summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-physics/geant')
-rw-r--r--sci-physics/geant/Manifest7
-rw-r--r--sci-physics/geant/files/geant-4.11.0.2-musl-avoid-execinfo.patch100
-rw-r--r--sci-physics/geant/files/geant-4.11.2.1-find-soxt-noversion.patch20
-rw-r--r--sci-physics/geant/files/geant4.10.7-hdf5.patch70
-rw-r--r--sci-physics/geant/geant-4.10.7-r3.ebuild109
-rw-r--r--sci-physics/geant/geant-4.10.7.1-r3.ebuild109
-rw-r--r--sci-physics/geant/geant-4.10.7.2-r3.ebuild109
-rw-r--r--sci-physics/geant/geant-4.11.2.0-r1.ebuild (renamed from sci-physics/geant/geant-4.10.7.3.ebuild)58
-rw-r--r--sci-physics/geant/geant-4.11.2.1-r1.ebuild (renamed from sci-physics/geant/geant-4.11.0_beta1-r2.ebuild)57
-rw-r--r--sci-physics/geant/metadata.xml14
10 files changed, 190 insertions, 463 deletions
diff --git a/sci-physics/geant/Manifest b/sci-physics/geant/Manifest
index 0aaa14fffb3d..a222cbac8258 100644
--- a/sci-physics/geant/Manifest
+++ b/sci-physics/geant/Manifest
@@ -1,5 +1,2 @@
-DIST geant4.10.07.p01.tar.gz 36217226 BLAKE2B 3bc5868db1328ac08582fef4a5246e2f3fc1b2d34bca668d27c6c272af3de230f680cff02c3a8b53ab5abc4186645935b042b456cdff3cba01bc180e0646a50d SHA512 d314d649bf349a4fc5dd09229897d3e4ca3bfba071daeb67ab4d4bde187ec59c120b2478d2b28d1c88615189bd38097666bf4a0c25ce5cb4bc3cf0d9815bea5d
-DIST geant4.10.07.p02.tar.gz 35729676 BLAKE2B 1727ab4e35f4dafe0b406bb189a008955c660922a4fc855a765a269ec8837242ba2372b346c189de6bd6d36c434e0636c483c292f90573726fa6d3b4cc67eb12 SHA512 fe5a387880218782570ff2b28cf8f6abc1457437652f349b8b81ac1045bdec7ee51fa2930451c1271708c02914ac60effd0ee8933d42c29d05819fe320356092
-DIST geant4.10.07.p03.tar.gz 35756099 BLAKE2B 9e510d17173d280a24d2540d0e0f25f7337a410858c30e9281b937a8402cbc0acd022cc6f41cc3b88fec28b53fa8a266d79e90bfb6545f4ecffe0724e36183da SHA512 174e4f37ca977eff89bbd8f72f18ef5534db72d966665b9a837ed26acffa527d45741fd38fde460f0719c8962dc2ee33db1f3dfe065a7d0e74c148e4582c095c
-DIST geant4.10.07.tar.gz 36422877 BLAKE2B d81a37e0968f3c13bb846efc252b1b31cb01a8642610b079bcf6ec1741e7f5da09d50f4abe4054b7a06433dc7d9b611110c4f9a1f971a5f1df27580d49b8906d SHA512 057ab2c6ee5d5ad7012bd889bf883faa3ef1fa72a93190d00d1320f250b7b52e21cbae552cbc35065ad5f5bd46cd91fd1536dd4d5e620afa0abb6b065bd7c86b
-DIST geant4.11.00.b01.tar.gz 35617362 BLAKE2B 654679f3876081931a80b8ee8dbf579ef45cbd8edb4e8a641ad1facc2edab470ff19f557672e901321e1993453110b4f1f5c5d7a6b0bb293e710def2d5871d12 SHA512 abc39b33d0570bc07db0e957a2e33db91b47e8ebe650bb79cb8f6fdf6f0e4938607a96011f9b0fba0294828afcf7e6f3ee20367e319f2b388f3b315bd615a6db
+DIST geant4-v11.2.0.tar.gz 36652313 BLAKE2B 41b5138b778be1302776961c0e029efd6143ceed9f3e81b0b1aeb542e1999f746b85dfe66b02421ce38e9475fd95ac0b2513944e13e4689a2e5ec627fa5b9e45 SHA512 57b31fd4125d992754e7ce2770d7427355d204cb0b28708429f8c7983aeb0b41897aa3f5fd345489b343232f459eede6b153752fece96146a7ee59660363acf9
+DIST geant4-v11.2.1.tar.gz 36631774 BLAKE2B e7c8f97f9ceaa32b38954f4ae9b49e2236134a8f5b9cb720d207ece002e7e2f1eb993888b2c53a09aa5293709502a3ab2b13332083a4332c466adaa59110905e SHA512 bdbf4e6ecc4ba5119b5364707cc256e92ea1a245f1c14a434bb7ad748649b27b6b0e20fb1b0624cfe2c66b4267c8a3ff25069794a47d348242cd5664e72812ab
diff --git a/sci-physics/geant/files/geant-4.11.0.2-musl-avoid-execinfo.patch b/sci-physics/geant/files/geant-4.11.0.2-musl-avoid-execinfo.patch
new file mode 100644
index 000000000000..e73a9c24c597
--- /dev/null
+++ b/sci-physics/geant/files/geant-4.11.0.2-musl-avoid-execinfo.patch
@@ -0,0 +1,100 @@
+# Avoid including execinfo and calling backtrace function when execinfo.h is
+# not present or supplied by system's libc
+#
+# Closes: https://bugs.gentoo.org/829151
+--- a/source/global/management/include/G4Backtrace.hh
++++ b/source/global/management/include/G4Backtrace.hh
+@@ -85,23 +85,6 @@
+ # endif
+ #endif
+
+-#if defined(G4UNIX) && !defined(WIN32)
+-# include <cxxabi.h>
+-# include <execinfo.h>
+-# include <unistd.h>
+-#endif
+-
+-#if defined(G4LINUX)
+-# include <features.h>
+-#endif
+-
+-#include <cfenv>
+-#include <csignal>
+-#include <type_traits>
+-
+-template <typename FuncT, typename... ArgTypes>
+-using G4ResultOf_t = std::invoke_result_t<FuncT, ArgTypes...>;
+-
+ // compatible OS and compiler
+ #if defined(G4UNIX) && \
+ (defined(__GNUC__) || defined(__clang__) || defined(_INTEL_COMPILER))
+@@ -109,7 +92,9 @@ using G4ResultOf_t = std::invoke_result_t<FuncT, ArgTypes...>;
+ # define G4SIGNAL_AVAILABLE
+ # endif
+ # if !defined(G4DEMANGLE_AVAILABLE)
+-# define G4DEMANGLE_AVAILABLE
++# if defined(G4UNIX) && defined(HAVE_EXECINFO_H)
++# define G4DEMANGLE_AVAILABLE
++# endif
+ # endif
+ #endif
+
+@@ -121,6 +106,25 @@ using G4ResultOf_t = std::invoke_result_t<FuncT, ArgTypes...>;
+ # endif
+ #endif
+
++#if defined(G4UNIX) && !defined(WIN32)
++# include <cxxabi.h>
++#if defined(HAVE_EXECINFO_H)
++# include <execinfo.h>
++#endif
++# include <unistd.h>
++#endif
++
++#if defined(G4LINUX)
++# include <features.h>
++#endif
++
++#include <cfenv>
++#include <csignal>
++#include <type_traits>
++
++template <typename FuncT, typename... ArgTypes>
++using G4ResultOf_t = std::invoke_result_t<FuncT, ArgTypes...>;
++
+ //----------------------------------------------------------------------------//
+
+ inline G4String G4Demangle(const char* _str)
+@@ -368,6 +372,7 @@ G4Backtrace::GetMangled(FuncT&& func)
+ std::array<type, Depth> btrace;
+ btrace.fill((std::is_pointer<type>::value) ? nullptr : type{});
+
++#if defined(G4DEMANGLE_AVAILABLE)
+ // plus one for this stack-frame
+ std::array<void*, Depth + Offset> buffer;
+ // size of returned buffer
+@@ -387,6 +392,7 @@ G4Backtrace::GetMangled(FuncT&& func)
+ btrace[i] = func(bsym[i]);
+ free(bsym);
+ }
++#endif
+ return btrace;
+ }
+
+--- a/source/global/management/sources.cmake
++++ b/source/global/management/sources.cmake
+@@ -6,6 +6,14 @@ set(G4MULTITHREADED ${GEANT4_BUILD_MULTITHREADED})
+ set(G4_STORE_TRAJECTORY ${GEANT4_BUILD_STORE_TRAJECTORY})
+ set(G4VERBOSE ${GEANT4_BUILD_VERBOSE_CODE})
+
++include(CheckIncludeFile)
++
++check_include_file(execinfo.h HAVE_EXECINFO_H)
++
++if(HAVE_SYS_TYPES_H)
++ list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_EXECINFO_H)
++endif()
++
+ configure_file(${CMAKE_CURRENT_LIST_DIR}/include/G4GlobalConfig.hh.in
+ ${CMAKE_CURRENT_BINARY_DIR}/include/G4GlobalConfig.hh)
+
diff --git a/sci-physics/geant/files/geant-4.11.2.1-find-soxt-noversion.patch b/sci-physics/geant/files/geant-4.11.2.1-find-soxt-noversion.patch
new file mode 100644
index 000000000000..a35e184ffccb
--- /dev/null
+++ b/sci-physics/geant/files/geant-4.11.2.1-find-soxt-noversion.patch
@@ -0,0 +1,20 @@
+Remove versions from find_package(SoXt/SoWin), bug 928657.
+Patch submitted upstream.
+
+--- a/cmake/Modules/G4InterfaceOptions.cmake
++++ b/cmake/Modules/G4InterfaceOptions.cmake
+@@ -153,12 +153,12 @@ if(GEANT4_USE_INVENTOR)
+ geant4_save_package_variables(Inventor SoQt_DIR)
+ else()
+ if(UNIX)
+- find_package(SoXt 1.4.0 REQUIRED)
++ find_package(SoXt REQUIRED)
+ check_sobind_version(SoXt 1.4.0)
+ geant4_save_package_variables(Inventor SoXt_DIR)
+ set(GEANT4_USE_INVENTOR_XT ON)
+ elseif(WIN32)
+- find_package(SoWin 1.4.0 REQUIRED)
++ find_package(SoWin REQUIRED)
+ check_sobind_version(SoWin 1.4.0)
+ geant4_save_package_variables(Inventor SoWin_DIR)
+ set(GEANT4_USE_INVENTOR_WIN ON)
diff --git a/sci-physics/geant/files/geant4.10.7-hdf5.patch b/sci-physics/geant/files/geant4.10.7-hdf5.patch
deleted file mode 100644
index 679cdfbed9d6..000000000000
--- a/sci-physics/geant/files/geant4.10.7-hdf5.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 4e86e523e7f0e419b990520a15ef7d524102cd06 Mon Sep 17 00:00:00 2001
-From: Guilherme Amadio <amadio@gentoo.org>
-Date: Mon, 23 Aug 2021 13:18:25 +0200
-Subject: [PATCH] Rename Geant4::HDF5 to hdf5::hdf5
-
-Needed to be compatible with CMake 3.20, which now provides imported
-targets for HDF5 (https://cmake.org/cmake/help/v3.20/module/FindHDF5.html).
----
- cmake/Modules/G4HDF5Shim.cmake | 16 ++++++++--------
- cmake/Modules/G4OptionalComponents.cmake | 2 +-
-
-diff --git a/cmake/Modules/G4HDF5Shim.cmake b/cmake/Modules/G4HDF5Shim.cmake
-index 963a7bb5be..97d97248d8 100644
---- a/cmake/Modules/G4HDF5Shim.cmake
-+++ b/cmake/Modules/G4HDF5Shim.cmake
-@@ -1,10 +1,10 @@
-- # - G4HDF5Shim
-+# - G4HDF5Shim
- #
- # Geant4's Geant4Config.cmake file aims to support CMake 3.8 and newer
- # The HDF5 dependency is located through CMake's builtin FindHDF5
--# module, but this does not supply imported targets as of CMake 3.16.
-+# module, but this does not supply imported targets until CMake 3.20.
- # It may use HDF5's hdf5-config.cmake file if available, so create
--# custom imported target Geant4::HDF5 to allow both cases to be handled
-+# custom imported target hdf5::hdf5 to allow both cases to be handled
- # without interference with either.
-
- if(HDF5_FOUND)
-@@ -24,18 +24,18 @@ if(HDF5_FOUND)
- endif()
- endif()
-
-- # As FindHDF5 does not yet supply imported targets, we
-+ # If FindHDF5 does not yet supply imported targets, we
- # create an internal INTERFACE target to wrap these.
- # This still hard-codes include/library paths, but limits it
- # to one place. Later, we'll create proper imported targets
- # with re-finds but for now this is the best minimally invasive proceedure
-- if(NOT TARGET Geant4::HDF5)
-- add_library(Geant4::HDF5 IMPORTED UNKNOWN)
-- set_target_properties(Geant4::HDF5 PROPERTIES
-+ if(NOT TARGET hdf5::hdf5)
-+ add_library(hdf5::hdf5 IMPORTED UNKNOWN)
-+ set_target_properties(hdf5::hdf5 PROPERTIES
- IMPORTED_LINK_INTERFACE_LANGUAGES "C"
- IMPORTED_LOCATION "${HDF5_C_LIBRARY_hdf5}"
- INTERFACE_INCLUDE_DIRECTORIES "${HDF5_C_INCLUDE_DIRS}"
- INTERFACE_LINK_LIBRARIES "${HDF5_C_LIBRARIES}"
- )
- endif()
--endif()
-\ No newline at end of file
-+endif()
-diff --git a/cmake/Modules/G4OptionalComponents.cmake b/cmake/Modules/G4OptionalComponents.cmake
-index c0639a538b..77b3c91241 100644
---- a/cmake/Modules/G4OptionalComponents.cmake
-+++ b/cmake/Modules/G4OptionalComponents.cmake
-@@ -369,7 +369,7 @@ if(GEANT4_USE_HDF5)
- find_package(HDF5 1.8 REQUIRED)
- include("${CMAKE_CURRENT_LIST_DIR}/G4HDF5Shim.cmake")
- # Backward compatibility
-- set(HDF5_LIBRARIES Geant4::HDF5)
-+ set(HDF5_LIBRARIES hdf5::hdf5)
-
- # May have found via config mode...
- if(HDF5_DIR)
---
-2.33.0
-
diff --git a/sci-physics/geant/geant-4.10.7-r3.ebuild b/sci-physics/geant/geant-4.10.7-r3.ebuild
deleted file mode 100644
index 085e5abcf44a..000000000000
--- a/sci-physics/geant/geant-4.10.7-r3.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-MY_P=${PN}$(ver_cut 1-2).$(printf %02d $(ver_cut 3))
-
-case ${PV} in
-*_beta*)
- MY_P+=.b$(printf %02d $(ver_cut 5))
- DOCS="ReleaseNotes/Beta$(ver_cut 1-3)-*.txt"
- ;;
-*)
- if [[ $(ver_cut 4) -gt 0 ]]; then
- MY_P+=.p$(printf %02d $(ver_cut 4))
- DOCS="ReleaseNotes/Patch$(ver_cut 1-3)-*.txt"
- fi
- HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
- ;;
-esac
-
-DESCRIPTION="Toolkit for simulation of passage of particles through matter"
-HOMEPAGE="https://geant4.web.cern.ch/"
-SRC_URI="https://geant4-data.web.cern.ch/geant4-data/releases/${MY_P}.tar.gz"
-
-LICENSE="geant4"
-SLOT="4"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="c++11 c++14 +c++17 +data dawn doc examples freetype gdml geant3 hdf5
- inventor motif opengl qt5 raytracerx static-libs threads vrml"
-
-REQUIRED_USE="
- ^^ ( c++11 c++14 c++17 )
- inventor? ( opengl )
- motif? ( opengl )
- qt5? ( opengl )
-"
-
-RDEPEND="
- dev-libs/expat
- >=sci-physics/clhep-2.4.4.0:2=[threads?]
- data? ( ~sci-physics/geant-data-${PV} )
- dawn? ( media-gfx/dawn )
- doc? ( =app-doc/geant-docs-$(ver_cut 1-3)* )
- gdml? ( dev-libs/xerces-c )
- hdf5? ( sci-libs/hdf5[threads?] )
- inventor? ( media-libs/SoXt )
- motif? ( x11-libs/motif:0 )
- opengl? ( virtual/opengl )
- qt5? (
- dev-qt/qt3d:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- opengl? ( dev-qt/qtopengl:5 )
- )
- raytracerx? (
- x11-libs/libX11
- x11-libs/libXmu
- )"
-
-PATCHES=( "${FILESDIR}"/geant4.10.7-hdf5.patch )
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4"
- -DGEANT4_BUILD_CXXSTD=$((usev c++11 || usev c++14 || usev c++17) | cut -c4-)
- -DGEANT4_BUILD_MULTITHREADED=$(usex threads)
- -DGEANT4_BUILD_STORE_TRAJECTORY=OFF
- -DGEANT4_BUILD_TLS_MODEL=$(usex threads global-dynamic initial-exec)
- -DGEANT4_BUILD_VERBOSE_CODE=OFF
- -DGEANT4_INSTALL_DATA=OFF
- -DGEANT4_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4/data"
- -DGEANT4_INSTALL_EXAMPLES=$(usex examples)
- -DGEANT4_INSTALL_PACKAGE_CACHE=OFF
- -DGEANT4_USE_FREETYPE=$(usex freetype)
- -DGEANT4_USE_G3TOG4=$(usex geant3)
- -DGEANT4_USE_GDML=$(usex gdml)
- -DGEANT4_USE_HDF5=$(usex hdf5)
- -DGEANT4_USE_INVENTOR=$(usex inventor)
- -DGEANT4_USE_NETWORKDAWN=$(usex dawn)
- -DGEANT4_USE_NETWORKVRML=$(usex vrml)
- -DGEANT4_USE_OPENGL_X11=$(usex opengl)
- -DGEANT4_USE_QT=$(usex qt5)
- -DGEANT4_USE_RAYTRACER_X11=$(usex raytracerx)
- -DGEANT4_USE_SYSTEM_CLHEP=ON
- -DGEANT4_USE_SYSTEM_EXPAT=ON
- -DGEANT4_USE_SYSTEM_ZLIB=ON
- -DGEANT4_USE_XM=$(usex motif)
- -DBUILD_STATIC_LIBS=$(usex static-libs)
- ${EXTRA_ECONF}
- )
- cmake_src_configure
-}
-
-src_install() {
- # adjust clhep linking flags for system clhep
- # binmake.gmk is only useful for legacy build systems
- sed -i -e 's/-lG4clhep/-lCLHEP/' config/binmake.gmk || die
- cmake_src_install
- rm "${ED}"/usr/bin/*.{sh,csh} || die "failed to remove obsolete shell scripts"
-
- einstalldocs
-}
diff --git a/sci-physics/geant/geant-4.10.7.1-r3.ebuild b/sci-physics/geant/geant-4.10.7.1-r3.ebuild
deleted file mode 100644
index 085e5abcf44a..000000000000
--- a/sci-physics/geant/geant-4.10.7.1-r3.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-MY_P=${PN}$(ver_cut 1-2).$(printf %02d $(ver_cut 3))
-
-case ${PV} in
-*_beta*)
- MY_P+=.b$(printf %02d $(ver_cut 5))
- DOCS="ReleaseNotes/Beta$(ver_cut 1-3)-*.txt"
- ;;
-*)
- if [[ $(ver_cut 4) -gt 0 ]]; then
- MY_P+=.p$(printf %02d $(ver_cut 4))
- DOCS="ReleaseNotes/Patch$(ver_cut 1-3)-*.txt"
- fi
- HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
- ;;
-esac
-
-DESCRIPTION="Toolkit for simulation of passage of particles through matter"
-HOMEPAGE="https://geant4.web.cern.ch/"
-SRC_URI="https://geant4-data.web.cern.ch/geant4-data/releases/${MY_P}.tar.gz"
-
-LICENSE="geant4"
-SLOT="4"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="c++11 c++14 +c++17 +data dawn doc examples freetype gdml geant3 hdf5
- inventor motif opengl qt5 raytracerx static-libs threads vrml"
-
-REQUIRED_USE="
- ^^ ( c++11 c++14 c++17 )
- inventor? ( opengl )
- motif? ( opengl )
- qt5? ( opengl )
-"
-
-RDEPEND="
- dev-libs/expat
- >=sci-physics/clhep-2.4.4.0:2=[threads?]
- data? ( ~sci-physics/geant-data-${PV} )
- dawn? ( media-gfx/dawn )
- doc? ( =app-doc/geant-docs-$(ver_cut 1-3)* )
- gdml? ( dev-libs/xerces-c )
- hdf5? ( sci-libs/hdf5[threads?] )
- inventor? ( media-libs/SoXt )
- motif? ( x11-libs/motif:0 )
- opengl? ( virtual/opengl )
- qt5? (
- dev-qt/qt3d:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- opengl? ( dev-qt/qtopengl:5 )
- )
- raytracerx? (
- x11-libs/libX11
- x11-libs/libXmu
- )"
-
-PATCHES=( "${FILESDIR}"/geant4.10.7-hdf5.patch )
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4"
- -DGEANT4_BUILD_CXXSTD=$((usev c++11 || usev c++14 || usev c++17) | cut -c4-)
- -DGEANT4_BUILD_MULTITHREADED=$(usex threads)
- -DGEANT4_BUILD_STORE_TRAJECTORY=OFF
- -DGEANT4_BUILD_TLS_MODEL=$(usex threads global-dynamic initial-exec)
- -DGEANT4_BUILD_VERBOSE_CODE=OFF
- -DGEANT4_INSTALL_DATA=OFF
- -DGEANT4_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4/data"
- -DGEANT4_INSTALL_EXAMPLES=$(usex examples)
- -DGEANT4_INSTALL_PACKAGE_CACHE=OFF
- -DGEANT4_USE_FREETYPE=$(usex freetype)
- -DGEANT4_USE_G3TOG4=$(usex geant3)
- -DGEANT4_USE_GDML=$(usex gdml)
- -DGEANT4_USE_HDF5=$(usex hdf5)
- -DGEANT4_USE_INVENTOR=$(usex inventor)
- -DGEANT4_USE_NETWORKDAWN=$(usex dawn)
- -DGEANT4_USE_NETWORKVRML=$(usex vrml)
- -DGEANT4_USE_OPENGL_X11=$(usex opengl)
- -DGEANT4_USE_QT=$(usex qt5)
- -DGEANT4_USE_RAYTRACER_X11=$(usex raytracerx)
- -DGEANT4_USE_SYSTEM_CLHEP=ON
- -DGEANT4_USE_SYSTEM_EXPAT=ON
- -DGEANT4_USE_SYSTEM_ZLIB=ON
- -DGEANT4_USE_XM=$(usex motif)
- -DBUILD_STATIC_LIBS=$(usex static-libs)
- ${EXTRA_ECONF}
- )
- cmake_src_configure
-}
-
-src_install() {
- # adjust clhep linking flags for system clhep
- # binmake.gmk is only useful for legacy build systems
- sed -i -e 's/-lG4clhep/-lCLHEP/' config/binmake.gmk || die
- cmake_src_install
- rm "${ED}"/usr/bin/*.{sh,csh} || die "failed to remove obsolete shell scripts"
-
- einstalldocs
-}
diff --git a/sci-physics/geant/geant-4.10.7.2-r3.ebuild b/sci-physics/geant/geant-4.10.7.2-r3.ebuild
deleted file mode 100644
index 32f62303ec77..000000000000
--- a/sci-physics/geant/geant-4.10.7.2-r3.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-MY_P=${PN}$(ver_cut 1-2).$(printf %02d $(ver_cut 3))
-
-case ${PV} in
-*_beta*)
- MY_P+=.b$(printf %02d $(ver_cut 5))
- DOCS="ReleaseNotes/Beta$(ver_cut 1-3)-*.txt"
- ;;
-*)
- if [[ $(ver_cut 4) -gt 0 ]]; then
- MY_P+=.p$(printf %02d $(ver_cut 4))
- DOCS="ReleaseNotes/Patch$(ver_cut 1-3)-*.txt"
- fi
- HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
- ;;
-esac
-
-DESCRIPTION="Toolkit for simulation of passage of particles through matter"
-HOMEPAGE="https://geant4.web.cern.ch/"
-SRC_URI="https://geant4-data.web.cern.ch/geant4-data/releases/${MY_P}.tar.gz"
-
-LICENSE="geant4"
-SLOT="4"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="c++11 c++14 +c++17 +data dawn doc examples freetype gdml geant3 hdf5
- inventor motif opengl qt5 raytracerx static-libs threads vrml"
-
-REQUIRED_USE="
- ^^ ( c++11 c++14 c++17 )
- inventor? ( opengl )
- motif? ( opengl )
- qt5? ( opengl )
-"
-
-RDEPEND="
- dev-libs/expat
- >=sci-physics/clhep-2.4.4.0:2=[threads?]
- data? ( ~sci-physics/geant-data-4.10.7.1 )
- dawn? ( media-gfx/dawn )
- doc? ( =app-doc/geant-docs-$(ver_cut 1-3)* )
- gdml? ( dev-libs/xerces-c )
- hdf5? ( sci-libs/hdf5[threads?] )
- inventor? ( media-libs/SoXt )
- motif? ( x11-libs/motif:0 )
- opengl? ( virtual/opengl )
- qt5? (
- dev-qt/qt3d:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- opengl? ( dev-qt/qtopengl:5 )
- )
- raytracerx? (
- x11-libs/libX11
- x11-libs/libXmu
- )"
-
-PATCHES=( "${FILESDIR}"/geant4.10.7-hdf5.patch )
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4"
- -DGEANT4_BUILD_CXXSTD=$((usev c++11 || usev c++14 || usev c++17) | cut -c4-)
- -DGEANT4_BUILD_MULTITHREADED=$(usex threads)
- -DGEANT4_BUILD_STORE_TRAJECTORY=OFF
- -DGEANT4_BUILD_TLS_MODEL=$(usex threads global-dynamic initial-exec)
- -DGEANT4_BUILD_VERBOSE_CODE=OFF
- -DGEANT4_INSTALL_DATA=OFF
- -DGEANT4_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4/data"
- -DGEANT4_INSTALL_EXAMPLES=$(usex examples)
- -DGEANT4_INSTALL_PACKAGE_CACHE=OFF
- -DGEANT4_USE_FREETYPE=$(usex freetype)
- -DGEANT4_USE_G3TOG4=$(usex geant3)
- -DGEANT4_USE_GDML=$(usex gdml)
- -DGEANT4_USE_HDF5=$(usex hdf5)
- -DGEANT4_USE_INVENTOR=$(usex inventor)
- -DGEANT4_USE_NETWORKDAWN=$(usex dawn)
- -DGEANT4_USE_NETWORKVRML=$(usex vrml)
- -DGEANT4_USE_OPENGL_X11=$(usex opengl)
- -DGEANT4_USE_QT=$(usex qt5)
- -DGEANT4_USE_RAYTRACER_X11=$(usex raytracerx)
- -DGEANT4_USE_SYSTEM_CLHEP=ON
- -DGEANT4_USE_SYSTEM_EXPAT=ON
- -DGEANT4_USE_SYSTEM_ZLIB=ON
- -DGEANT4_USE_XM=$(usex motif)
- -DBUILD_STATIC_LIBS=$(usex static-libs)
- ${EXTRA_ECONF}
- )
- cmake_src_configure
-}
-
-src_install() {
- # adjust clhep linking flags for system clhep
- # binmake.gmk is only useful for legacy build systems
- sed -i -e 's/-lG4clhep/-lCLHEP/' config/binmake.gmk || die
- cmake_src_install
- rm "${ED}"/usr/bin/*.{sh,csh} || die "failed to remove obsolete shell scripts"
-
- einstalldocs
-}
diff --git a/sci-physics/geant/geant-4.10.7.3.ebuild b/sci-physics/geant/geant-4.11.2.0-r1.ebuild
index 2b4f8cd92a19..3cfc83638d74 100644
--- a/sci-physics/geant/geant-4.10.7.3.ebuild
+++ b/sci-physics/geant/geant-4.11.2.0-r1.ebuild
@@ -1,23 +1,21 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
-MY_P=${PN}$(ver_cut 1-2).$(printf %02d $(ver_cut 3))
+MY_P=${PN}$(ver_cut 1)-v$(ver_cut 2-4)
case ${PV} in
*_beta*)
- MY_P+=.b$(printf %02d $(ver_cut 5))
- DOCS="ReleaseNotes/Beta$(ver_cut 1-3)-*.txt"
+ DOCS="ReleaseNotes/Beta.$(ver_cut 2-3)-*.txt"
;;
*)
if [[ $(ver_cut 4) -gt 0 ]]; then
- MY_P+=.p$(printf %02d $(ver_cut 4))
- DOCS="ReleaseNotes/Patch$(ver_cut 1-3)-*.txt"
+ DOCS="ReleaseNotes/Patch.$(ver_cut 2-3)-*.txt"
fi
- HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
+ HTML_DOCS="ReleaseNotes/ReleaseNotes.$(ver_cut 2-3).html"
;;
esac
@@ -25,27 +23,30 @@ DESCRIPTION="Toolkit for simulation of passage of particles through matter"
HOMEPAGE="https://geant4.web.cern.ch/"
SRC_URI="https://geant4-data.web.cern.ch/geant4-data/releases/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
LICENSE="geant4"
-SLOT="4"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="c++11 c++14 +c++17 +data dawn doc examples freetype gdml geant3 hdf5
- inventor motif opengl qt5 raytracerx static-libs threads vrml"
+SLOT="4/$(ver_cut 1-4)"
+
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+data debug doc examples freetype gdml geant3 hdf5 inventor motif opengl
+ qt5 raytracerx static-libs tbb threads trajectories vtk"
REQUIRED_USE="
- ^^ ( c++11 c++14 c++17 )
inventor? ( opengl )
motif? ( opengl )
qt5? ( opengl )
+ tbb? ( threads )
+ vtk? ( qt5 )
"
RDEPEND="
dev-libs/expat
- >=sci-physics/clhep-2.4.4.0:2=[threads?]
- data? ( ~sci-physics/geant-data-4.10.7.1 )
- dawn? ( media-gfx/dawn )
- doc? ( =app-doc/geant-docs-$(ver_cut 1-3)* )
+ >=sci-physics/clhep-2.4.7.1:2=[threads?]
+ data? ( ~sci-physics/geant-data-4.11.2.0 )
+ doc? ( app-doc/geant-docs )
gdml? ( dev-libs/xerces-c )
- hdf5? ( sci-libs/hdf5[threads?] )
+ hdf5? ( sci-libs/hdf5:=[threads?] )
inventor? ( media-libs/SoXt )
motif? ( x11-libs/motif:0 )
opengl? ( virtual/opengl )
@@ -53,25 +54,29 @@ RDEPEND="
dev-qt/qt3d:5
dev-qt/qtcore:5
dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
opengl? ( dev-qt/qtopengl:5 )
)
raytracerx? (
x11-libs/libX11
x11-libs/libXmu
+ )
+ vtk? (
+ sci-libs/vtk:=[qt5]
)"
-S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.11.0.2-musl-avoid-execinfo.patch
+)
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4"
- -DGEANT4_BUILD_CXXSTD=$((usev c++11 || usev c++14 || usev c++17) | cut -c4-)
+ -DGEANT4_BUILD_BUILTIN_BACKTRACE=$(usex debug)
-DGEANT4_BUILD_MULTITHREADED=$(usex threads)
- -DGEANT4_BUILD_STORE_TRAJECTORY=OFF
+ -DGEANT4_BUILD_STORE_TRAJECTORY=$(usex trajectories)
-DGEANT4_BUILD_TLS_MODEL=$(usex threads global-dynamic initial-exec)
- -DGEANT4_BUILD_VERBOSE_CODE=OFF
+ -DGEANT4_BUILD_VERBOSE_CODE=$(usex debug)
-DGEANT4_INSTALL_DATA=OFF
-DGEANT4_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4/data"
-DGEANT4_INSTALL_EXAMPLES=$(usex examples)
@@ -81,18 +86,18 @@ src_configure() {
-DGEANT4_USE_GDML=$(usex gdml)
-DGEANT4_USE_HDF5=$(usex hdf5)
-DGEANT4_USE_INVENTOR=$(usex inventor)
- -DGEANT4_USE_NETWORKDAWN=$(usex dawn)
- -DGEANT4_USE_NETWORKVRML=$(usex vrml)
-DGEANT4_USE_OPENGL_X11=$(usex opengl)
-DGEANT4_USE_QT=$(usex qt5)
-DGEANT4_USE_RAYTRACER_X11=$(usex raytracerx)
-DGEANT4_USE_SYSTEM_CLHEP=ON
-DGEANT4_USE_SYSTEM_EXPAT=ON
-DGEANT4_USE_SYSTEM_ZLIB=ON
+ -DGEANT4_USE_TBB=$(usex tbb)
-DGEANT4_USE_XM=$(usex motif)
+ -DGEANT4_USE_VTK=$(usex vtk)
-DBUILD_STATIC_LIBS=$(usex static-libs)
- ${EXTRA_ECONF}
)
+
cmake_src_configure
}
@@ -102,6 +107,5 @@ src_install() {
sed -i -e 's/-lG4clhep/-lCLHEP/' config/binmake.gmk || die
cmake_src_install
rm "${ED}"/usr/bin/*.{sh,csh} || die "failed to remove obsolete shell scripts"
-
einstalldocs
}
diff --git a/sci-physics/geant/geant-4.11.0_beta1-r2.ebuild b/sci-physics/geant/geant-4.11.2.1-r1.ebuild
index 0b9fdfbf25e5..22d1352ce552 100644
--- a/sci-physics/geant/geant-4.11.0_beta1-r2.ebuild
+++ b/sci-physics/geant/geant-4.11.2.1-r1.ebuild
@@ -1,23 +1,21 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
-MY_P=${PN}$(ver_cut 1-2).$(printf %02d $(ver_cut 3))
+MY_P=${PN}$(ver_cut 1)-v$(ver_cut 2-4)
case ${PV} in
*_beta*)
- MY_P+=.b$(printf %02d $(ver_cut 5))
- DOCS="ReleaseNotes/Beta$(ver_cut 1-3)-*.txt"
+ DOCS="ReleaseNotes/Beta.$(ver_cut 2-3)-*.txt"
;;
*)
if [[ $(ver_cut 4) -gt 0 ]]; then
- MY_P+=.p$(printf %02d $(ver_cut 4))
- DOCS="ReleaseNotes/Patch$(ver_cut 1-3)-*.txt"
+ DOCS="ReleaseNotes/Patch.$(ver_cut 2-3)-*.txt"
fi
- HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
+ HTML_DOCS="ReleaseNotes/ReleaseNotes.$(ver_cut 2-3).html"
;;
esac
@@ -25,27 +23,30 @@ DESCRIPTION="Toolkit for simulation of passage of particles through matter"
HOMEPAGE="https://geant4.web.cern.ch/"
SRC_URI="https://geant4-data.web.cern.ch/geant4-data/releases/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
LICENSE="geant4"
-SLOT="4"
+SLOT="4/$(ver_cut 1-4)"
+
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+c++17 c++20 +data dawn doc examples freetype gdml geant3 hdf5 inventor motif opengl
- qt5 raytracerx static-libs threads vrml"
+IUSE="+data debug doc examples freetype gdml geant3 hdf5 inventor motif opengl
+ qt5 raytracerx static-libs tbb threads trajectories vtk"
REQUIRED_USE="
- ^^ ( c++17 c++20 )
inventor? ( opengl )
motif? ( opengl )
qt5? ( opengl )
+ tbb? ( threads )
+ vtk? ( qt5 )
"
RDEPEND="
dev-libs/expat
- >=sci-physics/clhep-2.4.4.2:2=[threads?]
- data? ( ~sci-physics/geant-data-${PV} )
- dawn? ( media-gfx/dawn )
+ >=sci-physics/clhep-2.4.7.1:2=[threads?]
+ data? ( ~sci-physics/geant-data-4.11.2.0 )
doc? ( app-doc/geant-docs )
gdml? ( dev-libs/xerces-c )
- hdf5? ( sci-libs/hdf5[threads?] )
+ hdf5? ( sci-libs/hdf5:=[threads?] )
inventor? ( media-libs/SoXt )
motif? ( x11-libs/motif:0 )
opengl? ( virtual/opengl )
@@ -53,27 +54,30 @@ RDEPEND="
dev-qt/qt3d:5
dev-qt/qtcore:5
dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
opengl? ( dev-qt/qtopengl:5 )
)
raytracerx? (
x11-libs/libX11
x11-libs/libXmu
+ )
+ vtk? (
+ sci-libs/vtk:=[qt5]
)"
-PATCHES=( "${FILESDIR}"/geant4.10.7-hdf5.patch )
-
-S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.11.0.2-musl-avoid-execinfo.patch
+ "${FILESDIR}"/${PN}-4.11.2.1-find-soxt-noversion.patch
+)
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4"
- -DCMAKE_CXX_STANDARD=$((usev c++17 || usev c++20) | cut -c4-)
+ -DGEANT4_BUILD_BUILTIN_BACKTRACE=$(usex debug)
-DGEANT4_BUILD_MULTITHREADED=$(usex threads)
- -DGEANT4_BUILD_STORE_TRAJECTORY=OFF
+ -DGEANT4_BUILD_STORE_TRAJECTORY=$(usex trajectories)
-DGEANT4_BUILD_TLS_MODEL=$(usex threads global-dynamic initial-exec)
- -DGEANT4_BUILD_VERBOSE_CODE=OFF
+ -DGEANT4_BUILD_VERBOSE_CODE=$(usex debug)
-DGEANT4_INSTALL_DATA=OFF
-DGEANT4_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4/data"
-DGEANT4_INSTALL_EXAMPLES=$(usex examples)
@@ -83,18 +87,18 @@ src_configure() {
-DGEANT4_USE_GDML=$(usex gdml)
-DGEANT4_USE_HDF5=$(usex hdf5)
-DGEANT4_USE_INVENTOR=$(usex inventor)
- -DGEANT4_USE_NETWORKDAWN=$(usex dawn)
- -DGEANT4_USE_NETWORKVRML=$(usex vrml)
-DGEANT4_USE_OPENGL_X11=$(usex opengl)
-DGEANT4_USE_QT=$(usex qt5)
-DGEANT4_USE_RAYTRACER_X11=$(usex raytracerx)
-DGEANT4_USE_SYSTEM_CLHEP=ON
-DGEANT4_USE_SYSTEM_EXPAT=ON
-DGEANT4_USE_SYSTEM_ZLIB=ON
+ -DGEANT4_USE_TBB=$(usex tbb)
-DGEANT4_USE_XM=$(usex motif)
+ -DGEANT4_USE_VTK=$(usex vtk)
-DBUILD_STATIC_LIBS=$(usex static-libs)
- ${EXTRA_ECONF}
)
+
cmake_src_configure
}
@@ -104,6 +108,5 @@ src_install() {
sed -i -e 's/-lG4clhep/-lCLHEP/' config/binmake.gmk || die
cmake_src_install
rm "${ED}"/usr/bin/*.{sh,csh} || die "failed to remove obsolete shell scripts"
-
einstalldocs
}
diff --git a/sci-physics/geant/metadata.xml b/sci-physics/geant/metadata.xml
index 74f805af9371..c3ee4dbc5921 100644
--- a/sci-physics/geant/metadata.xml
+++ b/sci-physics/geant/metadata.xml
@@ -13,19 +13,19 @@
the script used to perform this linking step.
Geant 4 is a complete rewrite in C++ with addition of other modern
features and detectors.
-</longdescription>
+ </longdescription>
<use>
- <flag name="c++11">Build using the C++11 standard</flag>
- <flag name="c++14">Build using the C++14 standard</flag>
- <flag name="c++17">Build using the C++17 standard</flag>
- <flag name="c++20">Build using the C++20 standard</flag>
<flag name="data">Add a lot of standard physics data files for geant4</flag>
- <flag name="dawn">Add support for <pkg>media-gfx/dawn</pkg> (3D postscript rendering)</flag>
<flag name="freetype">Add support for <pkg>media-libs/freetype</pkg></flag>
<flag name="gdml">Enable geometry markup language for xml</flag>
<flag name="geant3">Add compatibility for geant321 to geant4</flag>
<flag name="inventor">Add support for Open Inventor SGI toolkit via Coin3D</flag>
<flag name="raytracerx">Enable raytracing for physics events</flag>
- <flag name="vrml">Enable output of geant4 in vrml formats</flag>
+ <flag name="tbb">Enable support for <pkg>dev-cpp/tbb</pkg></flag>
+ <flag name="trajectories">Enable display of particle trajectories</flag>
+ <flag name="vtk">Use <pkg>sci-libs/vtk</pkg> for visualization (experimental)</flag>
</use>
+ <upstream>
+ <remote-id type="github">Geant4/geant4</remote-id>
+ </upstream>
</pkgmetadata>