ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.121
Committed: Wed Jul 2 08:41:19 2008 UTC (16 years, 9 months ago) by elmer
Branch: MAIN
CVS Tags: T0Mon_080826_1, CMSSW_2_1_4_FWLITE, T0Mon_080825_1, CMSSW_2_1_4_ONLINE1, CMSSW_2_1_4, apFor214v1, apFor214v0, CMSSW_2_1_3, apFor213v0, CMSSW_2_1_2, CMSSW_2_1_1, CMSSW_2_1_1_ONLINE1, apFor212v0, apFor211v0, CMSSW_2_1_0_ONLINE1, apTestv0, nr080806_for210onl, CMSSW_2_1_0, apFor210v0, CMSSW_2_1_0_pre11, apFor210p11v0, CMSSW_2_1_0_pre10, apFor210p10v1, apFor210p10v0, pe20080723a-for21X-412, pe20080723a-for21X, CMSSW_2_1_0_pre9, apFor210p9v0, nr080714_forCRAB, CMSSW_2_1_0_pre8, apFor210p8v1, apFor210p8v0, CMSSW_2_1_0_pre7, apFor210p7v1, apFor210pre7v1, apFor210p7v0, pe20080702b-for21X-412, pe20080702b-for21X
Changes since 1.120: +31 -10 lines
Log Message:
Add "rootphysics" tool, roothistmatrix + libPhysics
Add "rootgraphics" tool, identical to what we have been using as "root"
Change "root" tool to be an alias for "rootphysics"

File Contents

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