summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuilherme Amadio <amadio@gentoo.org>2020-03-16 17:22:13 +0100
committerGuilherme Amadio <amadio@gentoo.org>2020-03-16 17:58:49 +0100
commit4752ad90f0e5096cebe36782a4c098a45d2ae67e (patch)
tree0a1130c4b69956be9d0482e8653563847f7a9987 /sci-physics/geant
parentsci-physics/geant: add myself as maintainer (diff)
downloadgentoo-4752ad90f0e5096cebe36782a4c098a45d2ae67e.tar.gz
gentoo-4752ad90f0e5096cebe36782a4c098a45d2ae67e.tar.bz2
gentoo-4752ad90f0e5096cebe36782a4c098a45d2ae67e.zip
sci-physics/geant: version bumps for Geant4 10.6
This set of new ebuilds for Geant4 have been updated to offer more functionality and be easier to maintain in the future. Here is a list of the improvements made: - Moved to EAPI=7 - Same ebuild can be used for regular, beta, and patch releases - Dropped extra zeros from version numbers to follow upstream more closely - SRC_URI has been updated to the new upstream location - Fixed dependency on CLHEP to require matching USE=threads - Added USE=c++XX flags to allow users to choose C++ standard (this is useful for packages that depend on both sci-physics/root and geant to ensure that they have been compiled with matching C++ standards). - New USE=hdf5 and USE=freetype have been added - Removed obsolete scripts and unnecessary dependency on app-shells/tcsh - Always use system's zlib instead of bundled one - Removed usage of PDEPEND by updating geant-docs and geant-data - Added patch to allow customization of CMAKE_INSTALL_DATADIR - Added ${EXTRA_ECONF} to allow users to customize installation further without patching ebuild itself or using an overlay Package-Manager: Portage-2.3.94, Repoman-2.3.21 Signed-off-by: Guilherme Amadio <amadio@gentoo.org>
Diffstat (limited to 'sci-physics/geant')
-rw-r--r--sci-physics/geant/Manifest3
-rw-r--r--sci-physics/geant/files/geant-4.10.6-datadir.patch159
-rw-r--r--sci-physics/geant/geant-4.10.6.ebuild107
-rw-r--r--sci-physics/geant/geant-4.10.6_beta1.ebuild107
-rw-r--r--sci-physics/geant/geant-4.10.6_p1.ebuild107
-rw-r--r--sci-physics/geant/metadata.xml7
6 files changed, 488 insertions, 2 deletions
diff --git a/sci-physics/geant/Manifest b/sci-physics/geant/Manifest
index 7fde0b416a81..7b80e8044913 100644
--- a/sci-physics/geant/Manifest
+++ b/sci-physics/geant/Manifest
@@ -1,2 +1,5 @@
DIST geant4.10.03.tar.gz 33143770 BLAKE2B f84c4dc680c45bc5728485e3e38852de90ae0f89dfe4cf65677aa86f6d90b4cbe5d2ffec812b08d05c88f8abb73f006f3a5319bcfd48c20872299ccfd91c7e39 SHA512 61d67e57f1576ab10562f2309995897008b4be1aa60f7e471b4f5efc2d852788d5faf60e64ea7024a4af4035d98c04c0be23df8593a4ed3a510af6b476013c56
DIST geant4.10.05.p01.tar.gz 34413415 BLAKE2B d98a9308e37f166dccf8f9640a54ee74ab2b1d07275609666aec6d929b0193269a18075762cebaa154abcad5c8359a128b6629ff973cb6cdc8f54535151997a3 SHA512 ace2097251ee4cdda3511c3dd8191c97e1001f73d421797e3cd517ed41fa5adc73efcddfb2c8b6fb75231e5af8ddb4bd63a402ccb99b40ce2c140588d328b582
+DIST geant4.10.06.b01.tar.gz 34511064 BLAKE2B d20bd338ea0ac47b11464b581aa0dec3725da56902dbaab233fcaad28ba6b3ce302a8d7e2c27f4532bed2db991467b4bde837675f3837f066c9e7e3d78c7acd6 SHA512 3916a0ad13891fc5a189c0be6c2e57abe29281696c9d16c0c54fd11940146586feb550a61403ab6451e6575d2ad1f4349590d9c564d7b5d7fc5ab9e9b2356ccb
+DIST geant4.10.06.p01.tar.gz 34869969 BLAKE2B 0a27f34df213a0dcc2d87c6001c100269be7496519c614fa5b51cd6502d98232d09de0f3c44216c34b6788ec8a1f626d22a53cb7329027006c614a10777b6896 SHA512 d9bca66b086a309a577dcf018c0ca52f5d786b1ebe5ce9d30c29c579c342399816c34efbcb34af60871145b6713cb8151f5517c5a0aa9d24d00e4257a5c1c6c0
+DIST geant4.10.06.tar.gz 34834510 BLAKE2B 48f50c734186e444f5ef2fd02b013565db7f404b7fbaeb3127d7dd67ede76196fd5fa4512a5482cceb7696305eb72dbe819fe43fa26ac63ded49259d804f5ccf SHA512 e03d69cb66947ddc71d20b9065fd5db384dfc8b2b8e905ddab9ebb992c642dc33f369d7eba5f2338487da5d9d28f20f3078917f222d187c65e5af1a0112ee044
diff --git a/sci-physics/geant/files/geant-4.10.6-datadir.patch b/sci-physics/geant/files/geant-4.10.6-datadir.patch
new file mode 100644
index 000000000000..c26bf8914b46
--- /dev/null
+++ b/sci-physics/geant/files/geant-4.10.6-datadir.patch
@@ -0,0 +1,159 @@
+From 44966c44635debaddd859c788b008cd4e6c7fab6 Mon Sep 17 00:00:00 2001
+From: Guilherme Amadio <amadio@cern.ch>
+Date: Fri, 13 Mar 2020 15:36:27 +0100
+Subject: [PATCH] Allow customization of CMAKE_INSTALL_DATADIR
+
+---
+ cmake/Modules/G4CMakeMain.cmake | 2 +-
+ cmake/Modules/G4ConfigureGNUMakeHelpers.cmake | 20 +++++++++----------
+ cmake/Modules/Geant4InstallData.cmake | 4 ++--
+ source/analysis/CMakeLists.txt | 2 +-
+ source/analysis/g4tools/CMakeLists.txt | 2 +-
+ 5 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/cmake/Modules/G4CMakeMain.cmake b/cmake/Modules/G4CMakeMain.cmake
+index a6b984fcad..5ab63202ca 100644
+--- a/cmake/Modules/G4CMakeMain.cmake
++++ b/cmake/Modules/G4CMakeMain.cmake
+@@ -121,7 +121,7 @@ mark_as_advanced(GEANT4_INSTALL_EXAMPLES)
+
+ if(GEANT4_INSTALL_EXAMPLES)
+ install(DIRECTORY examples
+- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/Geant4-${Geant4_VERSION}
++ DESTINATION ${CMAKE_INSTALL_DATADIR}
+ COMPONENT Examples
+ PATTERN "CVS" EXCLUDE
+ PATTERN ".svn" EXCLUDE
+diff --git a/cmake/Modules/G4ConfigureGNUMakeHelpers.cmake b/cmake/Modules/G4ConfigureGNUMakeHelpers.cmake
+index c2aeefee59..1052f43a45 100644
+--- a/cmake/Modules/G4ConfigureGNUMakeHelpers.cmake
++++ b/cmake/Modules/G4ConfigureGNUMakeHelpers.cmake
+@@ -729,7 +729,7 @@ _g4tc_configure_build_tree_scripts(geant4make)
+ # +- CMAKE_INSTALL_PREFIX
+ # +- LIBDIR/Geant4-VERSION (G4LIB)
+ # +- INCLUDEDIR/Geant4 (G4INCLUDE)
+-# +- DATAROOTDIR/Geant4-VERSION/
++# +- DATADIR/
+ # +- geant4make (THIS IS G4INSTALL!)
+ # +- geant4make.(c)sh
+ # +- config/
+@@ -742,7 +742,7 @@ set(G4INSTALL "\"\$geant4make_root\"")
+ # - Include dir
+ file(RELATIVE_PATH
+ G4MAKE_TO_INCLUDEDIR
+- ${CMAKE_INSTALL_FULL_DATAROOTDIR}/Geant4-${Geant4_VERSION}/geant4make
++ ${CMAKE_INSTALL_FULL_DATADIR}/geant4make
+ ${CMAKE_INSTALL_FULL_INCLUDEDIR}/${PROJECT_NAME}
+ )
+ set(G4INCLUDE "\"`cd \$geant4make_root/${G4MAKE_TO_INCLUDEDIR} > /dev/null \; pwd`\"")
+@@ -750,7 +750,7 @@ set(G4INCLUDE "\"`cd \$geant4make_root/${G4MAKE_TO_INCLUDEDIR} > /dev/null \; pw
+ # - Bin dir
+ file(RELATIVE_PATH
+ G4MAKE_TO_BINDIR
+- ${CMAKE_INSTALL_FULL_DATAROOTDIR}/Geant4-${Geant4_VERSION}/geant4make
++ ${CMAKE_INSTALL_FULL_DATADIR}/geant4make
+ ${CMAKE_INSTALL_FULL_BINDIR}
+ )
+ set(G4BIN_DIR "\"`cd \$geant4make_root/${G4MAKE_TO_BINDIR} > /dev/null \; pwd`\"")
+@@ -758,7 +758,7 @@ set(G4BIN_DIR "\"`cd \$geant4make_root/${G4MAKE_TO_BINDIR} > /dev/null \; pwd`\"
+ # - Lib dir
+ file(RELATIVE_PATH
+ G4MAKE_TO_LIBDIR
+- ${CMAKE_INSTALL_FULL_DATAROOTDIR}/Geant4-${Geant4_VERSION}/geant4make
++ ${CMAKE_INSTALL_FULL_DATADIR}/geant4make
+ ${CMAKE_INSTALL_FULL_LIBDIR}
+ )
+ set(G4LIB "\"`cd \$geant4make_root/${G4MAKE_TO_LIBDIR}/Geant4-${Geant4_VERSION} > /dev/null \; pwd`\"")
+@@ -775,7 +775,7 @@ foreach(_ds ${GEANT4_EXPORTED_DATASETS})
+
+ file(RELATIVE_PATH
+ G4MAKE_TO_DATADIR
+- ${CMAKE_INSTALL_FULL_DATAROOTDIR}/Geant4-${Geant4_VERSION}/geant4make
++ ${CMAKE_INSTALL_FULL_DATADIR}/geant4make
+ ${${_ds}_PATH}
+ )
+ set(${_ds}_PATH "\"`cd \$geant4make_root/${G4MAKE_TO_DATADIR} > /dev/null \; pwd`\"")
+@@ -788,7 +788,7 @@ set(TOOLS_FONT_PATH "\"`cd \$geant4make_root/../fonts > /dev/null ; pwd`\"")
+ _g4tc_configure_install_tree_scripts(
+ ${CMAKE_BINARY_DIR}/InstallTreeFiles
+ geant4make
+- ${CMAKE_INSTALL_DATAROOTDIR}/Geant4-${Geant4_VERSION}/geant4make
++ ${CMAKE_INSTALL_DATADIR}/geant4make
+ )
+
+
+@@ -797,7 +797,7 @@ _g4tc_configure_install_tree_scripts(
+ # softlink to the G4SYSTEM directory.
+ #
+ install(DIRECTORY config
+- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/Geant4-${Geant4_VERSION}/geant4make
++ DESTINATION ${CMAKE_INSTALL_DATADIR}/geant4make
+ COMPONENT Development
+ FILES_MATCHING PATTERN "*.gmk"
+ PATTERN "CVS" EXCLUDE
+@@ -845,11 +845,11 @@ endforeach()
+
+ # - Fonts
+ file(RELATIVE_PATH
+- G4ENV_BINDIR_TO_DATAROOTDIR
++ G4ENV_BINDIR_TO_DATADIR
+ "${CMAKE_INSTALL_FULL_BINDIR}"
+- "${CMAKE_INSTALL_FULL_DATAROOTDIR}/Geant4-${Geant4_VERSION}"
++ "${CMAKE_INSTALL_FULL_DATADIR}"
+ )
+-set(TOOLS_FONT_PATH "\"`cd \$geant4_envbindir/${G4ENV_BINDIR_TO_DATAROOTDIR}/fonts > /dev/null ; pwd`\"")
++set(TOOLS_FONT_PATH "\"`cd \$geant4_envbindir/${G4ENV_BINDIR_TO_DATADIR}/fonts > /dev/null ; pwd`\"")
+
+
+ # - Configure for each shell
+diff --git a/cmake/Modules/Geant4InstallData.cmake b/cmake/Modules/Geant4InstallData.cmake
+index 496b0fc4df..55536e51d4 100644
+--- a/cmake/Modules/Geant4InstallData.cmake
++++ b/cmake/Modules/Geant4InstallData.cmake
+@@ -105,7 +105,7 @@ set(GEANT4_DATASETS_URL "https://cern.ch/geant4-data/datasets")
+ set(GEANT4_BUILD_FULL_DATADIR ${PROJECT_BINARY_DIR}/data)
+
+ # Where to install data in the install tree (a Default)
+-set(GEANT4_INSTALL_DATADIR_DEFAULT "${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}-${${PROJECT_NAME}_VERSION}/data")
++set(GEANT4_INSTALL_DATADIR_DEFAULT "${CMAKE_INSTALL_DATADIR}/data")
+
+ # File containing dataset list
+ set(GEANT4_DATASETS_DEFINITIONS "Geant4DatasetDefinitions")
+@@ -596,7 +596,7 @@ endfunction()
+ # Choose Physics Data Install Dir
+ # This follows the pattern for interface and setting as in GNUInstallDirs
+ if(NOT GEANT4_INSTALL_DATADIR)
+- set(GEANT4_INSTALL_DATADIR "" CACHE PATH "read-only architecture independent Geant4 physics data (DATAROOTDIR/${GEANT4_INSTALL_DATADIR_DEFAULT}")
++ set(GEANT4_INSTALL_DATADIR "" CACHE PATH "read-only architecture independent Geant4 physics data (DATADIR/data")
+ set(GEANT4_INSTALL_DATADIR "${GEANT4_INSTALL_DATADIR_DEFAULT}")
+ endif()
+
+diff --git a/source/analysis/CMakeLists.txt b/source/analysis/CMakeLists.txt
+index 44fa4a97be..4c40c704be 100644
+--- a/source/analysis/CMakeLists.txt
++++ b/source/analysis/CMakeLists.txt
+@@ -67,7 +67,7 @@ endif()
+ #
+ if (GEANT4_USE_FREETYPE)
+ install(DIRECTORY fonts/
+- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/Geant4-${Geant4_VERSION}/fonts
++ DESTINATION ${CMAKE_INSTALL_DATADIR}/fonts
+ PATTERN ".svn" EXCLUDE
+ )
+ endif()
+diff --git a/source/analysis/g4tools/CMakeLists.txt b/source/analysis/g4tools/CMakeLists.txt
+index 54c72f1297..df87582bc1 100644
+--- a/source/analysis/g4tools/CMakeLists.txt
++++ b/source/analysis/g4tools/CMakeLists.txt
+@@ -43,7 +43,7 @@ install(DIRECTORY include/
+ # We also need to install the tools license
+ #
+ install(FILES tools.license
+- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/Geant4-${Geant4_VERSION}
++ DESTINATION ${CMAKE_INSTALL_DATADIR}
+ )
+
+ #------------------------------------------------------------------------------
+--
+2.25.1
+
diff --git a/sci-physics/geant/geant-4.10.6.ebuild b/sci-physics/geant/geant-4.10.6.ebuild
new file mode 100644
index 000000000000..d7e342ef288d
--- /dev/null
+++ b/sci-physics/geant/geant-4.10.6.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+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"
+ ;;
+*_p*)
+ MY_P+=.p$(printf %02d $(ver_cut 5))
+ DOCS="ReleaseNotes/Patch$(ver_cut 1-3)-*.txt"
+ HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
+ ;;
+*)
+ HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
+ ;;
+esac
+
+DESCRIPTION="Toolkit for simulation of passage of particles through matter"
+HOMEPAGE="https://geant4.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 )"
+
+RDEPEND="
+ dev-libs/expat
+ >=sci-physics/clhep-2.4.1.3: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/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}"/geant-4.10.6-datadir.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_TLS_MODEL=$(usex threads global-dynamic initial-exec)
+ -DGEANT4_INSTALL_DATA=OFF
+ -DGEANT4_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4/data"
+ -DGEANT4_INSTALL_EXAMPLES=$(usex examples)
+ -DGEANT4_USE_FREETYPE=$(usex freetype)
+ -DGEANT4_USE_G3TOG4=$(usex geant3)
+ -DGEANT4_USE_GDML=$(usex gdml)
+ -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_WT=OFF
+ -DGEANT4_USE_XM=$(usex motif)
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ ${EXTRA_ECONF}
+ )
+ if use inventor; then
+ mycmakeargs+=(
+ -DINVENTOR_INCLUDE_DIR="$(coin-config --includedir)"
+ -DINVENTOR_SOXT_INCLUDE_DIR="$(coin-config --includedir)"
+ )
+ fi
+ cmake-utils_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-utils_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.6_beta1.ebuild b/sci-physics/geant/geant-4.10.6_beta1.ebuild
new file mode 100644
index 000000000000..d7e342ef288d
--- /dev/null
+++ b/sci-physics/geant/geant-4.10.6_beta1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+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"
+ ;;
+*_p*)
+ MY_P+=.p$(printf %02d $(ver_cut 5))
+ DOCS="ReleaseNotes/Patch$(ver_cut 1-3)-*.txt"
+ HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
+ ;;
+*)
+ HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
+ ;;
+esac
+
+DESCRIPTION="Toolkit for simulation of passage of particles through matter"
+HOMEPAGE="https://geant4.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 )"
+
+RDEPEND="
+ dev-libs/expat
+ >=sci-physics/clhep-2.4.1.3: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/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}"/geant-4.10.6-datadir.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_TLS_MODEL=$(usex threads global-dynamic initial-exec)
+ -DGEANT4_INSTALL_DATA=OFF
+ -DGEANT4_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4/data"
+ -DGEANT4_INSTALL_EXAMPLES=$(usex examples)
+ -DGEANT4_USE_FREETYPE=$(usex freetype)
+ -DGEANT4_USE_G3TOG4=$(usex geant3)
+ -DGEANT4_USE_GDML=$(usex gdml)
+ -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_WT=OFF
+ -DGEANT4_USE_XM=$(usex motif)
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ ${EXTRA_ECONF}
+ )
+ if use inventor; then
+ mycmakeargs+=(
+ -DINVENTOR_INCLUDE_DIR="$(coin-config --includedir)"
+ -DINVENTOR_SOXT_INCLUDE_DIR="$(coin-config --includedir)"
+ )
+ fi
+ cmake-utils_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-utils_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.6_p1.ebuild b/sci-physics/geant/geant-4.10.6_p1.ebuild
new file mode 100644
index 000000000000..d7e342ef288d
--- /dev/null
+++ b/sci-physics/geant/geant-4.10.6_p1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+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"
+ ;;
+*_p*)
+ MY_P+=.p$(printf %02d $(ver_cut 5))
+ DOCS="ReleaseNotes/Patch$(ver_cut 1-3)-*.txt"
+ HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
+ ;;
+*)
+ HTML_DOCS="ReleaseNotes/ReleaseNotes$(ver_cut 1-3).html"
+ ;;
+esac
+
+DESCRIPTION="Toolkit for simulation of passage of particles through matter"
+HOMEPAGE="https://geant4.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 )"
+
+RDEPEND="
+ dev-libs/expat
+ >=sci-physics/clhep-2.4.1.3: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/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}"/geant-4.10.6-datadir.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_TLS_MODEL=$(usex threads global-dynamic initial-exec)
+ -DGEANT4_INSTALL_DATA=OFF
+ -DGEANT4_INSTALL_DATADIR="${EPREFIX}/usr/share/geant4/data"
+ -DGEANT4_INSTALL_EXAMPLES=$(usex examples)
+ -DGEANT4_USE_FREETYPE=$(usex freetype)
+ -DGEANT4_USE_G3TOG4=$(usex geant3)
+ -DGEANT4_USE_GDML=$(usex gdml)
+ -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_WT=OFF
+ -DGEANT4_USE_XM=$(usex motif)
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ ${EXTRA_ECONF}
+ )
+ if use inventor; then
+ mycmakeargs+=(
+ -DINVENTOR_INCLUDE_DIR="$(coin-config --includedir)"
+ -DINVENTOR_SOXT_INCLUDE_DIR="$(coin-config --includedir)"
+ )
+ fi
+ cmake-utils_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-utils_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 179b2770b812..e89993be5a39 100644
--- a/sci-physics/geant/metadata.xml
+++ b/sci-physics/geant/metadata.xml
@@ -19,9 +19,12 @@
features and detectors.
</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="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="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>