ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.79
Committed: Mon Nov 5 20:21:17 2007 UTC (17 years, 5 months ago) by ratnik
Branch: MAIN
Changes since 1.78: +21 -31 lines
Log Message:
Reinstate Pete's revision (1.77) back on top.

File Contents

# User Rev Content
1 ratnik 1.79 ### RPM lcg root 5.14.00g-CMS18
2 dlange 1.57 ## INITENV +PATH PYTHONPATH %i/lib/python
3     ## INITENV SET ROOTSYS %i
4 elmer 1.59 Source: cvs://:pserver:cvs@root.cern.ch:2401/user/cvs?passwd=Ah<Z&tag=-rv%(echo %realversion | tr . -)&module=root&output=/%{n}_v%{realversion}.source.tar.gz
5     #Source: ftp://root.cern.ch/%n/%{n}_v%{realversion}.source.tar.gz
6 sashby 1.51
7 dlange 1.58 Patch: root-CINT-maxlongline
8 dlange 1.62 Patch1: root_libpng
9 dlange 1.67 Patch2: root_PositionVector
10     Patch3: root-fastmerge-ttree
11     Patch4: root_TXMLSetup
12     Patch5: root-Cintex
13 elmer 1.76 Patch6: root_Reflex_Cintex
14     Patch7: root_CallFunc
15     Patch8: root-proofd
16 ratnik 1.79 # The following patch should only be applied for gcc4.x (x>0) and when
17     # using gccxml 0.7.0
18     Patch9: root_5.14_reflex_gccxml070_update
19 elmer 1.63
20 eulisse 1.25 %define cpu %(echo %cmsplatf | cut -d_ -f2)
21 eulisse 1.27 %define pythonv %(echo $PYTHON_VERSION | cut -d. -f1,2)
22 ratnik 1.79 Requires: gccxml python qt gsl castor openssl mysql libpng libjpg dcap pcre zlib oracle libungif xrootd
23 eulisse 1.25
24 ratnik 1.79 %if "%cpu" != "amd64"
25 eulisse 1.25 Requires: libtiff
26     %endif
27    
28 eulisse 1.1 %prep
29     %setup -n root
30 dlange 1.58 %patch -p0
31 dlange 1.62 %patch1 -p2
32 dlange 1.67 %patch2 -p2
33     %patch3 -p1
34     %patch4 -p0
35     %patch5 -p1
36 elmer 1.76 %patch6 -p0
37     %patch7 -p0
38     %patch8 -p1
39 ratnik 1.79 %if "%cmsplatf" == "slc4_ia32_gcc412"
40     %patch9 -p1
41     %endif
42    
43 eulisse 1.1 %build
44     mkdir -p %i
45 elmer 1.14 export ROOTSYS=%_builddir/root
46 eulisse 1.25 CONFIG_ARGS="--enable-table
47 eulisse 1.20 --disable-builtin-pcre
48     --disable-builtin-freetype
49     --disable-builtin-zlib
50 eulisse 1.2 --with-gccxml=${GCCXML_ROOT}
51 ratnik 1.79 --enable-python --with-python-libdir=${PYTHON_ROOT}/lib --with-python-incdir=${PYTHON_ROOT}/include/python2.4
52     --enable-mysql --with-mysql-libdir=${MYSQL_ROOT}/lib --with-mysql-incdir=${MYSQL_ROOT}/include
53 eulisse 1.2 --enable-explicitlink
54 eulisse 1.20 --enable-qtgsi
55 ratnik 1.79 --enable-qt --with-qt-libdir=${QT_ROOT}/lib --with-qt-incdir=${QT_ROOT}/include
56 eulisse 1.2 --enable-mathcore
57 eulisse 1.20 --enable-mathmore
58 eulisse 1.2 --enable-reflex
59     --enable-cintex
60     --enable-minuit2
61 eulisse 1.7 --enable-roofit
62     --disable-ldap
63     --disable-krb5
64 ratnik 1.79 --with-ssl-incdir=${OPENSSL_ROOT}/include
65     --with-ssl-libdir=${OPENSSL_ROOT}/lib
66 eulisse 1.34 --with-gsl-incdir=${GSL_ROOT}/include
67     --with-gsl-libdir=${GSL_ROOT}/lib
68 elmer 1.59 --with-dcap-libdir=${DCAP_ROOT}/lib
69     --with-dcap-incdir=${DCAP_ROOT}/include
70 ratnik 1.79 --with-xrootd=$XROOTD_ROOT
71 eulisse 1.7 --disable-pgsql
72 ratnik 1.79 --disable-xml"
73    
74     %if (("%cmsplatf" == "slc4_ia32_gcc412")||("%cmsplatf" == "slc4_amd64_gcc345"))
75     CONFIG_ARGS="$CONFIG_ARGS --disable-cern"
76     %endif
77 elmer 1.77
78 elmer 1.54 case $(uname)-$(uname -p) in
79 eulisse 1.2 Linux-x86_64)
80 elmer 1.61 ./configure linuxx8664gcc $CONFIG_ARGS --enable-oracle --with-oracle-libdir=${ORACLE_ROOT}/lib --with-oracle-incdir=${ORACLE_ROOT}/include --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift --disable-astiff --disable-cern;;
81 elmer 1.54 Linux-i*86)
82     ./configure linux $CONFIG_ARGS --enable-oracle --with-oracle-libdir=${ORACLE_ROOT}/lib --with-oracle-incdir=${ORACLE_ROOT}/include --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift;;
83 elmer 1.11 Darwin*)
84 elmer 1.54 ./configure macosx $CONFIG_ARGS --disable-rfio;;
85     Linux-ppc64*)
86     ./configure linux $CONFIG_ARGS --disable-rfio;;
87 eulisse 1.1 esac
88 eulisse 1.2
89 dlange 1.57 make %makeprocesses
90 eulisse 1.20 make cintdlls
91 eulisse 1.1 %install
92     # Override installers if we are using GNU fileutils cp. On OS X
93     # ROOT's INSTALL is defined to "cp -pPR", which only works with
94     # the system cp (/bin/cp). If you have fileutils on fink, you
95     # lose. Check which one is getting picked up and select syntax
96     # accordingly. (FIXME: do we need to check that -P is accepted?)
97     if (cp --help | grep -e '-P.*--parents') >/dev/null 2>&1; then
98     cp="cp -dpR"
99     else
100     cp="cp -pPR"
101     fi
102    
103 dlange 1.57 export ROOTSYS=%i
104 eulisse 1.5 make INSTALL="$cp" INSTALLDATA="$cp" install
105 dlange 1.57 mkdir -p $ROOTSYS/lib/python
106     cp -r reflex/python/genreflex $ROOTSYS/lib/python
107 eulisse 1.35 #
108 dlange 1.67
109     # SCRAM ToolBox toolfile
110     mkdir -p %i/etc/scram.d
111     # rootcore toolfile
112     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcore
113     <doc type=BuildSystem::ToolDoc version=1.0>
114     <Tool name=rootcore version=%v>
115     <info url="http://root.cern.ch/root/"></info>
116     <lib name=Cint>
117     <lib name=Core>
118     <lib name=Tree>
119     <Client>
120     <Environment name=ROOTCORE_BASE default="%i"></Environment>
121     <Environment name=LIBDIR default="$ROOTCORE_BASE/lib"></Environment>
122     <Environment name=INCLUDE default="$ROOTCORE_BASE/include"></Environment>
123     <Environment name=INCLUDE default="$ROOTCORE_BASE/cint"></Environment>
124     </Client>
125     <use name=sockets>
126     <use name=pcre>
127     <use name=zlib>
128     <Runtime name=PATH value="$ROOTCORE_BASE/bin" type=path>
129     <Runtime name=ROOTSYS value="$ROOTCORE_BASE/">
130     <Runtime name=PYTHONPATH value="$ROOTCORE_BASE/lib" type=path>
131     </Tool>
132     EOF_TOOLFILE
133    
134     # root toolfile
135     cat << \EOF_TOOLFILE >%i/etc/scram.d/root
136     <doc type=BuildSystem::ToolDoc version=1.0>
137     <Tool name=root version=%v>
138     <info url="http://root.cern.ch/root/"></info>
139     <lib name=TreePlayer>
140     <lib name=Gpad>
141     <lib name=Graf3d>
142     <lib name=Graf>
143     <lib name=Hist>
144     <lib name=Matrix>
145     <lib name=Physics>
146     <lib name=Postscript>
147     <use name=ROOTCore>
148     </Tool>
149     EOF_TOOLFILE
150    
151     # rootcintex toolfile
152     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcintex
153     <doc type=BuildSystem::ToolDoc version=1.0>
154     <Tool name=rootcintex version=%v>
155     <info url="http://root.cern.ch/root/"></info>
156     <lib name=Cintex>
157     <use name=ROOTRflx>
158     <use name=ROOTCore>
159     </Tool>
160     EOF_TOOLFILE
161    
162     # rootinteractive toolfile
163     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive
164     <doc type=BuildSystem::ToolDoc version=1.0>
165     <Tool name=rootinteractive version=%v>
166     <info url="http://root.cern.ch/root/"></info>
167     <lib name=Rint>
168     <lib name=GQt>
169     <use name=qt>
170     <use name=libjpg>
171     <use name=libpng>
172     <use name=ROOT>
173     </Tool>
174     EOF_TOOLFILE
175    
176     # rootmath toolfile
177     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmath
178     <doc type=BuildSystem::ToolDoc version=1.0>
179     <Tool name=rootmath version=%v>
180     <info url="http://root.cern.ch/root/"></info>
181     <lib name=MathCore>
182     <lib name=MathMore>
183     <use name=ROOTCore>
184     <use name=gsl>
185     </Tool>
186     EOF_TOOLFILE
187    
188     # rootminuit toolfile
189     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit
190     <doc type=BuildSystem::ToolDoc version=1.0>
191     <Tool name=rootminuit version=%v>
192     <info url="http://root.cern.ch/root/"></info>
193     <lib name=Minuit>
194     <use name=ROOT>
195     </Tool>
196     EOF_TOOLFILE
197    
198     # rootminuit2 toolfile
199     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2
200     <doc type=BuildSystem::ToolDoc version=1.0>
201     <Tool name=rootminuit2 version=%v>
202     <info url="http://root.cern.ch/root/"></info>
203     <lib name=Minuit2>
204     <use name=ROOT>
205     </Tool>
206     EOF_TOOLFILE
207    
208     # rootrflx toolfile
209     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx
210     <doc type=BuildSystem::ToolDoc version=1.0>
211     <Tool name=rootrflx version=%v>
212     <info url="http://root.cern.ch/root/"></info>
213     <lib name=Reflex>
214     <Client>
215     <Environment name=ROOTRFLX_BASE default="%i"></Environment>
216     <Environment name=LIBDIR default="$ROOTRFLX_BASE/lib"></Environment>
217     <Environment name=INCLUDE default="$ROOTRFLX_BASE/include"></Environment>
218     </Client>
219     <use name=sockets>
220     <use name=gccxml>
221     <Runtime name=PATH value="$ROOTRFLX_BASE/bin" type=path>
222     <Runtime name=ROOTSYS value="$ROOTRFLX_BASE/">
223     <Runtime name=GENREFLEX value="$ROOTRFLX_BASE/bin/genreflex">
224     </Tool>
225     EOF_TOOLFILE
226    
227     # roothtml toolfile
228     cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml
229     <doc type=BuildSystem::ToolDoc version=1.0>
230     <Tool name=roothtml version=%v>
231     <info url="http://root.cern.ch/root/"></info>
232     <lib name=Html>
233     <use name=ROOT>
234     </Tool>
235     EOF_TOOLFILE
236    
237     # rootroofit toolfile
238     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootroofit
239     <doc type=BuildSystem::ToolDoc version=1.0>
240     <Tool name=rootroofit version=%v>
241     <info url="http://root.cern.ch/root/"></info>
242     <lib name=RooFit>
243     <use name=ROOTMinuit>
244     <use name=ROOTHtml>
245     </Tool>
246     EOF_TOOLFILE
247    
248     # rootmlp toolfile
249     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp
250     <doc type=BuildSystem::ToolDoc version=1.0>
251     <Tool name=rootmlp version=%v>
252     <info url="http://root.cern.ch/root/"></info>
253     <lib name=MLP>
254     <use name=ROOT>
255     </Tool>
256     EOF_TOOLFILE
257    
258     # roottmva toolfile
259     cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva
260     <doc type=BuildSystem::ToolDoc version=1.0>
261     <Tool name=roottmva version=%v>
262     <info url="http://root.cern.ch/root/"></info>
263     <lib name=TMVA>
264     <use name=ROOTMLP>
265     </Tool>
266     EOF_TOOLFILE
267    
268     # rootthread toolfile
269     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread
270     <doc type=BuildSystem::ToolDoc version=1.0>
271     <Tool name=rootthread version=%v>
272     <info url="http://root.cern.ch/root/"></info>
273     <lib name=Thread>
274     <use name=ROOTCore>
275     </Tool>
276     EOF_TOOLFILE
277    
278     %post
279     %{relocateConfig}etc/scram.d/root
280     %{relocateConfig}etc/scram.d/rootcore
281     %{relocateConfig}etc/scram.d/rootcintex
282     %{relocateConfig}etc/scram.d/rootinteractive
283     %{relocateConfig}etc/scram.d/rootmath
284     %{relocateConfig}etc/scram.d/rootminuit
285     %{relocateConfig}etc/scram.d/rootminuit2
286     %{relocateConfig}etc/scram.d/rootrflx
287     %{relocateConfig}etc/scram.d/roothtml
288     %{relocateConfig}etc/scram.d/rootroofit
289     %{relocateConfig}etc/scram.d/rootmlp
290     %{relocateConfig}etc/scram.d/roottmva
291     %{relocateConfig}etc/scram.d/rootthread