ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/geant4.spec
Revision: 1.69
Committed: Tue Jan 8 20:41:52 2008 UTC (17 years, 3 months ago) by ratnik
Branch: MAIN
Changes since 1.68: +27 -20 lines
Log Message:
Distribution of final geant4 9.1 release, built with -O2 and debug
symbols preserved for local geant4 validation effort at Fermilab.
Changes compare to previous 4.9.1 candidates:

 o g4NDLVersion is upgraded to 3.12
 o Replaced options ' -O2' by ' -O2 -g' in Linux-g++.gmk,
   external patch is not needed.
 o Replaced NeutronHPCrossSections variable by G4NEUTRONHPDATA,
   see comment from Gabriele Cosmo inside spec file.
 o All 26 libraries are listed in scram tool description file.

NOTE: parallel compilation causes problems in geant4 makefiles, and
should not be used.

File Contents

# User Rev Content
1 ratnik 1.69 ### RPM external geant4 9.1-dbg-global
2 eulisse 1.11 %define downloadv %(echo %v | cut -d- -f1)
3 ratnik 1.69 # Special distribution for local validation at FNAL: see comments below.
4     Provides: /bin/awk
5 eulisse 1.1 Requires: clhep
6 ratnik 1.69
7 eulisse 1.2 %define photonEvaporationVersion 2.0
8 ratnik 1.69 %define g4NDLVersion 3.12
9 dlange 1.48 %define g4ElasticScatteringVersion 1.1
10 ratnik 1.69 %define g4EMLOWVersion 5.1
11     %define radioactiveDecayVersion 3.2
12    
13 dlange 1.63 Source0: http://geant4.cern.ch/support/source/%n.%downloadv.tar.gz
14 eulisse 1.2 Source1: http://geant4.cern.ch/support/source/G4NDL.%{g4NDLVersion}.tar.gz
15     Source2: http://geant4.cern.ch/support/source/G4EMLOW.%{g4EMLOWVersion}.tar.gz
16     Source3: http://geant4.cern.ch/support/source/PhotonEvaporation.%{photonEvaporationVersion}.tar.gz
17 ratnik 1.69 Source4: http://geant4.cern.ch/support/source/G4RadioactiveDecay.%{radioactiveDecayVersion}.tar.gz
18 dlange 1.48 Source5: http://geant4.cern.ch/support/source/G4ELASTIC.%{g4ElasticScatteringVersion}.tar.gz
19 dlange 1.50
20 ratnik 1.69 #Patch: geant-4.8.2.p01-nobanner
21 elmer 1.41
22 eulisse 1.1 %prep
23 dlange 1.63 %setup -n %n.%downloadv
24 eulisse 1.21 pwd
25 ratnik 1.69
26     # ONLY for Fermilab tests !
27     # Add -g option to keep debug symbols:
28     cp -p config/sys/Linux-g++.gmk config/sys/Linux-g++.gmk.orig
29     perl -i -p -e '{s| -O2| -O2 -g|}' config/sys/Linux-g++.gmk
30 elmer 1.41
31 eulisse 1.1 %build
32 elmer 1.40 if [ $(uname) = Darwin ]; then
33     export MACOSX_DEPLOYMENT_TARGET="10.4"
34     fi
35 eulisse 1.1 # Linux? -pthread?
36 eulisse 1.2 touch G4BuildConf.sh
37 sashby 1.16 echo "export OS_ARCH=%{cmsplatf}" >> G4BuildConf.sh
38 eulisse 1.2 #FIXME: is this correct???
39     echo "export G4SYSTEM=$(uname)-g++" >> G4BuildConf.sh
40     echo "export G4INSTALL=%i" >> G4BuildConf.sh
41     echo "export G4BASE=$PWD/source" >> G4BuildConf.sh
42     echo "export G4WORKDIR=$PWD" >> G4BuildConf.sh
43     echo "export G4TMP=$PWD/tmp" >> G4BuildConf.sh
44     echo "export G4LIB=%i/lib" >> G4BuildConf.sh
45     echo "export G4LIB_BUILD_SHARED=1" >> G4BuildConf.sh
46 dlange 1.48 echo "unset G4DEBUG" >> G4BuildConf.sh
47 ratnik 1.69 echo "export CPPVERBOSE=yes" >> G4BuildConf.sh
48 eulisse 1.2
49     echo "export G4LEVELGAMMADATA=%i/data/PhotonEvaporation/%{photonEvaporationVersion}" >> G4BuildConf.sh
50 ratnik 1.69 echo "export G4RADIOACTIVEDATA=%i/data/RadioactiveDecay%{radioactiveDecayVersion}" >> G4BuildConf.sh
51 eulisse 1.2 echo "export G4LEDATA=%i/data/G4EMLOW%{g4EMLOWVersion}" >> G4BuildConf.sh
52 elmer 1.68 # G4ELASTIC is not needed from 8.2 onward
53     #echo "export G4ELASTIC=%i/data/G4ELASTIC%{g4ElasticScatteringVersion}" >> G4BuildConf.sh
54    
55     # From Gabriele Cosmo: The variable name 'NeutronHPCrossSections' is replaced by
56     # 'G4NEUTRONHPDATA' starting from version 9.0.
57 ratnik 1.69 #echo "export NeutronHPCrossSections=%i/data/G4NDL%{g4NDLVersion}" >> G4BuildConf.sh
58     echo "export G4NEUTRONHPDATA=%i/data/G4NDL%{g4NDLVersion}" >> G4BuildConf.sh
59    
60 eulisse 1.1
61     # export G4LIB_BUILD_STATIC=1
62     # FIXME: For OS X? export G4NO_OPTIMISE=1 // unset G4OPTIMISE
63     # FIXME: override CERNLIB_PATH?
64    
65 eulisse 1.2 echo "export CLHEP_BASE_DIR=$CLHEP_ROOT" >> G4BuildConf.sh
66 eulisse 1.1
67 eulisse 1.2 echo "export G4USE_STL=1" >> G4BuildConf.sh
68 eulisse 1.1 # export G4USE_G3TOG4=1
69    
70 elmer 1.68 # G4UI_BUILD_TERMINAL_SESSION is the default:
71 eulisse 1.2 echo "export G4UI_BUILD_TERMINAL_SESSION=1" >> G4BuildConf.sh
72 eulisse 1.1 # export G4UI_BUILD_GAG_SESSION=1
73     # export G4UI_BUILD_XAW_SESSION=1
74     # export G4UI_BUILD_XM_SESSION=1
75     # export G4UI_BUILD_WO_SESSION=1
76    
77 eulisse 1.20 # FIXME: this will not work on osx!
78 eulisse 1.2 echo "export OGLHOME=/usr/X11R6" >> G4BuildConf.sh
79 eulisse 1.1 # export OGLLIBS="-L$OGLHOME/lib -lGLU -lGL"
80     # export OGLFLAGS="-I$OGLHOME/include"
81    
82 elmer 1.68 # G4VIS_BUILD_DAWNFILE_DRIVER is the default
83 eulisse 1.2 echo "export G4VIS_BUILD_DAWNFILE_DRIVER=1" >> G4BuildConf.sh
84 eulisse 1.1 # export G4VIS_BUILD_DAWN_DRIVER=1
85     # export G4VIS_BUILD_OPENGLX_DRIVER=1
86     # export G4VIS_BUILD_OPENGLXM_DRIVER=1
87 eulisse 1.21 # echo "export G4VIS_BUILD_VRMLFILE_DRIVER=1" >> G4BuildConf.sh
88     # echo "export G4VIS_BUILD_VRML_DRIVER=1" >> G4BuildConf.sh
89     # echo "export G4VIS_BUILD_RAYTRACER_DRIVER=1" >> G4BuildConf.sh
90 eulisse 1.2 # export G4LIB_BUILD_G3TOG4=1
91     source G4BuildConf.sh
92 eulisse 1.1 mkdir -p %i
93     tar -cf - config source | tar -C %i -xf -
94 eulisse 1.26
95 elmer 1.68 make %makeprocesses -C $G4BASE global
96 dlange 1.63 make %makeprocesses -C $G4BASE includes
97 eulisse 1.1
98     %install
99 elmer 1.40 case $(uname) in Darwin ) so=dylib ;; * ) so=so ;; esac
100 eulisse 1.2 mkdir -p %i/etc
101     cp G4BuildConf.sh %i/etc
102 elmer 1.40 mv %i/lib/$(uname)-g++/*.$so %i/lib
103 elmer 1.68 # The following file does not appear to exist after this spec file was
104     # switched # to use the subsystem libraries instead of the individual ones,
105     # so comment # it for now
106     #mv %i/lib/$(uname)-g++/libname.map %i/lib
107 sashby 1.17 rm -rf %i/lib/$(uname)-g++
108 eulisse 1.1 # Build already installed into prefix
109     mkdir -p %i/data
110     tar -C %i/data -zxvf %_sourcedir/G4NDL*.tar.gz
111     tar -C %i/data -zxvf %_sourcedir/G4EMLOW*.tar.gz
112     tar -C %i/data -zxvf %_sourcedir/Photon*.tar.gz
113 ratnik 1.69 tar -C %i/data -zxvf %_sourcedir/G4Rad*.tar.gz
114 eulisse 1.31 #
115 muzaffar 1.49
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 elmer 1.68 <lib name=G4digits_hits>
123 ratnik 1.69 <lib name=G4error_propagation>
124 elmer 1.68 <lib name=G4event>
125 dlange 1.63 <lib name=G4FR>
126 elmer 1.68 <lib name=G4geometry>
127     <lib name=G4global>
128 elmer 1.57 <lib name=G4graphics_reps>
129     <lib name=G4intercoms>
130 elmer 1.68 <lib name=G4interfaces>
131 elmer 1.57 <lib name=G4materials>
132     <lib name=G4modeling>
133 elmer 1.62 <lib name=G4parmodels>
134 ratnik 1.69 <lib name=G4particles>
135 elmer 1.62 <lib name=G4persistency>
136 elmer 1.68 <lib name=G4physicslists>
137     <lib name=G4processes>
138     <lib name=G4RayTracer>
139 elmer 1.57 <lib name=G4readout>
140     <lib name=G4run>
141 elmer 1.68 <lib name=G4tracking>
142 dlange 1.63 <lib name=G4track>
143 elmer 1.68 <lib name=G4Tree>
144 elmer 1.57 <lib name=G4visHepRep>
145 elmer 1.68 <lib name=G4vis_management>
146 dlange 1.63 <lib name=G4visXXX>
147 elmer 1.68 <lib name=G4VRML>
148 muzaffar 1.49 <Client>
149     <Environment name=GEANT4_BASE default="%i"></Environment>
150     <Environment name=G4SRC default="$GEANT4_BASE/source"></Environment>
151     <Environment name=LIBDIR default="$GEANT4_BASE/lib"></Environment>
152     <Environment name=G4LIB value="$LIBDIR"></Environment>
153     <Environment name=INCLUDE default="$GEANT4_BASE/include"></Environment>
154     </Client>
155     <use name=clhep>
156 ratnik 1.69 <Flags CPPDEFINES="G4USE_STD_NAMESPACE GNU_GCC G4V9">
157 muzaffar 1.49 <Runtime name=G4LEVELGAMMADATA value="$GEANT4_BASE/data/PhotonEvaporation2.0" type=path>
158 ratnik 1.69 <Runtime name=NeutronHPCrossSections value="$GEANT4_BASE/data/G4NDL3.11" type=path>
159     <Runtime name=G4RADIOACTIVEDATA value="$GEANT4_BASE/data/RadioactiveDecay3.2" type=path>
160     <Runtime name=G4LEDATA value="$GEANT4_BASE/data/G4EMLOW5.1" type=path>
161 muzaffar 1.49 </Tool>
162     EOF_TOOLFILE
163    
164     %post
165     %{relocateConfig}etc/scram.d/%n