ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.143
Committed: Fri Feb 6 11:52:54 2009 UTC (16 years, 2 months ago) by gowdy
Branch: MAIN
CVS Tags: WEBTOOLS-APPS_20090212, WEBTOOLS-APPS_20090209_64bit, WEBTOOLS-APPS_20090206
Changes since 1.142: +1 -0 lines
Log Message:
back out change that I did a commit on by mistake

File Contents

# User Rev Content
1 elmer 1.141 ### RPM lcg root 5.22.00
2 dlange 1.57 ## INITENV +PATH PYTHONPATH %i/lib/python
3     ## 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.141 #Source: ftp://root.cern.ch/%n/%{n}_v%{realversion}.source.tar.gz
6     Source: http://cern.ch/elmer/root_v5.22.00a.source.tar.gz
7 elmer 1.96
8 andreasp 1.124 Patch0: root-5.18-00-libpng
9 elmer 1.141 Patch1: root-5.21-04-CINT-maxlongline
10     Patch2: root-5.22-00-TMVA-shut-the-hell-up-for-once
11     #Patch3: root-5.22-00-gendict
12     #Patch4: root-5.22-00-RootSys
13     #Patch5: root-5.22-00-TClass-Clone
14     #Patch6: root-5.22-00-TBranchElement_initializeoffsets
15     #Patch7: root-5.22-00-TBranchElement-pcanal
16     #Patch8: root-5.22-00-TTreeCloner-CollectBranches-fix
17     #Patch9: root-5.22-00-path-length-fix1
18     #Patch10: root-5.22-00-path-length-fix2
19 elmer 1.98
20     %define cpu %(echo %cmsplatf | cut -d_ -f2)
21     %define pythonv %(echo $PYTHON_VERSION | cut -d. -f1,2)
22    
23 ratnik 1.106 Requires: gccxml gsl castor libjpg dcap pcre python
24 dlange 1.103
25 ratnik 1.119 %if "%cmsplatf" != "slc4onl_ia32_gcc346"
26 elmer 1.141 Requires: qt openssl mysql libpng zlib libungif
27 dlange 1.103 %else
28     %define skiplibtiff true
29     %endif
30    
31     %if "%cpu" == "amd64"
32     %define skiplibtiff true
33     %endif
34    
35     %if "%skiplibtiff" != "true"
36 elmer 1.98 Requires: libtiff
37     %endif
38 eulisse 1.25
39 eulisse 1.1 %prep
40     %setup -n root
41 ratnik 1.106 %patch0 -p1
42     %patch1 -p1
43 elmer 1.141 %patch2 -p1
44     #%patch3 -p1
45     #%patch4 -p1
46     #%patch5 -p1
47     #%patch6 -p0
48     #%patch7 -p1
49     #%patch8 -p1
50     #%patch9 -p1
51     #%patch10 -p1
52 ratnik 1.79
53 eulisse 1.1 %build
54     mkdir -p %i
55 elmer 1.14 export ROOTSYS=%_builddir/root
56 dlange 1.103
57 ratnik 1.119 %if "%cmsplatf" == "slc4onl_ia32_gcc346"
58 ratnik 1.111 # Build without mysql, and use system qt.
59     # Also skip xrootd and odbc for online case:
60    
61 dlange 1.103 EXTRA_CONFIG_ARGS="
62 ratnik 1.111 --disable-mysql
63     --disable-xrootd
64     --disable-odbc
65     --enable-qt"
66 dlange 1.103 %else
67     EXTRA_CONFIG_ARGS="
68 ratnik 1.106 --enable-mysql --with-mysql-libdir=${MYSQL_ROOT}/lib --with-mysql-incdir=${MYSQL_ROOT}/include
69     --enable-qt --with-qt-libdir=${QT_ROOT}/lib --with-qt-incdir=${QT_ROOT}/include
70     --with-ssl-incdir=${OPENSSL_ROOT}/include
71     --with-ssl-libdir=${OPENSSL_ROOT}/lib"
72 dlange 1.103 %endif
73    
74 elmer 1.141 CONFIG_ARGS="--with-f77=${GCC_ROOT}
75     --enable-table
76 eulisse 1.20 --disable-builtin-pcre
77     --disable-builtin-freetype
78     --disable-builtin-zlib
79 elmer 1.98 --with-gccxml=${GCCXML_ROOT}
80 ratnik 1.79 --enable-python --with-python-libdir=${PYTHON_ROOT}/lib --with-python-incdir=${PYTHON_ROOT}/include/python2.4
81 eulisse 1.2 --enable-explicitlink
82 elmer 1.98 --enable-qtgsi
83 eulisse 1.20 --enable-mathmore
84 eulisse 1.2 --enable-reflex
85     --enable-cintex
86     --enable-minuit2
87 eulisse 1.7 --enable-roofit
88 elmer 1.98 --disable-ldap
89 gowdy 1.143 --disable-krb5
90 eulisse 1.34 --with-gsl-incdir=${GSL_ROOT}/include
91     --with-gsl-libdir=${GSL_ROOT}/lib
92 elmer 1.59 --with-dcap-libdir=${DCAP_ROOT}/lib
93 elmer 1.98 --with-dcap-incdir=${DCAP_ROOT}/include
94     --disable-pgsql
95 dlange 1.103 --disable-xml ${EXTRA_CONFIG_ARGS}"
96 elmer 1.98
97 elmer 1.141 #case %gccver in
98     # 4.*)
99     # CONFIG_ARGS="$CONFIG_ARGS --disable-cern"
100     # ;;
101     #esac
102 elmer 1.84
103 elmer 1.54 case $(uname)-$(uname -p) in
104 eulisse 1.2 Linux-x86_64)
105 elmer 1.141 ./configure linuxx8664gcc $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift --disable-astiff;;
106 elmer 1.54 Linux-i*86)
107 dlange 1.110 ./configure linux $CONFIG_ARGS --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift;;
108 elmer 1.11 Darwin*)
109 elmer 1.98 ./configure macosx $CONFIG_ARGS --disable-rfio;;
110 elmer 1.54 Linux-ppc64*)
111 elmer 1.98 ./configure linux $CONFIG_ARGS --disable-rfio;;
112 eulisse 1.1 esac
113 eulisse 1.2
114 dlange 1.57 make %makeprocesses
115 eulisse 1.20 make cintdlls
116 eulisse 1.1 %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 dlange 1.57 export ROOTSYS=%i
129 eulisse 1.5 make INSTALL="$cp" INSTALLDATA="$cp" install
130 dlange 1.57 mkdir -p $ROOTSYS/lib/python
131 elmer 1.141 cp -r cint/reflex/python/genreflex $ROOTSYS/lib/python
132 eulisse 1.35 #
133 elmer 1.98
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 ratnik 1.106 <lib name=RIO>
144     <lib name=Net>
145 elmer 1.98 <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 elmer 1.121 # root toolfile, alias for rootphysics. Using rootphysics is preferred.
162 elmer 1.98 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 elmer 1.121 <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 elmer 1.98 <lib name=Hist>
176     <lib name=Matrix>
177 elmer 1.121 <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 elmer 1.98 <lib name=Physics>
187 elmer 1.121 <use name=roothistmatrix>
188 elmer 1.98 </Tool>
189     EOF_TOOLFILE
190    
191 elmer 1.121 # rootgraphics toolfile, identical to old "root" toolfile
192     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootgraphics
193 elmer 1.120 <doc type=BuildSystem::ToolDoc version=1.0>
194 elmer 1.121 <Tool name=rootgraphics version=%v>
195 elmer 1.120 <info url="http://root.cern.ch/root/"></info>
196 elmer 1.121 <lib name=TreePlayer>
197     <lib name=Gpad>
198     <lib name=Graf3d>
199     <lib name=Graf>
200 elmer 1.120 <lib name=Hist>
201     <lib name=Matrix>
202 elmer 1.121 <lib name=Physics>
203     <lib name=Postscript>
204 elmer 1.120 <use name=ROOTCore>
205     </Tool>
206     EOF_TOOLFILE
207    
208 elmer 1.98 # 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 elmer 1.141 <lib name=GenVector>
241 elmer 1.98 <use name=ROOTCore>
242     <use name=gsl>
243     </Tool>
244     EOF_TOOLFILE
245    
246     # rootminuit toolfile
247     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit
248     <doc type=BuildSystem::ToolDoc version=1.0>
249     <Tool name=rootminuit version=%v>
250     <info url="http://root.cern.ch/root/"></info>
251     <lib name=Minuit>
252     <use name=ROOT>
253     </Tool>
254     EOF_TOOLFILE
255    
256     # rootminuit2 toolfile
257     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2
258     <doc type=BuildSystem::ToolDoc version=1.0>
259     <Tool name=rootminuit2 version=%v>
260     <info url="http://root.cern.ch/root/"></info>
261     <lib name=Minuit2>
262     <use name=ROOT>
263     </Tool>
264     EOF_TOOLFILE
265    
266     # rootrflx toolfile
267     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx
268     <doc type=BuildSystem::ToolDoc version=1.0>
269     <Tool name=rootrflx version=%v>
270     <info url="http://root.cern.ch/root/"></info>
271     <lib name=Reflex>
272     <Client>
273     <Environment name=ROOTRFLX_BASE default="%i"></Environment>
274     <Environment name=LIBDIR default="$ROOTRFLX_BASE/lib"></Environment>
275     <Environment name=INCLUDE default="$ROOTRFLX_BASE/include"></Environment>
276     </Client>
277     <use name=sockets>
278     <use name=gccxml>
279     <Runtime name=PATH value="$ROOTRFLX_BASE/bin" type=path>
280     <Runtime name=ROOTSYS value="$ROOTRFLX_BASE/">
281     <Runtime name=GENREFLEX value="$ROOTRFLX_BASE/bin/genreflex">
282     </Tool>
283     EOF_TOOLFILE
284    
285     # roothtml toolfile
286     cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml
287     <doc type=BuildSystem::ToolDoc version=1.0>
288     <Tool name=roothtml version=%v>
289     <info url="http://root.cern.ch/root/"></info>
290     <lib name=Html>
291     <use name=ROOT>
292     </Tool>
293     EOF_TOOLFILE
294    
295     # rootroofit toolfile
296     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootroofit
297     <doc type=BuildSystem::ToolDoc version=1.0>
298     <Tool name=rootroofit version=%v>
299     <info url="http://root.cern.ch/root/"></info>
300 ratnik 1.106 <lib name=RooFitCore>
301 elmer 1.98 <lib name=RooFit>
302     <use name=ROOTMinuit>
303     <use name=ROOTHtml>
304     </Tool>
305     EOF_TOOLFILE
306    
307     # rootmlp toolfile
308     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp
309     <doc type=BuildSystem::ToolDoc version=1.0>
310     <Tool name=rootmlp version=%v>
311     <info url="http://root.cern.ch/root/"></info>
312     <lib name=MLP>
313     <use name=ROOT>
314     </Tool>
315     EOF_TOOLFILE
316    
317     # roottmva toolfile
318     cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva
319     <doc type=BuildSystem::ToolDoc version=1.0>
320     <Tool name=roottmva version=%v>
321     <info url="http://root.cern.ch/root/"></info>
322     <lib name=TMVA>
323     <use name=ROOTMLP>
324     </Tool>
325     EOF_TOOLFILE
326    
327     # rootthread toolfile
328     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread
329     <doc type=BuildSystem::ToolDoc version=1.0>
330     <Tool name=rootthread version=%v>
331     <info url="http://root.cern.ch/root/"></info>
332     <lib name=Thread>
333     <use name=ROOTCore>
334     </Tool>
335     EOF_TOOLFILE
336    
337     %post
338     %{relocateConfig}etc/scram.d/root
339     %{relocateConfig}etc/scram.d/rootcore
340 elmer 1.120 %{relocateConfig}etc/scram.d/roothistmatrix
341 elmer 1.121 %{relocateConfig}etc/scram.d/rootphysics
342     %{relocateConfig}etc/scram.d/rootgraphics
343 elmer 1.98 %{relocateConfig}etc/scram.d/rootcintex
344     %{relocateConfig}etc/scram.d/rootinteractive
345     %{relocateConfig}etc/scram.d/rootmath
346     %{relocateConfig}etc/scram.d/rootminuit
347     %{relocateConfig}etc/scram.d/rootminuit2
348     %{relocateConfig}etc/scram.d/rootrflx
349     %{relocateConfig}etc/scram.d/roothtml
350     %{relocateConfig}etc/scram.d/rootroofit
351     %{relocateConfig}etc/scram.d/rootmlp
352     %{relocateConfig}etc/scram.d/roottmva
353     %{relocateConfig}etc/scram.d/rootthread