summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorLuigi Pertoldi2021-07-19 00:30:55 +0200
committerLuigi Pertoldi2021-07-19 00:30:55 +0200
commit4686ef13573a6d116731a6d16ed24f1c21cbfd14 (patch)
tree80f0d10d48434f012b3d68035638eb7fa0d4bedb /PKGBUILD
downloadaur-4686ef13573a6d116731a6d16ed24f1c21cbfd14.tar.gz
First commit
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD193
1 files changed, 193 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..fb3e1a4b86c5
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,193 @@
+# Maintainer: Luigi Pertoldi <gipert@pm.me>
+pkgname='geant4-debug'
+_pkgname='geant4'
+pkgver=10.7.2
+_pkgver=10.07.p02
+pkgrel=1
+pkgdesc="A simulation toolkit for particle physics interactions (compiled with debugging info)."
+depends=('cmake>=3.8'
+ 'xerces-c>=3'
+ 'qt5-base'
+ 'glu'
+ 'openmotif'
+ 'soqt'
+ 'zlib'
+ )
+conflicts=('geant4')
+optdepends=('java-environment: for histogram visualizations and
+analysis'
+ 'tcsh: for C Shell support'
+ 'python: for G4Python support'
+ 'geant4-abladata: Data files for nuclear shell effects in INCL/ABLA hadronic mode'
+ 'geant4-ensdfstatedata: Nuclei properties from the Evaluated Nuclear Structure Data Files'
+ 'geant4-incldata: Data files for proton and neutron density profiles'
+ 'geant4-ledata: Data files for low energy electromagnetic processes'
+ 'geant4-levelgammadata: Data files for photon evaporation'
+ 'geant4-neutronhpdata: Neutron data files with thermal cross sections'
+ 'geant4-particlexsdata: Data files for evaluated p, d, t, He3, He4 and gamma cross sections, replaces geant4-neutronxsdata'
+ 'geant4-piidata: Data files for shell ionisation cross sections'
+ 'geant4-radioactivedata: Data files for radioactive decay hadronic processes'
+ 'geant4-realsurfacedata: Data files for measured optical surface reflectance'
+ 'geant4-saiddata: Data files from evaluated cross-sections in SAID data-base'
+)
+url="http://geant4.cern.ch/"
+arch=('x86_64')
+license=('custom: http://geant4.cern.ch/license/')
+options=('!emptydirs' '!strip')
+install="${_pkgname}.install"
+source=("http://cern.ch/geant4-data/releases/${_pkgname}.${_pkgver}.tar.gz"
+ "${_pkgname}.install")
+sha256sums=('ee4ae9f103546e92aa3762b253fd1d95d1f2792299951d59c94e7b673eb86b32'
+ '0eae153900d995603b0b465c9f17225ba76dd8118377507916fc709360482058')
+
+## Remove this if you want to keep an even smaller package
+## No need to wait for compression when just installing it.
+PKGEXT='.pkg.tar'
+
+build() {
+
+ [ -d ${srcdir}/build ] || mkdir ${srcdir}/build
+ cd ${srcdir}/build
+
+ env -i \
+ QT_SELECT=5 \
+ PATH=/usr/bin \
+ cmake \
+ -DCMAKE_BUILD_TYPE="RelWithDebInfo" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DGEANT4_BUILD_MULTITHREADED=ON \
+ -DGEANT4_USE_G3TOG4=ON \
+ -DGEANT4_USE_GDML=ON \
+ -DGEANT4_USE_INVENTOR_QT=ON \
+ -DGEANT4_USE_QT=ON \
+ -DGEANT4_USE_OPENGL_X11=ON \
+ -DGEANT4_USE_RAYTRACER_X11=ON \
+ -DGEANT4_USE_XM=ON \
+ -DGEANT4_USE_SYSTEM_ZLIB=ON \
+ -DGEANT4_BUILD_CXXSTD=14 \
+ -DGEANT4_BUILD_TLS_MODEL=global-dynamic \
+ -DGEANT4_INSTALL_PACKAGE_CACHE=OFF \
+ ../${_pkgname}.${_pkgver}
+
+ G4VERBOSE=1 make
+
+}
+
+package() {
+
+ #Since the basic package does not include the data files, their
+ #configuration should be removed from the configuration file. Data
+ #files are also available on the AUR and the environment variables
+ #are set automatically for you from the packages.
+
+ msg "Removing 'wrongly' set environment variables"
+
+ # Last revisited: 10.7
+ # also in .install file.
+ variables=(
+ "G4ABLADATA" \
+ "G4ENSDFSTATEDATA" \
+ "G4INCLDATA" \
+ "G4LEDATA" \
+ "G4LEVELGAMMADATA" \
+ "G4NEUTRONHPDATA" \
+ "G4PARTICLEXSDATA" \
+ "G4PIIDATA" \
+ "G4RADIOACTIVEDATA" \
+ "G4REALSURFACEDATA" \
+ "G4SAIDXSDATA" \
+ )
+
+ for _varname in ${variables[*]}
+ do
+ sed -i "/${_varname}/d" ${srcdir}/build/InstallTreeFiles/geant4.sh
+ sed -i "/${_varname}/d" ${srcdir}/build/InstallTreeFiles/geant4.csh
+
+ # disencouraged in-source compilation option
+ sed -i "/${_varname}/d" ${srcdir}/build/InstallTreeFiles/geant4make.sh
+ sed -i "/${_varname}/d" ${srcdir}/build/InstallTreeFiles/geant4make.csh
+ done
+
+ cd ${srcdir}/build
+ make DESTDIR="${pkgdir}" install
+
+ # create a shell script to be initialized along with the terminals for out-of-source compilation
+ echo 'pushd /usr/bin &> /dev/null && source geant4.sh && popd &> /dev/null' > ${srcdir}/geant4_profile.sh
+ echo 'pushd /usr/bin >& /dev/null && source geant4.csh && popd >& /dev/null' > ${srcdir}/geant4_profile.csh
+ install -d ${pkgdir}/etc/profile.d
+ install -m755 ${srcdir}/geant4_profile.sh ${pkgdir}/etc/profile.d/geant4_profile.sh
+ install -m755 ${srcdir}/geant4_profile.csh ${pkgdir}/etc/profile.d/geant4_profile.csh
+
+ # install explicitly disencouraged in-source compilation option
+ install -m755 ${srcdir}/build/InstallTreeFiles/geant4make.sh ${pkgdir}/usr/bin/geant4make.sh
+ install -m755 ${srcdir}/build/InstallTreeFiles/geant4make.csh ${pkgdir}/usr/bin/geant4cmake.sh
+}
+
+# All this is just a comment
+echo ""
+: <<'EOF'
+
+ From: http://geant4-userdoc.web.cern.ch/geant4-userdoc/UsersGuides/InstallationGuide/html/installguide.html#geant4-build-options
+ Last revisited: 10.7
+
+ |----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+----------------|
+ | option | default | set to |
+ |----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+----------------|
+ | CMAKE_INSTALL_PREFIX | /usr/local | /usr |
+ | CMAKE_BUILD_TYPE | Release | |
+ | GEANT4_BUILD_MULTITHREADED | OFF | ON |
+ | GEANT4_INSTALL_DATA | OFF | |
+ | GEANT4_INSTALL_DATADIR | CMAKE_INSTALL_DATAROOTDIR | |
+ | GEANT4_USE_G3TOG4 | OFF | ON |
+ | GEANT4_USE_GDML | OFF | ON |
+ | GEANT4_USE_INVENTOR | OFF | |
+ | GEANT4_USE_INVENTOR_QT | OFF | ON |
+ | GEANT4_USE_OPENGL_WIN32 | OFF, Windows Only | |
+ | GEANT4_USE_OPENGL_X11 | OFF, Unix Only | ON |
+ | GEANT4_USE_PYTHON | OFF | try this |
+ | GEANT4_USE_QT | OFF | ON |
+ | GEANT4_USE_RAYTRACER_X11 | OFF, Unix only | ON |
+ | GEANT4_USE_SYSTEM_CLHEP | OFF | |
+ | GEANT4_USE_SYSTEM_EXPAT | ON | |
+ | GEANT4_USE_SYSTEM_ZLIB | OFF | ON |
+ | GEANT4_USE_TBB | ON | |
+ | GEANT4_USE_XM | OFF, Unix Only | ON |
+ |----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+----------------|
+ | BUILD_SHARED_LIBS | ON | |
+ | BUILD_STATIC_LIBS | OFF | |
+ | CMAKE_INSTALL_BINDIR | bin | |
+ | CMAKE_INSTALL_INCLUDEDIR | include | |
+ | CMAKE_INSTALL_LIBDIR | lib(+?SUFFIX) | |
+ | CMAKE_INSTALL_PYTHONDIR | CMAKE_INSTALL_LIBDIR/python3.<PYMINOR>/site-packages | |
+ | CMAKE_INSTALL_DATAROOTDIR | share | |
+ | GEANT4_INSTALL_DATA_TIMEOUT | 1500 | |
+ | GEANT4_INSTALL_EXAMPLES | ON | |
+ | GEANT4_BUILD_CXXSTD | 11 (UNIX), 17 (Windows) | 14 |
+ | GEANT4_BUILD_MSVC_MP | OFF, Windows Only | |
+ | GEANT4_BUILD_TLS_MODEL | initial-exec | global-dynamic |
+ | GEANT4_BUILD_STORE_TRAJECTORY | ON | |
+ | GEANT4_BUILD_VERBOSE_CODE | ON | |
+ | GEANT4_BUILD_BUILTIN_BACKTRACE | OFF | |
+ | GEANT4_BUILD_PHP_AS_HP | OFF | what's this? |
+ | GEANT4_USE_SMARTSTACK | OFF | what's this? |
+ | GEANT4_USE_SYSTEM_PTL | OFF | |
+ | GEANT4_ENABLE_TESTING | OFF | |
+ | GEANT4_USE_NETWORKDAWN | OFF, Unix Only | |
+ | GEANT4_USE_NETWORKVRML | OFF, Unix Only | |
+ | GEANT4_USE_FREETYPE | OFF | |
+ | GEANT4_USE_HDF5 | OFF | |
+ | GEANT4_USE_USOLIDS | OFF | |
+ | GEANT4_USE_TIMEMORY | OFF | |
+ | GEANT4_INSTALL_PACKAGE_CACHE | ON | OFF |
+ | GEANT4_INSTALL_DATASETS_TENDL | OFF | |
+ | CMAKE_PREFIX_PATH | OFF | |
+ | GEANT4_USE_SYSTEM_CLHEP_GRANULAR | OFF | |
+ |----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+----------------|
+ | CMAKE_CXX_FLAGS | -W -Wall -pedantic -Wno-non-virtual-dtor -Wno-long-long -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -Wno-variadic-macros -Wshadow -pipe | |
+ | | -ftls-model=initial-exec -pthread if GEANT4_BUILD_MULTITHREADED=ON | |
+ | CMAKE_CXX_FLAGS_RELEASE | -O3 -DNDEBUG -fno-trapping-math -ftree-vectorize -fno-math-errno | |
+ | CMAKE_CXX_FLAGS_DEBUG | -g | |
+ | CMAKE_CXX_FLAGS_RELWITHDEBINFO | -O2 -g | |
+ |----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+----------------|
+EOF
+echo ""