-
Notifications
You must be signed in to change notification settings - Fork 368
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
Switch minimum OCaml version to 4.08 #4775
Conversation
@@ -26,7 +26,7 @@ build: [ | |||
["dune" "build" "-p" name "-j" jobs] | |||
] | |||
depends: [ | |||
"ocaml" {>= "4.03.0"} | |||
"ocaml" {>= "4.08.0"} |
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.
It is to be noted that notable plugins, such as dune-release
and opam-publish
, use opam-state
.
Not a blocker ofc but it's probably good to ping the devs. cc @NathanReb
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.
Indeed - I'd checked those through before proposing it. opam-publish is already pulled towards 4.08+ by depending on cohttp via ocaml-github and dune-release was already 4.06+ (and I think @emillon agreed it would shift on @NathanReb's behalf!)
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.
I confirm there's no problem on my side for bumping minimum requirements on OCaml, to the contrary I'm rather glad about it!
cc @hannesm just in case. I'm not sure which part of the opam library you are using |
From my development perspective (orb, conex), this is not an issue With a packagers view, I find this kind of surprising: according to https://repology.org/project/ocaml/versions there's still a huge amount of stable distributions that ship OCaml 4.05.0. Raising the minimum OCaml version will exclude any of these to upgrade opam (if they rely on their packaging scripts and packages to build binary packages). This will make it much harder to bootstrap (upgrade to) opam-after-2-1-0 on various distributions / platforms. I fail to see the reasoning behind raising the minimum requirement. |
The repology link shows that all of the distribution that ship OCaml < 4.08 are older version that won't update to opam >= 2.2.0 anyway (Debian Stable, Ubuntu OldLTS, CentOS, Alpine 3.10 (the latest being 3.14), …). The only on I personally know that doesn't match this pattern is FreeBSD which is still in 4.05, however there is a current ongoing effort to port to 4.11: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250408
To me, most people either:
The people that really impacts it are people who compile opam from source, but for those we have The reasoning being raising the minimum requirement is that of developement simplicity: Everytime we upgrade the vendored libraries, we have to patch it to make it compatible with older versions of the compiler, we also lacked access to very good features in the compiler (e.g. exception matching from 4.03, access to the |
@kit-ty-kate thanks for your reply. |
opam-core, opam-format and opam-installer remain with OCaml 4.03.0 as the minimum requirement; the rest of opam winds forwards to 4.08.0
Good to go after CI comes back. Just to add that the bump to 4.03 was the big de-stresser (we finally can guarantee |
Do I understand correctly that there should be no problem for The README still says that OCaml 4.02 is supported. |
Continues from #4770. opam-core, opam-format and opam-installer are now tested separately where only the libraries are built.
CI is still quite painful because the ocaml-secondary-compiler, however, I have an overhaul PR ready to go which sorts out the caching for that.