From 4752ad90f0e5096cebe36782a4c098a45d2ae67e Mon Sep 17 00:00:00 2001 From: Guilherme Amadio Date: Mon, 16 Mar 2020 17:22:13 +0100 Subject: 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 --- sci-physics/geant/Manifest | 3 + sci-physics/geant/files/geant-4.10.6-datadir.patch | 159 +++++++++++++++++++++ sci-physics/geant/geant-4.10.6.ebuild | 107 ++++++++++++++ sci-physics/geant/geant-4.10.6_beta1.ebuild | 107 ++++++++++++++ sci-physics/geant/geant-4.10.6_p1.ebuild | 107 ++++++++++++++ sci-physics/geant/metadata.xml | 7 +- 6 files changed, 488 insertions(+), 2 deletions(-) create mode 100644 sci-physics/geant/files/geant-4.10.6-datadir.patch create mode 100644 sci-physics/geant/geant-4.10.6.ebuild create mode 100644 sci-physics/geant/geant-4.10.6_beta1.ebuild create mode 100644 sci-physics/geant/geant-4.10.6_p1.ebuild (limited to 'sci-physics') 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 +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. + Build using the C++11 standard + Build using the C++14 standard + Build using the C++17 standard Add a lot of standard physics data files for geant4 - Add support for media-gfx/dawn (3D postscript - rendering) + Add support for media-gfx/dawn (3D postscript rendering) + Add support for media-libs/freetype Enable geometry markup language for xml Add compatibility for geant321 to geant4 Add support for Open Inventor SGI toolkit via Coin3D -- cgit v1.2.3-65-gdbad