ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.140
Committed: Tue Feb 3 16:48:55 2009 UTC (16 years, 2 months ago) by andreasp
Branch: MAIN
CVS Tags: CMSSW_2_2_13_offpatch1, apFor2213offpatch1v0, CMSSW_2_2_13_FWLITE, apFor2213fwlitev0, CMSSW_2_2_13_HLT, apFor2213hltv0, CMSSW_2_2_13, apFor2213v0, CMSSW_2_2_12_HLT, CMSSW_2_2_12, apFor2212hltv0, apFor2212v2, apFor2212v1, apFor2212v0, apFor2211off1v0, CMSSW_2_2_11_offpatch1, CMSSW_2_2_11, CMSSW_2_2_11_HLT, apFor2211v1, apFor2211hltv0, apFor2211v0, CMSSW_2_2_10_HLT, apFor2210hltv0, CMSSW_2_2_10, apFor2210v0, CMSSW_2_2_9, apFor229v2, apFor229v1, apFor229v0, apFor2119v1, apFor2119v0, CMSSW_2_2_8, apFor228v0, CMSSW_2_2_7, apFor227v2, CMSSW_2_2_6_HLT_ONLINE1, nr090319_for226hltonl1, CMSSW_2_2_6_HLT_ONLINE, apFor227v1, apFor227v0, CMSSW_2_2_6_onlpatch1_ONLINE, CMSSW_2_2_6_ONLINE, CMSSW_2_2_6_HLT, apFor226HLTv0, CMSSW_2_2_6, nr090307for226_onlpatch1, apFor226v3, nr090306onl226_tkonlsw_too_new, apFor226v2, apFor226v1, apFor226v0, apFor226, nr20090224_for226, sm080219a, CMSSW_2_2_5, apFor225v0, CMSSW_2_2_4, WEBTOOLS-APPS_20090203_1, WEBTOOLS-APPS_20090203, apFor224v4
Changes since 1.139: +31 -28 lines
Log Message:
backport of TBranchElement root patch to 5.18.00, updated new castor version

File Contents

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