ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/geant4.spec
Revision: 1.81
Committed: Wed Jul 16 20:09:04 2008 UTC (16 years, 9 months ago) by elmer
Branch: MAIN
Changes since 1.80: +70 -0 lines
Log Message:
Add "geant4core" and "geant4vis" tool definitions, in addition to the
preexisting "geant4" one. The intent is to migrate from the "geant4" one
to the other two (mostly "geant4core", in principle)

File Contents

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