ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.155
Committed: Thu Apr 16 21:08:49 2009 UTC (16 years ago) by elmer
Branch: MAIN
CVS Tags: CMSSW_3_1_0_pre5, dl090416
Changes since 1.154: +3 -1 lines
Log Message:
Apply another TMVA silencing patch:
   root-5.22-00a-TMVA-just-shut-the-hell-up.patch

File Contents

# Content
1 ### RPM lcg root 5.22.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.21-04-CINT-maxlongline
9 Patch2: root-5.22-00-TMVA-shut-the-hell-up-for-once
10 Patch3: root-5.22-00a-TMVA-shut-the-hell-up-again
11 Patch4: root-5.22-00a-CINTFunctional
12 Patch5: root-5.22-00a-TClass
13 Patch6: root-5.22-00a-fireworks-graf3d-gui
14 Patch7: root-5.22-00a-Reflex-Class
15 Patch8: root-5.22-00a-Cintex
16 Patch9: root-5.22-00a-roofit-silence-static-printout
17 Patch10: root-5.22-00a-TMVA-just-shut-the-hell-up
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 -p1
43 %patch3 -p1
44 %patch4 -p1
45 %patch5 -p1
46 %patch6 -p1
47 %patch7 -p0
48 %patch8 -p0
49 %patch9 -p1
50 %patch10 -p1
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="--with-f77=${GCC_ROOT}
75 --enable-table
76 --disable-builtin-pcre
77 --disable-builtin-freetype
78 --disable-builtin-zlib
79 --with-gccxml=${GCCXML_ROOT}
80 --enable-python --with-python-libdir=${PYTHON_ROOT}/lib --with-python-incdir=${PYTHON_ROOT}/include/python2.4
81 --enable-explicitlink
82 --enable-qtgsi
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 #case %gccver in
98 # 4.*)
99 # CONFIG_ARGS="$CONFIG_ARGS --disable-cern"
100 # ;;
101 #esac
102
103 case $(uname)-$(uname -p) in
104 Linux-x86_64)
105 ./configure linuxx8664gcc $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift --disable-astiff;;
106 Linux-i*86)
107 ./configure linux $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift;;
108 Darwin*)
109 ./configure macosx $CONFIG_ARGS --disable-rfio;;
110 Linux-ppc64*)
111 ./configure linux $CONFIG_ARGS --disable-rfio;;
112 esac
113
114 case %cmsplatf in
115 osx*)
116 makeopts=
117 ;;
118 *)
119 makeopts="%makeprocesses"
120 ;;
121 esac
122
123 make $makeopts
124 make cintdlls
125
126 %install
127 # Override installers if we are using GNU fileutils cp. On OS X
128 # ROOT's INSTALL is defined to "cp -pPR", which only works with
129 # the system cp (/bin/cp). If you have fileutils on fink, you
130 # lose. Check which one is getting picked up and select syntax
131 # accordingly. (FIXME: do we need to check that -P is accepted?)
132 if (cp --help | grep -e '-P.*--parents') >/dev/null 2>&1; then
133 cp="cp -dpR"
134 else
135 cp="cp -pPR"
136 fi
137
138 export ROOTSYS=%i
139 make INSTALL="$cp" INSTALLDATA="$cp" install
140 mkdir -p $ROOTSYS/lib/python
141 cp -r cint/reflex/python/genreflex $ROOTSYS/lib/python
142 #
143
144 # SCRAM ToolBox toolfile
145 mkdir -p %i/etc/scram.d
146 # rootcore toolfile
147 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcore
148 <doc type=BuildSystem::ToolDoc version=1.0>
149 <Tool name=rootcore version=%v>
150 <info url="http://root.cern.ch/root/"></info>
151 <lib name=Tree>
152 <lib name=Net>
153 <lib name=Thread>
154 <lib name=MathCore>
155 <lib name=RIO>
156 <lib name=Core>
157 <lib name=Cint>
158 <Client>
159 <Environment name=ROOTCORE_BASE default="%i"></Environment>
160 <Environment name=LIBDIR default="$ROOTCORE_BASE/lib"></Environment>
161 <Environment name=INCLUDE default="$ROOTCORE_BASE/include"></Environment>
162 <Environment name=INCLUDE default="$ROOTCORE_BASE/cint"></Environment>
163 </Client>
164 <use name=sockets>
165 <use name=pcre>
166 <use name=zlib>
167 <Runtime name=PATH value="$ROOTCORE_BASE/bin" type=path>
168 <Runtime name=ROOTSYS value="$ROOTCORE_BASE/">
169 <Runtime name=PYTHONPATH value="$ROOTCORE_BASE/lib" type=path>
170 </Tool>
171 EOF_TOOLFILE
172
173 # root toolfile, alias for rootphysics. Using rootphysics is preferred.
174 cat << \EOF_TOOLFILE >%i/etc/scram.d/root
175 <doc type=BuildSystem::ToolDoc version=1.0>
176 <Tool name=root version=%v>
177 <info url="http://root.cern.ch/root/"></info>
178 <use name=rootphysics>
179 </Tool>
180 EOF_TOOLFILE
181
182 # roothistmatrix toolfile
183 cat << \EOF_TOOLFILE >%i/etc/scram.d/roothistmatrix
184 <doc type=BuildSystem::ToolDoc version=1.0>
185 <Tool name=roothistmatrix version=%v>
186 <info url="http://root.cern.ch/root/"></info>
187 <lib name=Gpad>
188 <lib name=Graf>
189 <lib name=Hist>
190 <lib name=Matrix>
191 <use name=ROOTCore>
192 </Tool>
193 EOF_TOOLFILE
194
195 # rootphysics toolfile
196 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootphysics
197 <doc type=BuildSystem::ToolDoc version=1.0>
198 <Tool name=rootphysics version=%v>
199 <info url="http://root.cern.ch/root/"></info>
200 <lib name=Physics>
201 <use name=roothistmatrix>
202 </Tool>
203 EOF_TOOLFILE
204
205 # rootgraphics toolfile, identical to old "root" toolfile
206 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgraphics
207 <doc type=BuildSystem::ToolDoc version=1.0>
208 <Tool name=rootgraphics version=%v>
209 <info url="http://root.cern.ch/root/"></info>
210 <lib name=TreePlayer>
211 <lib name=Graf3d>
212 <lib name=Postscript>
213 <use name=ROOTPhysics>
214 </Tool>
215 EOF_TOOLFILE
216
217 # rootcintex toolfile
218 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcintex
219 <doc type=BuildSystem::ToolDoc version=1.0>
220 <Tool name=rootcintex version=%v>
221 <info url="http://root.cern.ch/root/"></info>
222 <lib name=Cintex>
223 <use name=ROOTRflx>
224 <use name=ROOTCore>
225 </Tool>
226 EOF_TOOLFILE
227
228 # (temporarily eviscerated) rootinteractive toolfile (GQt/qt lib dependencies
229 # have been removed for the moment)
230 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive
231 <doc type=BuildSystem::ToolDoc version=1.0>
232 <Tool name=rootinteractive version=%v>
233 <info url="http://root.cern.ch/root/"></info>
234 <lib name=Rint>
235 <lib name=GQt>
236 <lib name=Gui>
237 <use name=qt>
238 <use name=libjpg>
239 <use name=libpng>
240 <use name=ROOT>
241 </Tool>
242 EOF_TOOLFILE
243
244 # rootmath toolfile
245 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmath
246 <doc type=BuildSystem::ToolDoc version=1.0>
247 <Tool name=rootmath version=%v>
248 <info url="http://root.cern.ch/root/"></info>
249 <lib name=GenVector>
250 <lib name=MathMore>
251 <use name=ROOTCore>
252 <use name=gsl>
253 </Tool>
254 EOF_TOOLFILE
255
256 # rootminuit toolfile
257 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit
258 <doc type=BuildSystem::ToolDoc version=1.0>
259 <Tool name=rootminuit version=%v>
260 <info url="http://root.cern.ch/root/"></info>
261 <lib name=Minuit>
262 <use name=ROOT>
263 </Tool>
264 EOF_TOOLFILE
265
266 # rootminuit2 toolfile
267 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2
268 <doc type=BuildSystem::ToolDoc version=1.0>
269 <Tool name=rootminuit2 version=%v>
270 <info url="http://root.cern.ch/root/"></info>
271 <lib name=Minuit2>
272 <use name=ROOT>
273 </Tool>
274 EOF_TOOLFILE
275
276 # rootrflx toolfile
277 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx
278 <doc type=BuildSystem::ToolDoc version=1.0>
279 <Tool name=rootrflx version=%v>
280 <info url="http://root.cern.ch/root/"></info>
281 <lib name=Reflex>
282 <Client>
283 <Environment name=ROOTRFLX_BASE default="%i"></Environment>
284 <Environment name=LIBDIR default="$ROOTRFLX_BASE/lib"></Environment>
285 <Environment name=INCLUDE default="$ROOTRFLX_BASE/include"></Environment>
286 </Client>
287 <use name=sockets>
288 <use name=gccxml>
289 <Runtime name=PATH value="$ROOTRFLX_BASE/bin" type=path>
290 <Runtime name=ROOTSYS value="$ROOTRFLX_BASE/">
291 <Runtime name=GENREFLEX value="$ROOTRFLX_BASE/bin/genreflex">
292 </Tool>
293 EOF_TOOLFILE
294
295 # roothtml toolfile
296 cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml
297 <doc type=BuildSystem::ToolDoc version=1.0>
298 <Tool name=roothtml version=%v>
299 <info url="http://root.cern.ch/root/"></info>
300 <lib name=Html>
301 <use name=RootHistMatrix>
302 </Tool>
303 EOF_TOOLFILE
304
305 # rootroofit toolfile
306 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootroofit
307 <doc type=BuildSystem::ToolDoc version=1.0>
308 <Tool name=rootroofit version=%v>
309 <info url="http://root.cern.ch/root/"></info>
310 <lib name=RooFit>
311 <lib name=RooFitCore>
312 <use name=ROOTMinuit>
313 <use name=ROOTHtml>
314 </Tool>
315 EOF_TOOLFILE
316
317 # rootmlp toolfile
318 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp
319 <doc type=BuildSystem::ToolDoc version=1.0>
320 <Tool name=rootmlp version=%v>
321 <info url="http://root.cern.ch/root/"></info>
322 <lib name=MLP>
323 <use name=RootGraphics>
324 </Tool>
325 EOF_TOOLFILE
326
327 # roottmva toolfile
328 cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva
329 <doc type=BuildSystem::ToolDoc version=1.0>
330 <Tool name=roottmva version=%v>
331 <info url="http://root.cern.ch/root/"></info>
332 <lib name=TMVA>
333 <use name=ROOTMLP>
334 </Tool>
335 EOF_TOOLFILE
336
337 # rootthread toolfile
338 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread
339 <doc type=BuildSystem::ToolDoc version=1.0>
340 <Tool name=rootthread version=%v>
341 <info url="http://root.cern.ch/root/"></info>
342 <use name=ROOTCore>
343 </Tool>
344 EOF_TOOLFILE
345
346 %post
347 %{relocateConfig}etc/scram.d/root
348 %{relocateConfig}etc/scram.d/rootcore
349 %{relocateConfig}etc/scram.d/roothistmatrix
350 %{relocateConfig}etc/scram.d/rootphysics
351 %{relocateConfig}etc/scram.d/rootgraphics
352 %{relocateConfig}etc/scram.d/rootcintex
353 %{relocateConfig}etc/scram.d/rootinteractive
354 %{relocateConfig}etc/scram.d/rootmath
355 %{relocateConfig}etc/scram.d/rootminuit
356 %{relocateConfig}etc/scram.d/rootminuit2
357 %{relocateConfig}etc/scram.d/rootrflx
358 %{relocateConfig}etc/scram.d/roothtml
359 %{relocateConfig}etc/scram.d/rootroofit
360 %{relocateConfig}etc/scram.d/rootmlp
361 %{relocateConfig}etc/scram.d/roottmva
362 %{relocateConfig}etc/scram.d/rootthread