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

# Content
1 ### RPM lcg root 5.18.00a
2 ## INITENV +PATH PYTHONPATH %i/lib/python
3 ## INITENV SET ROOTSYS %i
4 #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
7 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
19 %define cpu %(echo %cmsplatf | cut -d_ -f2)
20 %define pythonv %(echo $PYTHON_VERSION | cut -d. -f1,2)
21
22 Requires: gccxml gsl castor libjpg dcap pcre python
23
24 %if "%cmsplatf" != "slc4onl_ia32_gcc346"
25 Requires: qt openssl mysql libpng zlib libungif xrootd
26 %else
27 %define skiplibtiff true
28 %endif
29
30 %if "%cpu" == "amd64"
31 %define skiplibtiff true
32 %endif
33
34 %if "%skiplibtiff" != "true"
35 Requires: libtiff
36 %endif
37
38 %prep
39 %setup -n root
40 %patch0 -p1
41 %patch1 -p1
42 %patch2 -p0
43 %patch3 -p1
44 %patch4 -p0
45 %patch5 -p0
46 %patch6 -p0
47 %patch7 -p0
48 %patch8 -p1
49 %patch9 -p0
50 %patch10 -p0
51
52 %build
53 mkdir -p %i
54 export ROOTSYS=%_builddir/root
55
56 %if "%cmsplatf" == "slc4onl_ia32_gcc346"
57 # Build without mysql, and use system qt.
58 # Also skip xrootd and odbc for online case:
59
60 EXTRA_CONFIG_ARGS="
61 --disable-mysql
62 --disable-xrootd
63 --disable-odbc
64 --enable-qt"
65 %else
66 EXTRA_CONFIG_ARGS="
67 --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 %endif
73
74 CONFIG_ARGS="--enable-table
75 --disable-builtin-pcre
76 --disable-builtin-freetype
77 --disable-builtin-zlib
78 --with-gccxml=${GCCXML_ROOT}
79 --enable-python --with-python-libdir=${PYTHON_ROOT}/lib --with-python-incdir=${PYTHON_ROOT}/include/python2.4
80 --enable-explicitlink
81 --enable-qtgsi
82 --enable-mathcore
83 --enable-mathmore
84 --enable-reflex
85 --enable-cintex
86 --enable-minuit2
87 --enable-roofit
88 --disable-ldap
89 --disable-krb5
90 --with-gsl-incdir=${GSL_ROOT}/include
91 --with-gsl-libdir=${GSL_ROOT}/lib
92 --with-dcap-libdir=${DCAP_ROOT}/lib
93 --with-dcap-incdir=${DCAP_ROOT}/include
94 --disable-pgsql
95 --disable-xml ${EXTRA_CONFIG_ARGS}"
96
97 %if (("%cmsplatf" == "slc4_ia32_gcc412")||("%cmsplatf" == "slc4_ia32_gcc422")||("%cmsplatf" == "slc4_amd64_gcc345"))
98 CONFIG_ARGS="$CONFIG_ARGS --disable-cern"
99 %endif
100
101 case $(uname)-$(uname -p) in
102 Linux-x86_64)
103 ./configure linuxx8664gcc $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift --disable-astiff --disable-cern;;
104 Linux-i*86)
105 ./configure linux $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift;;
106 Darwin*)
107 ./configure macosx $CONFIG_ARGS --disable-rfio;;
108 Linux-ppc64*)
109 ./configure linux $CONFIG_ARGS --disable-rfio;;
110 esac
111
112 make %makeprocesses
113 make cintdlls
114 %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 export ROOTSYS=%i
127 make INSTALL="$cp" INSTALLDATA="$cp" install
128 mkdir -p $ROOTSYS/lib/python
129 cp -r reflex/python/genreflex $ROOTSYS/lib/python
130 #
131
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 <lib name=RIO>
142 <lib name=Net>
143 <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 # root toolfile, alias for rootphysics. Using rootphysics is preferred.
160 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 <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 <lib name=Hist>
174 <lib name=Matrix>
175 <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 <lib name=Physics>
185 <use name=roothistmatrix>
186 </Tool>
187 EOF_TOOLFILE
188
189 # rootgraphics toolfile, identical to old "root" toolfile
190 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgraphics
191 <doc type=BuildSystem::ToolDoc version=1.0>
192 <Tool name=rootgraphics version=%v>
193 <info url="http://root.cern.ch/root/"></info>
194 <lib name=TreePlayer>
195 <lib name=Gpad>
196 <lib name=Graf3d>
197 <lib name=Graf>
198 <lib name=Hist>
199 <lib name=Matrix>
200 <lib name=Physics>
201 <lib name=Postscript>
202 <use name=ROOTCore>
203 </Tool>
204 EOF_TOOLFILE
205
206 # 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 <lib name=RooFitCore>
298 <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 %{relocateConfig}etc/scram.d/roothistmatrix
338 %{relocateConfig}etc/scram.d/rootphysics
339 %{relocateConfig}etc/scram.d/rootgraphics
340 %{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