Skip to content
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

Changes for the new nightlies #648

Merged
merged 63 commits into from
Sep 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
a4f75cf
Remove old cherry-picks
jmcarcell Sep 12, 2024
9ebd819
Clean up a few recipes
jmcarcell Sep 12, 2024
a98bc2a
Update the latest commit
jmcarcell Sep 12, 2024
c0ca762
Use +custom-protobuf with py-torch
jmcarcell Sep 12, 2024
21124c1
Remove onnx from the stack, keep py-onnx
jmcarcell Sep 12, 2024
2ce031a
Simplify a bit the key4hep stack recipe
jmcarcell Sep 12, 2024
b878b66
Simplify the FCCAnalyses recipe, move stuff from the key4hep stack re…
jmcarcell Sep 12, 2024
27ae149
Simplify the key4hep stack recipe
jmcarcell Sep 12, 2024
0f8bbbd
Add a cherry-pick for zziplib
jmcarcell Sep 12, 2024
a89cfd1
Add a cherry pick for py-contourpy
jmcarcell Sep 12, 2024
48b4c02
Add a cherry pick for Gaudi
jmcarcell Sep 12, 2024
7950b37
Hardcode CMAKE_INSTALL_LIBDIR to lib
jmcarcell Sep 13, 2024
73d9f4f
Remove the dd4hep patch since it shouldn't be needed anymore
jmcarcell Sep 13, 2024
ae9fb03
Don't use lib64 for k4MarlinWrapper and k4FWCore
jmcarcell Sep 13, 2024
105ea1f
Use the fix for pybind11
jmcarcell Sep 13, 2024
133d85d
Change comment to remove
jmcarcell Sep 13, 2024
6ea5752
Add a cherry pick for py-awkward and py-awkward-cpp
jmcarcell Sep 13, 2024
d122d9a
Improve comment
jmcarcell Sep 13, 2024
ecc0fb4
Remove cherry pick for py-onnx
jmcarcell Sep 13, 2024
752788d
Add a cherry pick for py-onnx
jmcarcell Sep 14, 2024
5695d7a
Fix comments
jmcarcell Sep 14, 2024
194c782
Don't try to find the libraries for k4FWCore
jmcarcell Sep 15, 2024
7901593
Remove py-six
jmcarcell Sep 15, 2024
a37ef8e
Fix test dependencies in k4Clue, and remove cupla and alpaka from paths
jmcarcell Sep 15, 2024
cb84a37
Simplify a few other recipes
jmcarcell Sep 15, 2024
afbeecf
Simplify a few other recipes
jmcarcell Sep 15, 2024
11a7497
Simplify some recipes
jmcarcell Sep 15, 2024
1a882a6
Simplify more recipes
jmcarcell Sep 15, 2024
776e3aa
Add a patch for dual-readout
jmcarcell Sep 15, 2024
f1da40f
Add fixes for texlive
jmcarcell Sep 20, 2024
bd28ee9
Add an environment for shared packages
jmcarcell Sep 20, 2024
5574814
Add the installation path for geant4-data
jmcarcell Sep 20, 2024
226aa7e
Move the installation prefix to the config file
jmcarcell Sep 20, 2024
195539b
Don't always install geant4-data
jmcarcell Sep 20, 2024
c73945d
Add a spec to geant4-data
jmcarcell Sep 20, 2024
5e563bc
Don't apply the patch for ubuntu for texlive
jmcarcell Sep 20, 2024
32b9869
Update patches for Gaudi
jmcarcell Sep 21, 2024
23bac03
Don't use libs.directories[0] with k4Clue
jmcarcell Sep 21, 2024
1d32853
Remove unneeded cherry pick for ubuntu
jmcarcell Sep 21, 2024
f3e328f
Add a PYTHONPATH entry for root.lib
jmcarcell Sep 21, 2024
05abb15
Add marlinkinfit to ROOT_LIBRARY_PATH
jmcarcell Sep 21, 2024
d87a5a4
Move fastjet to ROOT_LIBRARY_PATH
jmcarcell Sep 21, 2024
9b4d9ec
Add a packages.yaml file with the geant4 data packages
jmcarcell Sep 22, 2024
1373cdc
Fix path
jmcarcell Sep 22, 2024
d68140f
Fix projections
jmcarcell Sep 22, 2024
b49b660
Remove outdated files
jmcarcell Sep 22, 2024
36f119f
Fix some paths
jmcarcell Sep 22, 2024
ad11ca5
Add a cherry pick for protobuf
jmcarcell Sep 22, 2024
fe27df3
Add +spectrum for ROOT
jmcarcell Sep 22, 2024
4d0f8f5
Add a patch for the standard
jmcarcell Sep 22, 2024
e109da7
Fix cherry pick
jmcarcell Sep 22, 2024
899340a
Fix cherry pick
jmcarcell Sep 22, 2024
23d662c
Add a new version of dual-readout
jmcarcell Sep 23, 2024
779fe91
Fix patch for dual-readout
jmcarcell Sep 23, 2024
f72dc4b
Update the setup script for the nightlies
jmcarcell Sep 23, 2024
33b22a4
Make sure to add ROOT to LD_LIBRARY_PATH
jmcarcell Sep 23, 2024
356db03
Add comment about ROOT
jmcarcell Sep 23, 2024
4e722f2
Add OPENDATADETECTOR_DATA
jmcarcell Sep 24, 2024
82c957c
Add a patch for dual-readout
jmcarcell Sep 24, 2024
c075fbf
Fix the range of the patch for dual-readout
jmcarcell Sep 24, 2024
8e7ae2f
Fix format
jmcarcell Sep 24, 2024
7a30de0
Change another comment to remove
jmcarcell Sep 24, 2024
721dde5
Update the setup script
jmcarcell Sep 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 27 additions & 39 deletions .cherry-pick
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
git remote add jmcarcell https://github.com/jmcarcell/spack || true
git fetch jmcarcell -q

