Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
O opam-custom-install
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Louis Gesbert
  • opam-custom-install
  • Issues
  • #1

Closed
Open
Created Jan 27, 2022 by Louis Gesbert@louisMaintainer

Draft: make custom-install more clever and closer to the expected workflows

The tool at the moment is very low-level and has a lot of quirks, in particular with its interaction with pinning.

  • the next opam command will in general detect a change and want to rebuild the package
  • the definition of the existing package is ignored, including e.g conflict fields. Using it on a compiler strips the compiler and conflict-class fields which leads to all kind of problems

The idea is to move one step (but not more) in the direction of normal pinning/installation:

  1. get the existing package definition (either local or from the repo)
  2. instead of resolving, just check for the dependencies, excluding post. Possibly, remove missing dependencies (or installed conflicts) from the package spec automatically since, in this setting, the user is in control.
  3. run the install normally, but:
    • ensure to have no recompilations in the dependency cone of the package (e.g. by ignoring pending reinstalls and fixing the packages in place ? Assuming there are no cycles this should be enough)
    • as before, skip the build step and run the provided command from PWD for the install
  4. mark the package as pinned with its patched opam file ([to what target ? file://$PWD ? None ?])
Edited Jan 27, 2022 by Louis Gesbert
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking