ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/geant4.spec
Revision: 1.90
Committed: Fri Nov 27 16:44:58 2009 UTC (15 years, 5 months ago) by fabiocos
Branch: MAIN
CVS Tags: DAS_20100302_slc5_amd64_gcc434, DBS_20100226_slc5_amd64_gcc434, DBS_20100217_slc5_amd64_gcc434, FILEMOVER_20100217_slc5_amd64_gcc434, DAS_20100217_slc5_amd64_gcc434, DAS_20100216b_slc5_amd64_gcc434, DAS_20100216_slc5_amd64_gcc434, dsr20100209fwlite342, CMSSW_3_4_2_patch1, for342patch1, CMSSW_3_4_2, eskFor342, DQMGUI_5_1_7, for341op1-onl-slc5, dg20100201-dbs3, FILEMOVER_20100201_slc5_amd64_gcc434, FILEMOVER_20100128b_slc5_amd64_gcc434, dg20100129-dbs3, dg20100128-dbs3, FILEMOVER_20100128_slc5_amd64_gcc434, DAS_20100127_slc5_amd64_gcc434, CMSSW_3_4_1_ONLINE, DAS_20100126_slc5_amd64_gcc434, sm100126, FILEMOVER_20100122_slc5_amd64_gcc434, DAS_20100119_slc5_amd64_gcc434, DAS_20100115_slc5_amd64_gcc434, dg20100115-security, DBS_20100115_slc5_amd64_gcc434, dg20100112-security, DBS_20100112_slc5_amd64_gcc434, pe20100112-for35X, DBS_20100111_slc5_amd64_gcc434, dg20100111-security, dg20100107b-wmcore, dg20100107-wmcore, dsr20100107fwlite341, sm100107a, sm100106a, DAS_20100105_slc5_amd64_gcc434, sm100105c, sm100105b, pe20100105a-for34X-for35X, ge20100105-pyqt-relocatable-build, sm100105a, pe20091227a-ports, DAS_20091221_slc5_amd64_gcc434, CMSSW_3_5_0_pre2, CMSSW_3_4_1, apFor350pre2v2, apFor350pre2v1, apFor350pre2v0, eskFor341, pe20091216b-for34X-for35X, pe20091216a-for34X-for35X, CMSSW_3_4_0, ge20091214b-new-bootstrap, ge20091214a-new-bootstrap, ge20091214-new-bootstrap, DAS_20091214_slc5_amd64_gcc434, ge20091214-fix-rh5x, CMSSW_3_5_0_pre1, apFor350pre1v0, eskFor340, dg20091211-couchdb, dg20091210-phedex, pe20091209b-for34X-for35X, dg20091203c-comp-base, pe20091209a-for34X-for35X, DD_20091208_slc5_amd64_gcc434, DAS_20091208_slc5_amd64_gcc434, FILEMOVER_20091208_slc5_amd64_gcc434, DBS_20091208_slc5_amd64_gcc434, CMSSW_3_4_0_pre7, eskFor340p7-slc5-gcc434, dg20091203b-comp-base, pe20091201a-for34X-slc5-gcc434, DQMCATTEST_0_0_1, pe20091130b-for34X-slc5-gcc434, pe20091130a-for34X-slc5-gcc434
Changes since 1.89: +2 -0 lines
Log Message:
Fix for the geometry navigation problem in forward (G4Cons)
Fix for the memory problems in 9.2.p01 (double delete, memory corruption)
in G4QElasticCrossSection
Provided by G. Cosmo from Geant4 repository, to appear in 9.3

File Contents

# Content
1 ### RPM external geant4 9.2.p01
2 %define downloadv %(echo %v | cut -d- -f1)
3
4 Requires: clhep
5
6 %define photonEvaporationVersion 2.0
7 %define g4NDLVersion 3.13
8 %define g4ElasticScatteringVersion 1.1
9 %define g4EMLOWVersion 6.2
10 %define radioactiveDecayVersion 3.2
11
12 Source0: http://geant4.cern.ch/support/source/%n.%downloadv.tar.gz
13 Source1: http://geant4.cern.ch/support/source/G4NDL.%{g4NDLVersion}.tar.gz
14 Source2: http://geant4.cern.ch/support/source/G4EMLOW.%{g4EMLOWVersion}.tar.gz
15 Source3: http://geant4.cern.ch/support/source/PhotonEvaporation.%{photonEvaporationVersion}.tar.gz
16 Source4: http://geant4.cern.ch/support/source/G4RadioactiveDecay.%{radioactiveDecayVersion}.tar.gz
17 Source5: http://geant4.cern.ch/support/source/G4ELASTIC.%{g4ElasticScatteringVersion}.tar.gz
18
19 Patch: geant-4.8.2.p01-nobanner
20 Patch1: geant4.9.2.p01-gcc44
21 Patch2: geant4.9.2.p01-G4Cons-G4QElasticCrossSection
22
23 %prep
24 %setup -n %n.%downloadv
25 pwd
26 %patch0 -p1
27 %patch1 -p1
28 %patch2 -p1
29
30 %build
31 if [ $(uname) = Darwin ]; then
32 export MACOSX_DEPLOYMENT_TARGET="10.4"
33 fi
34 # Linux? -pthread?
35 touch G4BuildConf.sh
36 echo "export OS_ARCH=%{cmsplatf}" >> G4BuildConf.sh
37 #FIXME: is this correct???
38 echo "export G4SYSTEM=$(uname)-g++" >> G4BuildConf.sh
39 echo "export G4INSTALL=%i" >> G4BuildConf.sh
40 echo "export G4BASE=$PWD/source" >> G4BuildConf.sh
41 echo "export G4WORKDIR=$PWD" >> G4BuildConf.sh
42 echo "export G4TMP=$PWD/tmp" >> G4BuildConf.sh
43 echo "export G4LIB=%i/lib" >> G4BuildConf.sh
44 echo "export G4LIB_BUILD_SHARED=1" >> G4BuildConf.sh
45 echo "unset G4DEBUG" >> G4BuildConf.sh
46 echo "export CPPVERBOSE=yes" >> G4BuildConf.sh
47
48 echo "export G4LEVELGAMMADATA=%i/data/PhotonEvaporation/%{photonEvaporationVersion}" >> G4BuildConf.sh
49 echo "export G4RADIOACTIVEDATA=%i/data/RadioactiveDecay%{radioactiveDecayVersion}" >> G4BuildConf.sh
50 echo "export G4LEDATA=%i/data/G4EMLOW%{g4EMLOWVersion}" >> G4BuildConf.sh
51 # G4ELASTIC is not needed from 8.2 onward
52 #echo "export G4ELASTIC=%i/data/G4ELASTIC%{g4ElasticScatteringVersion}" >> G4BuildConf.sh
53
54 # From Gabriele Cosmo: The variable name 'NeutronHPCrossSections' is replaced by
55 # 'G4NEUTRONHPDATA' starting from version 9.0.
56 #echo "export NeutronHPCrossSections=%i/data/G4NDL%{g4NDLVersion}" >> G4BuildConf.sh
57 echo "export G4NEUTRONHPDATA=%i/data/G4NDL%{g4NDLVersion}" >> G4BuildConf.sh
58
59
60 # export G4LIB_BUILD_STATIC=1
61 # FIXME: For OS X? export G4NO_OPTIMISE=1 // unset G4OPTIMISE
62 # FIXME: override CERNLIB_PATH?
63
64 echo "export CLHEP_BASE_DIR=$CLHEP_ROOT" >> G4BuildConf.sh
65
66 echo "export G4USE_STL=1" >> G4BuildConf.sh
67 # export G4USE_G3TOG4=1
68
69 # G4UI_BUILD_TERMINAL_SESSION is the default:
70 echo "export G4UI_BUILD_TERMINAL_SESSION=1" >> G4BuildConf.sh
71 # export G4UI_BUILD_GAG_SESSION=1
72 # export G4UI_BUILD_XAW_SESSION=1
73 # export G4UI_BUILD_XM_SESSION=1
74 # export G4UI_BUILD_WO_SESSION=1
75
76 # FIXME: this will not work on osx!
77 echo "export OGLHOME=/usr/X11R6" >> G4BuildConf.sh
78 # export OGLLIBS="-L$OGLHOME/lib -lGLU -lGL"
79 # export OGLFLAGS="-I$OGLHOME/include"
80
81 # G4VIS_BUILD_DAWNFILE_DRIVER is the default
82 echo "export G4VIS_BUILD_DAWNFILE_DRIVER=1" >> G4BuildConf.sh
83 # export G4VIS_BUILD_DAWN_DRIVER=1
84 # export G4VIS_BUILD_OPENGLX_DRIVER=1
85 # export G4VIS_BUILD_OPENGLXM_DRIVER=1
86 # echo "export G4VIS_BUILD_VRMLFILE_DRIVER=1" >> G4BuildConf.sh
87 # echo "export G4VIS_BUILD_VRML_DRIVER=1" >> G4BuildConf.sh
88 # echo "export G4VIS_BUILD_RAYTRACER_DRIVER=1" >> G4BuildConf.sh
89 # export G4LIB_BUILD_G3TOG4=1
90 source G4BuildConf.sh
91 mkdir -p %i
92 tar -cf - config source | tar -C %i -xf -
93
94 make -C $G4BASE global
95 make -C $G4BASE includes
96
97 %install
98 case $(uname) in Darwin ) so=dylib ;; * ) so=so ;; esac
99 mkdir -p %i/etc
100 cp G4BuildConf.sh %i/etc
101 mv %i/lib/$(uname)-g++/*.$so %i/lib
102 # The following file does not appear to exist after this spec file was
103 # switched # to use the subsystem libraries instead of the individual ones,
104 # so comment # it for now
105 #mv %i/lib/$(uname)-g++/libname.map %i/lib
106 rm -rf %i/lib/$(uname)-g++
107 # Build already installed into prefix
108 mkdir -p %i/data
109 tar -C %i/data -zxvf %_sourcedir/G4NDL*.tar.gz
110 tar -C %i/data -zxvf %_sourcedir/G4EMLOW*.tar.gz
111 tar -C %i/data -zxvf %_sourcedir/Photon*.tar.gz
112 tar -C %i/data -zxvf %_sourcedir/G4Rad*.tar.gz
113 # Clean up the sources, which are not needed in the rpm
114 rm -rf %i/source
115
116 # SCRAM ToolBox toolfile
117 mkdir -p %i/etc/scram.d
118 cat << \EOF_TOOLFILE >%i/etc/scram.d/%n
119 <doc type=BuildSystem::ToolDoc version=1.1>
120 <Tool name=GEANT4 version=%v>
121 <info url=http://wwwinfo.cern.ch/asd/geant4/geant4.html></info>
122 <lib name=G4digits_hits>
123 <lib name=G4error_propagation>
124 <lib name=G4event>
125 <lib name=G4FR>
126 <lib name=G4geometry>
127 <lib name=G4global>
128 <lib name=G4graphics_reps>
129 <lib name=G4intercoms>
130 <lib name=G4interfaces>
131 <lib name=G4materials>
132 <lib name=G4modeling>
133 <lib name=G4parmodels>
134 <lib name=G4particles>
135 <lib name=G4persistency>
136 <lib name=G4physicslists>
137 <lib name=G4processes>
138 <lib name=G4RayTracer>
139 <lib name=G4readout>
140 <lib name=G4run>
141 <lib name=G4tracking>
142 <lib name=G4track>
143 <lib name=G4Tree>
144 <lib name=G4visHepRep>
145 <lib name=G4vis_management>
146 <lib name=G4visXXX>
147 <lib name=G4VRML>
148 <Client>
149 <Environment name=GEANT4_BASE default="%i"></Environment>
150 <Environment name=LIBDIR default="$GEANT4_BASE/lib"></Environment>
151 <Environment name=G4LIB value="$LIBDIR"></Environment>
152 <Environment name=INCLUDE default="$GEANT4_BASE/include"></Environment>
153 </Client>
154 <use name=clhep>
155 <Flags CPPDEFINES="G4USE_STD_NAMESPACE GNU_GCC G4V9">
156 <Runtime name=G4LEVELGAMMADATA value="$GEANT4_BASE/data/PhotonEvaporation2.0" type=path>
157 <Runtime name=G4NEUTRONHPDATA value="$GEANT4_BASE/data/G4NDL3.13" type=path>
158 <Runtime name=G4RADIOACTIVEDATA value="$GEANT4_BASE/data/RadioactiveDecay3.2" type=path>
159 <Runtime name=G4LEDATA value="$GEANT4_BASE/data/G4EMLOW6.2" type=path>
160 </Tool>
161 EOF_TOOLFILE
162
163 cat << \EOF_TOOLFILE >%i/etc/scram.d/geant4core
164 <doc type=BuildSystem::ToolDoc version=1.1>
165 <Tool name=geant4core version=%v>
166 <info url=http://wwwinfo.cern.ch/asd/geant4/geant4.html></info>
167 <lib name=G4digits_hits>
168 <lib name=G4error_propagation>
169 <lib name=G4event>
170 <lib name=G4geometry>
171 <lib name=G4global>
172 <lib name=G4graphics_reps>
173 <lib name=G4intercoms>
174 <lib name=G4interfaces>
175 <lib name=G4materials>
176 <lib name=G4parmodels>
177 <lib name=G4particles>
178 <lib name=G4persistency>
179 <lib name=G4physicslists>
180 <lib name=G4processes>
181 <lib name=G4readout>
182 <lib name=G4run>
183 <lib name=G4tracking>
184 <lib name=G4track>
185 <Client>
186 <Environment name=GEANT4_BASE default="%i"></Environment>
187 <Environment name=LIBDIR default="$GEANT4_BASE/lib"></Environment>
188 <Environment name=G4LIB value="$LIBDIR"></Environment>
189 <Environment name=INCLUDE default="$GEANT4_BASE/include"></Environment>
190 </Client>
191 <use name=clhep>
192 <Flags CPPDEFINES="G4USE_STD_NAMESPACE GNU_GCC G4V9">
193 <Runtime name=G4LEVELGAMMADATA value="$GEANT4_BASE/data/PhotonEvaporation2.0" type=path>
194 <Runtime name=G4NEUTRONHPDATA value="$GEANT4_BASE/data/G4NDL3.13" type=path>
195 <Runtime name=G4RADIOACTIVEDATA value="$GEANT4_BASE/data/RadioactiveDecay3.2" type=path>
196 <Runtime name=G4LEDATA value="$GEANT4_BASE/data/G4EMLOW6.2" type=path>
197 </Tool>
198 EOF_TOOLFILE
199
200 cat << \EOF_TOOLFILE >%i/etc/scram.d/geant4vis
201 <doc type=BuildSystem::ToolDoc version=1.1>
202 <Tool name=geant4vis version=%v>
203 <info url=http://wwwinfo.cern.ch/asd/geant4/geant4.html></info>
204 <lib name=G4FR>
205 <lib name=G4modeling>
206 <lib name=G4RayTracer>
207 <lib name=G4Tree>
208 <lib name=G4visHepRep>
209 <lib name=G4vis_management>
210 <lib name=G4visXXX>
211 <lib name=G4VRML>
212 <use name=geant4core>
213 </Tool>
214 EOF_TOOLFILE
215
216
217 %post
218 %{relocateConfig}etc/scram.d/%n
219 %{relocateConfig}etc/scram.d/geant4core
220 %{relocateConfig}etc/scram.d/geant4vis