diff --git a/lib/spack/docs/requirements.txt b/lib/spack/docs/requirements.txt index cb766413d951c3..bbe4f453d2f8aa 100644 --- a/lib/spack/docs/requirements.txt +++ b/lib/spack/docs/requirements.txt @@ -2,7 +2,7 @@ sphinx==7.4.7 sphinxcontrib-programoutput==0.17 sphinx_design==0.6.1 sphinx-rtd-theme==2.0.0 -python-levenshtein==0.25.1 +python-levenshtein==0.26.0 docutils==0.20.1 pygments==2.18.0 urllib3==2.2.3 diff --git a/var/spack/repos/builtin/packages/ocaml/package.py b/var/spack/repos/builtin/packages/ocaml/package.py index 6da730dc53740f..595853ef3b3948 100644 --- a/var/spack/repos/builtin/packages/ocaml/package.py +++ b/var/spack/repos/builtin/packages/ocaml/package.py @@ -14,6 +14,10 @@ class Ocaml(Package): url = "https://caml.inria.fr/pub/distrib/ocaml-4.06/ocaml-4.06.0.tar.gz" maintainers("scemama") + version("5.2.0", sha256="3a7b5fb6d81bb42bbda84aadf5d84ff8bcbb149988087e7863bf5c2f4b27b187") + version("5.1.1", sha256="33b8c1df88700ba1f5123aa4bdbc7a125482feafc77e5081ef1725fddf290be1") + version("5.1.0", sha256="5e91492d87b193728a0729122b679039c73e75820dcf2724a31b262390d210c2") + version("5.0.0", sha256="969e1f7939736d39f2af533cd12cc64b05f060dbed087d7b760ee2503bfe56de") version("4.13.1", sha256="66a5353c5e7b33a8981446e857657aad45a3b82080ea5c67d4baa434eacfcf5f") version("4.12.0", sha256="9825e5903b852a7a5edb71a1ed68f5d5d55d6417e2dda514dda602bc6efeed7b") version("4.11.0", sha256="b5bd04bf794a676389b167633f01f8275acdd853149b137f7575f2c2ddef1377") diff --git a/var/spack/repos/builtin/packages/opam/package.py b/var/spack/repos/builtin/packages/opam/package.py index d9c170fc180ae2..d1b246047e71de 100644 --- a/var/spack/repos/builtin/packages/opam/package.py +++ b/var/spack/repos/builtin/packages/opam/package.py @@ -18,6 +18,11 @@ class Opam(AutotoolsPackage): maintainers("scemama") + version("2.2.1", sha256="07ad3887f61e0bc61a0923faae16fcc141285ece5b248a9e2cd4f902523cc121") + version("2.2.0", sha256="39334f36adbe280683487cf204b7b0642080fc5965747f7d6f7cc7b83cd7a192") + version("2.1.6", sha256="d2af5edc85f552e0cf5ec0ddcc949d94f2dc550dc5df595174a06a4eaf8af628") + version("2.1.5", sha256="09f8d9e410b2f5723c2bfedbf7970e3b305f5017895fcd91759f05e753ddcea5") + version("2.1.4", sha256="1643609f4eea758eb899dc8df57b88438e525d91592056f135e6e045d0d916cb") version("2.1.3", sha256="cb2ab00661566178318939918085aa4b5c35c727df83751fd92d114fdd2fa001") version("2.0.6", sha256="7c4bff5e5f3628ad00c53ee1b044ced8128ffdcfbb7582f8773fb433e12e07f4") version("2.0.5", sha256="776c7e64d6e24c2ef1efd1e6a71d36e007645efae94eaf860c05c1929effc76f") @@ -36,10 +41,18 @@ class Opam(AutotoolsPackage): depends_on("ocaml@:4.09.0", type="build", when="@:1.2.2") depends_on("ocaml", type="build", when="@2.0.0:") - parallel = False + # TODO: Is this really the correct constraint? I can't find any issues with + # building newer opams in parallel, and the constraint was added in the + # package's first commit with no message. + with when("@:2.0.0"): + parallel = False sanity_check_is_file = ["bin/opam"] + @property + def build_directory(self): + return self.stage.source_path + @when("@:1.2.2") def setup_build_environment(self, env): """In OCaml <4.06.1, the default was -safe-string=0, and this has @@ -52,8 +65,26 @@ def setup_build_environment(self, env): # https://github.com/Homebrew/homebrew-core/blob/master/Formula/opam.rb env.set("OCAMLPARAM", "safe-string=0,_") # OCaml 4.06.0 compat + def configure(self, spec, prefix): + args = ["--prefix={0}".format(prefix)] + + with when("@:2.2"): + # NOTE: The config script really wants the vendored third party + # libraries to live in the /src_ext directory, not + # in the build directory when this flag is enabled. This is why the + # build directory must be set to the source path above. + args.append("--with-vendored-deps") + + return configure(*args) + def build(self, spec, prefix): - make("lib-ext") + if spec.satisfies("@:2.0.0"): + make("lib-ext") + make() + if spec.satisfies("@:1.2.2"): make("man") + + def install(self, spec, prefix): + make("install")