# Hardcode CMAKE_INSTALL_LIBDIR to lib. This is needed for AlmaLinux 9 where
# CMAKE_INSTALL_LIBDIR gets chosen as lib64 and this causes problems in some
# packages that expect lib. Since spack installs each package to its own prefix
# we don't need to worry about multilib environments
git cherry-pick 42c070632bcb0f8333bc029e17a53646d9589d7e -X theirs --no-commit

# Because the patch above and py-onnx being a python package, it will try to find
# protobuf in CMAKE_INSTALL_LIBDIR which is lib64 so a symlink is created here
git cherry-pick 3ec184fad8582cc501f55e0ea0b0f6b3fb9b70bf -X theirs --no-commit

# add a recent version of madgraph, remove when https://github.com/spack/spack/pull/41128 is merged
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/41128.diff | patch -p1

# add vdt for CPATH, needed for podio+rntuple
git cherry-pick f97fabc3ff12527e5220ea6917719a73f8bd4315 -X theirs --no-commit

# podio: add rdatasource, remove!
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/46078.diff | patch -p1

# podio: add rpath, remove when https://github.com/spack/spack/pull/42844 is merged
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/42844.diff | patch -p1

Expand All @@ -22,48 +29,29 @@ curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/42844.diff
# Both geant4 changes in a single commit
git cherry-pick c8191268c3ea4aca6e870ad40d695e92f94d0e47 -X theirs --no-commit

# sherpa v3: remove!
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/45101.diff | patch -p1

# gaudi: use fmt 10 for now, remove!
# remember to fix the range before v40

# py-onnx: make sure py-setuptools 64 and onwards is used for editable_mode
git cherry-pick a8c4b3a03f0988cc201580f979980d61d3d5e417 -X theirs --no-commit

# xrootd: don't download from SLAC until the certificate issue is solved
git cherry-pick afcd8b32383b1425062b25126890e12338d70e36 -X theirs --no-commit

# root: Add version 6.32.04, remove!
git cherry-pick b6a5e4f8eb6276a68d7d42cf14812397cf6d2743 -X theirs --no-commit

# acts: Add versions 36.0.0 and 36.1.0, remove when https://github.com/spack/spack/pull/45851 is merged
git cherry-pick 5bab73925c6da457f2fdf5c7d8fbeb14ff6e2986 -X theirs --no-commit

# sleef: Add the -fPIC flag
git cherry-pick f4b2c42028405591cf44a2c5910840e894144f67 -X theirs --no-commit

# pthreadpool: Add the -fPIC flag
git cherry-pick 2be66bfa5748544b3b85e5023c60c5bc020a7135 -X theirs --no-commit

# poppler: fix URL, remove!
git cherry-pick 8becc0ca3c86f1fa26593909da03effbc665c31c -X theirs --no-commit
# zziplib: add 0.13.78, remove!
git cherry-pick db5538f5f12de8d1599ef4339e2dd1756d1230ad -X theirs --no-commit

# texlive: clean up recipe, remove when https://github.com/spack/spack/pull/45863 is merged
# git cherry-pick 4ab7f72041d49f947230df2aa6426b6e39069a3a -X theirs --no-commit
# pybind11: fix pkgconfig, remove when https://github.com/spack/spack/pull/46298 is merged
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/46298.diff | patch -p1

