ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/geant4.spec
Revision: 1.73
Committed: Tue Feb 5 21:40:04 2008 UTC (17 years, 2 months ago) by ratnik
Branch: MAIN
CVS Tags: nr080215g491p01dbg
Changes since 1.72: +9 -2 lines
Log Message:
Produce validation-type build for a new patch:  9.1.p01. Turn on the no-banner patch.

File Contents

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