ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/geant4.spec
(Generate patch)

Comparing COMP/CMSDIST/geant4.spec (file contents):
Revision 1.68 by elmer, Thu Dec 27 20:43:28 2007 UTC vs.
Revision 1.117 by davidlt, Tue Jun 5 11:52:33 2012 UTC

# Line 1 | Line 1
1 < ### RPM external geant4 8.3.p01-CMS19
2 < %define downloadv %(echo %v | cut -d- -f1)
3 < ## INITENV SET G4NDL_PATH %i/data/G4NDL%{g4NDLVersion}
4 < ## INITENV SET G4EMLOW_PATH %i/data/G4EMLOW%{g4EMLOWVersion}
5 < ## INITENV SET PHOTON_EVAPORATION_PATH %i/data/PhotonEvaportation%{photonEvaporationVersion}
6 < ## INITENV SET RADIATIVE_DECAY_PATH %i/data/RadiativeDecay%{radiativeDecayVersion}
7 < # Build system fudging and some patches by Lassi A. Tuura <lat@iki.fi>  
1 > ### RPM external geant4 9.5.p01
2 >
3 > Source0: http://geant4.cern.ch/support/source/%n.%v.tar.gz
4 >
5 > BuildRequires: cmake
6 >
7   Requires: clhep
8 < %define photonEvaporationVersion 2.0
9 < %define g4NDLVersion 3.9
10 < %define g4ElasticScatteringVersion 1.1
11 < %define g4EMLOWVersion 4.0
12 < %define radiativeDecayVersion 3.0
13 < Source0: http://geant4.cern.ch/support/source/%n.%downloadv.tar.gz
14 < Source1: http://geant4.cern.ch/support/source/G4NDL.%{g4NDLVersion}.tar.gz
16 < Source2: http://geant4.cern.ch/support/source/G4EMLOW.%{g4EMLOWVersion}.tar.gz
17 < Source3: http://geant4.cern.ch/support/source/PhotonEvaporation.%{photonEvaporationVersion}.tar.gz
18 < Source4: http://geant4.cern.ch/support/source/RadiativeDecay.%{radiativeDecayVersion}.tar.gz
19 < Source5: http://geant4.cern.ch/support/source/G4ELASTIC.%{g4ElasticScatteringVersion}.tar.gz
8 > Requires: expat
9 >
10 > Patch0: geant4.9.5.p01-no-banner
11 >
12 > %if "%{?cms_cxx:set}" != "set"
13 > %define cms_cxx g++
14 > %endif
15  
16 < Patch: geant-4.8.2.p01-nobanner
16 > %if "%{?cms_cxxflags:set}" != "set"
17 > %define cms_cxxflags -std=c++0x
18 > %endif
19  
20   %prep
21 < %setup -n %n.%downloadv
22 < pwd
21 > %setup -n %n.%v
22 >
23   %patch0 -p1
24  
25   %build
26 +
27   if [ $(uname) = Darwin ]; then
28    export MACOSX_DEPLOYMENT_TARGET="10.4"
29   fi
32 # Linux? -pthread?
33 touch G4BuildConf.sh
34 echo "export OS_ARCH=%{cmsplatf}" >> G4BuildConf.sh
35 #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 echo "unset G4DEBUG" >> G4BuildConf.sh
44
45 echo "export G4LEVELGAMMADATA=%i/data/PhotonEvaporation/%{photonEvaporationVersion}" >> G4BuildConf.sh
46 echo "export G4RADIOACTIVEDATA=%i/data/RadiativeDecay%{radiativeDecayVersion}" >> 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
55 # export G4LIB_BUILD_STATIC=1
56 # FIXME: For OS X? export G4NO_OPTIMISE=1 // unset G4OPTIMISE
57 # FIXME: override CERNLIB_PATH?
58
59 echo "export CLHEP_BASE_DIR=$CLHEP_ROOT" >> G4BuildConf.sh
60
61 echo "export G4USE_STL=1" >> G4BuildConf.sh
62 # export G4USE_G3TOG4=1
63
64 # G4UI_BUILD_TERMINAL_SESSION is the default:
65 echo "export G4UI_BUILD_TERMINAL_SESSION=1" >> G4BuildConf.sh
66 # export G4UI_BUILD_GAG_SESSION=1
67 # export G4UI_BUILD_XAW_SESSION=1
68 # export G4UI_BUILD_XM_SESSION=1
69 # export G4UI_BUILD_WO_SESSION=1
70
71 # FIXME: this will not work on osx!
72 echo "export OGLHOME=/usr/X11R6" >> G4BuildConf.sh
73 # export OGLLIBS="-L$OGLHOME/lib -lGLU -lGL"
74 # export OGLFLAGS="-I$OGLHOME/include"
75
76 # G4VIS_BUILD_DAWNFILE_DRIVER is the default
77 echo "export G4VIS_BUILD_DAWNFILE_DRIVER=1" >> G4BuildConf.sh
78 # export G4VIS_BUILD_DAWN_DRIVER=1
79 # export G4VIS_BUILD_OPENGLX_DRIVER=1
80 # export G4VIS_BUILD_OPENGLXM_DRIVER=1
81 # echo "export G4VIS_BUILD_VRMLFILE_DRIVER=1" >> G4BuildConf.sh
82 # echo "export G4VIS_BUILD_VRML_DRIVER=1" >> G4BuildConf.sh
83 # echo "export G4VIS_BUILD_RAYTRACER_DRIVER=1" >> G4BuildConf.sh
84 # export G4LIB_BUILD_G3TOG4=1
85 source G4BuildConf.sh
86 mkdir -p %i
87 tar -cf - config source | tar -C %i -xf -
30  
31 < make %makeprocesses -C $G4BASE global
32 < make %makeprocesses -C $G4BASE includes
31 > mkdir ../build
32 > cd ../build
33 >
34 > cmake ../%n.%v \
35 >  -DCMAKE_CXX_COMPILER="%cms_cxx" \
36 >  -DCMAKE_CXX_FLAGS="%cms_cxxflags" \
37 >  -DCMAKE_INSTALL_PREFIX:PATH="%i" \
38 >  -DCMAKE_INSTALL_LIBDIR="lib" \
39 >  -DCMAKE_BUILD_TYPE=Release \
40 >  -DGEANT4_USE_SYSTEM_CLHEP=ON \
41 >  -DCLHEP_ROOT_DIR:PATH="$CLHEP_ROOT" \
42 >  -DEXPAT_INCLUDE_DIR:PATH="$EXPAT_ROOT/include" \
43 >  -DEXPAT_LIBRARY:PATH="$EXPAT_ROOT/lib/libexpat.so" \
44 >
45 > make %makeprocesses VERBOSE=1
46  
47   %install
93 case $(uname) in Darwin ) so=dylib ;; * ) so=so ;; esac
94 mkdir -p %i/etc
95 cp G4BuildConf.sh %i/etc
96 mv %i/lib/$(uname)-g++/*.$so %i/lib
97 # The following file does not appear to exist after this spec file was
98 # switched # to use the subsystem libraries instead of the individual ones,
99 # so comment # it for now
100 #mv %i/lib/$(uname)-g++/libname.map %i/lib
101 rm -rf %i/lib/$(uname)-g++
102 # Build already installed into prefix
103 mkdir -p %i/data
104 tar -C %i/data -zxvf %_sourcedir/G4NDL*.tar.gz
105 tar -C %i/data -zxvf %_sourcedir/G4EMLOW*.tar.gz
106 tar -C %i/data -zxvf %_sourcedir/Photon*.tar.gz
107 tar -C %i/data -zxvf %_sourcedir/Rad*.tar.gz
108 #
109
110 # SCRAM ToolBox toolfile
111 mkdir -p %i/etc/scram.d
112 cat << \EOF_TOOLFILE >%i/etc/scram.d/%n
113 <doc type=BuildSystem::ToolDoc version=1.1>
114 <Tool name=GEANT4 version=%v>
115 <info url=http://wwwinfo.cern.ch/asd/geant4/geant4.html></info>
116 <lib name=G4digits_hits>
117 <lib name=G4event>
118 <lib name=G4FR>
119 <lib name=G4geometry>
120 <lib name=G4global>
121 <lib name=G4graphics_reps>
122 <lib name=G4intercoms>
123 <lib name=G4interfaces>
124 <lib name=G4materials>
125 <lib name=G4modeling>
126 <lib name=G4parmodels>
127 <lib name=G4particles>
128 <lib name=G4persistency>
129 <lib name=G4physicslists>
130 <lib name=G4processes>
131 <lib name=G4RayTracer>
132 <lib name=G4readout>
133 <lib name=G4run>
134 <lib name=G4tracking>
135 <lib name=G4track>
136 <lib name=G4Tree>
137 <lib name=G4visHepRep>
138 <lib name=G4vis_management>
139 <lib name=G4visXXX>
140 <lib name=G4VRML>
141 <Client>
142 <Environment name=GEANT4_BASE default="%i"></Environment>
143 <Environment name=G4SRC default="$GEANT4_BASE/source"></Environment>
144 <Environment name=LIBDIR default="$GEANT4_BASE/lib"></Environment>
145 <Environment name=G4LIB value="$LIBDIR"></Environment>
146 <Environment name=INCLUDE default="$GEANT4_BASE/include"></Environment>
147 </Client>
148 <use name=clhep>
149 <Flags CPPDEFINES="G4USE_STD_NAMESPACE GNU_GCC">
150 <Runtime name=G4LEVELGAMMADATA value="$GEANT4_BASE/data/PhotonEvaporation2.0" type=path>
151 <Runtime name=NeutronHPCrossSections value="$GEANT4_BASE/data/G4NDL3.9" type=path>
152 <Runtime name=G4RADIOACTIVEDATA value="$GEANT4_BASE/data/RadiativeDecay3.0" type=path>
153 <Runtime name=G4LEDATA value="$GEANT4_BASE/data/G4EMLOW4.0" type=path>
154 </Tool>
155 EOF_TOOLFILE
48  
49 < %post
50 < %{relocateConfig}etc/scram.d/%n
49 > cd ../build
50 > make install
51 >
52 > # Move headers from ../include/Geant4 to ../include
53 > mv %i/include/Geant4/* %i/include
54 > rm -rf %i/include/Geant4

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines