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.231 by elmer, Thu Jan 20 22:54:31 2011 UTC vs.
Revision 1.329 by davidlt, Sun Jan 29 18:13:50 2012 UTC

# Line 1 | Line 1
1 < ### RPM lcg root 5.27.06b
1 > ### RPM lcg root 5.32.00
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.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-tmva_Event_dynamic_hack
25 <
4 > #Source: ftp://root.cern.ch/%n/%{n}_v%{realversion}.source.tar.gz
5 > %define svntag %(echo %realversion | tr . -)
6 > Source: svn://root.cern.ch/svn/root/tags/v%{svntag}/?scheme=http&strategy=export&module=%n-%{realversion}&output=/%n-%{realversion}.tgz
7 > %define online %(case %cmsplatf in (*onl_*_*) echo true;; (*) echo false;; esac)
8 > %define ismac %(case %cmsplatf in (osx*) echo true;; (*) echo false;; esac)
9 >
10 > Patch0: root-5.32-00-externals
11 > Patch1: root-5.28-00d-roofit-silence-static-printout
12 > Patch2: root-5.32-00-linker-gnu-hash-style
13 > Patch3: root-5.32.00-detect-arch
14 > Patch4: root-5.30.02-fix-gcc46
15 > Patch5: root-5.30.02-fix-isnan-again
16 > # See https://hypernews.cern.ch/HyperNews/CMS/get/edmFramework/2913/1/1.html
17 > Patch6: root-5.32.00-fix-oneline
18 > Patch7: root-5.32.00-longBranchName
19 >
20   %define cpu %(echo %cmsplatf | cut -d_ -f2)
21  
22 < Requires: gccxml gsl libjpg libpng libtiff libungif pcre python fftw3
22 > Requires: gccxml gsl libjpg libpng libtiff libungif pcre python fftw3 xz xrootd libxml2
23  
24 < %if "%ismac" == "false"
24 > %if "%ismac" != "true"
25   Requires: castor dcap
26   %endif
27  
28 < %if "%online-%ismac" == "false-true"
29 < Requires: openssl zlib gfortran-macosx
28 > %if "%online" != "true"
29 > Requires: openssl zlib
30   %endif
31  
32 < %if "%online-%ismac" == "false-false"
33 < Requires: openssl zlib qt xrootd
32 > %define keep_archives true
33 > %if "%(case %cmsplatf in (osx*_*_gcc421) echo true ;; (*) echo false ;; esac)" == "true"
34 > Requires: gfortran-macosx
35 > %endif
36 >
37 > %if "%(case %cmsplatf in (osx*) echo true ;; (*) echo false ;; esac)" == "true"
38 > Requires: freetype
39   %endif
40  
41   %prep
42 < %setup -n root
42 > %setup -n root-%realversion
43   %patch0 -p1
44   %patch1 -p1
45 < %patch2 -p1
47 < # patch3 is OS version dependent, see below
45 > %patch3 -p1
46   %patch4 -p1
47   %patch5 -p1
48   %patch6 -p1
49 < %patch7 -p1
52 < %patch8 -p1
53 < %patch9 -p1
54 < %patch10 -p1
55 < %patch11 -p1
56 < %patch12 -p1
57 < %patch13 -p1
58 <
49 > %patch7 -p2
50   # The following patch can only be applied on SLC5 or later (extra linker
51   # options only available with the SLC5 binutils)
52   case %cmsplatf in
53 <  slc5_* | slc5onl_* )
54 < %patch3 -p1
53 >  slc[56]_* | slc5onl_* )
54 > %patch2 -p1
55    ;;
56   esac
57  
58 + # Delete these (irrelevant) files as the fits appear to confuse rpm on OSX
59 + # (It tries to run install_name_tool on them.)
60 + rm -fR tutorials/fitsio
61 +
62   %build
63  
64   mkdir -p %i
# Line 72 | Line 67 | export ROOTSYS=%_builddir/root
67   export PYTHONV=$(echo $PYTHON_VERSION | cut -f1,2 -d.)
68  
69   %if "%online" == "true"
70 < # Use system qt. Also skip xrootd and odbc for online case:
70 > # Also skip xrootd and odbc for online case:
71  
72   EXTRA_CONFIG_ARGS="--with-f77=/usr
73 <             --disable-odbc
79 <             --disable-qt --disable-qtgsi --disable-astiff"
73 >             --disable-odbc --disable-astiff"
74   %else
75   export LIBPNG_ROOT ZLIB_ROOT LIBTIFF_ROOT LIBUNGIF_ROOT
76   EXTRA_CONFIG_ARGS="--with-f77=${GCC_ROOT}
83             --enable-qt --with-qt-libdir=${QT_ROOT}/lib --with-qt-incdir=${QT_ROOT}/include
77               --with-ssl-incdir=${OPENSSL_ROOT}/include
78 <             --with-ssl-libdir=${OPENSSL_ROOT}/lib
86 <             --enable-qtgsi"
78 >             --with-ssl-libdir=${OPENSSL_ROOT}/lib"
79   %endif
80 <
80 > LZMA=${XZ_ROOT}
81 > export LZMA
82   CONFIG_ARGS="--enable-table
83               --disable-builtin-pcre
84               --disable-builtin-freetype
# Line 96 | Line 89 | CONFIG_ARGS="--enable-table
89               --enable-mathmore
90               --enable-reflex  
91               --enable-cintex
92 <             --enable-minuit2
92 >             --enable-minuit2
93 >             --disable-builtin-lzma
94               --enable-fftw3
95               --with-fftw3-incdir=${FFTW3_ROOT}/include
96               --with-fftw3-libdir=${FFTW3_ROOT}/lib
# Line 109 | Line 103 | CONFIG_ARGS="--enable-table
103               --with-dcap-incdir=${DCAP_ROOT}/include
104               --disable-pgsql
105               --disable-mysql
106 <             --disable-xml ${EXTRA_CONFIG_ARGS}"
106 >             --disable-qt --disable-qtgsi
107 >             --with-cint-maxstruct=36000
108 >             --with-cint-maxtypedef=36000
109 >             --with-cint-longline=4096
110 >             --disable-oracle ${EXTRA_CONFIG_ARGS}"
111  
112 < case $(uname)-$(uname -m) in
113 <  Linux-x86_64)
112 > case %cmsos in
113 >  slc*)
114      ./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 ;;
115 <  Linux-i*86)
116 <    ./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 ;;
117 <  Darwin*)
118 <    case %cmsplatf in
119 <    *_ia32_* )
122 <      comparch=i386
123 <      macconfig=macosx
124 <      ;;
125 <    *_amd64_* )
126 <      comparch=x86_64
127 <      macconfig=macosx64
128 <      ;;
129 <    * )
130 <      comparch=ppc
131 <      macconfig=macosx
132 <      ;;
133 <    esac
134 <    export CC="gcc -arch $comparch" CXX="g++ -arch $comparch"
135 <    ./configure $macconfig $CONFIG_ARGS --with-cc="$CC" --with-cxx="$CXX" --disable-rfio --disable-builtin_afterimage ;;
136 <  Linux-ppc64*)
115 >  osx*)
116 >    comparch=x86_64
117 >    macconfig=macosx64
118 >    ./configure $arch $CONFIG_ARGS --disable-rfio --disable-builtin_afterimage ;;
119 >  slc*_ppc64*)
120      ./configure linux $CONFIG_ARGS --disable-rfio;;
121   esac
122  
123 < case %cmsplatf in
124 <  osx*)
125 <   makeopts=
143 <  ;;
144 <  *)
145 <   makeopts="%makeprocesses"
146 <  ;;
147 < esac
148 <
149 < make $makeopts
150 < make cintdlls
123 > makeopts="%makeprocesses"
124 >
125 > make $makeopts
126  
127   %install
128   # Override installers if we are using GNU fileutils cp.  On OS X
# Line 165 | Line 140 | export ROOTSYS=%i
140   make INSTALL="$cp" INSTALLDATA="$cp" install
141   mkdir -p $ROOTSYS/lib/python
142   cp -r cint/reflex/python/genreflex $ROOTSYS/lib/python
143 + # This file confuses rpm's find-requires because it starts with
144 + # a """ and it thinks is the shebang.
145 + rm -f %i/tutorials/pyroot/mrt.py
146  
169 # SCRAM ToolBox toolfile
170 mkdir -p %i/etc/scram.d
171 # rootcore toolfile
172 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcore.xml
173  <tool name="rootcore" version="%v">
174    <info url="http://root.cern.ch/root/"/>
175    <lib name="Tree"/>
176    <lib name="Net"/>
177    <lib name="Thread"/>
178    <lib name="MathCore"/>
179    <lib name="RIO"/>
180    <lib name="Core"/>
181    <lib name="Cint"/>
182    <client>
183      <environment name="ROOTCORE_BASE" default="%i"/>
184      <environment name="LIBDIR" default="$ROOTCORE_BASE/lib"/>
185      <environment name="INCLUDE" default="$ROOTCORE_BASE/include"/>
186      <environment name="INCLUDE" default="$ROOTCORE_BASE/cint"/>
187    </client>
188    <runtime name="PATH" value="$ROOTCORE_BASE/bin" type="path"/>
189    <runtime name="ROOTSYS" value="$ROOTCORE_BASE/"/>
190    <runtime name="PYTHONPATH" value="$ROOTCORE_BASE/lib" type="path"/>
191    <use name="sockets"/>
192    <use name="pcre"/>
193    <use name="zlib"/>
194  </tool>
195 EOF_TOOLFILE
196
197 # root toolfile, alias for rootphysics. Using rootphysics is preferred.
198 cat << \EOF_TOOLFILE >%i/etc/scram.d/root.xml
199  <tool name="root" version="%v">
200    <info url="http://root.cern.ch/root/"/>
201    <use name="rootphysics"/>
202  </tool>
203 EOF_TOOLFILE
204
205 # roothistmatrix toolfile
206 cat << \EOF_TOOLFILE >%i/etc/scram.d/roothistmatrix.xml
207  <tool name="roothistmatrix" version="%v">
208    <info url="http://root.cern.ch/root/"/>
209    <lib name="Hist"/>
210    <lib name="Matrix"/>
211    <use name="ROOTCore"/>
212  </tool>
213 EOF_TOOLFILE
214
215 # rootgpad toolfile
216 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgpad.xml
217  <tool name="rootgpad" version="%v">
218    <info url="http://root.cern.ch/root/"/>
219    <lib name="Gpad"/>
220    <lib name="Graf"/>
221    <use name="roothistmatrix"/>
222  </tool>
223 EOF_TOOLFILE
224
225 # rootphysics toolfile
226 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootphysics.xml
227  <tool name="rootphysics" version="%v">
228    <info url="http://root.cern.ch/root/"/>
229    <lib name="Physics"/>
230    <use name="roothistmatrix"/>
231  </tool>
232 EOF_TOOLFILE
233
234 # rootgraphics toolfile, identical to old "root" toolfile
235 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgraphics.xml
236  <tool name="rootgraphics" version="%v">
237    <info url="http://root.cern.ch/root/"/>
238    <lib name="TreePlayer"/>
239    <lib name="Graf3d"/>
240    <lib name="Postscript"/>
241    <use name="rootgpad"/>
242  </tool>
243 EOF_TOOLFILE
244
245 # rootcintex toolfile
246 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcintex.xml
247  <tool name="rootcintex" version="%v">
248    <info url="http://root.cern.ch/root/"/>
249    <lib name="Cintex"/>
250    <use name="ROOTRflx"/>
251    <use name="ROOTCore"/>
252  </tool>
253 EOF_TOOLFILE
254
255 # rootinteractive toolfile (GQt/qt lib dependencies
256 # have been moved to rootqt.xml)
257 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive.xml
258  <tool name="rootinteractive" version="%v">
259    <info url="http://root.cern.ch/root/"/>
260    <lib name="Rint"/>
261    <lib name="Gui"/>
262    <use name="libjpg"/>
263    <use name="libpng"/>
264    <use name="rootgpad"/>
265  </tool>
266 EOF_TOOLFILE
267
268 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootqt.xml
269  <tool name="rootqt" version="%v">
270    <info url="http://root.cern.ch/root/"/>
271    <lib name="GQt"/>
272    <use name="qt"/>
273  </tool>
274 EOF_TOOLFILE
275
276 # rootmath toolfile
277 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmath.xml
278  <tool name="rootmath" version="%v">
279    <info url="http://root.cern.ch/root/"/>
280    <lib name="GenVector"/>
281    <lib name="MathMore"/>
282    <use name="ROOTCore"/>
283    <use name="gsl"/>
284  </tool>
285 EOF_TOOLFILE
286
287 # rootminuit toolfile
288 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit.xml
289  <tool name="rootminuit" version="%v">
290    <info url="http://root.cern.ch/root/"/>
291    <lib name="Minuit"/>
292    <use name="rootgpad"/>
293  </tool>
294 EOF_TOOLFILE
295
296 # rootminuit2 toolfile
297 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2.xml
298  <tool name="rootminuit2" version="%v">
299    <info url="http://root.cern.ch/root/"/>
300    <lib name="Minuit2"/>
301    <use name="rootgpad"/>
302  </tool>
303 EOF_TOOLFILE
304
305 # rootrflx toolfile
306 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx.xml
307  <tool name="rootrflx" version="%v">
308    <info url="http://root.cern.ch/root/"/>
309    <lib name="Reflex"/>
310    <client>
311      <environment name="ROOTRFLX_BASE" default="%i"/>
312      <environment name="LIBDIR" default="$ROOTRFLX_BASE/lib"/>
313      <environment name="INCLUDE" default="$ROOTRFLX_BASE/include"/>
314    </client>
315    <runtime name="PATH" value="$ROOTRFLX_BASE/bin" type="path"/>
316    <runtime name="ROOTSYS" value="$ROOTRFLX_BASE/"/>
317    <runtime name="GENREFLEX" value="$ROOTRFLX_BASE/bin/genreflex"/>
318    <use name="sockets"/>
319    <use name="gccxml"/>
320  </tool>
321 EOF_TOOLFILE
322
323 # roothtml toolfile
324 cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml.xml
325  <tool name="roothtml" version="%v">
326    <info url="http://root.cern.ch/root/"/>
327    <lib name="Html"/>
328    <use name="rootgpad"/>
329  </tool>
330 EOF_TOOLFILE
331
332 # rootmlp toolfile
333 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp.xml
334  <tool name="rootmlp" version="%v">
335    <info url="http://root.cern.ch/root/"/>
336    <lib name="MLP"/>
337    <use name="RootGraphics"/>
338  </tool>
339 EOF_TOOLFILE
340
341 # roottmva toolfile
342 cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva.xml
343  <tool name="roottmva" version="%v">
344    <info url="http://root.cern.ch/root/"/>
345    <lib name="TMVA"/>
346    <use name="ROOTMLP"/>
347    <use name="rootminuit"/>
348  </tool>
349 EOF_TOOLFILE
350
351 # rootthread toolfile
352 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread.xml
353  <tool name="rootthread" version="%v">
354    <info url="http://root.cern.ch/root/"/>
355    <use name="ROOTCore"/>
356  </tool>
357 EOF_TOOLFILE
358
359 %post
360 perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $(find $RPM_INSTALL_PREFIX/%pkgrel/etc/scram.d -type f)
147  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines