From 3326653c449428ce4d8cb3bdbe06bf52fcb7baef Mon Sep 17 00:00:00 2001 From: Wouter Deconinck <wdconinc@gmail.com> Date: Sat, 16 Dec 2023 02:43:39 +0000 Subject: [PATCH] chore: spack-0.21.0 --- containers/debian/base.Dockerfile | 1 + containers/jug/dev.Dockerfile | 2 +- eic-spack.sh | 2 +- spack-environment/Makefile | 2 +- spack-environment/dev/spack.yaml | 158 +++++++++++++++--------------- spack-environment/packages.yaml | 29 +++++- spack-environment/prod/spack.yaml | 38 +++---- spack.sh | 120 +++-------------------- 8 files changed, 139 insertions(+), 213 deletions(-) diff --git a/containers/debian/base.Dockerfile b/containers/debian/base.Dockerfile index 1b6547c4e..0d17bde25 100644 --- a/containers/debian/base.Dockerfile +++ b/containers/debian/base.Dockerfile @@ -103,6 +103,7 @@ apt-get -yqq install gcc${GCC} g++${GCC} gfortran${GCC} apt-get -yqq install clang${CLANG} clang-tidy${CLANG} clang-format${CLANG} libclang${CLANG}-dev apt-get -yqq autoremove # Ensure alternatives without version tags +update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp${GCC} 100 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc${GCC} 100 update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++${GCC} 100 update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran${GCC} 100 diff --git a/containers/jug/dev.Dockerfile b/containers/jug/dev.Dockerfile index c8019b18a..3993994b1 100644 --- a/containers/jug/dev.Dockerfile +++ b/containers/jug/dev.Dockerfile @@ -57,7 +57,7 @@ declare -A target=(["linux/amd64"]="x86_64_v2" ["linux/arm64"]="aarch64") target=${target[${TARGETPLATFORM}]} spack config --scope site add "packages:all:require:[target=${target}]" spack config --scope site add "packages:all:target:[${target}]" -spack external find --scope site llvm +spack external find --not-buildable --scope site llvm spack config blame packages spack config --scope user add "config:suppress_gpg_warnings:true" spack config --scope user add "config:build_jobs:${jobs}" diff --git a/eic-spack.sh b/eic-spack.sh index 318a65c94..30c8288c5 100644 --- a/eic-spack.sh +++ b/eic-spack.sh @@ -3,7 +3,7 @@ EICSPACK_ORGREPO="eic/eic-spack" ## EIC spack commit hash or github version, e.g. v0.19.7 ## note: nightly builds could use a branch e.g. releases/v0.19 -EICSPACK_VERSION="fd2dfe268c913cee75ba14725369cddf7555e00a" +EICSPACK_VERSION="4c9c1250d054e587455e5f00df242e376018130a" ## Space-separated list of eic-spack cherry-picks read -r -d '' EICSPACK_CHERRYPICKS <<- \ diff --git a/spack-environment/Makefile b/spack-environment/Makefile index 7312a3318..42f6fb695 100644 --- a/spack-environment/Makefile +++ b/spack-environment/Makefile @@ -22,7 +22,7 @@ $(SPACK_ENV)/push: $(addprefix $(SPACK_ENV)/push/,$($(SPACK_ENV)/SPACK_PACKAGE_I $(SPACK_ENV)/push/%: $(SPACK_ENV)/install/% @mkdir -p $(dir $@) - $(foreach buildcache, $(BUILDCACHE_MIRROR), $(SPACK) buildcache create --allow-root --only=package --unsigned $(buildcache) /$(HASH) ;) # push $(SPEC) + $(foreach buildcache, $(BUILDCACHE_MIRROR), $(SPACK) buildcache push --only=package --unsigned $(buildcache) /$(HASH) ;) # push $(SPEC) @touch $@ $(SPACK_ENV)/spack.lock: $(SPACK_ENV)/spack.yaml Makefile diff --git a/spack-environment/dev/spack.yaml b/spack-environment/dev/spack.yaml index 6821d66ec..230fa067a 100644 --- a/spack-environment/dev/spack.yaml +++ b/spack-environment/dev/spack.yaml @@ -5,83 +5,83 @@ spack: config: install_missing_compilers: false specs: - - acts - - actsvg - - afterburner - - algorithms - - cairo - - catch2 - - cernlib - - cli11 - - cmake - - cnpy - - cppcoro - - dawn - - dawncut - - dd4hep +ddeve - - dpmjet - - east - - edm4eic - - edm4hep - - eic-smear - - eigen - - emacs - - fastjet - - fjcontrib - - fmt - - gaudi - - gdb - - geant4 - - graphviz - - hepmc3 - - heppdt - - imagemagick - - irt - - iwyu - - jana2 - - lcov - - lhapdf - - madx - - npsim - - onnx - - opencascade - - osg-ca-certs - - phonebook-cli - - prmon - - pythia8 - - py-awkward - - py-bokeh - - py-boto3 - - py-dask - - py-deepdiff - - py-epic-capybara - - py-ipython - - py-jinja2 - - py-jinja2-cli - - py-jupyter-console - - py-jupyterlab - - py-lmfit - - py-lxml - - py-matplotlib - - py-mplhep - - py-htgettoken - - py-numpy - - py-pandas - - py-pip - - py-pre-commit - - py-pycairo - - py-pyyaml - - py-scipy - - py-seaborn - - py-toml - - py-uproot - - py-wurlitzer - - py-yapf - - root - - snakemake - - spdlog - - stow - - tensorflow-lite - - valgrind - - xrootd + - acts + - actsvg + - afterburner + - algorithms + - cairo + - catch2 + - cernlib + - cli11 + - cmake + - cnpy + - cppcoro + - dawn + - dawncut + - dd4hep +ddeve + - dpmjet + - east + - edm4eic + - edm4hep + - eic-smear + - eigen + - emacs + - fastjet + - fjcontrib + - fmt + - gaudi + - gdb + - geant4 + - graphviz + - hepmc3 + - heppdt + - imagemagick + - irt + - iwyu + - jana2 + - lcov + - lhapdf + - madx + - npsim + - onnx + - opencascade + - osg-ca-certs + - phonebook-cli + - prmon + - pythia8 + - py-awkward + - py-bokeh + - py-boto3 + - py-dask + - py-deepdiff + - py-epic-capybara + - py-ipython + - py-jinja2 + - py-jinja2-cli + - py-jupyter-console + - py-jupyterlab + - py-lmfit + - py-lxml + - py-matplotlib + - py-mplhep + - py-htgettoken + - py-numpy + - py-pandas + - py-pip + - py-pre-commit + - py-pycairo + - py-pyyaml + - py-scipy + - py-seaborn + - py-toml + - py-uproot + - py-wurlitzer + - py-yapf + - root + - snakemake + - spdlog + - stow + - tensorflow-lite + - valgrind + - xrootd view: false diff --git a/spack-environment/packages.yaml b/spack-environment/packages.yaml index 5cd62a811..7626bd609 100644 --- a/spack-environment/packages.yaml +++ b/spack-environment/packages.yaml @@ -33,6 +33,9 @@ packages: algorithms: require: - '@git.a1e6f0def343c2ddea5df7158c52a30376099a13' + blas: + require: + - openblas cairo: require: - '@1.16.0' @@ -54,7 +57,7 @@ packages: - '@2.3.2' cmake: require: - - '@3.26.3' + - '@3.27.7' cnpy: require: - '@master' @@ -101,6 +104,9 @@ packages: fjcontrib: require: - '@1.051' + flame: + require: + - libflame fmt: require: - '@9.1.0' @@ -135,7 +141,7 @@ packages: - '@2.06.01' imagemagick: require: - - '@7.0.8-7' + - '@7.1.1-11' intel-tbb: require: - '@2020.3' @@ -152,6 +158,9 @@ packages: juggler: require: - cxxstd=20 + lapack: + require: + - openblas lcov: require: - '@1.16' @@ -191,6 +200,10 @@ packages: osg-ca-certs: require: - '@1.109.igtf.1.117' + pcre: + require: + - build_system=cmake + - cflags=-fPIC cxxflags=-fPIC phonebook-cli: require: - '@1.0.0' @@ -208,7 +221,7 @@ packages: - +fastjet +root python: require: - - '@3.10.10' + - '@3.11.6' py-awkward: require: - '@2.1.1' @@ -265,7 +278,7 @@ packages: - '@1.5.3' py-pip: require: - - '@23.0' + - '@23.1.2' py-pre-commit: require: - '@2.20.0' @@ -300,7 +313,7 @@ packages: root: require: - '@6.28.06' - - cxxstd=20 +fftw +fortran +gdml +http -ipo +mlp +root7 +tmva +vc +xrootd +ssl + - cxxstd=20 +fftw +fortran +gdml +http -ipo +mlp +python +root7 +tmva +vc +xrootd +ssl - any_of: [+opengl +webgui +x, -opengl -webgui -x] snakemake: require: @@ -324,3 +337,9 @@ packages: require: - '@5.5.5' - cxxstd=20 -davix +python +scitokens-cpp + zlib-api: + require: + - zlib-ng + zlib-ng: + require: + - '@2.1.4' diff --git a/spack-environment/prod/spack.yaml b/spack-environment/prod/spack.yaml index 7d605e13b..3f05ab1b4 100644 --- a/spack-environment/prod/spack.yaml +++ b/spack-environment/prod/spack.yaml @@ -5,23 +5,23 @@ spack: config: install_missing_compilers: false specs: - - acts - - cmake - - dd4hep -ddeve - - edm4eic - - fastjet - - fjcontrib - - gaudi - - geant4 -opengl - - hepmc3 - - intel-tbb - - irt - - jana2 - - npsim -geocad - - py-boto3 - - py-jinja2 - - py-jinja2-cli - - py-pip - - root -opengl - - xrootd + - acts + - cmake + - dd4hep -ddeve + - edm4eic + - fastjet + - fjcontrib + - gaudi + - geant4 -opengl + - hepmc3 + - intel-tbb + - irt + - jana2 + - npsim -geocad + - py-boto3 + - py-jinja2 + - py-jinja2-cli + - py-pip + - root -opengl + - xrootd view: false diff --git a/spack.sh b/spack.sh index 9e46b3cf3..411c68055 100644 --- a/spack.sh +++ b/spack.sh @@ -3,125 +3,31 @@ SPACK_ORGREPO="spack/spack" ## Spack github version, e.g. v0.18.1 or commit hash ## note: nightly builds will use e.g. releases/v0.19 -SPACK_VERSION="v0.20.1" +SPACK_VERSION="v0.21.0" ## Space-separated list of spack cherry-picks read -r -d '' SPACK_CHERRYPICKS <<- \ --- || true -ef5d110d4abd2411d6bde82d738b205eb6672fe8 -9ee2d79de172de14477a78e5d407548a63eea33a -776ab132760d63eab0703b7c0ebebc72a8443f5b -188168c476eabe99764634db8d78eb3f9ea2a927 -b3268c2703b84f4e4961c1e2cdf43e8998f283e6 -4ae1a73d54b33bc4876535422d3f3bf3d9641c51 -9e4c4be3f523a0d144870dbf5645ad7bf0ff04be -d8a9b42da6cdef3a08ec48931bf282e5e4811d38 -ce0b9ea8cf184c9048cac1ae88f2d69f0e4520c7 -ea1439dfa11a3996c9927ed792dc9fe4b7efc1b8 -5996aaa4e3b8b37f847da356489bb27958b968f1 -31431f967a59c07585021cba40683c2ca6ff2c47 -316bfd8b7d0d1bc63a7bccf030845775a442a317 -6e47f1645f31ce598d7f1f9770e24b483fb117d9 -63bb2c9bad8acb018f220630e5ce58e4a039d8a2 -ed76eab6943221f17776fd8d128ade6ba69e492c -6c5d125cb06a86ce05bec27ae9fb9b07103bc1c5 -e3e7609af4903be7df42b6ae5ccf9a20293503d2 -df4a2457a41e7ab634e86d3148d8b22a9f433a6a -53a45c820c983867e8b05cab3df34e98b468f932 -dca3d071d778cb7ca85166028acb5b866124157c -c17fc3c0c1ecbebcfbf57214bf2724e26e6e1883 -ef4b35ea6361e83b243b375fc4e2a28cfc25bc8f -36dd3251876895167270e26b14d16181895d6ace -518da168331fd0e58c6c3a611b52507d1750b13a -5ba4a2b83a0fabbfd221328a3c96955e9395b6ca -eea743de461feca88fabf8c87e8fe617a368250c -29835ac3437a7f975f7fdd22fac864b3273ff7d5 -581f45b63908dda8429b63c32047fd5295a95507 -cf031e83f0149cd2c43d04f877dc26cc9d9e7894 -dd747c5c4892fd0c8f6831786c2140198394cc4b -aa9eb331080a3edeb876dd80552bb59243c69783 -f0658243c06119f6d0bf9bf72b162bb7be129344 -b25f8643ff6f28d9ca0c23d4eb46aadb840683cf -c9e1e7d90c9880b158e29bf6e721065416d21b90 -537ab481670bad654225f488fb4ec92d25f148a8 -2a797f90b431d33f609dc1d92b2908f5734f4d50 -a9e78dc7d897c146b11a93fd8c0176d0e886f2b4 -6b51bfb713b7f9d6203b69ef79a198758c99de94 -b99288dcae9fd240a6d483d8b13940e52bfd8575 -3e2d1bd4133b437b10584a5e725d6fee8b5ca294 -f709518916ffe11588cffa3a5821c1e49e94b8d2 -6cd2241e49a393d7ac32b46064a2d2f4e53f7d86 -6f248836eafbee3b2c0612d250e201d3b3a57472 -5400b49ed6dc7001b1645b5d31bbcc7d830c15c2 -73ad3f729e8a5206d717d9d66468a19bb11d2940 -bd58801415dc0acebfd7368f66c43e50563a9891 -e1373d5408170047626583916db02911585c133a -a65f13f79f617b6aa0b235aa5db612473b6d8c0e ed8ecc469e7b87842a876323878831e301f136a2 +53a45c820c983867e8b05cab3df34e98b468f932 4991a60eacb5df289383f755e40702b720ed0513 -c485709f625429a88a184a099373d76c9438f8e3 -e91db7793038b4e7235c8ec7c82244afbb9dfc9e 81e73b4dd4ea0bf6c6947359d3cee9d4270df13d +c485709f625429a88a184a099373d76c9438f8e3 6f08daf67020289e6a5ed1df9783ac5b2919e477 +50051b56199992eb4395b8ff22913c1995311a8c +f01774f1d41781bc4b9e5abb5469e234168da663 +cfa2f19f48699a762af77ece8a9c5bc4db3a75d5 +2433f503b73bb515b2e1a7615ae01fea59d2290e --- ## Ref: https://github.com/spack/spack/commit/[hash] ## [hash]: [description] -## ef5d110d4abd2411d6bde82d738b205eb6672fe8: Fix multiple quadratic complexity issues in environments -## 9ee2d79de172de14477a78e5d407548a63eea33a: libxpm package: fix RHEL8 build with libintl -## 776ab132760d63eab0703b7c0ebebc72a8443f5b: [xrootd] New variants, new version, improve build config -## 188168c476eabe99764634db8d78eb3f9ea2a927: podio: Add 0.16.5 tag -## b3268c2703b84f4e4961c1e2cdf43e8998f283e6: freetype: add pic and shared variants -## 4ae1a73d54b33bc4876535422d3f3bf3d9641c51: (r-rcpp)ensmallen: new package -## 9e4c4be3f523a0d144870dbf5645ad7bf0ff04be: mlpack: new package -## d8a9b42da6cdef3a08ec48931bf282e5e4811d38: actsvg: add v0.4.33 -## ce0b9ea8cf184c9048cac1ae88f2d69f0e4520c7: acts: ensure Python_EXECUTABLE uses ^python when +python -## ea1439dfa11a3996c9927ed792dc9fe4b7efc1b8: acts: new variant cxxstd -## 5996aaa4e3b8b37f847da356489bb27958b968f1: acts: new versions 23.[3-5].0, 24.0.0, 25.0.[0-1], 26.0.0, 27.[0-1].0, 28.0.0 -## 31431f967a59c07585021cba40683c2ca6ff2c47: Environment/depfile: fix bug with Git hash versions -## 316bfd8b7d0d1bc63a7bccf030845775a442a317: opencascade: new variants -## 6e47f1645f31ce598d7f1f9770e24b483fb117d9: opencascade: typo in True -## 63bb2c9bad8acb018f220630e5ce58e4a039d8a2: py-cryptography: does not run-depend on py-setuptools-rust -## ed76eab6943221f17776fd8d128ade6ba69e492c: geant4: new version 11.1.2 -## 6c5d125cb06a86ce05bec27ae9fb9b07103bc1c5: cernlib: new variant shared -## e3e7609af4903be7df42b6ae5ccf9a20293503d2: edm4hep: Add version 0.9 -## df4a2457a41e7ab634e86d3148d8b22a9f433a6a: Fix broken semver regex -## 53a45c820c983867e8b05cab3df34e98b468f932: docker entrypoint.sh: fail multi-line RUN on first error with set -e -## dca3d071d778cb7ca85166028acb5b866124157c: gaudi: fix issue with fmt::format -## c17fc3c0c1ecbebcfbf57214bf2724e26e6e1883: gaudi: add gaudi to LD_LIBRARY_PATH -## ef4b35ea6361e83b243b375fc4e2a28cfc25bc8f: gaudi: remove the py-qmtest dependency -## 36dd3251876895167270e26b14d16181895d6ace: gaudi: new versions 36.[11-14] -## // e51748ee8f89e0d3db4e426e3d04157129a45622: zlib-api: new virtual with zlib/zlib-ng as providers -## 518da168331fd0e58c6c3a611b52507d1750b13a: Gaudi: Add a few versions and a dependency on tbb after 37.1 -## 5ba4a2b83a0fabbfd221328a3c96955e9395b6ca: podio: bump minimal version of catch2 -## eea743de461feca88fabf8c87e8fe617a368250c: podio: Add py-tabulate as new run and test dependency -## 29835ac3437a7f975f7fdd22fac864b3273ff7d5: podio: add 0.16.6 tag and mark older releases as deprecated -## 581f45b63908dda8429b63c32047fd5295a95507: podio: Add latest tags and variants and update dependencies accordingly -## cf031e83f0149cd2c43d04f877dc26cc9d9e7894: compilers/gcc.py: support cxx{20,23}_flag -## dd747c5c4892fd0c8f6831786c2140198394cc4b: xerces-c: support variant cxxstd=20 -## aa9eb331080a3edeb876dd80552bb59243c69783: boost: support variant cxxstd=20 -## f0658243c06119f6d0bf9bf72b162bb7be129344: clhep: support variant cxxstd=20 -## b25f8643ff6f28d9ca0c23d4eb46aadb840683cf: geant4, vecgeom: support variant cxxstd=20 -## c9e1e7d90c9880b158e29bf6e721065416d21b90: acts: impose cxxstd variant on geant4 dependency -## 537ab481670bad654225f488fb4ec92d25f148a8: acts: use f-strings -## 2a797f90b431d33f609dc1d92b2908f5734f4d50: acts: add v28.1.0:30.3.2 -## a9e78dc7d897c146b11a93fd8c0176d0e886f2b4: acts: new variant +binaries when +examples -## 6b51bfb713b7f9d6203b69ef79a198758c99de94: edm4hep: Add tag for version 0.10 and deprecate older versions -## b99288dcae9fd240a6d483d8b13940e52bfd8575: edm4hep: add edm4hep to PYTHONPATH -## 3e2d1bd4133b437b10584a5e725d6fee8b5ca294: lcio: Add latest version 2.20 -## f709518916ffe11588cffa3a5821c1e49e94b8d2: podio, edm4hep and lcio: add lib and lib64 to LD_LIBRARY_PATH -## 6cd2241e49a393d7ac32b46064a2d2f4e53f7d86: edm4hep: Add 0.10.1 tag and update maintainers -## 6f248836eafbee3b2c0612d250e201d3b3a57472: dd4hep: restrict podio versions -## 5400b49ed6dc7001b1645b5d31bbcc7d830c15c2: dd4hep: add LD_LIBRARY_PATH for plugins for Gaudi -## 73ad3f729e8a5206d717d9d66468a19bb11d2940: dd4hep: add patch to fix missing hits when using LCIO -## bd58801415dc0acebfd7368f66c43e50563a9891: dd4hep: fix setting LD_LIBRARY_PATH -## // Following disabled due to https://github.com/spack/spack/pull/37372 -## // c7cca3aa8d11789eaee9bfc80b8417ffea511532: dd4hep: new version 1.26 -## e1373d5408170047626583916db02911585c133a: dd4hep: make sure to find libraries correctly -## // a095c8113d5065bcb3d529269bc1de268df6791f: dd4hep: Add tag for version 1.27 -## a65f13f79f617b6aa0b235aa5db612473b6d8c0e: root: add latest available tag ## ed8ecc469e7b87842a876323878831e301f136a2: podio: Add the latest tag (0.17.2) +## 53a45c820c983867e8b05cab3df34e98b468f932: docker entrypoint.sh: fail multi-line RUN on first error with set -e ## 4991a60eacb5df289383f755e40702b720ed0513: podio: Add latest tag 0.17.3 -## c485709f625429a88a184a099373d76c9438f8e3: iwyu: new versions up 0.21 (depends_on llvm-17) -## e91db7793038b4e7235c8ec7c82244afbb9dfc9e: root: Add package name to all conflict messages ## 81e73b4dd4ea0bf6c6947359d3cee9d4270df13d: root: new version 6.30.00 +## c485709f625429a88a184a099373d76c9438f8e3: iwyu: new versions up 0.21 (depends_on llvm-17) ## 6f08daf67020289e6a5ed1df9783ac5b2919e477: root: add a webgui patch +## 50051b56199992eb4395b8ff22913c1995311a8c: geant4: new version 11.1.3 +## f01774f1d41781bc4b9e5abb5469e234168da663: hepmc3: fix from_variant -> self.define +## cfa2f19f48699a762af77ece8a9c5bc4db3a75d5: py-htgettoken: use os.environ, avoid AttributeError +## 2433f503b73bb515b2e1a7615ae01fea59d2290e: py-htgettoken: allow for undefined variables -- GitLab