ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
(Generate patch)

Comparing COMP/CMSDIST/root.spec (file contents):
Revision 1.203 by muzaffar, Wed Aug 11 13:04:10 2010 UTC vs.
Revision 1.237 by elmer, Mon Jan 24 22:49:09 2011 UTC

# Line 1 | Line 1
1 < ### RPM lcg root 5.22.00d
1 > ### RPM lcg root 5.27.06b
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   %define closingbrace )
7   %define online %(case %cmsplatf in *onl_*_*%closingbrace echo true;; *%closingbrace echo false;; esac)
8 + %define ismac %(case %cmsplatf in osx*%closingbrace echo true;; *%closingbrace e
9 + cho false;; esac)
10  
11 < Patch0: root-5.22-00d-externals
12 < Patch1: root-5.22-00d-CINT-maxlongline-maxtypedef
13 < Patch2: root-5.22-00-TMVA-shut-the-hell-up-for-once
14 < Patch3: root-5.22-00a-TMVA-shut-the-hell-up-again
15 < Patch4: root-5.22-00d-fireworks-graf3d-gui
16 < Patch5: root-5.22-00a-roofit-silence-static-printout
17 < Patch6: root-5.22-00a-TMVA-just-shut-the-hell-up
18 < Patch7: root-5.22-00a-th1
19 < Patch8: root-5.22-00d-makelib-ldl
20 < Patch9: root-5.22-00a-fireworks1
21 < Patch10: root-5.22-00a-gcc44
22 < Patch11: root-5.22-00a-fireworks2
23 < Patch12: root-5.22-00a-fireworks3
24 < Patch13: root-5.22-00a-gcc43-array-bounds-dictionary-workaround
25 < Patch14: root-5.22-00a-fireworks4
26 < Patch15: root-5.22-00d-fireworks5
27 < Patch16: root-5.22-00d-genreflex_python26_popen3
26 < Patch17: root-5.22-00d-fireworks6
27 < Patch18: root-5.22-00d-linker-gnu-hash-style
28 < Patch19: root-5.22-00d-TFile-version3-Init
29 < Patch20: root-5.22-00d-cint-namespace
30 < Patch21: root-5.22-00d-fireworks7
31 < Patch22: root-5.22-00d-TMath-Vavilov
32 < Patch23: root-5.22-00d-TBranchElement-dropped-data-member
33 < Patch24: root-5.22-00d-fireworks8
34 < Patch25: root-5.22-00d-fix-python-shebang
35 < Patch26: root-5.22-00d-RootsysOnMac
11 > Patch0: root-5.27-06-externals
12 > Patch1: root-5.27-04-CINT-maxlongline-maxtypedef
13 > Patch2: root-5.22-00a-roofit-silence-static-printout
14 > Patch3: root-5.22-00d-linker-gnu-hash-style
15 > Patch4: root-5.22-00d-TBranchElement-dropped-data-member
16 > Patch5: root-5.27-06-fireworks9
17 > Patch6: root-5.27-06b-gdb-backtrace
18 > Patch7: root-5.27-06-tmva-DecisionTreeNode
19 > Patch8: root-5.27-06b-r36567
20 > Patch9: root-5.27-06b-r36572
21 > Patch10: root-5.27-06b-r36707
22 > Patch11: root-5.27-06b-r36594
23 > Patch12: root-5.27-06b-tmva-MethodBase-initvar
24 > Patch13: root-5.27-06b-r37582-tmva
25 > Patch14: root-5.27-06b-r37405
26 > Patch15: root-5.27-06b-r37556
27 > Patch16: root-5.27-06-fireworks10
28  
29   %define cpu %(echo %cmsplatf | cut -d_ -f2)
30  
31 < Requires: gccxml gsl castor libjpg dcap pcre python
31 > Requires: gccxml gsl libjpg libpng libtiff libungif pcre python fftw3
32 >
33 > %if "%ismac" != "true"
34 > Requires: castor dcap
35 > %endif
36 >
37 > %if "%online" != "true"
38 > Requires: openssl zlib xrootd
39 > %endif
40 >
41 > %if "%ismac" == "true"
42 > Requires: gfortran-macosx
43 > %endif
44 >
45   %if "%online" != "true"
46 < Requires: qt openssl libpng zlib libungif xrootd libtiff
46 > %if "%ismac" != "true"
47 > Requires: qt
48 > %endif
49   %endif
50  
51   %prep
# Line 46 | Line 53 | Requires: qt openssl libpng zlib libungi
53   %patch0 -p1
54   %patch1 -p1
55   %patch2 -p1
56 < %patch3 -p1
56 > # patch3 is OS version dependent, see below
57   %patch4 -p1
51
58   %patch5 -p1
59   %patch6 -p1
60   %patch7 -p1
61   %patch8 -p1
62   %patch9 -p1
63 <
58 < # patch10 is compiler version dependent, see below
63 > %patch10 -p1
64   %patch11 -p1
65   %patch12 -p1
66 < # patch13 is compiler version dependent, see below
62 <
63 < # work around patch issue...
64 < rm graf3d/gl/src/gl2ps.c
66 > %patch13 -p1
67   %patch14 -p1
66 #work around patch issues in patch14(?)
67 rm graf3d/eve/inc/TEveLegoOverlay.h.orig
68 rm graf3d/eve/src/TEveLegoOverlay.cxx
69 rm graf3d/gl/inc/gl2ps.h.orig
70 rm graf3d/gl/src/gl2ps.c.orig
68   %patch15 -p1
69   %patch16 -p1
73 %patch17 -p1
74 %patch19 -p1
75 %patch20 -p1
76 %patch21 -p1
77 %patch22 -p1
78 %patch23 -p1
79 %patch24 -p1
80 %patch25 -p1
81 %patch26 -p1
82
83 case %gccver in
84  4.3.*)
85 %patch13 -p1
86  ;;
87  4.4.*)
88 %patch10 -p1
89  ;;
90 esac
70  
71 < # The following patch can only be applied on SLC5 or later (extra linker
71 > # The following patch can only be applied on SLC5 or later (extra linker
72   # options only available with the SLC5 binutils)
73   case %cmsplatf in
74    slc5_* | slc5onl_* )
75 < %patch18 -p1
75 > %patch3 -p1
76    ;;
77   esac
78  
79 + # Delete these (irrelevant) files as the fits appear to confuse rpm on OSX
80 + # (It tries to run install_name_tool on them.)
81 + rm -fR tutorials/fitsio
82 +
83   %build
84  
85   mkdir -p %i
86 + export LIBJPG_ROOT
87   export ROOTSYS=%_builddir/root
88   export PYTHONV=$(echo $PYTHON_VERSION | cut -f1,2 -d.)
89  
# Line 107 | Line 91 | export PYTHONV=$(echo $PYTHON_VERSION |
91   # Use system qt. Also skip xrootd and odbc for online case:
92  
93   EXTRA_CONFIG_ARGS="--with-f77=/usr
110             --disable-xrootd
94               --disable-odbc
95               --disable-qt --disable-qtgsi --disable-astiff"
96   %else
97 + export LIBPNG_ROOT ZLIB_ROOT LIBTIFF_ROOT LIBUNGIF_ROOT
98   EXTRA_CONFIG_ARGS="--with-f77=${GCC_ROOT}
115             --with-xrootd=$XROOTD_ROOT
99               --enable-qt --with-qt-libdir=${QT_ROOT}/lib --with-qt-incdir=${QT_ROOT}/include
100               --with-ssl-incdir=${OPENSSL_ROOT}/include
101               --with-ssl-libdir=${OPENSSL_ROOT}/lib
# Line 130 | Line 113 | CONFIG_ARGS="--enable-table
113               --enable-reflex  
114               --enable-cintex
115               --enable-minuit2
116 +             --enable-fftw3
117 +             --with-fftw3-incdir=${FFTW3_ROOT}/include
118 +             --with-fftw3-libdir=${FFTW3_ROOT}/lib
119               --disable-ldap
120               --disable-krb5
121 +             --with-xrootd=${XROOTD_ROOT}
122               --with-gsl-incdir=${GSL_ROOT}/include
123               --with-gsl-libdir=${GSL_ROOT}/lib
124               --with-dcap-libdir=${DCAP_ROOT}/lib
125               --with-dcap-incdir=${DCAP_ROOT}/include
126               --disable-pgsql
127               --disable-mysql
128 +             --disable-oracle
129               --disable-xml ${EXTRA_CONFIG_ARGS}"
130  
131 < case $(uname)-$(uname -m) in
132 <  Linux-x86_64)
131 > case %cmsos in
132 >  slc*_amd64)
133      ./configure linuxx8664gcc $CONFIG_ARGS --with-rfio-libdir=${CASTOR_ROOT}/lib --with-rfio-incdir=${CASTOR_ROOT}/include/shift --with-castor-libdir=${CASTOR_ROOT}/lib --with-castor-incdir=${CASTOR_ROOT}/include/shift ;;
134 <  Linux-i*86)
134 >  slc*_ia32)
135      ./configure linux  $CONFIG_ARGS --with-rfio-libdir=${CASTOR_ROOT}/lib --with-rfio-incdir=${CASTOR_ROOT}/include/shift --with-castor-libdir=${CASTOR_ROOT}/lib --with-castor-incdir=${CASTOR_ROOT}/include/shift ;;
136 <  Darwin*)
136 >  osx*)
137      case %cmsplatf in
138      *_ia32_* )
139 <      comparch=i386 ;;
139 >      comparch=i386
140 >      macconfig=macosx
141 >      ;;
142      *_amd64_* )
143 <      comparch=x86_64 ;;
143 >      comparch=x86_64
144 >      macconfig=macosx64
145 >      ;;
146      * )
147 <      comparch=ppc ;;
147 >      comparch=ppc
148 >      macconfig=macosx
149 >      ;;
150      esac
151 <    export CC="gcc -arch $comparch" CXX="g++ -arch $comparch"
152 <    ./configure macosx $CONFIG_ARGS --with-cc="$CC" --with-cxx="$CXX" --disable-rfio --disable-builtin_afterimage ;;
153 <  Linux-ppc64*)
151 >    export CC=`which gcc` CXX=`which g++`
152 >    ./configure $arch $CONFIG_ARGS --with-cc="$CC" --with-cxx="$CXX" --disable-rfio --disable-builtin_afterimage ;;
153 >  slc*_ppc64*)
154      ./configure linux $CONFIG_ARGS --disable-rfio;;
155   esac
156  
# Line 168 | Line 162 | case %cmsplatf in
162     makeopts="%makeprocesses"
163    ;;
164   esac
165 <
166 < make $makeopts
165 >
166 > make $makeopts
167   make cintdlls
168  
169   %install
# Line 188 | Line 182 | export ROOTSYS=%i
182   make INSTALL="$cp" INSTALLDATA="$cp" install
183   mkdir -p $ROOTSYS/lib/python
184   cp -r cint/reflex/python/genreflex $ROOTSYS/lib/python
185 + # This file confuses rpm's find-requires because it starts with
186 + # a """ and it thinks is the shebang.
187 + rm -f %i/tutorials/pyroot/mrt.py
188 +
189 + # SCRAM ToolBox toolfile
190 + mkdir -p %i/etc/scram.d
191 + # rootcore toolfile
192 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcore.xml
193 +  <tool name="rootcore" version="%v">
194 +    <info url="http://root.cern.ch/root/"/>
195 +    <lib name="Tree"/>
196 +    <lib name="Net"/>
197 +    <lib name="Thread"/>
198 +    <lib name="MathCore"/>
199 +    <lib name="RIO"/>
200 +    <lib name="Core"/>
201 +    <lib name="Cint"/>
202 +    <client>
203 +      <environment name="ROOTCORE_BASE" default="%i"/>
204 +      <environment name="LIBDIR" default="$ROOTCORE_BASE/lib"/>
205 +      <environment name="INCLUDE" default="$ROOTCORE_BASE/include"/>
206 +      <environment name="INCLUDE" default="$ROOTCORE_BASE/cint"/>
207 +    </client>
208 +    <runtime name="PATH" value="$ROOTCORE_BASE/bin" type="path"/>
209 +    <runtime name="ROOTSYS" value="$ROOTCORE_BASE/"/>
210 +    <runtime name="PYTHONPATH" value="$ROOTCORE_BASE/lib" type="path"/>
211 +    <use name="sockets"/>
212 +    <use name="pcre"/>
213 +    <use name="zlib"/>
214 +  </tool>
215 + EOF_TOOLFILE
216 +
217 + # root toolfile, alias for rootphysics. Using rootphysics is preferred.
218 + cat << \EOF_TOOLFILE >%i/etc/scram.d/root.xml
219 +  <tool name="root" version="%v">
220 +    <info url="http://root.cern.ch/root/"/>
221 +    <use name="rootphysics"/>
222 +  </tool>
223 + EOF_TOOLFILE
224 +
225 + # roothistmatrix toolfile
226 + cat << \EOF_TOOLFILE >%i/etc/scram.d/roothistmatrix.xml
227 +  <tool name="roothistmatrix" version="%v">
228 +    <info url="http://root.cern.ch/root/"/>
229 +    <lib name="Hist"/>
230 +    <lib name="Matrix"/>
231 +    <use name="ROOTCore"/>
232 +  </tool>
233 + EOF_TOOLFILE
234 +
235 + # rootgpad toolfile
236 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgpad.xml
237 +  <tool name="rootgpad" version="%v">
238 +    <info url="http://root.cern.ch/root/"/>
239 +    <lib name="Gpad"/>
240 +    <lib name="Graf"/>
241 +    <use name="roothistmatrix"/>
242 +  </tool>
243 + EOF_TOOLFILE
244 +
245 + # rootphysics toolfile
246 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootphysics.xml
247 +  <tool name="rootphysics" version="%v">
248 +    <info url="http://root.cern.ch/root/"/>
249 +    <lib name="Physics"/>
250 +    <use name="roothistmatrix"/>
251 +  </tool>
252 + EOF_TOOLFILE
253 +
254 + # rootgraphics toolfile, identical to old "root" toolfile
255 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgraphics.xml
256 +  <tool name="rootgraphics" version="%v">
257 +    <info url="http://root.cern.ch/root/"/>
258 +    <lib name="TreePlayer"/>
259 +    <lib name="Graf3d"/>
260 +    <lib name="Postscript"/>
261 +    <use name="rootgpad"/>
262 +  </tool>
263 + EOF_TOOLFILE
264 +
265 + # rootcintex toolfile
266 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcintex.xml
267 +  <tool name="rootcintex" version="%v">
268 +    <info url="http://root.cern.ch/root/"/>
269 +    <lib name="Cintex"/>
270 +    <use name="ROOTRflx"/>
271 +    <use name="ROOTCore"/>
272 +  </tool>
273 + EOF_TOOLFILE
274 +
275 + # rootinteractive toolfile (GQt/qt lib dependencies
276 + # have been moved to rootqt.xml)
277 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive.xml
278 +  <tool name="rootinteractive" version="%v">
279 +    <info url="http://root.cern.ch/root/"/>
280 +    <lib name="Rint"/>
281 +    <lib name="Gui"/>
282 +    <use name="libjpg"/>
283 +    <use name="libpng"/>
284 +    <use name="rootgpad"/>
285 +  </tool>
286 + EOF_TOOLFILE
287 +
288 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootqt.xml
289 +  <tool name="rootqt" version="%v">
290 +    <info url="http://root.cern.ch/root/"/>
291 +    <lib name="GQt"/>
292 +    <use name="qt"/>
293 +  </tool>
294 + EOF_TOOLFILE
295 +
296 + # rootmath toolfile
297 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmath.xml
298 +  <tool name="rootmath" version="%v">
299 +    <info url="http://root.cern.ch/root/"/>
300 +    <lib name="GenVector"/>
301 +    <lib name="MathMore"/>
302 +    <use name="ROOTCore"/>
303 +    <use name="gsl"/>
304 +  </tool>
305 + EOF_TOOLFILE
306 +
307 + # rootminuit toolfile
308 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit.xml
309 +  <tool name="rootminuit" version="%v">
310 +    <info url="http://root.cern.ch/root/"/>
311 +    <lib name="Minuit"/>
312 +    <use name="rootgpad"/>
313 +  </tool>
314 + EOF_TOOLFILE
315 +
316 + # rootminuit2 toolfile
317 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2.xml
318 +  <tool name="rootminuit2" version="%v">
319 +    <info url="http://root.cern.ch/root/"/>
320 +    <lib name="Minuit2"/>
321 +    <use name="rootgpad"/>
322 +  </tool>
323 + EOF_TOOLFILE
324 +
325 + # rootrflx toolfile
326 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx.xml
327 +  <tool name="rootrflx" version="%v">
328 +    <info url="http://root.cern.ch/root/"/>
329 +    <lib name="Reflex"/>
330 +    <client>
331 +      <environment name="ROOTRFLX_BASE" default="%i"/>
332 +      <environment name="LIBDIR" default="$ROOTRFLX_BASE/lib"/>
333 +      <environment name="INCLUDE" default="$ROOTRFLX_BASE/include"/>
334 +    </client>
335 +    <runtime name="PATH" value="$ROOTRFLX_BASE/bin" type="path"/>
336 +    <runtime name="ROOTSYS" value="$ROOTRFLX_BASE/"/>
337 +    <runtime name="GENREFLEX" value="$ROOTRFLX_BASE/bin/genreflex"/>
338 +    <use name="sockets"/>
339 +    <use name="gccxml"/>
340 +  </tool>
341 + EOF_TOOLFILE
342 +
343 + # roothtml toolfile
344 + cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml.xml
345 +  <tool name="roothtml" version="%v">
346 +    <info url="http://root.cern.ch/root/"/>
347 +    <lib name="Html"/>
348 +    <use name="rootgpad"/>
349 +  </tool>
350 + EOF_TOOLFILE
351 +
352 + # rootmlp toolfile
353 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp.xml
354 +  <tool name="rootmlp" version="%v">
355 +    <info url="http://root.cern.ch/root/"/>
356 +    <lib name="MLP"/>
357 +    <use name="RootGraphics"/>
358 +  </tool>
359 + EOF_TOOLFILE
360 +
361 + # roottmva toolfile
362 + cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva.xml
363 +  <tool name="roottmva" version="%v">
364 +    <info url="http://root.cern.ch/root/"/>
365 +    <lib name="TMVA"/>
366 +    <use name="ROOTMLP"/>
367 +    <use name="rootminuit"/>
368 +  </tool>
369 + EOF_TOOLFILE
370 +
371 + # rootthread toolfile
372 + cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread.xml
373 +  <tool name="rootthread" version="%v">
374 +    <info url="http://root.cern.ch/root/"/>
375 +    <use name="ROOTCore"/>
376 +  </tool>
377 + EOF_TOOLFILE
378 +
379 + %post
380 + perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $(find $RPM_INSTALL_PREFIX/%pkgrel/etc/scram.d -type f)
381 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines