ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.124
Committed: Tue Sep 23 20:20:41 2008 UTC (16 years, 7 months ago) by andreasp
Branch: MAIN
CVS Tags: apFor220p1v0, pe20081105-noseal, CMSSW_2_1_12, apFor2112v0, CMSSW_3_0_0_pre1, CMSSW_2_1_10_patch2, CMSSW_2_1_10_patch1, CMSSW_2_1_10, apFor2110v2-gcc412, apFor2110v2, apFor2110v1-gcc412, apFor2110v1, apFor2110v0-gcc412, apFor2110v0, PRODAGENT_0_12_2, T0Mon_080926_1
Changes since 1.123: +12 -10 lines
Log Message:
add new patch (TFile) for root

File Contents

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