Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assume built rewriting #4211

Merged
merged 3 commits into from
Jul 17, 2020
Merged

Assume built rewriting #4211

merged 3 commits into from
Jul 17, 2020

Conversation

rjbou
Copy link
Collaborator

@rjbou rjbou commented May 28, 2020

Some fixes:

  • handling of post dependencies (leading to an infinite look up of dependencies, or dependency unavailable)
  • specific missing dep message

@rjbou rjbou added this to the 2.1.0~beta milestone May 28, 2020
@rjbou rjbou requested a review from AltGr May 28, 2020 18:41
@lthls
Copy link

lthls commented May 29, 2020

I've tried this PR, using the instructions on the wiki here, with the compiler.

The setup part, in addition the setting opam2 to use the experimental version with a distinguished root, includes checking out a compiler branch I'm interesting in testing and cding into it.
At this point the current directory is a fresh copy, not configured.

Then I ran the following commands:

$ opam2 sw cr test --empty
$ opam2 pin add . --inplace-build # I think using install would have worked too
# At this point, I start making changes to the compiler, recompiling, testing using the compiler's testsuite
# Then when I'm ready to test on opam:
$ make -j4 world.opt # just in case
$ opam install . --inplace-build --assume-built

The last command successfully ran, installing the compiler without recompiling it from scratch.

The main pain point is that the first pin command has to be run to configure the compiler correctly, but I didn't find an easy way to tell it to stop after configure so it has to build everything (Although I could have interrupted the process with Ctrl+C, I think).
Otherwise, this looks quite useful (especially on flambda2, where compiling the compiler can take quite long).

rjbou added 2 commits July 17, 2020 10:16
legacy:
* launch only install instructions
* fix dependencies (no upgrade of a dependency)
* always reinstall the given package
* drop of unpinned packages

new:
* handle post dependencies
* specific message on missing dependency
* remove the beloved _infinite loop_ underlying feature
@rjbou rjbou removed the request for review from AltGr July 17, 2020 13:51
@rjbou rjbou merged commit 14f52cd into ocaml:master Jul 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants