ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/geant4.spec
Revision: 1.94
Committed: Mon May 10 19:23:05 2010 UTC (14 years, 11 months ago) by elmer
Branch: MAIN
CVS Tags: CMSSW_3_8_7_patch2, sjgFor387p2b, sjgFor387p2, CMSSW_3_8_7_patch1, DQMGUI_5_3_2, dsr20101201fwlite387, CMSSW_3_8_7, sjg101126b, sjg101126a, CMSSW_3_8_6_patch2, sjgFor386p2, CMSSW_3_8_6_patch1, sjgFor386p1, CMSSW_3_8_6, smFor386a, smFor386, CMSSW_3_8_5_patch3, apFor385p3v0, CMSSW_3_8_5_onlpatch4_ONLINE, CMSSW_3_8_5_onlpatch3_ONLINE, CMSSW_3_8_5_patch2, sjgFor385p2, CMSSW_3_8_5_patch1, sjgFor385p1, eskFor3XYpreZ, CMSSW_3_8_5_onlpatch1_ONLINE, CMSSW_3_8_5_ONLINE, fw385online, CMSSW_3_8_1_onlpatch7_ONLINE, CMSSW_3_8_4_patch4, sjfFor384p4, CMSSW_3_8_5, sjgFor385, DQMGUI_5_3_1, CMSSW_3_8_1_onlpatch6_ONLINE, CMSSW_3_8_4_patch3, sjgFor384patch3v3, sjgFor384patch3v2, sjgFor384patch3, smFor385toolconf, CMSSW_3_8_4_patch2, bhFor384p2, CMSSW_3_8_4_patch1, bhFor384p1, CMSSW_3_8_4, bhFor384, CMSSW_3_8_1_onlpatch5_ONLINE, CMSSW_3_8_3, bhFor383, apFor383v1, apFor383v0, CMSSW_3_8_1_onlpatch4_ONLINE, CMSSW_3_8_2_patch1, bhFor382p1, CMSSW_3_8_1_onlpatch3_ONLINE, fc20100901b, CMSSW_3_8_1_onlpatch2_ONLINE, CMSSW_3_8_1_onlpatch1_ONLINE, CMSSW_3_8_1_patch4, bhFor381patch4, CMSSW_3_8_2, bhFor382, CMSSW_3_8_1_patch3, smFor381patch3, dsr20100816fwlite381, dsr20100816fwlite371, CMSSW_3_8_1_ONLINE, dsr20100812fwlite371, CMSSW_3_8_1_patch2, bhFor381p2, CMSSW_3_8_1_patch1, bhFor381patch1, fw381online, CMSSW_3_7_1, CMSSW_3_8_1, bhFor381, fw371, CMSSW_3_8_0_patch2, bhFor380patch2, fw380online, fw380online_3, fw380online_2, fw380online_0, CMSSW_3_8_0_patch1, bhFor380patch1, CMSSW_3_8_0, bhFor380, CMSSW_3_8_0_pre8, bhFor380pre8, CMSSW_3_8_0_pre7, bhFor380pre7, CMSSW_3_7_0_patch4, CMSSW_3_8_0_pre6, smFor370patch4, CMSSW_3_7_0_patch3, bhFor380pre6, CMSSW_3_8_0_pre5ssl, pe20100624b-for38Xssl, pe20100624a-for38Xssl, CMSSW_3_8_0_pre5, smFor370patch3, pe20100623a-for38Xssl, apFor380pre5v0, CMSSW_3_8_0_pre4catfix, bhFor380pre4catfix, bhFor380pre4_cat_fix, CMSSW_3_8_0_pre4, bhFor380pre4, CMSSW_3_8_0_pre3, bhFor380pre3, pe20100612a-gcc45-from380p2, CMSSW_3_8_0_pre2, CMSSW_3_7_0_patch2, smFor370p2, bhFor380_pre2, pe20100606a-for38X, CMSSW_3_7_0_patch1, smFor370patch1, CMSSW_3_8_0_pre1, apFor380pre1v0, CMSSW_3_7_0, smFor370, pe20100519a-for37X, CMSSW_3_7_0_pre5, smFor370pre5, CMSSW_3_7_0_pre4, sm370pre4, sm100511a, pe20100511b-for37X, pe20100511a-for37X, sm100511, pe20100510b-for37X, pe20100510a-for37X
Changes since 1.93: +1 -1 lines
Log Message:
  Update to version 4.9.3.p01

File Contents

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