ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/geant4.spec
Revision: 1.91
Committed: Tue Jan 12 13:59:38 2010 UTC (15 years, 3 months ago) by muzaffar
Branch: MAIN
CVS Tags: CMSSW_3_5_7_hltpatch4, apFor357hltp4v0, DQMGUI_5_2_1, CMSSW_3_5_8_patch4, apFor358p4v3, apFor358p4v2, apFor358p4v1, apFor358p4v0, DQMGUI_5_2_0, CMSSW_3_5_8_patch3, apFor358p3v0, CMSSW_3_5_8_patch2, apFor358p2v0, CMSSW_3_5_8_patch1, apFor358p1v1, apFor358p1v0, CMSSW_3_5_7_onlpatch2_ONLINE, CMSSW_3_5_8, CMSSW_3_5_7_onlpatch1_ONLINE, CMSSW_3_5_7_ONLINE, apFor358v0, CMSSW_3_5_4_onlpatch4_ONLINE, fwFor357online, CMSSW_3_5_7, apFor357v2, apFor357v1, apFor357v0, CMSSW_3_5_6_patch1, for356p1, CMSSW_3_5_4_patch2, CMSSW_3_5_6, for356, for354p2, dsr20100326fwlite355osx, dsr20100326fwlite355, CMSSW_3_5_5, CMSSW_3_5_4_onlpatch3_ONLINE, apFor355v0, CMSSW_3_5_4_patch1, for354patch1, CMSSW_3_5_4_onlpatch2_ONLINE, CMSSW_3_5_4_onlpatch1_ONLINE, CMSSW_3_5_4_ONLINE, DQMGUI_5_1_8, fwFor354onl, CMSSW_3_5_4, apFor354v0, CMSSW_3_5_3_ONLINE, fwFor353onl, CMSSW_3_5_3, apFor353v0, sm100302a-for35X, CMSSW_3_5_2_patch2, apFor352p2v0, CMSSW_3_5_2_patch1, apFor352p1v0, fwFor352onl, CMSSW_3_5_1_onlpatch1_ONLINE, CMSSW_3_5_2, apFor352v0, apFor351p2v0, CMSSW_3_5_1_patch1, for351patch1, CMSSW_3_5_1_ONLINE, dsr20100216fwlite350, CMSSW_3_5_1, apFor351v0, ge20100215-rootqt-r522, ge20100215-rootqt-pre5r526, CMSSW_3_5_0_pre5r526, ge20100212-boost, ge20100112-boost, DQMGUI_5_1_7b, CMSSW_3_5_0_patch1, for350patch1, CMSSW_3_5_0_ONLINE, fwFor350online, CMSSW_3_5_0, apFor350v0, pe20100205a-for35X, pe20100204a-for35X, CMSSW_3_5_0_pre5_ONLINE, for350p5-onl-slc5, pe20100131c-for35Xr526, pe20100131b-for35Xr526, pe20100131a-for35Xr526, CMSSW_3_5_0_pre5, for350p4-onl-slc5, pe20100129a-for35X, CMSSW_3_5_0_pre4, apFor350pre5v0, sm100128a, sm100128, apFor350pre4v0, pe20100127e-for35X, pe20100127d-for35X, pe20100127c-for35X, sm100127-onl35x, pe20100127b-for35X, pe20100127a-for35X, pe20100124a-for35X, ap20100123a-for35X, CMSSW_3_5_0_pre3, apFor350pre3v0, pe20100113a-for35X, sm20100113a-for35X, sm20100113-for35X, pe20100112b-for35X, sm20100112a-for35X, sm20100112-for35X
Changes since 1.90: +93 -96 lines
Log Message:
converted scram toolfiles to xml format

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.xml
119 <tool name="GEANT4" version="%v">
120 <info url="http://wwwinfo.cern.ch/asd/geant4/geant4.html"/>
121 <lib name="G4digits_hits"/>
122 <lib name="G4error_propagation"/>
123 <lib name="G4event"/>
124 <lib name="G4FR"/>
125 <lib name="G4geometry"/>
126 <lib name="G4global"/>
127 <lib name="G4graphics_reps"/>
128 <lib name="G4intercoms"/>
129 <lib name="G4interfaces"/>
130 <lib name="G4materials"/>
131 <lib name="G4modeling"/>
132 <lib name="G4parmodels"/>
133 <lib name="G4particles"/>
134 <lib name="G4persistency"/>
135 <lib name="G4physicslists"/>
136 <lib name="G4processes"/>
137 <lib name="G4RayTracer"/>
138 <lib name="G4readout"/>
139 <lib name="G4run"/>
140 <lib name="G4tracking"/>
141 <lib name="G4track"/>
142 <lib name="G4Tree"/>
143 <lib name="G4visHepRep"/>
144 <lib name="G4vis_management"/>
145 <lib name="G4visXXX"/>
146 <lib name="G4VRML"/>
147 <client>
148 <environment name="GEANT4_BASE" default="%i"/>
149 <environment name="LIBDIR" default="$GEANT4_BASE/lib"/>
150 <environment name="G4LIB" value="$LIBDIR"/>
151 <environment name="INCLUDE" default="$GEANT4_BASE/include"/>
152 </client>
153 <flags cppdefines="G4USE_STD_NAMESPACE GNU_GCC G4V9"/>
154 <runtime name="G4LEVELGAMMADATA" value="$GEANT4_BASE/data/PhotonEvaporation2.0" type="path"/>
155 <runtime name="G4NEUTRONHPDATA" value="$GEANT4_BASE/data/G4NDL3.13" type="path"/>
156 <runtime name="G4RADIOACTIVEDATA" value="$GEANT4_BASE/data/RadioactiveDecay3.2" type="path"/>
157 <runtime name="G4LEDATA" value="$GEANT4_BASE/data/G4EMLOW6.2" type="path"/>
158 <use name="clhep"/>
159 </tool>
160
161 EOF_TOOLFILE
162
163 cat << \EOF_TOOLFILE >%i/etc/scram.d/geant4core.xml
164 <tool name="geant4core" version="%v">
165 <info url="http://wwwinfo.cern.ch/asd/geant4/geant4.html"/>
166 <lib name="G4digits_hits"/>
167 <lib name="G4error_propagation"/>
168 <lib name="G4event"/>
169 <lib name="G4geometry"/>
170 <lib name="G4global"/>
171 <lib name="G4graphics_reps"/>
172 <lib name="G4intercoms"/>
173 <lib name="G4interfaces"/>
174 <lib name="G4materials"/>
175 <lib name="G4parmodels"/>
176 <lib name="G4particles"/>
177 <lib name="G4persistency"/>
178 <lib name="G4physicslists"/>
179 <lib name="G4processes"/>
180 <lib name="G4readout"/>
181 <lib name="G4run"/>
182 <lib name="G4tracking"/>
183 <lib name="G4track"/>
184 <client>
185 <environment name="GEANT4_BASE" default="%i"/>
186 <environment name="LIBDIR" default="$GEANT4_BASE/lib"/>
187 <environment name="G4LIB" value="$LIBDIR"/>
188 <environment name="INCLUDE" default="$GEANT4_BASE/include"/>
189 </client>
190 <flags cppdefines="G4USE_STD_NAMESPACE GNU_GCC G4V9"/>
191 <runtime name="G4LEVELGAMMADATA" value="$GEANT4_BASE/data/PhotonEvaporation2.0" type="path"/>
192 <runtime name="G4NEUTRONHPDATA" value="$GEANT4_BASE/data/G4NDL3.13" type="path"/>
193 <runtime name="G4RADIOACTIVEDATA" value="$GEANT4_BASE/data/RadioactiveDecay3.2" type="path"/>
194 <runtime name="G4LEDATA" value="$GEANT4_BASE/data/G4EMLOW6.2" type="path"/>
195 <use name="clhep"/>
196 </tool>
197 EOF_TOOLFILE
198
199 cat << \EOF_TOOLFILE >%i/etc/scram.d/geant4vis.xml
200 <tool name="geant4vis" version="%v">
201 <info url="http://wwwinfo.cern.ch/asd/geant4/geant4.html"/>
202 <lib name="G4FR"/>
203 <lib name="G4modeling"/>
204 <lib name="G4RayTracer"/>
205 <lib name="G4Tree"/>
206 <lib name="G4visHepRep"/>
207 <lib name="G4vis_management"/>
208 <lib name="G4visXXX"/>
209 <lib name="G4VRML"/>
210 <use name="geant4core"/>
211 </tool>
212 EOF_TOOLFILE
213
214 %post
215 %{relocateConfig}etc/scram.d/%n.xml
216 %{relocateConfig}etc/scram.d/geant4core.xml
217 %{relocateConfig}etc/scram.d/geant4vis.xml