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.205 by elmer, Tue Aug 17 18:25:23 2010 UTC vs.
Revision 1.314 by eulisse, Thu Dec 1 10:29:56 2011 UTC

# Line 1 | Line 1
1 < ### RPM lcg root 5.27.04
1 > ### RPM lcg root 5.30.02
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 <
9 < Patch0: root-5.18-00-libpng
10 < Patch1: root-5.27-04-CINT-maxlongline-maxtypedef
11 < Patch2: root-5.22-00a-roofit-silence-static-printout
12 < Patch3: root-5.22-00d-linker-gnu-hash-style
13 < Patch4: root-5.22-00d-TBranchElement-dropped-data-member
14 < Patch5: root-5.27-04-fireworks8
15 <
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.28-00d-externals
11 > Patch1: root-5.28-00d-CINT-maxlongline-maxtypedef
12 > Patch2: root-5.28-00d-roofit-silence-static-printout
13 > Patch3: root-5.28-00d-linker-gnu-hash-style
14 > #Patch4: root-5.28-00d-TBranchElement-dropped-data-member
15 > #Patch5: root-5.30-00-TSchemaRuleProcessor-nested-space
16 > #Patch5: root-5.28-00d-r37582-tmva
17 > #Patch6: root-5.28-00d-TTreeCache-r37919
18 > #Patch7: root-5.28-00d-r38248-r38259-r38264-r38265-r38267
19 > #Patch8: root-5.28-00d-fireworks1
20 > #Patch9: root-5.28-00d-r39155
21 > #Patch10: root-5.28-00d-r39525
22 > #Patch11: root-5.28-00d-r39657
23 > #Patch12: root-5.28-00d-r39759
24 > #Patch13: root-5.28-00d-fix-tsystem-load-macosx
25 > Patch14: root-5.30.02-detect-arch
26 > #Patch15: root-5.30.02-fix-isnan
27 > Patch16: root-5.30.02-fix-gcc46
28 > Patch17: root-5.30.02-r41453
29 > Patch18: root-5.30.02-r41523
30 > Patch19: root-5.30.02-fix-isnan-again
31 > Patch20: root-5.30.02-r41402
32 >
33   %define cpu %(echo %cmsplatf | cut -d_ -f2)
34  
35 < Requires: gccxml gsl castor libjpg dcap pcre python
35 > Requires: gccxml gsl libjpg libpng libtiff libungif pcre python fftw3 xz xrootd
36 >
37 > %if "%ismac" != "true"
38 > Requires: castor dcap
39 > %endif
40 >
41   %if "%online" != "true"
42 < Requires: qt openssl libpng zlib libungif libtiff
42 > Requires: openssl zlib
43 > %endif
44 >
45 > %define keep_archives true
46 > %if "%(case %cmsplatf in (osx*_*_gcc421) echo true ;; (*) echo false ;; esac)" == "true"
47 > Requires: gfortran-macosx
48 > %endif
49 >
50 > %if "%(case %cmsplatf in (osx*) echo true ;; (*) echo false ;; esac)" == "true"
51 > Requires: freetype
52   %endif
53  
54   %prep
55 < %setup -n root
55 > %setup -n root-%realversion
56   %patch0 -p1
57   %patch1 -p1
58   %patch2 -p1
59   # patch3 is OS version dependent, see below
60 < %patch4 -p1
61 < %patch5 -p1
60 > # patch4 -p1
61 > # patch5 -p2
62 > # patch5 -p1
63 > # patch6 -p1
64 > # patch7 -p1
65 > # patch8 -p1
66 > # patch9 -p1
67 > # patch10 -p1 TRY AGAIN!
68 > # patch11 -p0
69 > # patch12 -p2
70 > # patch13 -p1
71 > %patch14 -p0
72 > # patch15 -p1
73 > %patch16 -p1
74 > %patch17 -p1
75 > %patch18 -p2
76 > %patch19 -p1
77 > %patch20 -p2
78  
79   # The following patch can only be applied on SLC5 or later (extra linker
80   # options only available with the SLC5 binutils)
81   case %cmsplatf in
82 <  slc5_* | slc5onl_* )
82 >  slc[56]_* | slc5onl_* )
83   %patch3 -p1
84    ;;
85   esac
86  
87 + # Delete these (irrelevant) files as the fits appear to confuse rpm on OSX
88 + # (It tries to run install_name_tool on them.)
89 + rm -fR tutorials/fitsio
90 +
91   %build
92  
93   mkdir -p %i
94 + export LIBJPG_ROOT
95   export ROOTSYS=%_builddir/root
96   export PYTHONV=$(echo $PYTHON_VERSION | cut -f1,2 -d.)
97  
98   %if "%online" == "true"
99 < # Use system qt. Also skip xrootd and odbc for online case:
99 > # Also skip xrootd and odbc for online case:
100  
101   EXTRA_CONFIG_ARGS="--with-f77=/usr
102 <             --disable-odbc
51 <             --disable-qt --disable-qtgsi --disable-astiff"
102 >             --disable-odbc --disable-astiff"
103   %else
104 + export LIBPNG_ROOT ZLIB_ROOT LIBTIFF_ROOT LIBUNGIF_ROOT
105   EXTRA_CONFIG_ARGS="--with-f77=${GCC_ROOT}
54             --enable-qt --with-qt-libdir=${QT_ROOT}/lib --with-qt-incdir=${QT_ROOT}/include
106               --with-ssl-incdir=${OPENSSL_ROOT}/include
107 <             --with-ssl-libdir=${OPENSSL_ROOT}/lib
57 <             --enable-qtgsi"
107 >             --with-ssl-libdir=${OPENSSL_ROOT}/lib"
108   %endif
109 <
109 > LZMA=${XZ_ROOT}
110 > export LZMA
111   CONFIG_ARGS="--enable-table
112               --disable-builtin-pcre
113               --disable-builtin-freetype
# Line 67 | Line 118 | CONFIG_ARGS="--enable-table
118               --enable-mathmore
119               --enable-reflex  
120               --enable-cintex
121 <             --enable-minuit2
121 >             --enable-minuit2
122 >             --disable-builtin-lzma
123 >             --enable-fftw3
124 >             --with-fftw3-incdir=${FFTW3_ROOT}/include
125 >             --with-fftw3-libdir=${FFTW3_ROOT}/lib
126               --disable-ldap
127               --disable-krb5
128 +             --with-xrootd=${XROOTD_ROOT}
129               --with-gsl-incdir=${GSL_ROOT}/include
130               --with-gsl-libdir=${GSL_ROOT}/lib
131               --with-dcap-libdir=${DCAP_ROOT}/lib
132               --with-dcap-incdir=${DCAP_ROOT}/include
133               --disable-pgsql
134               --disable-mysql
135 <             --disable-xml ${EXTRA_CONFIG_ARGS}"
135 >             --disable-qt --disable-qtgsi
136 >             --disable-oracle ${EXTRA_CONFIG_ARGS}"
137  
138 < case $(uname)-$(uname -m) in
139 <  Linux-x86_64)
138 > case %cmsos in
139 >  slc*)
140      ./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 ;;
141 <  Linux-i*86)
142 <    ./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 ;;
143 <  Darwin*)
144 <    case %cmsplatf in
145 <    *_ia32_* )
89 <      comparch=i386 ;;
90 <    *_amd64_* )
91 <      comparch=x86_64 ;;
92 <    * )
93 <      comparch=ppc ;;
94 <    esac
95 <    export CC="gcc -arch $comparch" CXX="g++ -arch $comparch"
96 <    ./configure macosx $CONFIG_ARGS --with-cc="$CC" --with-cxx="$CXX" --disable-rfio --disable-builtin_afterimage ;;
97 <  Linux-ppc64*)
141 >  osx*)
142 >    comparch=x86_64
143 >    macconfig=macosx64
144 >    ./configure $arch $CONFIG_ARGS --disable-rfio --disable-builtin_afterimage ;;
145 >  slc*_ppc64*)
146      ./configure linux $CONFIG_ARGS --disable-rfio;;
147   esac
148  
149 < case %cmsplatf in
150 <  osx*)
151 <   makeopts=
104 <  ;;
105 <  *)
106 <   makeopts="%makeprocesses"
107 <  ;;
108 < esac
109 <
110 < make $makeopts
111 < make cintdlls
149 > makeopts="%makeprocesses"
150 >
151 > make $makeopts
152  
153   %install
154   # Override installers if we are using GNU fileutils cp.  On OS X
# Line 126 | Line 166 | export ROOTSYS=%i
166   make INSTALL="$cp" INSTALLDATA="$cp" install
167   mkdir -p $ROOTSYS/lib/python
168   cp -r cint/reflex/python/genreflex $ROOTSYS/lib/python
169 + # This file confuses rpm's find-requires because it starts with
170 + # a """ and it thinks is the shebang.
171 + rm -f %i/tutorials/pyroot/mrt.py
172  
130 # SCRAM ToolBox toolfile
131 mkdir -p %i/etc/scram.d
132 # rootcore toolfile
133 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcore.xml
134  <tool name="rootcore" version="%v">
135    <info url="http://root.cern.ch/root/"/>
136    <lib name="Tree"/>
137    <lib name="Net"/>
138    <lib name="Thread"/>
139    <lib name="MathCore"/>
140    <lib name="RIO"/>
141    <lib name="Core"/>
142    <lib name="Cint"/>
143    <client>
144      <environment name="ROOTCORE_BASE" default="%i"/>
145      <environment name="LIBDIR" default="$ROOTCORE_BASE/lib"/>
146      <environment name="INCLUDE" default="$ROOTCORE_BASE/include"/>
147      <environment name="INCLUDE" default="$ROOTCORE_BASE/cint"/>
148    </client>
149    <runtime name="PATH" value="$ROOTCORE_BASE/bin" type="path"/>
150    <runtime name="ROOTSYS" value="$ROOTCORE_BASE/"/>
151    <runtime name="PYTHONPATH" value="$ROOTCORE_BASE/lib" type="path"/>
152    <use name="sockets"/>
153    <use name="pcre"/>
154    <use name="zlib"/>
155  </tool>
156 EOF_TOOLFILE
157
158 # root toolfile, alias for rootphysics. Using rootphysics is preferred.
159 cat << \EOF_TOOLFILE >%i/etc/scram.d/root.xml
160  <tool name="root" version="%v">
161    <info url="http://root.cern.ch/root/"/>
162    <use name="rootphysics"/>
163  </tool>
164 EOF_TOOLFILE
165
166 # roothistmatrix toolfile
167 cat << \EOF_TOOLFILE >%i/etc/scram.d/roothistmatrix.xml
168  <tool name="roothistmatrix" version="%v">
169    <info url="http://root.cern.ch/root/"/>
170    <lib name="Hist"/>
171    <lib name="Matrix"/>
172    <use name="ROOTCore"/>
173  </tool>
174 EOF_TOOLFILE
175
176 # rootgpad toolfile
177 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgpad.xml
178  <tool name="rootgpad" version="%v">
179    <info url="http://root.cern.ch/root/"/>
180    <lib name="Gpad"/>
181    <lib name="Graf"/>
182    <use name="roothistmatrix"/>
183  </tool>
184 EOF_TOOLFILE
185
186 # rootphysics toolfile
187 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootphysics.xml
188  <tool name="rootphysics" version="%v">
189    <info url="http://root.cern.ch/root/"/>
190    <lib name="Physics"/>
191    <use name="roothistmatrix"/>
192  </tool>
193 EOF_TOOLFILE
194
195 # rootgraphics toolfile, identical to old "root" toolfile
196 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgraphics.xml
197  <tool name="rootgraphics" version="%v">
198    <info url="http://root.cern.ch/root/"/>
199    <lib name="TreePlayer"/>
200    <lib name="Graf3d"/>
201    <lib name="Postscript"/>
202    <use name="rootgpad"/>
203  </tool>
204 EOF_TOOLFILE
205
206 # rootcintex toolfile
207 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcintex.xml
208  <tool name="rootcintex" version="%v">
209    <info url="http://root.cern.ch/root/"/>
210    <lib name="Cintex"/>
211    <use name="ROOTRflx"/>
212    <use name="ROOTCore"/>
213  </tool>
214 EOF_TOOLFILE
215
216 # rootinteractive toolfile (GQt/qt lib dependencies
217 # have been moved to rootqt.xml)
218 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive.xml
219  <tool name="rootinteractive" version="%v">
220    <info url="http://root.cern.ch/root/"/>
221    <lib name="Rint"/>
222    <lib name="Gui"/>
223    <use name="libjpg"/>
224    <use name="libpng"/>
225    <use name="rootgpad"/>
226  </tool>
227 EOF_TOOLFILE
228
229 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootqt.xml
230  <tool name="rootqt" version="%v">
231    <info url="http://root.cern.ch/root/"/>
232    <lib name="GQt"/>
233    <use name="qt"/>
234  </tool>
235 EOF_TOOLFILE
236
237 # rootmath toolfile
238 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmath.xml
239  <tool name="rootmath" version="%v">
240    <info url="http://root.cern.ch/root/"/>
241    <lib name="GenVector"/>
242    <lib name="MathMore"/>
243    <use name="ROOTCore"/>
244    <use name="gsl"/>
245  </tool>
246 EOF_TOOLFILE
247
248 # rootminuit toolfile
249 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit.xml
250  <tool name="rootminuit" version="%v">
251    <info url="http://root.cern.ch/root/"/>
252    <lib name="Minuit"/>
253    <use name="rootgpad"/>
254  </tool>
255 EOF_TOOLFILE
256
257 # rootminuit2 toolfile
258 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2.xml
259  <tool name="rootminuit2" version="%v">
260    <info url="http://root.cern.ch/root/"/>
261    <lib name="Minuit2"/>
262    <use name="rootgpad"/>
263  </tool>
264 EOF_TOOLFILE
265
266 # rootrflx toolfile
267 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx.xml
268  <tool name="rootrflx" version="%v">
269    <info url="http://root.cern.ch/root/"/>
270    <lib name="Reflex"/>
271    <client>
272      <environment name="ROOTRFLX_BASE" default="%i"/>
273      <environment name="LIBDIR" default="$ROOTRFLX_BASE/lib"/>
274      <environment name="INCLUDE" default="$ROOTRFLX_BASE/include"/>
275    </client>
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    <use name="sockets"/>
280    <use name="gccxml"/>
281  </tool>
282 EOF_TOOLFILE
283
284 # roothtml toolfile
285 cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml.xml
286  <tool name="roothtml" version="%v">
287    <info url="http://root.cern.ch/root/"/>
288    <lib name="Html"/>
289    <use name="rootgpad"/>
290  </tool>
291 EOF_TOOLFILE
292
293 # rootmlp toolfile
294 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp.xml
295  <tool name="rootmlp" version="%v">
296    <info url="http://root.cern.ch/root/"/>
297    <lib name="MLP"/>
298    <use name="RootGraphics"/>
299  </tool>
300 EOF_TOOLFILE
301
302 # roottmva toolfile
303 cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva.xml
304  <tool name="roottmva" version="%v">
305    <info url="http://root.cern.ch/root/"/>
306    <lib name="TMVA"/>
307    <use name="ROOTMLP"/>
308    <use name="rootminuit"/>
309  </tool>
310 EOF_TOOLFILE
311
312 # rootthread toolfile
313 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread.xml
314  <tool name="rootthread" version="%v">
315    <info url="http://root.cern.ch/root/"/>
316    <use name="ROOTCore"/>
317  </tool>
318 EOF_TOOLFILE
319
320 %post
321 perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $(find $RPM_INSTALL_PREFIX/%pkgrel/etc/scram.d -type f)
173  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines