ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.152
Committed: Tue Apr 7 02:01:59 2009 UTC (16 years ago) by dlange
Branch: MAIN
CVS Tags: pe20090407a-31Xports-432, dl090406t2, dl090406
Changes since 1.151: +2 -0 lines
Log Message:
root and data updates

File Contents

# User Rev Content
1 elmer 1.144 ### RPM lcg root 5.22.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 elmer 1.144 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.141 Patch1: root-5.21-04-CINT-maxlongline
9     Patch2: root-5.22-00-TMVA-shut-the-hell-up-for-once
10 elmer 1.148 Patch3: root-5.22-00a-TMVA-shut-the-hell-up-again
11     Patch4: root-5.22-00a-CINTFunctional
12 elmer 1.149 Patch5: root-5.22-00a-TClass
13 elmer 1.150 Patch6: root-5.22-00a-fireworks-graf3d-gui
14 dlange 1.151 Patch7: root-5.22-00a-Reflex-Class
15 dlange 1.152 Patch8: root-5.22-00a-Cintex
16     Patch9: root-5.22-00a-roofit-silence-static-printout
17 elmer 1.98
18     %define cpu %(echo %cmsplatf | cut -d_ -f2)
19     %define pythonv %(echo $PYTHON_VERSION | cut -d. -f1,2)
20    
21 ratnik 1.106 Requires: gccxml gsl castor libjpg dcap pcre python
22 dlange 1.103
23 ratnik 1.119 %if "%cmsplatf" != "slc4onl_ia32_gcc346"
24 elmer 1.145 Requires: qt openssl mysql libpng zlib libungif xrootd
25 dlange 1.103 %else
26     %define skiplibtiff true
27     %endif
28    
29     %if "%cpu" == "amd64"
30     %define skiplibtiff true
31     %endif
32    
33     %if "%skiplibtiff" != "true"
34 elmer 1.98 Requires: libtiff
35     %endif
36 eulisse 1.25
37 eulisse 1.1 %prep
38     %setup -n root
39 ratnik 1.106 %patch0 -p1
40     %patch1 -p1
41 elmer 1.141 %patch2 -p1
42 elmer 1.148 %patch3 -p1
43     %patch4 -p1
44 elmer 1.149 %patch5 -p1
45 elmer 1.150 %patch6 -p1
46 ratnik 1.79
47 eulisse 1.1 %build
48     mkdir -p %i
49 elmer 1.14 export ROOTSYS=%_builddir/root
50 dlange 1.103
51 ratnik 1.119 %if "%cmsplatf" == "slc4onl_ia32_gcc346"
52 ratnik 1.111 # Build without mysql, and use system qt.
53     # Also skip xrootd and odbc for online case:
54    
55 dlange 1.103 EXTRA_CONFIG_ARGS="
56 ratnik 1.111 --disable-mysql
57     --disable-xrootd
58     --disable-odbc
59     --enable-qt"
60 dlange 1.103 %else
61     EXTRA_CONFIG_ARGS="
62 elmer 1.145 --with-xrootd=$XROOTD_ROOT
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.141 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 gowdy 1.143 --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.141 #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.141 ./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 eulisse 1.147 case %cmsplatf in
110     osx*)
111     makeopts=
112     ;;
113     *)
114     makeopts="%makeprocesses"
115     ;;
116     esac
117    
118     make $makeopts
119 eulisse 1.20 make cintdlls
120 eulisse 1.147
121 eulisse 1.1 %install
122     # Override installers if we are using GNU fileutils cp. On OS X
123     # ROOT's INSTALL is defined to "cp -pPR", which only works with
124     # the system cp (/bin/cp). If you have fileutils on fink, you
125     # lose. Check which one is getting picked up and select syntax
126     # accordingly. (FIXME: do we need to check that -P is accepted?)
127     if (cp --help | grep -e '-P.*--parents') >/dev/null 2>&1; then
128     cp="cp -dpR"
129     else
130     cp="cp -pPR"
131     fi
132    
133 dlange 1.57 export ROOTSYS=%i
134 eulisse 1.5 make INSTALL="$cp" INSTALLDATA="$cp" install
135 dlange 1.57 mkdir -p $ROOTSYS/lib/python
136 elmer 1.141 cp -r cint/reflex/python/genreflex $ROOTSYS/lib/python
137 eulisse 1.35 #
138 elmer 1.98
139     # SCRAM ToolBox toolfile
140     mkdir -p %i/etc/scram.d
141     # rootcore toolfile
142     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcore
143     <doc type=BuildSystem::ToolDoc version=1.0>
144     <Tool name=rootcore version=%v>
145     <info url="http://root.cern.ch/root/"></info>
146     <lib name=Cint>
147     <lib name=Core>
148 ratnik 1.106 <lib name=RIO>
149     <lib name=Net>
150 elmer 1.98 <lib name=Tree>
151     <Client>
152     <Environment name=ROOTCORE_BASE default="%i"></Environment>
153     <Environment name=LIBDIR default="$ROOTCORE_BASE/lib"></Environment>
154     <Environment name=INCLUDE default="$ROOTCORE_BASE/include"></Environment>
155     <Environment name=INCLUDE default="$ROOTCORE_BASE/cint"></Environment>
156     </Client>
157     <use name=sockets>
158     <use name=pcre>
159     <use name=zlib>
160     <Runtime name=PATH value="$ROOTCORE_BASE/bin" type=path>
161     <Runtime name=ROOTSYS value="$ROOTCORE_BASE/">
162     <Runtime name=PYTHONPATH value="$ROOTCORE_BASE/lib" type=path>
163     </Tool>
164     EOF_TOOLFILE
165    
166 elmer 1.121 # root toolfile, alias for rootphysics. Using rootphysics is preferred.
167 elmer 1.98 cat << \EOF_TOOLFILE >%i/etc/scram.d/root
168     <doc type=BuildSystem::ToolDoc version=1.0>
169     <Tool name=root version=%v>
170     <info url="http://root.cern.ch/root/"></info>
171 elmer 1.121 <use name=rootphysics>
172     </Tool>
173     EOF_TOOLFILE
174    
175     # roothistmatrix toolfile
176     cat << \EOF_TOOLFILE >%i/etc/scram.d/roothistmatrix
177     <doc type=BuildSystem::ToolDoc version=1.0>
178     <Tool name=roothistmatrix version=%v>
179     <info url="http://root.cern.ch/root/"></info>
180 elmer 1.98 <lib name=Hist>
181     <lib name=Matrix>
182 elmer 1.121 <use name=ROOTCore>
183     </Tool>
184     EOF_TOOLFILE
185    
186     # rootphysics toolfile
187     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootphysics
188     <doc type=BuildSystem::ToolDoc version=1.0>
189     <Tool name=rootphysics version=%v>
190     <info url="http://root.cern.ch/root/"></info>
191 elmer 1.98 <lib name=Physics>
192 elmer 1.121 <use name=roothistmatrix>
193 elmer 1.98 </Tool>
194     EOF_TOOLFILE
195    
196 elmer 1.121 # rootgraphics toolfile, identical to old "root" toolfile
197     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgraphics
198 elmer 1.120 <doc type=BuildSystem::ToolDoc version=1.0>
199 elmer 1.121 <Tool name=rootgraphics version=%v>
200 elmer 1.120 <info url="http://root.cern.ch/root/"></info>
201 elmer 1.121 <lib name=TreePlayer>
202     <lib name=Gpad>
203     <lib name=Graf3d>
204     <lib name=Graf>
205 elmer 1.120 <lib name=Hist>
206     <lib name=Matrix>
207 elmer 1.121 <lib name=Physics>
208     <lib name=Postscript>
209 elmer 1.120 <use name=ROOTCore>
210     </Tool>
211     EOF_TOOLFILE
212    
213 elmer 1.98 # rootcintex toolfile
214     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcintex
215     <doc type=BuildSystem::ToolDoc version=1.0>
216     <Tool name=rootcintex version=%v>
217     <info url="http://root.cern.ch/root/"></info>
218     <lib name=Cintex>
219     <use name=ROOTRflx>
220     <use name=ROOTCore>
221     </Tool>
222     EOF_TOOLFILE
223    
224 elmer 1.146 # (temporarily eviscerated) rootinteractive toolfile (GQt/qt lib dependencies
225     # have been removed for the moment)
226 elmer 1.98 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive
227     <doc type=BuildSystem::ToolDoc version=1.0>
228     <Tool name=rootinteractive version=%v>
229     <info url="http://root.cern.ch/root/"></info>
230     <lib name=Rint>
231 elmer 1.146 <use name=libjpg>
232     <use name=libpng>
233     <use name=ROOT>
234     </Tool>
235     EOF_TOOLFILE
236    
237     # rootinteractive2 toolfile (temporary, to allow access to Qt4)
238     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive2
239     <doc type=BuildSystem::ToolDoc version=1.0>
240     <Tool name=rootinteractive2 version=%v>
241     <info url="http://root.cern.ch/root/"></info>
242     <lib name=Rint>
243 elmer 1.98 <lib name=GQt>
244     <use name=qt>
245     <use name=libjpg>
246     <use name=libpng>
247     <use name=ROOT>
248     </Tool>
249     EOF_TOOLFILE
250    
251 elmer 1.146
252 elmer 1.98 # rootmath toolfile
253     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmath
254     <doc type=BuildSystem::ToolDoc version=1.0>
255     <Tool name=rootmath version=%v>
256     <info url="http://root.cern.ch/root/"></info>
257     <lib name=MathCore>
258     <lib name=MathMore>
259 elmer 1.141 <lib name=GenVector>
260 elmer 1.98 <use name=ROOTCore>
261     <use name=gsl>
262     </Tool>
263     EOF_TOOLFILE
264    
265     # rootminuit toolfile
266     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit
267     <doc type=BuildSystem::ToolDoc version=1.0>
268     <Tool name=rootminuit version=%v>
269     <info url="http://root.cern.ch/root/"></info>
270     <lib name=Minuit>
271     <use name=ROOT>
272     </Tool>
273     EOF_TOOLFILE
274    
275     # rootminuit2 toolfile
276     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2
277     <doc type=BuildSystem::ToolDoc version=1.0>
278     <Tool name=rootminuit2 version=%v>
279     <info url="http://root.cern.ch/root/"></info>
280     <lib name=Minuit2>
281     <use name=ROOT>
282     </Tool>
283     EOF_TOOLFILE
284    
285     # rootrflx toolfile
286     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx
287     <doc type=BuildSystem::ToolDoc version=1.0>
288     <Tool name=rootrflx version=%v>
289     <info url="http://root.cern.ch/root/"></info>
290     <lib name=Reflex>
291     <Client>
292     <Environment name=ROOTRFLX_BASE default="%i"></Environment>
293     <Environment name=LIBDIR default="$ROOTRFLX_BASE/lib"></Environment>
294     <Environment name=INCLUDE default="$ROOTRFLX_BASE/include"></Environment>
295     </Client>
296     <use name=sockets>
297     <use name=gccxml>
298     <Runtime name=PATH value="$ROOTRFLX_BASE/bin" type=path>
299     <Runtime name=ROOTSYS value="$ROOTRFLX_BASE/">
300     <Runtime name=GENREFLEX value="$ROOTRFLX_BASE/bin/genreflex">
301     </Tool>
302     EOF_TOOLFILE
303    
304     # roothtml toolfile
305     cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml
306     <doc type=BuildSystem::ToolDoc version=1.0>
307     <Tool name=roothtml version=%v>
308     <info url="http://root.cern.ch/root/"></info>
309     <lib name=Html>
310     <use name=ROOT>
311     </Tool>
312     EOF_TOOLFILE
313    
314     # rootroofit toolfile
315     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootroofit
316     <doc type=BuildSystem::ToolDoc version=1.0>
317     <Tool name=rootroofit version=%v>
318     <info url="http://root.cern.ch/root/"></info>
319 ratnik 1.106 <lib name=RooFitCore>
320 elmer 1.98 <lib name=RooFit>
321     <use name=ROOTMinuit>
322     <use name=ROOTHtml>
323     </Tool>
324     EOF_TOOLFILE
325    
326     # rootmlp toolfile
327     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp
328     <doc type=BuildSystem::ToolDoc version=1.0>
329     <Tool name=rootmlp version=%v>
330     <info url="http://root.cern.ch/root/"></info>
331     <lib name=MLP>
332     <use name=ROOT>
333     </Tool>
334     EOF_TOOLFILE
335    
336     # roottmva toolfile
337     cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva
338     <doc type=BuildSystem::ToolDoc version=1.0>
339     <Tool name=roottmva version=%v>
340     <info url="http://root.cern.ch/root/"></info>
341     <lib name=TMVA>
342     <use name=ROOTMLP>
343     </Tool>
344     EOF_TOOLFILE
345    
346     # rootthread toolfile
347     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread
348     <doc type=BuildSystem::ToolDoc version=1.0>
349     <Tool name=rootthread version=%v>
350     <info url="http://root.cern.ch/root/"></info>
351     <lib name=Thread>
352     <use name=ROOTCore>
353     </Tool>
354     EOF_TOOLFILE
355    
356     %post
357     %{relocateConfig}etc/scram.d/root
358     %{relocateConfig}etc/scram.d/rootcore
359 elmer 1.120 %{relocateConfig}etc/scram.d/roothistmatrix
360 elmer 1.121 %{relocateConfig}etc/scram.d/rootphysics
361     %{relocateConfig}etc/scram.d/rootgraphics
362 elmer 1.98 %{relocateConfig}etc/scram.d/rootcintex
363     %{relocateConfig}etc/scram.d/rootinteractive
364     %{relocateConfig}etc/scram.d/rootmath
365     %{relocateConfig}etc/scram.d/rootminuit
366     %{relocateConfig}etc/scram.d/rootminuit2
367     %{relocateConfig}etc/scram.d/rootrflx
368     %{relocateConfig}etc/scram.d/roothtml
369     %{relocateConfig}etc/scram.d/rootroofit
370     %{relocateConfig}etc/scram.d/rootmlp
371     %{relocateConfig}etc/scram.d/roottmva
372     %{relocateConfig}etc/scram.d/rootthread