ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.137
Committed: Mon Jan 26 22:17:02 2009 UTC (16 years, 3 months ago) by elmer
Branch: MAIN
Changes since 1.136: +2 -0 lines
Log Message:
Apply root-5.22-00-TTreeCloner-CollectBranches-fix.patch

File Contents

# User Rev Content
1 elmer 1.130 ### RPM lcg root 5.22.00
2 dlange 1.57 ## INITENV +PATH PYTHONPATH %i/lib/python
3     ## INITENV SET ROOTSYS %i
4 ratnik 1.106 #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 elmer 1.96
7 andreasp 1.124 Patch0: root-5.18-00-libpng
8 elmer 1.130 Patch1: root-5.21-04-CINT-maxlongline
9 elmer 1.131 Patch2: root-5.22-00-TClass-Clone
10 elmer 1.132 Patch3: root-5.22-00-gendict
11     Patch4: root-5.22-00-RootSys
12 elmer 1.133 Patch5: root-5.22-00-TMVA-shut-the-hell-up-for-once
13 elmer 1.135 Patch6: root-5.22-00-TBranchElement_initializeoffsets
14 elmer 1.134 Patch7: root-5.22-00-TBranchElement-pcanal
15 elmer 1.137 Patch8: root-5.22-00-TTreeCloner-CollectBranches-fix
16 elmer 1.98
17     %define cpu %(echo %cmsplatf | cut -d_ -f2)
18     %define pythonv %(echo $PYTHON_VERSION | cut -d. -f1,2)
19    
20 ratnik 1.106 Requires: gccxml gsl castor libjpg dcap pcre python
21 dlange 1.103
22 ratnik 1.119 %if "%cmsplatf" != "slc4onl_ia32_gcc346"
23 elmer 1.130 Requires: qt openssl mysql libpng zlib libungif
24 dlange 1.103 %else
25     %define skiplibtiff true
26     %endif
27    
28     %if "%cpu" == "amd64"
29     %define skiplibtiff true
30     %endif
31    
32     %if "%skiplibtiff" != "true"
33 elmer 1.98 Requires: libtiff
34     %endif
35 eulisse 1.25
36 eulisse 1.1 %prep
37     %setup -n root
38 ratnik 1.106 %patch0 -p1
39     %patch1 -p1
40 elmer 1.131 %patch2 -p1
41 elmer 1.132 %patch3 -p1
42     %patch4 -p1
43 elmer 1.133 %patch5 -p1
44 elmer 1.134 %patch6 -p0
45     %patch7 -p1
46 elmer 1.137 %patch8 -p1
47 ratnik 1.79
48 eulisse 1.1 %build
49     mkdir -p %i
50 elmer 1.14 export ROOTSYS=%_builddir/root
51 dlange 1.103
52 ratnik 1.119 %if "%cmsplatf" == "slc4onl_ia32_gcc346"
53 ratnik 1.111 # Build without mysql, and use system qt.
54     # Also skip xrootd and odbc for online case:
55    
56 dlange 1.103 EXTRA_CONFIG_ARGS="
57 ratnik 1.111 --disable-mysql
58     --disable-xrootd
59     --disable-odbc
60     --enable-qt"
61 dlange 1.103 %else
62     EXTRA_CONFIG_ARGS="
63 ratnik 1.106 --enable-mysql --with-mysql-libdir=${MYSQL_ROOT}/lib --with-mysql-incdir=${MYSQL_ROOT}/include
64     --enable-qt --with-qt-libdir=${QT_ROOT}/lib --with-qt-incdir=${QT_ROOT}/include
65     --with-ssl-incdir=${OPENSSL_ROOT}/include
66     --with-ssl-libdir=${OPENSSL_ROOT}/lib"
67 dlange 1.103 %endif
68    
69 elmer 1.130 CONFIG_ARGS="--with-f77=${GCC_ROOT}
70     --enable-table
71 eulisse 1.20 --disable-builtin-pcre
72     --disable-builtin-freetype
73     --disable-builtin-zlib
74 elmer 1.98 --with-gccxml=${GCCXML_ROOT}
75 ratnik 1.79 --enable-python --with-python-libdir=${PYTHON_ROOT}/lib --with-python-incdir=${PYTHON_ROOT}/include/python2.4
76 eulisse 1.2 --enable-explicitlink
77 elmer 1.98 --enable-qtgsi
78 eulisse 1.20 --enable-mathmore
79 eulisse 1.2 --enable-reflex
80     --enable-cintex
81     --enable-minuit2
82 eulisse 1.7 --enable-roofit
83 elmer 1.98 --disable-ldap
84     --disable-krb5
85 eulisse 1.34 --with-gsl-incdir=${GSL_ROOT}/include
86     --with-gsl-libdir=${GSL_ROOT}/lib
87 elmer 1.59 --with-dcap-libdir=${DCAP_ROOT}/lib
88 elmer 1.98 --with-dcap-incdir=${DCAP_ROOT}/include
89     --disable-pgsql
90 dlange 1.103 --disable-xml ${EXTRA_CONFIG_ARGS}"
91 elmer 1.98
92 elmer 1.130 #case %gccver in
93     # 4.*)
94     # CONFIG_ARGS="$CONFIG_ARGS --disable-cern"
95     # ;;
96     #esac
97 elmer 1.84
98 elmer 1.54 case $(uname)-$(uname -p) in
99 eulisse 1.2 Linux-x86_64)
100 elmer 1.136 ./configure linuxx8664gcc $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift --disable-astiff;;
101 elmer 1.54 Linux-i*86)
102 dlange 1.110 ./configure linux $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift;;
103 elmer 1.11 Darwin*)
104 elmer 1.98 ./configure macosx $CONFIG_ARGS --disable-rfio;;
105 elmer 1.54 Linux-ppc64*)
106 elmer 1.98 ./configure linux $CONFIG_ARGS --disable-rfio;;
107 eulisse 1.1 esac
108 eulisse 1.2
109 dlange 1.57 make %makeprocesses
110 eulisse 1.20 make cintdlls
111 eulisse 1.1 %install
112     # Override installers if we are using GNU fileutils cp. On OS X
113     # ROOT's INSTALL is defined to "cp -pPR", which only works with
114     # the system cp (/bin/cp). If you have fileutils on fink, you
115     # lose. Check which one is getting picked up and select syntax
116     # accordingly. (FIXME: do we need to check that -P is accepted?)
117     if (cp --help | grep -e '-P.*--parents') >/dev/null 2>&1; then
118     cp="cp -dpR"
119     else
120     cp="cp -pPR"
121     fi
122    
123 dlange 1.57 export ROOTSYS=%i
124 eulisse 1.5 make INSTALL="$cp" INSTALLDATA="$cp" install
125 dlange 1.57 mkdir -p $ROOTSYS/lib/python
126 elmer 1.130 cp -r cint/reflex/python/genreflex $ROOTSYS/lib/python
127 eulisse 1.35 #
128 elmer 1.98
129     # SCRAM ToolBox toolfile
130     mkdir -p %i/etc/scram.d
131     # rootcore toolfile
132     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcore
133     <doc type=BuildSystem::ToolDoc version=1.0>
134     <Tool name=rootcore version=%v>
135     <info url="http://root.cern.ch/root/"></info>
136     <lib name=Cint>
137     <lib name=Core>
138 ratnik 1.106 <lib name=RIO>
139     <lib name=Net>
140 elmer 1.98 <lib name=Tree>
141     <Client>
142     <Environment name=ROOTCORE_BASE default="%i"></Environment>
143     <Environment name=LIBDIR default="$ROOTCORE_BASE/lib"></Environment>
144     <Environment name=INCLUDE default="$ROOTCORE_BASE/include"></Environment>
145     <Environment name=INCLUDE default="$ROOTCORE_BASE/cint"></Environment>
146     </Client>
147     <use name=sockets>
148     <use name=pcre>
149     <use name=zlib>
150     <Runtime name=PATH value="$ROOTCORE_BASE/bin" type=path>
151     <Runtime name=ROOTSYS value="$ROOTCORE_BASE/">
152     <Runtime name=PYTHONPATH value="$ROOTCORE_BASE/lib" type=path>
153     </Tool>
154     EOF_TOOLFILE
155    
156 elmer 1.121 # root toolfile, alias for rootphysics. Using rootphysics is preferred.
157 elmer 1.98 cat << \EOF_TOOLFILE >%i/etc/scram.d/root
158     <doc type=BuildSystem::ToolDoc version=1.0>
159     <Tool name=root version=%v>
160     <info url="http://root.cern.ch/root/"></info>
161 elmer 1.121 <use name=rootphysics>
162     </Tool>
163     EOF_TOOLFILE
164    
165     # roothistmatrix toolfile
166     cat << \EOF_TOOLFILE >%i/etc/scram.d/roothistmatrix
167     <doc type=BuildSystem::ToolDoc version=1.0>
168     <Tool name=roothistmatrix version=%v>
169     <info url="http://root.cern.ch/root/"></info>
170 elmer 1.98 <lib name=Hist>
171     <lib name=Matrix>
172 elmer 1.121 <use name=ROOTCore>
173     </Tool>
174     EOF_TOOLFILE
175    
176     # rootphysics toolfile
177     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootphysics
178     <doc type=BuildSystem::ToolDoc version=1.0>
179     <Tool name=rootphysics version=%v>
180     <info url="http://root.cern.ch/root/"></info>
181 elmer 1.98 <lib name=Physics>
182 elmer 1.121 <use name=roothistmatrix>
183 elmer 1.98 </Tool>
184     EOF_TOOLFILE
185    
186 elmer 1.121 # rootgraphics toolfile, identical to old "root" toolfile
187     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgraphics
188 elmer 1.120 <doc type=BuildSystem::ToolDoc version=1.0>
189 elmer 1.121 <Tool name=rootgraphics version=%v>
190 elmer 1.120 <info url="http://root.cern.ch/root/"></info>
191 elmer 1.121 <lib name=TreePlayer>
192     <lib name=Gpad>
193     <lib name=Graf3d>
194     <lib name=Graf>
195 elmer 1.120 <lib name=Hist>
196     <lib name=Matrix>
197 elmer 1.121 <lib name=Physics>
198     <lib name=Postscript>
199 elmer 1.120 <use name=ROOTCore>
200     </Tool>
201     EOF_TOOLFILE
202    
203 elmer 1.98 # rootcintex toolfile
204     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcintex
205     <doc type=BuildSystem::ToolDoc version=1.0>
206     <Tool name=rootcintex version=%v>
207     <info url="http://root.cern.ch/root/"></info>
208     <lib name=Cintex>
209     <use name=ROOTRflx>
210     <use name=ROOTCore>
211     </Tool>
212     EOF_TOOLFILE
213    
214     # rootinteractive toolfile
215     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive
216     <doc type=BuildSystem::ToolDoc version=1.0>
217     <Tool name=rootinteractive version=%v>
218     <info url="http://root.cern.ch/root/"></info>
219     <lib name=Rint>
220     <lib name=GQt>
221     <use name=qt>
222     <use name=libjpg>
223     <use name=libpng>
224     <use name=ROOT>
225     </Tool>
226     EOF_TOOLFILE
227    
228     # rootmath toolfile
229     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmath
230     <doc type=BuildSystem::ToolDoc version=1.0>
231     <Tool name=rootmath version=%v>
232     <info url="http://root.cern.ch/root/"></info>
233     <lib name=MathCore>
234     <lib name=MathMore>
235 elmer 1.130 <lib name=GenVector>
236 elmer 1.98 <use name=ROOTCore>
237     <use name=gsl>
238     </Tool>
239     EOF_TOOLFILE
240    
241     # rootminuit toolfile
242     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit
243     <doc type=BuildSystem::ToolDoc version=1.0>
244     <Tool name=rootminuit version=%v>
245     <info url="http://root.cern.ch/root/"></info>
246     <lib name=Minuit>
247     <use name=ROOT>
248     </Tool>
249     EOF_TOOLFILE
250    
251     # rootminuit2 toolfile
252     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2
253     <doc type=BuildSystem::ToolDoc version=1.0>
254     <Tool name=rootminuit2 version=%v>
255     <info url="http://root.cern.ch/root/"></info>
256     <lib name=Minuit2>
257     <use name=ROOT>
258     </Tool>
259     EOF_TOOLFILE
260    
261     # rootrflx toolfile
262     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx
263     <doc type=BuildSystem::ToolDoc version=1.0>
264     <Tool name=rootrflx version=%v>
265     <info url="http://root.cern.ch/root/"></info>
266     <lib name=Reflex>
267     <Client>
268     <Environment name=ROOTRFLX_BASE default="%i"></Environment>
269     <Environment name=LIBDIR default="$ROOTRFLX_BASE/lib"></Environment>
270     <Environment name=INCLUDE default="$ROOTRFLX_BASE/include"></Environment>
271     </Client>
272     <use name=sockets>
273     <use name=gccxml>
274     <Runtime name=PATH value="$ROOTRFLX_BASE/bin" type=path>
275     <Runtime name=ROOTSYS value="$ROOTRFLX_BASE/">
276     <Runtime name=GENREFLEX value="$ROOTRFLX_BASE/bin/genreflex">
277     </Tool>
278     EOF_TOOLFILE
279    
280     # roothtml toolfile
281     cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml
282     <doc type=BuildSystem::ToolDoc version=1.0>
283     <Tool name=roothtml version=%v>
284     <info url="http://root.cern.ch/root/"></info>
285     <lib name=Html>
286     <use name=ROOT>
287     </Tool>
288     EOF_TOOLFILE
289    
290     # rootroofit toolfile
291     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootroofit
292     <doc type=BuildSystem::ToolDoc version=1.0>
293     <Tool name=rootroofit version=%v>
294     <info url="http://root.cern.ch/root/"></info>
295 ratnik 1.106 <lib name=RooFitCore>
296 elmer 1.98 <lib name=RooFit>
297     <use name=ROOTMinuit>
298     <use name=ROOTHtml>
299     </Tool>
300     EOF_TOOLFILE
301    
302     # rootmlp toolfile
303     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp
304     <doc type=BuildSystem::ToolDoc version=1.0>
305     <Tool name=rootmlp version=%v>
306     <info url="http://root.cern.ch/root/"></info>
307     <lib name=MLP>
308     <use name=ROOT>
309     </Tool>
310     EOF_TOOLFILE
311    
312     # roottmva toolfile
313     cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva
314     <doc type=BuildSystem::ToolDoc version=1.0>
315     <Tool name=roottmva version=%v>
316     <info url="http://root.cern.ch/root/"></info>
317     <lib name=TMVA>
318     <use name=ROOTMLP>
319     </Tool>
320     EOF_TOOLFILE
321    
322     # rootthread toolfile
323     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread
324     <doc type=BuildSystem::ToolDoc version=1.0>
325     <Tool name=rootthread version=%v>
326     <info url="http://root.cern.ch/root/"></info>
327     <lib name=Thread>
328     <use name=ROOTCore>
329     </Tool>
330     EOF_TOOLFILE
331    
332     %post
333     %{relocateConfig}etc/scram.d/root
334     %{relocateConfig}etc/scram.d/rootcore
335 elmer 1.120 %{relocateConfig}etc/scram.d/roothistmatrix
336 elmer 1.121 %{relocateConfig}etc/scram.d/rootphysics
337     %{relocateConfig}etc/scram.d/rootgraphics
338 elmer 1.98 %{relocateConfig}etc/scram.d/rootcintex
339     %{relocateConfig}etc/scram.d/rootinteractive
340     %{relocateConfig}etc/scram.d/rootmath
341     %{relocateConfig}etc/scram.d/rootminuit
342     %{relocateConfig}etc/scram.d/rootminuit2
343     %{relocateConfig}etc/scram.d/rootrflx
344     %{relocateConfig}etc/scram.d/roothtml
345     %{relocateConfig}etc/scram.d/rootroofit
346     %{relocateConfig}etc/scram.d/rootmlp
347     %{relocateConfig}etc/scram.d/roottmva
348     %{relocateConfig}etc/scram.d/rootthread