ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.125
Committed: Tue Oct 28 13:00:24 2008 UTC (16 years, 6 months ago) by elmer
Branch: MAIN
CVS Tags: MotT0_1_0_2, MotT0_1_0_1, MotT0_1_0_0, MotT0_100531_1, MotT0_100528_1, T0Mon_100518_1, T0Mon_100503_1, T0Mon_100316_1, T0Mon_100308_2, T0Mon_100308_1, T0Mon_100216_1, T0Mon_100210_1, T0Mon_100204_4, T0Mon_100204_3, T0Mon_100204_1, T0Mon_100127_1, T0Mon_091111_1, T0Mon_090828_1, T0Mon_090822_1, T0Mon_090715_1, T0Mon_090612_1, T0Mon_090611_1, T0Mon_090610_1, T0Mon_090601_1, T0Mon_090527_2, T0Mon_090527_1, T0Mon_090522_1, T0Mon_090519_2, T0Mon_090519_1, T0Mon_090517_1, T0Mon_090516_1, T0Mon_090515_4, T0Mon_090515_3, T0Mon_090515_2, T0Mon_090515_1, T0Mon_090510_1, T0Mon_090406_1, T0Mon_090326_1, T0Mon_090325_1, T0Mon_090318_1, T0Mon_090315_1, T0Mon_090303_1, apFor224v3, apFor224v2, apFor224v1, apFor224v0, smFor224v0, CMSSW_2_2_3_FWLITE, CMSSW_3_0_0_pre4, nr081230_fwlite223, pe20081229-for30X-G492, pe20081218b-for30XIB-412, pe20081218b-for30XIB, pe20081218-for30XIB-412, pe20081218-for30XIB, pe20081216-for30XIB-412, pe20081216-for30XIB, CMSSW_2_2_3, apFor223v0, CMSSW_2_2_2, CMSSW_3_0_0_pre3, apFor222v0, pe20081209a-for30X-412, pe20081209a-for30X, smFor221v1, pe20081204a-for30X-412, pe20081204a-for30X, pe20081104a-for30X, apFor221v0, pe20081124a-for30X-412, pe20081124a-for30X, pe20081121a-for30X-412, pe20081121a-for30X, CMSSW_2_2_0, pe20081121b-30Xports, pe20081121a-30Xports, apFor220v0, testofc, CMSSW_2_1_17, apFor2117v1, pe20081117a-for30X-412, pe20081117a-for30X, CMSSW_3_0_0_pre2, pe20081110a-for30X, pe20081108a-for30X-412, pe20081108a-for30X, CMSSW_2_2_0_pre1, apFor220p1v1, pe20081107a-for30X-412, pe20081107a-for30X, T0Mon_081107_1, T0Mon_081105_1, pe20081031b-for30X-412, pe20081031b-for30X, pe20081031-for30X-412, pe20081031-for30X
Changes since 1.124: +2 -0 lines
Log Message:
Use root-5.18-00-cintex_functional_mmap patch (should resolve selinux-related
issues when running applications on default SLC5)

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