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
dune: init at 2.1.0 #74261
dune: init at 2.1.0 #74261
Conversation
@GrahamcOfBorg build fstar |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/explicit-runhook-in-derivation/4614/34 |
Do you want to add |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not having Dune 2.0.0 yet in nixpkgs is an inconvenience. Can you please explain what are the things that are blocking this PR or what additional work you think is required?
I am not sure I understand the first commit, adding Dune 2.0, but keeping Dune 1.11 without exposing it. Why would we want to keep Dune 1.11 in nixpkgs?
If this is because Dune 2.0 is not compatible with OCaml < 4.06, note that we could go back to the situation preceding #57953 where Dune was out of ocamlPackages
. This was changed because Dune is both a tool and a library, but we could try to find another solution, e.g. making it available as a library only for ocamlPackages
sets starting with 4.06 and as a tool independent of ocamlPackages
for any OCaml version.
I suppose it is not because some OCaml packages have not been migrated yet from jbuilder to Dune, otherwise you wouldn't be updating a bunch of packages in this PR as well. BTW, for packages that still haven't migrated to Dune in their latest version, maybe that says something about them (not) being maintained, and we could simply choose to drop them, or at least mark them as broken and not care much...
dune 2 is a major version bump, a there are multiple packages which still haven't been migrated, for instance, janestreet packages. I tried to set dune 2 as default, but I encountered various errors, hence only added dune_2 only as another attribute. Only the last three commits are relevant; @vbgl should I cut the other commits into a separated PR? |
In theory, Dune 2 shouldn't break Dune projects which set the Dune language version to a lower version than 2.0. However, it does break the projects that have not migrated to Dune from jbuilder. Did you find examples beyond this? If yes, it could be interesting to look into them more closely and possibly report the issues to Dune developers. In any case, this PR LGTM (in full, including the version bumps) and I'm in favor of merging it as-is now (without splitting). |
@marsam I'd like to encourage you to go ahead and merge this without waiting further. |
Thanks! |
@marsam This PR included an update for cppo from 1.6.5 to 1.6.6. This broke building cppo with ocaml 4.02, which is still needed for some things. |
Motivation for this change
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @