diff --git a/cmake/legacy.cmake b/cmake/legacy.cmake index 5c89f7cc6..f83aec48f 100644 --- a/cmake/legacy.cmake +++ b/cmake/legacy.cmake @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (C) 2020-2024 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # +# Copyright (C) 2020-2025 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH # # # # This software is distributed under the terms of the # # GNU Lesser General Public Licence (LGPL) version 3, # @@ -143,7 +143,7 @@ ExternalProject_Add(faircmakemodules ) list(APPEND packages boost) -set(boost_version "83") +set(boost_version "87") set(boost_features "cxxstd=${CMAKE_CXX_STANDARD}" "link=shared" @@ -164,9 +164,8 @@ endif() ExternalProject_Add(boost URL "https://archives.boost.io/release/1.${boost_version}.0/source/boost_1_${boost_version}_0.tar.bz2" - URL_HASH SHA256=6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e + URL_HASH SHA256=af57be25cb4c4f4b413ed692fe378affb4352ea50fbe294a11ef548f4d527d89 BUILD_IN_SOURCE ON - PATCH_COMMAND ${patch} -d libs/python -p1 -i "${CMAKE_SOURCE_DIR}/legacy/boost/support-numpy-2.patch" CONFIGURE_COMMAND "./bootstrap.sh" "--prefix=${CMAKE_INSTALL_PREFIX}" ${boost_python_config_bootstrap} @@ -185,10 +184,10 @@ ExternalProject_Add(boost ) list(APPEND packages fmt) -set(fmt_version "10.1.1") +set(fmt_version "11.1.4") ExternalProject_Add(fmt URL "https://github.com/fmtlib/fmt/releases/download/${fmt_version}/fmt-${fmt_version}.zip" - URL_HASH SHA256=b84e58a310c9b50196cda48d5678d5fa0849bca19e5fdba6b684f0ee93ed9d1b + URL_HASH SHA256=49b039601196e1a765e81c5c9a05a61ed3d33f23b3961323d7322e4fe213d3e6 ${CMAKE_DEFAULT_ARGS} CMAKE_ARGS "-DFMT_DOC=OFF" ${LOG_TO_FILE} @@ -199,10 +198,9 @@ if(ICU_ROOT) set(dds_icu_hint "-DDDS_LD_LIBRARY_PATH=${ICU_ROOT}/lib") endif() list(APPEND packages dds) -set(dds_version "3.8") +set(dds_version "3.13") ExternalProject_Add(dds GIT_REPOSITORY https://github.com/FairRootGroup/DDS GIT_TAG ${dds_version} - PATCH_COMMAND ${patch} -p1 -i "${CMAKE_SOURCE_DIR}/legacy/dds/relax_protobuf_requirement.patch" UPDATE_DISCONNECTED ON ${CMAKE_DEFAULT_ARGS} CMAKE_ARGS ${dds_icu_hint} @@ -217,7 +215,7 @@ ExternalProject_Add_Step(dds build_wn_bin DEPENDEES build DEPENDERS install ) list(APPEND packages fairlogger) -set(fairlogger_version "1.11.1") +set(fairlogger_version "2.1.0") ExternalProject_Add(fairlogger GIT_REPOSITORY https://github.com/FairRootGroup/FairLogger GIT_TAG v${fairlogger_version} ${CMAKE_DEFAULT_ARGS} CMAKE_ARGS @@ -252,7 +250,7 @@ ExternalProject_Add(flatbuffers ) list(APPEND packages fairmq) -set(fairmq_version "1.8.4") +set(fairmq_version "1.9.2") ExternalProject_Add(fairmq GIT_REPOSITORY https://github.com/FairRootGroup/FairMQ GIT_TAG v${fairmq_version} ${CMAKE_DEFAULT_ARGS} @@ -260,17 +258,6 @@ ExternalProject_Add(fairmq ${LOG_TO_FILE} ) -list(APPEND packages pythia6) -set(pythia6_version "428-alice1") -ExternalProject_Add(pythia6 - URL https://github.com/alisw/pythia6/archive/${pythia6_version}.tar.gz - URL_HASH SHA256=b14e82870d3aa33d6fa07f4b1f4d17f1ab80a37d753f91ca6322352b397cb244 - UPDATE_DISCONNECTED ON - PATCH_COMMAND ${patch} -p1 -i "${CMAKE_SOURCE_DIR}/legacy/pythia6/add_missing_extern_keyword.patch" - ${CMAKE_DEFAULT_ARGS} ${LOG_TO_FILE} - ${DEPENDS_ON_SOURCE_CACHE} -) - list(APPEND packages hepmc) set(hepmc_version "2.06.11") ExternalProject_Add(hepmc @@ -311,12 +298,12 @@ ExternalProject_Add_Step(clhep move_dir DEPENDEES download DEPENDERS patch ) list(APPEND packages pythia8) -set(pythia8_version "8310") +set(pythia8_version "8313") string(SUBSTRING "${pythia8_version}" 0 2 pythia8_major_version) string(TOUPPER "${CMAKE_BUILD_TYPE}" selected) ExternalProject_Add(pythia8 URL https://pythia.org/download/pythia${pythia8_major_version}/pythia${pythia8_version}.tgz - URL_HASH SHA256=90c811abe7a3d2ffdbf9b4aeab51cf6e0a5a8befb4e3efa806f3d5b9c311e227 + URL_HASH SHA256=d07e801501c4dcb76d948dc63285375f597453c1d6ec65e71287603dc776718c BUILD_IN_SOURCE ON CONFIGURE_COMMAND ${CMAKE_BINARY_DIR}/Source/pythia8/configure "--with-hepmc2=${CMAKE_INSTALL_PREFIX}" @@ -327,8 +314,27 @@ ExternalProject_Add(pythia8 ${LOG_TO_FILE} ) +if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") + set(vector "-DVECGEOM_VECTOR=empty") +else() + set(vector "-DVECGEOM_VECTOR=native") +endif() + +list(APPEND packages vecgeom) +set(vecgeom_version "1.2.10") +ExternalProject_Add(vecgeom + GIT_REPOSITORY https://gitlab.cern.ch/VecGeom/VecGeom GIT_TAG v${vecgeom_version} + ${CMAKE_DEFAULT_ARGS} CMAKE_ARGS + "-DVECGEOM_BACKEND=vc" + "-DVECGEOM_BUILTIN_VECCORE=ON" + ${vector} + DEPENDS vc + ${LOG_TO_FILE} +) + + list(APPEND packages geant4) -set(geant4_version "11.2.0") +set(geant4_version "11.3.0") if(GEANT4MT) set(mt "-DGEANT4_BUILD_MULTITHREADED=ON" @@ -339,7 +345,7 @@ else() endif() ExternalProject_Add(geant4 URL https://geant4-data.web.cern.ch/releases/geant4-v${geant4_version}.tar.gz - URL_HASH SHA256=46ad7fab3c5cb4bd0bdd77dd6d3e2283184819235bcbc01b2d117d81b35596a6 + URL_HASH SHA256=1da4318b3f96f87f4d47558a32dab269b8f3fc956708038c28e72a180b0efba6 ${CMAKE_DEFAULT_ARGS} CMAKE_ARGS "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" ${mt} @@ -362,7 +368,7 @@ ExternalProject_Add(geant4 ) list(APPEND packages root) -set(root_version "6.30.08") +set(root_version "6.34.08") string(REPLACE "\." "-" root_version_gittag ${root_version}) if(APPLE AND CMAKE_VERSION VERSION_GREATER 3.15) set(root_builtin_glew "-Dbuiltin_glew=ON") @@ -374,7 +380,7 @@ else() unset(root_cocoa) set(root_x11 ON) endif() -find_package(nlohmann_json 3.9) +find_package(nlohmann_json 3.9 QUIET) if(nlohmann_json_FOUND) set(root_builtin_nlohmannjson "-Dbuiltin_nlohmannjson=OFF") else() @@ -396,10 +402,8 @@ ExternalProject_Add(root "-Dgnuinstall=ON" "-Dhttp=ON" "-Dmathmore=ON" - "-Dminuit2=ON" "-Dmlp=ON" "-Dpyroot=ON" - "-Dpythia6=ON" "-Dpythia8=ON" "-Dreflex=OFF" "-Droofit=ON" @@ -411,6 +415,7 @@ ExternalProject_Add(root "-Dtmva=ON" "-Dvc=ON" "-Dvdt=OFF" + "-Dvecgeom=ON" "-Dxml=ON" "-Dxrootd=ON" "-Dx11=${root_x11}" @@ -421,8 +426,7 @@ ExternalProject_Add(root ${root_cocoa} UPDATE_DISCONNECTED ON PATCH_COMMAND ${patch} -p1 -i "${CMAKE_SOURCE_DIR}/legacy/root/fix_macos_sdk_mismatch.patch" - COMMAND ${patch} -p1 -i "${CMAKE_SOURCE_DIR}/legacy/root/fix_macosx_findOpenGL.patch" - DEPENDS pythia6 pythia8 vc ${extract_source_cache_target} + DEPENDS pythia8 vc vecgeom ${extract_source_cache_target} ${LOG_TO_FILE} ) @@ -435,7 +439,7 @@ ExternalProject_Add(vmc ) list(APPEND packages geant3) -set(geant3_version "4-2_fairsoft") +set(geant3_version "4-4_fairsoft") ExternalProject_Add(geant3 GIT_REPOSITORY https://github.com/FairRootGroup/geant3 GIT_TAG v${geant3_version} ${CMAKE_DEFAULT_ARGS} CMAKE_ARGS @@ -445,7 +449,7 @@ ExternalProject_Add(geant3 ) list(APPEND packages vgm) -set(vgm_version "5-2") +set(vgm_version "5-3-1") ExternalProject_Add(vgm GIT_REPOSITORY https://github.com/vmc-project/vgm GIT_TAG v${vgm_version} ${CMAKE_DEFAULT_ARGS} CMAKE_ARGS @@ -455,7 +459,7 @@ ExternalProject_Add(vgm ) list(APPEND packages geant4_vmc) -set(geant4_vmc_version "6-5") +set(geant4_vmc_version "6-7") ExternalProject_Add(geant4_vmc GIT_REPOSITORY https://github.com/vmc-project/geant4_vmc GIT_TAG v${geant4_vmc_version} ${CMAKE_DEFAULT_ARGS} CMAKE_ARGS diff --git a/legacy/README.md b/legacy/README.md index b900930ed..2710832d7 100644 --- a/legacy/README.md +++ b/legacy/README.md @@ -101,23 +101,23 @@ please contact us. | **Package** | **Version** | **URL** | | --- | --- | --- | -| boost | 1.83.0 | https://www.boost.org/ | +| boost | 1.87.0 | https://www.boost.org/ | | clhep | 2.4.7.1 | http://proj-clhep.web.cern.ch | -| dds | 3.8 | http://dds.gsi.de | +| dds | 3.13 | http://dds.gsi.de | | faircmakemodules | 1.0.0 | https://github.com/FairRootGroup/FairCMakeModules | -| fairlogger | 1.11.1 | https://github.com/FairRootGroup/FairLogger | -| fairmq | 1.8.4 | https://github.com/FairRootGroup/FairMQ | +| fairlogger | 2.1.0 | https://github.com/FairRootGroup/FairLogger | +| fairmq | 1.9.2 | https://github.com/FairRootGroup/FairMQ | | flatbuffers | 23.5.26 | https://github.com/google/flatbuffers | -| fmt | 10.1.1 | https://github.com/fmtlib/fmt | -| geant3 | 4-2_fairsoft | https://github.com/FairRootGroup/geant3 | -| geant4 | 11.2.0 | https://geant4.web.cern.ch | -| geant4_vmc | 6-5 | https://github.com/vmc-project/geant4_vmc | +| fmt | 11.1.4 | https://github.com/fmtlib/fmt | +| geant3 | 4-4_fairsoft | https://github.com/FairRootGroup/geant3 | +| geant4 | 11.3.0 | https://geant4.web.cern.ch | +| geant4_vmc | 6-7 | https://github.com/vmc-project/geant4_vmc | | hepmc | 2.06.11 | http://hepmc.web.cern.ch | | onnxruntime | 1.12.1 | https://github.com/microsoft/onnxruntime | -| pythia6 | 428-alice1 | https://github.com/alisw/pythia6 | -| pythia8 | 8310 | https://pythia.org/ | -| root | 6.30.08 | https://root.cern | +| pythia8 | 8313 | https://pythia.org/ | +| root | 6.34.08 | https://root.cern | | vc | 1.4.4 | https://github.com/VcDevel/Vc | -| vgm | 5-2 | https://github.com/vmc-project/vgm | +| vecgeom | 1.2.10 | https://gitlab.cern.ch/VecGeom/VecGeom | +| vgm | 5-3-1 | https://github.com/vmc-project/vgm | | vmc | 2-0 | https://github.com/vmc-project/vmc | | zeromq | 4.3.5 | https://github.com/zeromq/libzmq | diff --git a/legacy/boost/support-numpy-2.patch b/legacy/boost/support-numpy-2.patch deleted file mode 100644 index f4f029ab2..000000000 --- a/legacy/boost/support-numpy-2.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 33ac06ca59a68266d3d26edf08205d31ddab4a6c Mon Sep 17 00:00:00 2001 -From: Alexis DUBURCQ -Date: Fri, 15 Mar 2024 14:10:16 +0100 -Subject: [PATCH] Support numpy 2.0.0b1 - ---- - src/numpy/dtype.cpp | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/numpy/dtype.cpp b/src/numpy/dtype.cpp -index 88a20a27b5..da30d1927b 100644 ---- a/src/numpy/dtype.cpp -+++ b/src/numpy/dtype.cpp -@@ -98,7 +98,13 @@ python::detail::new_reference dtype::convert(object const & arg, bool align) - return python::detail::new_reference(reinterpret_cast(obj)); - } - --int dtype::get_itemsize() const { return reinterpret_cast(ptr())->elsize;} -+int dtype::get_itemsize() const { -+#if NPY_ABI_VERSION < 0x02000000 -+ return reinterpret_cast(ptr())->elsize; -+#else -+ return PyDataType_ELSIZE(reinterpret_cast(ptr())); -+#endif -+} - - bool equivalent(dtype const & a, dtype const & b) { - // On Windows x64, the behaviour described on diff --git a/legacy/dds/relax_protobuf_requirement.patch b/legacy/dds/relax_protobuf_requirement.patch deleted file mode 100644 index f5a219445..000000000 --- a/legacy/dds/relax_protobuf_requirement.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -261,7 +261,7 @@ endif(Boost_FOUND) - # - # Search for protobuf - # --find_package(Protobuf 3.15 REQUIRED) -+find_package(Protobuf REQUIRED) - add_subdirectory(proto) - - # DDS Misc Common diff --git a/legacy/pythia6/add_missing_extern_keyword.patch b/legacy/pythia6/add_missing_extern_keyword.patch deleted file mode 100644 index 4d9b3d1f2..000000000 --- a/legacy/pythia6/add_missing_extern_keyword.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 8c88c93a2002a120ff3535eba0b4b5067b399c4f -Author: Dennis Klein -Date: Mon Aug 17 12:07:10 2020 +0200 - - Add missing extern keyword - - GCC10 linker reports "multiple definition of `pyint1_';" etc without it. - -diff --git a/pythia6_common_address.c b/pythia6_common_address.c -index c9ebcd1..48a6030 100644 ---- a/pythia6_common_address.c -+++ b/pythia6_common_address.c -@@ -48,28 +48,28 @@ - # define pybins PYBINS - #endif - --int pyjets[2+5*4000+2*2*5*4000]; --int pydat1[200+2*200+200+2*200]; --int pydat2[4*500+2*4*500+2*2000+2*4*4]; --int pydat3[3*500+2*8000+2*8000+5*8000]; /* KNDCAY=8000 */ --char pydat4[2*500*16]; --int pydatr[6+2*100]; --int pysubs[2+500+81*2+2*200]; --int pypars[200+2*200+200+2*200]; --int pyint1[400+2*400]; --int pyint2[500+2*500+2*20*500+2*4*40]; --int pyint3[2*81*2+3*1000+2*1000]; --int pyint4[500+2*5*500]; --int pyint5[1+3*501+2*3*501]; --char pyint6[501*28]; --int pyint7[2*6*7*7]; --int pyint8[2*5*13]; --int pyint9[2*4*13]; -+extern int pyjets[2+5*4000+2*2*5*4000]; -+extern int pydat1[200+2*200+200+2*200]; -+extern int pydat2[4*500+2*4*500+2*2000+2*4*4]; -+extern int pydat3[3*500+2*8000+2*8000+5*8000]; /* KNDCAY=8000 */ -+extern char pydat4[2*500*16]; -+extern int pydatr[6+2*100]; -+extern int pysubs[2+500+81*2+2*200]; -+extern int pypars[200+2*200+200+2*200]; -+extern int pyint1[400+2*400]; -+extern int pyint2[500+2*500+2*20*500+2*4*40]; -+extern int pyint3[2*81*2+3*1000+2*1000]; -+extern int pyint4[500+2*5*500]; -+extern int pyint5[1+3*501+2*3*501]; -+extern char pyint6[501*28]; -+extern int pyint7[2*6*7*7]; -+extern int pyint8[2*5*13]; -+extern int pyint9[2*4*13]; - int pyuppr[1+7*20+1+2*10+2*5*20+2*11]; /* PYUPPR DOES NOT EXIST IN PYTHIA6 AT ALL!!! */ --int pymssm[100+2*100]; --int pyssmt[2*4*4+2*2*2+2*2*2+2*4+2*2+2*4*16+2*4*4+2*2*2+2*2*2]; --int pyints[2*20]; --int pybins[4+1000+2*20000]; -+extern int pymssm[100+2*100]; -+extern int pyssmt[2*4*4+2*2*2+2*2*2+2*4+2*2+2*4*16+2*4*4+2*2*2+2*2*2]; -+extern int pyints[2*20]; -+extern int pybins[4+1000+2*20000]; - - void *pythia6_common_address(const char* name) { - if (!strcmp(name,"PYJETS")) return pyjets; diff --git a/legacy/root/fix_macosx_findOpenGL.patch b/legacy/root/fix_macosx_findOpenGL.patch deleted file mode 100644 index e0a0b7cae..000000000 --- a/legacy/root/fix_macosx_findOpenGL.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/cmake/modules/SearchInstalledSoftware.cmake b/cmake/modules/SearchInstalledSoftware.cmake -index 682de46f27..57addbc948 100644 ---- a/cmake/modules/SearchInstalledSoftware.cmake -+++ b/cmake/modules/SearchInstalledSoftware.cmake -@@ -565,6 +565,17 @@ find_package(Python3 3.8 COMPONENTS ${python_components}) - #---Check for OpenGL installation------------------------------------------------------- - if(opengl) - message(STATUS "Looking for OpenGL") -+ # Search for the OpenGL installation first in the system. -+ # OpenGL installed via brew (mesa, mesa-glu) and X11 seems not to work -+ # properly so it is needed to use the system version. -+ # CMAKE_FIND_FRAMEWORK defines the search order on macosx which as -+ # default is search first for frameworks. -+ # ROOT changes the order to search last for the framework. -+ # Temporarely change the search order for OpenGL. -+ if(APPLE) -+ set(frame_temp ${CMAKE_FIND_FRAMEWORK}) -+ set(CMAKE_FIND_FRAMEWORK FIRST) -+ endif() - find_package(OpenGL) - if(NOT OPENGL_FOUND OR NOT OPENGL_GLU_FOUND) - if(fail-on-missing) -@@ -574,6 +585,9 @@ if(opengl) - set(opengl OFF CACHE BOOL "Disabled because OpenGL (with GLU) not found (${opengl_description})" FORCE) - endif() - endif() -+ if (APPLE) -+ set(CMAKE_FIND_FRAMEWORK ${frame_temp}) -+ endif() - endif() - # OpenGL should be working only with x11 (Linux), - # in case when -Dall=ON -Dx11=OFF, we will just disable opengl.