summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: efc2911d9b8cef95b8fb333c70bdc69c4fb6a164 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# Maintainer: Filippo Falezza <filippo dot falezza at outlook dot it>

pkgname='geant4-full-debug'
pkgver=11.2.1
pkgrel=3
pkgdesc="A simulation toolkit for particle physics interactions - includes all the optional libraries"
depends=(
  'cmake>=3.16'
  'xerces-c>=3'
  'qt6-base'
  'glu'
  'openmotif'
  'soqt'
  'zlib'
  'python>=3'
  'boost'
  'tbb'
  'root'
)
provides=('geant4')
conflicts=(
  'geant4_devel'
  'geant4'
  'geant4-debug'
  'geant4-abladata'
  'geant4-ensdfstatedata'
  'geant4-incldata'
  'geant4-ledata'
  'geant4-levelgammadata'
  'geant4-neutronhpdata'
  'geant4-neutronxsdata'
  'geant4-particlexsdata'
  'geant4-piidata'
  'geant4-radioactivedata'
  'geant4-realsurfacedata'
  'geant4-saiddata'
)
optdepends=(
  'java-environment'
  'tcsh'
  'geant4-lend'
  'dawn'
)
url="http://geant4.cern.ch/"
arch=('x86_64')
license=('custom: http://geant4.cern.ch/license/')
options=('!emptydirs')
source=(
  "http://geant4-data.web.cern.ch/releases/geant4-v${pkgver}.tar.gz"
  'geant4-full-debug.install'
)
sha256sums=(
  "835db6543d5cb2e801675958965be96877f66d6907bb521954b598b785deae5e"
  "5fde7b80dcfa960407b1ecb2b2a2aa817250948cc32490d8ece48a5e5b4035c1"
)
install="geant4-full-debug.install"

build() {

  cd $srcdir
  echo "
export PATH=\$PATH:/opt/Geant4/Geant4-v${pkgver}-debug/bin
export G4ABLADATA=/opt/Geant4/Libraries/G4ABLA3.3
export G4LEDATA=/opt/Geant4/Libraries/G4EMLOW8.5
export G4ENSDFSTATEDATA=/opt/Geant4/Libraries/G4ENSDFSTATE2.3
export G4INCLDATA=/opt/Geant4/Libraries/G4INCL1.2
export G4NEUTRONHPDATA=/opt/Geant4/Libraries/G4NDL4.7
export G4PARTICLEXSDATA=/opt/Geant4/Libraries/G4PARTICLEXS4.0
export G4PIIDATA=/opt/Geant4/Libraries/G4PII1.3
export G4SAIDXSDATA=/opt/Geant4/Libraries/G4SAIDDATA2.0
export G4TENDLDATA=/opt/Geant4/Libraries/G4TENDL1.4
export G4PARTICLEHPDATA=/opt/Geant4/Libraries/G4TENDL1.4
export G4LEVELGAMMADATA=/opt/Geant4/Libraries/PhotonEvaporation5.7
export G4RADIOACTIVEDATA=/opt/Geant4/Libraries/RadioactiveDecay5.6
export G4REALSURFACEDATA=/opt/Geant4/Libraries/RealSurface2.2" > Geant4.sh

  echo "
setenv PATH \$PATH:/opt/Geant4/Geant4-v${pkgver}-debug/bin
setenv G4ABLADATA /opt/Geant4/Libraries/G4ABLA3.3
setenv G4LEDATA /opt/Geant4/Libraries/G4EMLOW8.5
setenv G4ENSDFSTATEDATA /opt/Geant4/Libraries/G4ENSDFSTATE2.3
setenv G4INCLDATA /opt/Geant4/Libraries/G4INCL1.2
setenv G4NEUTRONHPDATA /opt/Geant4/Libraries/G4NDL4.7
setenv G4PARTICLEXSDATA /opt/Geant4/Libraries/G4PARTICLEXS4.0
setenv G4PIIDATA /opt/Geant4/Libraries/G4PII1.3
setenv G4SAIDXSDATA /opt/Geant4/Libraries/G4SAIDDATA2.0
setenv G4TENDLDATA /opt/Geant4/Libraries/G4TENDL1.4
setenv G4PARTICLEHPDATA /opt/Geant4/Libraries/G4TENDL1.4
setenv G4LEVELGAMMADATA /opt/Geant4/Libraries/PhotonEvaporation5.7
setenv G4RADIOACTIVEDATA /opt/Geant4/Libraries/RadioactiveDecay5.6
setenv G4REALSURFACEDATA /opt/Geant4/Libraries/RealSurface2.2" > Geant4.csh

  [ -d ${srcdir}/build ] || mkdir ${srcdir}/build
  cd ${srcdir}/build

  cmake \
    -DCMAKE_INSTALL_PREFIX=/opt/Geant4/Geant4-v${pkgver}-debug \
    -DCMAKE_BUILD_TYPE=Debug \
    -DGEANT4_BUILD_MULTITHREADED=ON \
    -DGEANT4_INSTALL_DATA=ON \
    -DGEANT4_INSTALL_DATASETS_TENDL=ON \
    -DGEANT4_USE_G3TOG4=ON \
    -DGEANT4_USE_GDML=ON \
    -DGEANT4_USE_FREETYPE=ON \
    -DGEANT4_USE_INVENTOR_QT=ON \
    -DGEANT4_USE_QT_QT6=ON \
    -DGEANT4_USE_OPENGL_X11=ON \
    -DGEANT4_USE_QT=ON \
    -DGEANT4_USE_RAYTRACER_X11=ON \
    -DGEANT4_USE_SYSTEM_ZLIB=OFF \
    -DGEANT4_USE_XM=ON \
    -DGEANT4_INSTALL_PACKAGE_CACHE=OFF \
    -DGEANT4_USE_PYTHON=ON \
    -DGEANT4_USE_TBB=ON \
    -DGEANT4_BUILD_TLS_MODEL=global-dynamic \
    -DGEANT4_INSTALL_DATADIR=/opt/Geant4/Libraries \
    ../geant4-v${pkgver}


  #set GEANT4_BUILD_TLS_MODEL=global-dynamic and GEANT4_USE_PYTHON=ON for compatibility with g4python
  make #VERBOSE=1
}

package() {
  cd $srcdir
  install -D -m 755 Geant4.sh $pkgdir/etc/profile.d/Geant4-debug.sh
  install -D -m 755 Geant4.csh $pkgdir/etc/profile.d/Geant4-debug.csh

  cd ${srcdir}/build
  make DESTDIR="${pkgdir}" install

  mkdir -p "${pkgdir}"/usr/include
  ln -s /opt/Geant4/Geant4-v${pkgver}-debug/lib ${pkgdir}/opt/Geant4/Geant4-v${pkgver}-debug/lib64
  ln -s /opt/Geant4/Geant4-v${pkgver}-debug/include/Geant4 "${pkgdir}"/usr/include/Geant4
  ln -s /opt/Geant4/Geant4-v${pkgver}-debug/include/Geant4/CLHEP "${pkgdir}"/usr/include/CLHEP
  ln -s /opt/Geant4/Geant4-v${pkgver}-debug/include/Geant4/PTL "${pkgdir}"/usr/include/PTL
}