# whizard: add fix for hepmc3 3.3.10 or above, remove when https://github.com/spack/spack/pull/45862 is merged
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/45862.diff | patch -p1
# gaudi: add patches, remove when https://github.com/spack/spack/pull/46365 is merged
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/46365.diff | patch -p1

# dd4hep: add patch not to install plugins at CMAKE_INSTALL_LIBDIR
git cherry-pick 21c9d43cdbdb1de3164c1754696d74cb7fb448d9 -X theirs --no-commit
# py-awkward and py-awkward-cpp: fixes, remove!
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/46372.diff | patch -p1

# py-onnx: add fixes for GCC 14, remove!
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/46390.diff | patch -p1

# texlive: add new versions, remove!
git cherry-pick 5398b1be15245e1be480c5aa4706f57795208505 -X theirs --no-commit

if [[ "$(grep -E '^ID=' /etc/os-release)" = 'ID=ubuntu' && "$(grep -E 'VERSION_ID' /etc/os-release)" = 'VERSION_ID="22.04"' ]]; then
# texlive: fix mtxrun, remove when https://github.com/spack/spack/pull/46465 is merged
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/46465.diff | patch -p1

# patch to rename libz so texlive can be built
git cherry-pick f8c6f240ba9b99218eb72bfadce9f99952fec1de -X theirs --no-commit
# py-onnx: add a patch for the standard, remove after 1.15.0
git add .
git cherry-pick 248a7c0f4894222bfcd0bb76b13a984c92d4c938 -X theirs --no-commit

fi

2 changes: 1 addition & 1 deletion .latest-commit
Original file line number Diff line number Diff line change
@@ -1 +1 @@
f596a8cdad601bb226723c551624d86abe3a6237
6cb16c39ab85fbc211e50be804fa7a15f24ccebc
1 change: 0 additions & 1 deletion environments/geant4-data-share/compilers.yaml

This file was deleted.

71 changes: 0 additions & 71 deletions environments/geant4-data-share/geant4-data.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions environments/geant4-data-share/spack.yaml

This file was deleted.

9 changes: 3 additions & 6 deletions environments/key4hep-common/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ packages:
require: backend=qt5agg
# Requested by Thomas Madlener for DESY, without CUDA and before v2
py-torch:
require: ~cuda
require: ~cuda+custom-protobuf
xrootd:
require: +krb5 cxxstd=20

Expand Down Expand Up @@ -91,7 +91,7 @@ packages:

# The version seems to be necessary, otherwise it defaults to an older version
root:
require: '@6.32: +davix+fftw+gsl+math+minuit+mlp+opengl~postgres~pythia8+python+r+roofit+root7+rpath~shadow+sqlite+ssl+tbb+threads+tmva+tmva-cpu+unuran+vc+vdt+x+xml+xrootd cxxstd=20'
require: '@6.32: +davix+fftw+gsl+math+minuit+mlp+opengl~postgres~pythia8+python+r+roofit+root7+rpath~shadow+spectrum+sqlite+ssl+tbb+threads+tmva+tmva-cpu+unuran+vc+vdt+x+xml+xrootd cxxstd=20'
py-tensorflow:
require: ~cuda~nccl
k4simdelphes:
Expand Down Expand Up @@ -120,11 +120,8 @@ packages:
sio:
variants: cxxstd=20

# onnx and py-onnx should have the same versions
# And all should be consistent based on this table:
# The versions of py-onnx and py-onnxruntime should be consistent based on this table
# https://onnxruntime.ai/docs/reference/compatibility.html#onnx-opset-support
onnx:
require: '@1.15.0'
py-onnx:
require: '@1.15.0'
py-onnxruntime:
Expand Down
1 change: 1 addition & 0 deletions environments/key4hep-nightly-dbg/spack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ spack:
- ./packages.yaml
- ../key4hep-common/packages.yaml
- ../key4hep-common/compilers.yaml
- ../key4hep-nightly-share/packages.yaml
repos:
- ../..
specs:
Expand Down
1 change: 1 addition & 0 deletions environments/key4hep-nightly-opt/spack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ spack:
- ./packages.yaml
- ../key4hep-common/packages.yaml
- ../key4hep-common/compilers.yaml
- ../key4hep-nightly-share/packages.yaml
repos:
- ../..
specs:
Expand Down
5 changes: 5 additions & 0 deletions environments/key4hep-nightly-share/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
config:
install_tree:
projections:
all: "{name}/{version}"
root: /cvmfs/sw-nightlies.hsf.org/key4hep/share
56 changes: 56 additions & 0 deletions environments/key4hep-nightly-share/packages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
packages:
g4ndl:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4ndl/4.7.1
buildable: False
g4emlow:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4emlow/8.5
buildable: False
g4photonevaporation:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4photonevaporation/5.7
buildable: False
g4radioactivedecay:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4radioactivedecay/5.6
buildable: False
g4particlexs:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4particlexs/4.0
buildable: False
g4pii:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4pii/1.3
buildable: False
g4realsurface:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4realsurface/2.2
buildable: False
g4saiddata:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4saiddata/2.0
buildable: False
g4abla:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4abla/3.3
buildable: False
g4incl:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4incl/1.2
buildable: False
g4ensdfstate:
externals:
- spec: "[email protected]"
prefix: /cvmfs/sw-nightlies.hsf.org/key4hep/share/g4ensdfstate/2.3
buildable: False
12 changes: 12 additions & 0 deletions environments/key4hep-nightly-share/spack.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
spack:
view: false
include:
- ./config.yaml
# Put packages before the common packages so that it doesn't get overwritten
# See https://github.com/spack/spack/blob/master/lib/spack/docs/environments.rst?plain=1#L528
- ../key4hep-common/packages.yaml
- ../key4hep-common/compilers.yaml
repos:
- ../..
specs:
- [email protected]
4 changes: 0 additions & 4 deletions packages/clicperformance/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack.pkg.k4.key4hep_stack import Ilcsoftpackage
from spack.pkg.k4.key4hep_stack import k4_setup_env_for_framework_tests


