ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.196
Committed: Tue Apr 13 13:12:24 2010 UTC (15 years ago) by elmer
Branch: MAIN
CVS Tags: ge20100521b-new-rpm, ge20100521-new-rpm, ge20100519-new-apt, ge20100427-rpm-on-linux, ge20100422-rpm-4-8-0
Changes since 1.195: +12 -75 lines
Log Message:
  Update to version 5.26/00b. All relevant patches applied to ROOT 5.22/00d
  to date should be included, plus updated fireworks patch. In addition the
  root-5.26-00b-genreflex-version-wildcard.patch is applied.

File Contents

# User Rev Content
1 elmer 1.196 ### RPM lcg root 5.26.00b
2 dlange 1.57 ## INITENV +PATH PYTHONPATH %i/lib/python
3 elmer 1.177 ## INITENV SET ROOTSYS %i
4 ratnik 1.106 #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 elmer 1.144 Source: ftp://root.cern.ch/%n/%{n}_v%{realversion}.source.tar.gz
6 muzaffar 1.165 %define closingbrace )
7 elmer 1.179 %define online %(case %cmsplatf in *onl_*_*%closingbrace echo true;; *%closingbrace echo false;; esac)
8 elmer 1.96
9 elmer 1.196 Patch0: root-5.18-00-libpng
10     Patch1: root-5.22-00-TMVA-shut-the-hell-up-for-once
11     Patch2: root-5.22-00a-roofit-silence-static-printout
12     Patch3: root-5.22-00d-linker-gnu-hash-style
13     Patch4: root-5.26-00a-CINT-maxlongline
14     Patch5: root-5.26-00a-silence-TMVA
15     Patch6: root-5.22-00d-TMath-Vavilov
16     Patch7: root-5.22-00d-TBranchElement-dropped-data-member
17     Patch8: root-5.26-00b-genreflex-version-wildcard
18     Patch9: root-5.26.00b-fireworks1
19 elmer 1.98
20     %define cpu %(echo %cmsplatf | cut -d_ -f2)
21    
22 ratnik 1.106 Requires: gccxml gsl castor libjpg dcap pcre python
23 dlange 1.103
24 muzaffar 1.164 %if "%online" != "true"
25 elmer 1.181 Requires: qt openssl libpng zlib libungif xrootd
26 dlange 1.103 %else
27     %define skiplibtiff true
28     %endif
29    
30     %if "%cpu" == "amd64"
31     %define skiplibtiff true
32     %endif
33    
34     %if "%skiplibtiff" != "true"
35 elmer 1.98 Requires: libtiff
36     %endif
37 eulisse 1.25
38 eulisse 1.1 %prep
39     %setup -n root
40 ratnik 1.106 %patch0 -p1
41     %patch1 -p1
42 elmer 1.141 %patch2 -p1
43 elmer 1.148 %patch3 -p1
44     %patch4 -p1
45 elmer 1.149 %patch5 -p1
46 eulisse 1.190 %patch6 -p1
47     %patch7 -p1
48 elmer 1.194 %patch8 -p1
49 eulisse 1.190 %patch9 -p1
50    
51 eulisse 1.1 %build
52 andreasp 1.163
53 eulisse 1.1 mkdir -p %i
54 elmer 1.14 export ROOTSYS=%_builddir/root
55 elmer 1.180 export PYTHONV=$(echo $PYTHON_VERSION | cut -f1,2 -d.)
56 dlange 1.103
57 muzaffar 1.164 %if "%online" == "true"
58 elmer 1.181 # Use system qt. Also skip xrootd and odbc for online case:
59 ratnik 1.111
60 muzaffar 1.164 EXTRA_CONFIG_ARGS="--with-f77=/usr
61 ratnik 1.111 --disable-xrootd
62     --disable-odbc
63 muzaffar 1.164 --disable-qt --disable-qtgsi"
64 dlange 1.103 %else
65 muzaffar 1.164 EXTRA_CONFIG_ARGS="--with-f77=${GCC_ROOT}
66 elmer 1.145 --with-xrootd=$XROOTD_ROOT
67 ratnik 1.106 --enable-qt --with-qt-libdir=${QT_ROOT}/lib --with-qt-incdir=${QT_ROOT}/include
68     --with-ssl-incdir=${OPENSSL_ROOT}/include
69 muzaffar 1.164 --with-ssl-libdir=${OPENSSL_ROOT}/lib
70     --enable-qtgsi"
71 dlange 1.103 %endif
72    
73 muzaffar 1.164 CONFIG_ARGS="--enable-table
74 eulisse 1.20 --disable-builtin-pcre
75     --disable-builtin-freetype
76     --disable-builtin-zlib
77 elmer 1.98 --with-gccxml=${GCCXML_ROOT}
78 elmer 1.180 --enable-python --with-python-libdir=${PYTHON_ROOT}/lib --with-python-incdir=${PYTHON_ROOT}/include/python${PYTHONV}
79 eulisse 1.2 --enable-explicitlink
80 eulisse 1.20 --enable-mathmore
81 eulisse 1.2 --enable-reflex
82     --enable-cintex
83     --enable-minuit2
84 elmer 1.98 --disable-ldap
85 gowdy 1.143 --disable-krb5
86 eulisse 1.34 --with-gsl-incdir=${GSL_ROOT}/include
87     --with-gsl-libdir=${GSL_ROOT}/lib
88 elmer 1.59 --with-dcap-libdir=${DCAP_ROOT}/lib
89 elmer 1.98 --with-dcap-incdir=${DCAP_ROOT}/include
90     --disable-pgsql
91 elmer 1.181 --disable-mysql
92 elmer 1.187 --disable-xml ${EXTRA_CONFIG_ARGS}"
93 elmer 1.98
94 elmer 1.183 case $(uname)-$(uname -m) in
95 eulisse 1.2 Linux-x86_64)
96 elmer 1.141 ./configure linuxx8664gcc $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift --disable-astiff;;
97 elmer 1.54 Linux-i*86)
98 dlange 1.110 ./configure linux $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift;;
99 elmer 1.11 Darwin*)
100 elmer 1.196 ./configure macosx $CONFIG_ARGS --disable-rfio --disable-builtin_afterimage ;;
101 elmer 1.54 Linux-ppc64*)
102 elmer 1.98 ./configure linux $CONFIG_ARGS --disable-rfio;;
103 eulisse 1.1 esac
104 eulisse 1.2
105 eulisse 1.147 case %cmsplatf in
106     osx*)
107     makeopts=
108     ;;
109     *)
110     makeopts="%makeprocesses"
111     ;;
112     esac
113    
114     make $makeopts
115 eulisse 1.20 make cintdlls
116 eulisse 1.147
117 eulisse 1.1 %install
118     # Override installers if we are using GNU fileutils cp. On OS X
119     # ROOT's INSTALL is defined to "cp -pPR", which only works with
120     # the system cp (/bin/cp). If you have fileutils on fink, you
121     # lose. Check which one is getting picked up and select syntax
122     # accordingly. (FIXME: do we need to check that -P is accepted?)
123     if (cp --help | grep -e '-P.*--parents') >/dev/null 2>&1; then
124     cp="cp -dpR"
125     else
126     cp="cp -pPR"
127     fi
128    
129 dlange 1.57 export ROOTSYS=%i
130 eulisse 1.5 make INSTALL="$cp" INSTALLDATA="$cp" install
131 dlange 1.57 mkdir -p $ROOTSYS/lib/python
132 elmer 1.141 cp -r cint/reflex/python/genreflex $ROOTSYS/lib/python
133 eulisse 1.35 #
134 elmer 1.98
135     # SCRAM ToolBox toolfile
136     mkdir -p %i/etc/scram.d
137     # rootcore toolfile
138 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcore.xml
139     <tool name="rootcore" version="%v">
140     <info url="http://root.cern.ch/root/"/>
141     <lib name="Tree"/>
142     <lib name="Net"/>
143     <lib name="Thread"/>
144     <lib name="MathCore"/>
145     <lib name="RIO"/>
146     <lib name="Core"/>
147     <lib name="Cint"/>
148     <client>
149     <environment name="ROOTCORE_BASE" default="%i"/>
150     <environment name="LIBDIR" default="$ROOTCORE_BASE/lib"/>
151     <environment name="INCLUDE" default="$ROOTCORE_BASE/include"/>
152     <environment name="INCLUDE" default="$ROOTCORE_BASE/cint"/>
153     </client>
154     <runtime name="PATH" value="$ROOTCORE_BASE/bin" type="path"/>
155     <runtime name="ROOTSYS" value="$ROOTCORE_BASE/"/>
156     <runtime name="PYTHONPATH" value="$ROOTCORE_BASE/lib" type="path"/>
157     <use name="sockets"/>
158     <use name="pcre"/>
159     <use name="zlib"/>
160     </tool>
161 elmer 1.98 EOF_TOOLFILE
162    
163 elmer 1.121 # root toolfile, alias for rootphysics. Using rootphysics is preferred.
164 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/root.xml
165     <tool name="root" version="%v">
166     <info url="http://root.cern.ch/root/"/>
167     <use name="rootphysics"/>
168     </tool>
169 elmer 1.121 EOF_TOOLFILE
170    
171     # roothistmatrix toolfile
172 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/roothistmatrix.xml
173     <tool name="roothistmatrix" version="%v">
174     <info url="http://root.cern.ch/root/"/>
175     <lib name="Hist"/>
176     <lib name="Matrix"/>
177     <use name="ROOTCore"/>
178     </tool>
179 elmer 1.121 EOF_TOOLFILE
180    
181 muzaffar 1.158 # rootgpad toolfile
182 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgpad.xml
183     <tool name="rootgpad" version="%v">
184     <info url="http://root.cern.ch/root/"/>
185     <lib name="Gpad"/>
186     <lib name="Graf"/>
187     <use name="roothistmatrix"/>
188     </tool>
189 muzaffar 1.158 EOF_TOOLFILE
190    
191 elmer 1.121 # rootphysics toolfile
192 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootphysics.xml
193     <tool name="rootphysics" version="%v">
194     <info url="http://root.cern.ch/root/"/>
195     <lib name="Physics"/>
196     <use name="roothistmatrix"/>
197     </tool>
198 elmer 1.98 EOF_TOOLFILE
199    
200 elmer 1.121 # rootgraphics toolfile, identical to old "root" toolfile
201 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgraphics.xml
202     <tool name="rootgraphics" version="%v">
203     <info url="http://root.cern.ch/root/"/>
204     <lib name="TreePlayer"/>
205     <lib name="Graf3d"/>
206     <lib name="Postscript"/>
207     <use name="rootgpad"/>
208     </tool>
209 elmer 1.120 EOF_TOOLFILE
210    
211 elmer 1.98 # rootcintex toolfile
212 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcintex.xml
213     <tool name="rootcintex" version="%v">
214     <info url="http://root.cern.ch/root/"/>
215     <lib name="Cintex"/>
216     <use name="ROOTRflx"/>
217     <use name="ROOTCore"/>
218     </tool>
219 elmer 1.98 EOF_TOOLFILE
220    
221 eulisse 1.189 # rootinteractive toolfile (GQt/qt lib dependencies
222     # have been moved to rootqt.xml)
223 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive.xml
224     <tool name="rootinteractive" version="%v">
225     <info url="http://root.cern.ch/root/"/>
226     <lib name="Rint"/>
227     <lib name="Gui"/>
228     <use name="libjpg"/>
229     <use name="libpng"/>
230     <use name="rootgpad"/>
231     </tool>
232 elmer 1.146 EOF_TOOLFILE
233    
234 eulisse 1.189 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootqt.xml
235     <tool name="rootqt" version="%v">
236     <info url="http://root.cern.ch/root/"/>
237     <lib name="GQt"/>
238     <use name="qt"/>
239     </tool>
240     EOF_TOOLFILE
241    
242 elmer 1.98 # rootmath toolfile
243 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmath.xml
244     <tool name="rootmath" version="%v">
245     <info url="http://root.cern.ch/root/"/>
246     <lib name="GenVector"/>
247     <lib name="MathMore"/>
248     <use name="ROOTCore"/>
249     <use name="gsl"/>
250     </tool>
251 elmer 1.98 EOF_TOOLFILE
252    
253     # rootminuit toolfile
254 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit.xml
255     <tool name="rootminuit" version="%v">
256     <info url="http://root.cern.ch/root/"/>
257     <lib name="Minuit"/>
258     <use name="rootgpad"/>
259     </tool>
260 elmer 1.98 EOF_TOOLFILE
261    
262     # rootminuit2 toolfile
263 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2.xml
264     <tool name="rootminuit2" version="%v">
265     <info url="http://root.cern.ch/root/"/>
266     <lib name="Minuit2"/>
267     <use name="rootgpad"/>
268     </tool>
269 elmer 1.98 EOF_TOOLFILE
270    
271     # rootrflx toolfile
272 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx.xml
273     <tool name="rootrflx" version="%v">
274     <info url="http://root.cern.ch/root/"/>
275     <lib name="Reflex"/>
276     <client>
277     <environment name="ROOTRFLX_BASE" default="%i"/>
278     <environment name="LIBDIR" default="$ROOTRFLX_BASE/lib"/>
279     <environment name="INCLUDE" default="$ROOTRFLX_BASE/include"/>
280     </client>
281     <runtime name="PATH" value="$ROOTRFLX_BASE/bin" type="path"/>
282     <runtime name="ROOTSYS" value="$ROOTRFLX_BASE/"/>
283     <runtime name="GENREFLEX" value="$ROOTRFLX_BASE/bin/genreflex"/>
284     <use name="sockets"/>
285     <use name="gccxml"/>
286     </tool>
287 elmer 1.98 EOF_TOOLFILE
288    
289     # roothtml toolfile
290 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml.xml
291     <tool name="roothtml" version="%v">
292     <info url="http://root.cern.ch/root/"/>
293     <lib name="Html"/>
294     <use name="rootgpad"/>
295     </tool>
296 elmer 1.98 EOF_TOOLFILE
297    
298     # rootmlp toolfile
299 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp.xml
300     <tool name="rootmlp" version="%v">
301     <info url="http://root.cern.ch/root/"/>
302     <lib name="MLP"/>
303     <use name="RootGraphics"/>
304     </tool>
305 elmer 1.98 EOF_TOOLFILE
306    
307     # roottmva toolfile
308 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva.xml
309     <tool name="roottmva" version="%v">
310     <info url="http://root.cern.ch/root/"/>
311     <lib name="TMVA"/>
312     <use name="ROOTMLP"/>
313     <use name="rootminuit"/>
314     </tool>
315 elmer 1.98 EOF_TOOLFILE
316    
317     # rootthread toolfile
318 muzaffar 1.184 cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread.xml
319     <tool name="rootthread" version="%v">
320     <info url="http://root.cern.ch/root/"/>
321     <use name="ROOTCore"/>
322     </tool>
323 elmer 1.98 EOF_TOOLFILE
324    
325     %post
326 muzaffar 1.184 perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $(find $RPM_INSTALL_PREFIX/%pkgrel/etc/scram.d -type f)