We are pleased to announce the release of opam 2.0.2.
This new version contains mainly backported fixes, you can find more information in this blog post.
Note that as sandbox scripts have been updated, don’t forget to run opam init --reinit -ni to update yours.
opam is a source-based package manager for OCaml. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
Btw, the opam2 PPA has been advertised a bit here, but I’m not sure its existence is very well known. Would it make sense to advertise it on the opam install page?
It doesn’t build for me with dune-1.6.2 and ocaml-4.07.1:
opam-full-2.0.2$ make
dune build --profile=release opam-installer.install opam.install
File “src_ext/cppo/src/jbuild”, line 10, characters 10-50:
10 | (echo “let cppo_version = “${version:cppo}””)))))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: Package “cppo” doesn’t exist in the current project.
ocamlc src_ext/ocamlgraph/src/.graph.objs/graph__Dot_lexer.{cmi,cmo,cmt}
File “src/dot_lexer.mll”, line 38, characters 21-37:
Warning 3: deprecated: Stdlib.String.lowercase
Use String.lowercase_ascii instead.
ocamlopt src_ext/ocamlgraph/src/.graph.objs/graph__Dot_lexer.{cmx,o}
File “src/dot_lexer.mll”, line 38, characters 21-37:
Warning 3: deprecated: Stdlib.String.lowercase
Use String.lowercase_ascii instead.
ocamlc src_ext/mccs/src/glpk/wclique1.o
src_ext/mccs/src/glpk/misc/wclique1.c: In function ‘_glp_wclique1’:
src_ext/mccs/src/glpk/misc/wclique1.c:121:7: warning: ‘memset’ specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
src_ext/mccs/src/glpk/misc/wclique1.c:123:7: warning: ‘memset’ specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
ocamlopt src_ext/cmdliner/src/.cmdliner.objs/cmdliner_base.{cmx,o}
File “src_ext/cmdliner/src/cmdliner_base.ml”, line 14, characters 16-32:
Warning 3: deprecated: Stdlib.String.lowercase
Use String.lowercase_ascii instead.
File “src_ext/cmdliner/src/cmdliner_base.ml”, line 15, characters 16-32:
Warning 3: deprecated: Stdlib.String.lowercase
Use String.lowercase_ascii instead.
File “src_ext/cmdliner/src/cmdliner_base.ml”, line 16, characters 17-34:
Warning 3: deprecated: Stdlib.String.capitalize
Use String.capitalize_ascii instead.
make: *** [Makefile:107: opam.install] Error 1
This is building with the built-in solver. The same error arises when compiling with ocaml-4.06.1. A different set of errors arises wtih dune-1.6.1. cppo-1.6.5 is installed, for that it is worth.
My build error seems to be a dune issue. I pinned/downgrade to dune-1.2.1, and opam-2.0.2 built.
Where a package like opam uses dune/jbuilder as its build system and has a specific version dependency, I suggest that the opam release announcement, and preferably also the README, says what it is, so that those building it know what to aim for.
The fix will be in the forthcoming dune 1.7.0, and only dune >= 1.5.0 & dune < 1.7.0 should be affected, and only for the opam-full package that vendors the dependent library sources.
We can also consider making 1.6.3 if you find that preferable. There’s still some issues that need to be hammered out for 1.7.0 as of I fear that we don’t have an ETA for it yet.