class Clicperformance(CMakePackage, Ilcsoftpackage):
Expand Down Expand Up @@ -70,13 +69,10 @@ def setup_run_environment(self, env):
env.prepend_path("MARLIN_DLL", self.prefix.lib + "/libClicPerformance.so")

def setup_build_environment(self, env):
# k4_setup_env_for_framework_tests(self.spec, env)
env.prepend_path("ROOT_INCLUDE_PATH", self.spec["lcfiplus"].prefix.include)
env.prepend_path("LD_LIBRARY_PATH", self.spec["dd4hep"].prefix.lib)
env.prepend_path("LD_LIBRARY_PATH", self.spec["dd4hep"].prefix.lib64)

def cmake_args(self):
# C++ Standard
return [f"-DCMAKE_CXX_STANDARD={self.spec['root'].variants['cxxstd'].value}"]

# tests need installation, so skip here ...
Expand Down
24 changes: 14 additions & 10 deletions packages/dual-readout/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ class DualReadout(CMakePackage, Key4hepPackage):
maintainers = ["vvolkl", "SanghyunKo"]

version("master", branch="master")

version(
"0.1.4",
sha256="fca86bd8e2ab922957babbfcaeb902fda09205ddd23cb1f85b7659b79b205d53",
)
version(
"0.1.3",
sha256="befaf3b0a66e14f4c4d6a2f09e6884f8c5e1e9f3fbe7bde47212e3aa79a5cbef",
Expand All @@ -29,22 +34,22 @@ class DualReadout(CMakePackage, Key4hepPackage):
"0.1.1",
sha256="8d856b47b0b834ac0a53920434da210639c55a1ef375f7e0341731ad14a25318",
)
version(
"0.1.0",
sha256="f4b9387ccae0d4d364b1340eb116c5b4b93a6bc74c896fcd221619ddec31d5f6",

patch(
"https://patch-diff.githubusercontent.com/raw/HEP-FCC/dual-readout/pull/40.patch?full_index=1",
sha256="9ff1cad595e631336f49c2430e147f29ddedb5e3eee650c36f9147f420f62423",
when="@0.1.3 %gcc@14",
)

# backport fix for build error with clang
patch(
"https://github.com/HEP-FCC/dual-readout/commit/31c01d2f7867f6c44da63fdc7db69e30c4bb34bb.diff",
when="@0.1.0",
sha256="0fc3b0e77d52e1dec72a0dae73f15689720b28298deea1992301e8c41c80271c",
"https://patch-diff.githubusercontent.com/raw/HEP-FCC/dual-readout/pull/42.patch?full_index=1",
sha256="8dbe67f968eb81a07820b4e6758ace0d5170a35ccfd896440187160988bc6c79",
when="@0.1.4",
)

depends_on("dd4hep")
depends_on("edm4hep")
depends_on("[email protected]:")
depends_on("[email protected]:", when="@0.1.1:")
depends_on("podio")
depends_on("fastjet")
depends_on("root")
depends_on("pythia8")
Expand All @@ -63,7 +68,6 @@ class DualReadout(CMakePackage, Key4hepPackage):

def cmake_args(self):
args = []
# C++ Standard
args.append(
f"-DCMAKE_CXX_STANDARD={self.spec['root'].variants['cxxstd'].value}"
)
Expand Down
Loading
Loading