1 | # $Id$ |
---|
2 | PortSystem 1.0 |
---|
3 | |
---|
4 | name geant4 |
---|
5 | version 4.9.3 |
---|
6 | categories science |
---|
7 | maintainers gmail.com:cristiano.fontana |
---|
8 | license Geant4 |
---|
9 | description Geant4 is a toolkit for the simulation of the passage of particles through matter. |
---|
10 | long_description Geant4 is a toolkit for the simulation of the passage of particles through matter. \ |
---|
11 | Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science. \ |
---|
12 | The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, \ |
---|
13 | and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278. |
---|
14 | homepage http://geant4.web.cern.ch/ |
---|
15 | notes GEANT4 needs some environment variables to run, they can be set using either ${prefix}/share/geant4/env.sh or ${prefix}/share/geant4/env.csh |
---|
16 | platforms darwin |
---|
17 | |
---|
18 | # Data files versions |
---|
19 | set G4NDL_v 3.13 |
---|
20 | set G4EMLOW_v 6.9 |
---|
21 | set PhotonEvaporation_v 2.0 |
---|
22 | set RadioactiveDecay_v 3.2 |
---|
23 | set G4ABLA_v 3.0 |
---|
24 | set RealSurface_v 1.0 |
---|
25 | |
---|
26 | distfiles geant${version}.tar.gz \ |
---|
27 | G4NDL.${G4NDL_v}.tar.gz \ |
---|
28 | G4EMLOW.${G4EMLOW_v}.tar.gz \ |
---|
29 | PhotonEvaporation.${PhotonEvaporation_v}.tar.gz \ |
---|
30 | G4RadioactiveDecay.${RadioactiveDecay_v}.tar.gz \ |
---|
31 | G4ABLA.${G4ABLA_v}.tar.gz \ |
---|
32 | RealSurface.${RealSurface_v}.tar.gz |
---|
33 | |
---|
34 | master_sites http://geant4.cern.ch/support/source/ |
---|
35 | |
---|
36 | checksums geant4.9.3.tar.gz \ |
---|
37 | md5 e2b02bac0bba8fb5a01e1caeefe86a7a \ |
---|
38 | sha1 9c657e90675d64993416b46dfce70710804379d4 \ |
---|
39 | rmd160 33f54c2dbf33a7eda1470db1a6bb44de279ac577 \ |
---|
40 | G4NDL.${G4NDL_v}.tar.gz \ |
---|
41 | md5 3aeb08f8532fc1d445b020ff9985b4e0 \ |
---|
42 | sha1 4acc412a2f29a7a8f84ac50aeb7331c8ed2889ae \ |
---|
43 | rmd160 243b206170d996c7b562a86e388ff4d5f8d11764 \ |
---|
44 | G4EMLOW.${G4EMLOW_v}.tar.gz \ |
---|
45 | md5 90af6d45b5053e9e355df38231e2060c \ |
---|
46 | sha1 d4d026f96990d4ed15a6b550b1990ba335248965 \ |
---|
47 | rmd160 8306a6af7ec41ec16790df2130b4f9b437bb7d9e \ |
---|
48 | PhotonEvaporation.${PhotonEvaporation_v}.tar.gz \ |
---|
49 | md5 097fa94e2ec361cbfe3477ed5886a423 \ |
---|
50 | sha1 df3b4994c7248da7a226c186be747c4b823d34fa \ |
---|
51 | rmd160 24d46b08b2ffeca5b3be186baffb650b99accc97 \ |
---|
52 | G4RadioactiveDecay.${RadioactiveDecay_v}.tar.gz \ |
---|
53 | md5 45e7ab756038e4ebac16f7d65e4227cc \ |
---|
54 | sha1 45e706e46a33e08b1706f069d15e8c2145f3410e \ |
---|
55 | rmd160 1f797977c0c66722f4b032ac546c26eaa8a9f14a \ |
---|
56 | G4ABLA.${G4ABLA_v}.tar.gz \ |
---|
57 | md5 d2d4e99b14f7a5057f4c10d9c2d647dd \ |
---|
58 | sha1 5f38676f1650a508e49d35f9405ac96984388135 \ |
---|
59 | rmd160 5a032ee8e90d00f39b67114fe257ec47001f347b \ |
---|
60 | RealSurface.${RealSurface_v}.tar.gz \ |
---|
61 | md5 0dde95e00fcd3bcd745804f870bb6884 \ |
---|
62 | sha1 9b4bd95c647dc702458eeaf89ebf62c5885e2ece \ |
---|
63 | rmd160 030513fe340e0cccbfe0b9ae9acb3ba6b5291ebb |
---|
64 | |
---|
65 | worksrcdir geant${version}/source |
---|
66 | |
---|
67 | depends_lib port:clhep \ |
---|
68 | port:openmotif \ |
---|
69 | port:xercesc3 \ |
---|
70 | port:zlib |
---|
71 | |
---|
72 | post-patch { |
---|
73 | # Propagate user's flags and compiler settings |
---|
74 | reinplace "s/-o/\$(LDFLAGS) -o/g" ${worksrcpath}/GNUmakefile |
---|
75 | |
---|
76 | # Replaces g++ with standard compiler |
---|
77 | foreach file [exec find ${workpath}/geant${version}/config -name "*.gmk"] { |
---|
78 | reinplace "s:g++:${configure.cxx}:g" ${file} |
---|
79 | reinplace "s:gfortran:${configure.fc}:g" ${file} |
---|
80 | } |
---|
81 | |
---|
82 | # Fix an error message in build phase (I hope that it will not cause any problems) |
---|
83 | reinplace "s:LDFLAGS += -bind_at_load -arch_multiple:LDFLAGS += -bind_at_load:g" ${workpath}/geant${version}/config/sys/Darwin-g++.gmk |
---|
84 | |
---|
85 | # Forces build phase to lookf for Darwin-g++.gmk and not $(G4SYSTEM).gmk |
---|
86 | reinplace "s:\$(G4SYSTEM).gmk:Darwin-g++.gmk:g" ${workpath}/geant${version}/config/architecture.gmk |
---|
87 | reinplace "s:\$(G4SYSTEM).gmk:Darwin-g++.gmk:g" ${workpath}/geant${version}/config/common.gmk |
---|
88 | reinplace "s:\$(G4SYSTEM).gmk:Darwin-g++.gmk:g" ${workpath}/geant${version}/examples/extended/eventgenerator/HepMC/HepMCEx01/external/GNUmakefile |
---|
89 | |
---|
90 | # Copies some files to fix them |
---|
91 | foreach file [ exec find ${filespath} -name "*sh" -print ] { |
---|
92 | file copy ${file} ${worksrcpath} |
---|
93 | } |
---|
94 | |
---|
95 | # Fixes some paths |
---|
96 | foreach file [ exec find ${worksrcpath} -name "*sh" -print ] { |
---|
97 | reinplace "s:@PREFIX@:${prefix}:g" ${file} |
---|
98 | reinplace "s:@WORKSRCPATH@:${worksrcpath}:g" ${file} |
---|
99 | reinplace "s:@DESTROOT@:${destroot}:g" ${file} |
---|
100 | reinplace "s:@VERSION@:${version}:g" ${file} |
---|
101 | } |
---|
102 | } |
---|
103 | |
---|
104 | configure { } |
---|
105 | |
---|
106 | build.env G4SYSTEM=${version} |
---|
107 | build.env-append G4INSTALL=${workpath}/geant${version} |
---|
108 | #G4INCLUDE= |
---|
109 | build.env-append G4TMP=\$G4INSTALL/tmp |
---|
110 | build.env-append G4LIB=${workpath}/geant${version}/lib |
---|
111 | build.env-append G4BIN=${workpath}/geant${version}/bin |
---|
112 | |
---|
113 | build.env-append G4LEVELGAMMADATA=${prefix}/share/geant4/data/PhotonEvaporation${PhotonEvaporation_v} |
---|
114 | build.env-append G4RADIOACTIVEDATA=${prefix}/share/geant4/data/RadioactiveDecay${RadioactiveDecay_v} |
---|
115 | build.env-append G4LEDATA=${prefix}/share/geant4/data/G4EMLOW${G4EMLOW_v} |
---|
116 | build.env-append G4NEUTRONHPDATA=${prefix}/share/geant4/data/G4NDL${G4NDL_v} |
---|
117 | build.env-append G4ABLADATA=${prefix}/share/geant4/data/G4ABLA${G4ABLA_v} |
---|
118 | #G4ELASTICDATA= |
---|
119 | |
---|
120 | build.env-append CLHEP_BASE_DIR=${prefix} |
---|
121 | build.env-append CLHEP_INCLUDE_DIR=${prefix}/include |
---|
122 | build.env-append CLHEP_LIB_DIR=${prefix}/lib |
---|
123 | build.env-append CLHEP_LIB=CLHEP |
---|
124 | |
---|
125 | #build.env-append G4DEBUG=1 |
---|
126 | |
---|
127 | #build.env-append G4UI_NONE=1 # Sets no user interface |
---|
128 | #build.env-append G4UI_BUILD_XAW_SESSION=1 # Uses Xaw |
---|
129 | #build.env-append G4UI_USE_XAW=1 |
---|
130 | build.env-append G4UI_BUILD_XM_SESSION=1 #Uses Motif |
---|
131 | build.env-append G4UI_USE_XM=1 |
---|
132 | #build.env-append G4UI_BUILD_QT_SESSION=1 #Uses Qt |
---|
133 | #build.env-append G4UI_USE_QT=1 |
---|
134 | # END OF G4UI_NONE block |
---|
135 | |
---|
136 | #build.env-append G4VIS_NONE=1 #Sets no viasualizzation driver |
---|
137 | #build.env-append G4VIS_BUILD_DAWN_DRIVER=1 #Uses DAWN |
---|
138 | build.env-append G4VIS_BUILD_OPENGLX_DRIVER=1 #Uses OpenGLX |
---|
139 | build.env-append G4VIS_BUILD_OPENGLXM_DRIVER=1 |
---|
140 | #build.env-append G4VIS_BUILD_OIX_DRIVER=1 |
---|
141 | #build.env-append G4VIS_BUILD_RAYTRACERX_DRIVER=1 |
---|
142 | #build.env-append G4VIS_BUILD_VRML_DRIVER=1 |
---|
143 | #build.env-append G4VIS_BUILD_OPENGLQT_DRIVER=1 |
---|
144 | #build.env-append G4VIS_USE_DAWN=1 |
---|
145 | build.env-append G4VIS_USE_OPENGLX=1 |
---|
146 | build.env-append G4VIS_USE_OPENGLXM=1 #Uses OpenGLX with Motif |
---|
147 | #build.env-append G4VIS_USE_OIX=1 |
---|
148 | #build.env-append G4VIS_USE_RAYTRACERX=1 |
---|
149 | #build.env-append G4VIS_USE_VRML=1 |
---|
150 | #build.env-append G4VIS_USE_OPENGLQT=1 |
---|
151 | # End of G4VIS_NONE block |
---|
152 | |
---|
153 | #build.env-append OGLHOME= |
---|
154 | #build.env-append OIVHOME= |
---|
155 | |
---|
156 | build.env-append XMFLAGS= -I${prefix}/include |
---|
157 | build.env-append XMLIBS= -L${prefix}/lib -lXm -lXpm |
---|
158 | build.env-append XMFLAGS= -I${prefix}/include |
---|
159 | build.env-append XMLIBS= -L${prefix}/lib -lXm -lXpm |
---|
160 | #build.env-append XAWFLAGS= |
---|
161 | #build.env-append XAWLIBS= |
---|
162 | #build.env-append QTFLAGS= |
---|
163 | #build.env-append QTLIBS= |
---|
164 | #build.env-append QTMOC= |
---|
165 | |
---|
166 | build.env-append G4LIB_BUILD_GDML=1 # Use GDML for detector construction |
---|
167 | build.env-append XERCESCROOT=${prefix} |
---|
168 | |
---|
169 | #build.env-append G4LIB_BUILD_G3TOG4=1 |
---|
170 | #build.env-append G4LIB_USE_G3TOG4=1 |
---|
171 | |
---|
172 | #build.env-append G4LIB_BUILD_ZLIB=1 |
---|
173 | #build.env-append G4LIB_USE_ZLIB=1 |
---|
174 | |
---|
175 | build.env-append G4LIB_BUILD_SHARED=1 |
---|
176 | #build.env-append G4LIB_BUILD_STATIC=1 |
---|
177 | build.env-append G4LIB_USE_GRANULAR=1 |
---|
178 | |
---|
179 | #pre-build { |
---|
180 | #system "/usr/bin/make -n -p -f \$G4INSTALL/config/scripts/GNUmakefile > \$G4LIB/\$G4SYSTEM/GNUmakefile.db" |
---|
181 | #} |
---|
182 | |
---|
183 | build.args |
---|
184 | build.target |
---|
185 | |
---|
186 | post-build { |
---|
187 | system "cd ${worksrcpath} && make includes" |
---|
188 | } |
---|
189 | |
---|
190 | destroot { |
---|
191 | puts "Installing env scripts to ${prefix}/share/geant4/" |
---|
192 | |
---|
193 | xinstall -d ${destroot}${prefix}/share/geant4/ |
---|
194 | |
---|
195 | xinstall -m 755 -W ${worksrcpath} env.sh ${destroot}${prefix}/share/geant4/ |
---|
196 | xinstall -m 755 -W ${worksrcpath} env.csh ${destroot}${prefix}/share/geant4/ |
---|
197 | |
---|
198 | puts "Installing GEANT4 data to ${prefix}/share/geant4/data" |
---|
199 | |
---|
200 | xinstall -d ${destroot}${prefix}/share/geant4/data |
---|
201 | |
---|
202 | foreach data [list G4NDL${G4NDL_v} G4EMLOW${G4EMLOW_v} PhotonEvaporation${PhotonEvaporation_v} RadioactiveDecay${RadioactiveDecay_v} G4ABLA${G4ABLA_v} RealSurface${RealSurface_v}] { |
---|
203 | puts "-> Installing ${data} to ${prefix}/share/geant4/data" |
---|
204 | file copy ${workpath}/${data} ${destroot}${prefix}/share/geant4/data |
---|
205 | } |
---|
206 | |
---|
207 | puts "Installing sources to ${prefix}/src/geant4/${version}" |
---|
208 | |
---|
209 | xinstall -d ${destroot}${prefix}/src/geant4/${version} |
---|
210 | |
---|
211 | foreach sources {config source environments examples} { |
---|
212 | puts "-> Installing ${sources} to ${prefix}/src/geant4/${version}" |
---|
213 | file copy ${workpath}/geant${version}/${sources} ${destroot}${prefix}/src/geant4/${version} |
---|
214 | } |
---|
215 | |
---|
216 | puts "Installing headers to ${prefix}/include/" |
---|
217 | |
---|
218 | foreach file [glob ${workpath}/geant${version}/include/*] { |
---|
219 | file copy ${file} ${destroot}${prefix}/include/ |
---|
220 | } |
---|
221 | |
---|
222 | puts "Installing libs to ${prefix}/lib/geant4/${version}" |
---|
223 | |
---|
224 | xinstall -d ${destroot}${prefix}/lib/geant4/ |
---|
225 | |
---|
226 | file copy ${workpath}/geant${version}/lib/${version}/ ${destroot}${prefix}/lib/geant4/ |
---|
227 | |
---|
228 | puts "Installing executables to ${prefix}/bin" |
---|
229 | |
---|
230 | foreach file [glob -nocomplain ${workpath}/geant${version}/bin/*] { |
---|
231 | file copy ${file} ${destroot}${prefix}/bin/ |
---|
232 | } |
---|
233 | } |
---|