ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.105
Committed: Fri Mar 7 23:43:18 2008 UTC (17 years, 1 month ago) by ratnik
Branch: MAIN
CVS Tags: nr080314_181onl1, CMSSW_1_8_0_ONLINE1, nr080310_180onl1
Changes since 1.104: +60 -26 lines
Log Message:
Merge in changes needed for the online release based on CMSSW_1_8_0. Will use CMS version of qt in online release case.

File Contents

# User Rev Content
1 ratnik 1.105 ### RPM lcg root 5.14.00g-CMS18l
2 dlange 1.57 ## INITENV +PATH PYTHONPATH %i/lib/python
3     ## INITENV SET ROOTSYS %i
4 ratnik 1.105 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 elmer 1.96
7 ratnik 1.105 Patch: root-CINT-maxlongline
8     Patch1: root_libpng
9     Patch2: root_PositionVector
10     Patch3: root-fastmerge-ttree
11     Patch4: root_TXMLSetup
12     Patch5: root-Cintex
13     Patch6: root_Reflex_Cintex
14     Patch7: root_CallFunc
15     # The following patch should only be applied for gcc4.x (x>0) and when
16     # using gccxml 0.7.0
17     Patch9: root_5.14_reflex_gccxml070_update
18     Patch10: root-5.14-xrootd-20071001-0000a
19     Patch11: root-5.14-silence-tmva
20     Patch12: root_5.14-CINTFunctional
21     Patch13: root_5.14-streamerinfo
22 elmer 1.98
23     %define cpu %(echo %cmsplatf | cut -d_ -f2)
24     %define pythonv %(echo $PYTHON_VERSION | cut -d. -f1,2)
25    
26 ratnik 1.105 Requires: gccxml
27     Requires: python
28     Requires: gsl
29     Requires: castor
30     Requires: libjpg
31     Requires: dcap
32     Requires: pcre
33 dlange 1.103
34     %if "%{?online_release:set}" != "set"
35 ratnik 1.105 Requires: qt
36     Requires: openssl
37     Requires: mysql
38     Requires: libpng
39     Requires: zlib
40     Requires: oracle
41     Requires: libungif
42     Requires: xrootd
43 dlange 1.103 %else
44     %define skiplibtiff true
45     %endif
46    
47     %if "%cpu" == "amd64"
48     %define skiplibtiff true
49     %endif
50    
51     %if "%skiplibtiff" != "true"
52 elmer 1.98 Requires: libtiff
53     %endif
54 eulisse 1.25
55 eulisse 1.1 %prep
56     %setup -n root
57 ratnik 1.105 %patch -p0
58     %patch1 -p2
59     %patch2 -p2
60 elmer 1.102 %patch3 -p1
61 ratnik 1.105 %patch4 -p0
62     %patch5 -p1
63     %patch6 -p0
64     %patch7 -p0
65     %if "%cmsplatf" == "slc4_ia32_gcc412"
66     %patch9 -p1
67     %endif
68     %patch10 -p1
69     %patch11 -p1
70     %patch12 -p0
71     %patch13 -p0
72 ratnik 1.79
73 eulisse 1.1 %build
74     mkdir -p %i
75 elmer 1.14 export ROOTSYS=%_builddir/root
76 dlange 1.103
77 ratnik 1.105
78 dlange 1.103 %if "%{?online_release:set}" == "set"
79     # Use oracle from xdaq installation:
80     ORACLE_ROOT="/opt/xdaq"
81 ratnik 1.105 # Build without mysql, and use system qt and openssl.
82     # Also skip xrootd for online case:
83 dlange 1.103 EXTRA_CONFIG_ARGS="
84 ratnik 1.105 --disable-mysql
85     --disable-xrootd
86     --disable-odbc
87     --enable-qt"
88 dlange 1.103 %else
89     EXTRA_CONFIG_ARGS="
90 ratnik 1.105 --with-xrootd=$XROOTD_ROOT
91     --enable-mysql --with-mysql-libdir=${MYSQL_ROOT}/lib --with-mysql-incdir=${MYSQL_ROOT}/include
92     --enable-qt --with-qt-libdir=${QT_ROOT}/lib --with-qt-incdir=${QT_ROOT}/include
93     --with-ssl-incdir=${OPENSSL_ROOT}/include
94     --with-ssl-libdir=${OPENSSL_ROOT}/lib"
95 dlange 1.103 %endif
96    
97 eulisse 1.25 CONFIG_ARGS="--enable-table
98 eulisse 1.20 --disable-builtin-pcre
99     --disable-builtin-freetype
100     --disable-builtin-zlib
101 elmer 1.98 --with-gccxml=${GCCXML_ROOT}
102 ratnik 1.79 --enable-python --with-python-libdir=${PYTHON_ROOT}/lib --with-python-incdir=${PYTHON_ROOT}/include/python2.4
103 eulisse 1.2 --enable-explicitlink
104 elmer 1.98 --enable-qtgsi
105 eulisse 1.2 --enable-mathcore
106 eulisse 1.20 --enable-mathmore
107 eulisse 1.2 --enable-reflex
108     --enable-cintex
109     --enable-minuit2
110 eulisse 1.7 --enable-roofit
111 elmer 1.98 --disable-ldap
112     --disable-krb5
113 eulisse 1.34 --with-gsl-incdir=${GSL_ROOT}/include
114     --with-gsl-libdir=${GSL_ROOT}/lib
115 elmer 1.59 --with-dcap-libdir=${DCAP_ROOT}/lib
116 elmer 1.98 --with-dcap-incdir=${DCAP_ROOT}/include
117     --disable-pgsql
118 dlange 1.103 --disable-xml ${EXTRA_CONFIG_ARGS}"
119 elmer 1.98
120 ratnik 1.105 %if (("%cmsplatf" == "slc4_ia32_gcc412")||("%cmsplatf" == "slc4_amd64_gcc345"))
121 elmer 1.98 CONFIG_ARGS="$CONFIG_ARGS --disable-cern"
122     %endif
123 elmer 1.84
124 elmer 1.54 case $(uname)-$(uname -p) in
125 eulisse 1.2 Linux-x86_64)
126 elmer 1.98 ./configure linuxx8664gcc $CONFIG_ARGS --enable-oracle --with-oracle-libdir=${ORACLE_ROOT}/lib --with-oracle-incdir=${ORACLE_ROOT}/include --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift --disable-astiff --disable-cern;;
127 elmer 1.54 Linux-i*86)
128 elmer 1.98 ./configure linux $CONFIG_ARGS --enable-oracle --with-oracle-libdir=${ORACLE_ROOT}/lib --with-oracle-incdir=${ORACLE_ROOT}/include --with-shift-libdir=${CASTOR_ROOT}/lib --with-shift-incdir=${CASTOR_ROOT}/include/shift;;
129 elmer 1.11 Darwin*)
130 elmer 1.98 ./configure macosx $CONFIG_ARGS --disable-rfio;;
131 elmer 1.54 Linux-ppc64*)
132 elmer 1.98 ./configure linux $CONFIG_ARGS --disable-rfio;;
133 eulisse 1.1 esac
134 eulisse 1.2
135 dlange 1.57 make %makeprocesses
136 eulisse 1.20 make cintdlls
137 eulisse 1.1 %install
138     # Override installers if we are using GNU fileutils cp. On OS X
139     # ROOT's INSTALL is defined to "cp -pPR", which only works with
140     # the system cp (/bin/cp). If you have fileutils on fink, you
141     # lose. Check which one is getting picked up and select syntax
142     # accordingly. (FIXME: do we need to check that -P is accepted?)
143     if (cp --help | grep -e '-P.*--parents') >/dev/null 2>&1; then
144     cp="cp -dpR"
145     else
146     cp="cp -pPR"
147     fi
148    
149 dlange 1.57 export ROOTSYS=%i
150 eulisse 1.5 make INSTALL="$cp" INSTALLDATA="$cp" install
151 dlange 1.57 mkdir -p $ROOTSYS/lib/python
152     cp -r reflex/python/genreflex $ROOTSYS/lib/python
153 eulisse 1.35 #
154 elmer 1.98
155     # SCRAM ToolBox toolfile
156     mkdir -p %i/etc/scram.d
157     # rootcore toolfile
158     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcore
159     <doc type=BuildSystem::ToolDoc version=1.0>
160     <Tool name=rootcore version=%v>
161     <info url="http://root.cern.ch/root/"></info>
162     <lib name=Cint>
163     <lib name=Core>
164     <lib name=Tree>
165     <Client>
166     <Environment name=ROOTCORE_BASE default="%i"></Environment>
167     <Environment name=LIBDIR default="$ROOTCORE_BASE/lib"></Environment>
168     <Environment name=INCLUDE default="$ROOTCORE_BASE/include"></Environment>
169     <Environment name=INCLUDE default="$ROOTCORE_BASE/cint"></Environment>
170     </Client>
171     <use name=sockets>
172     <use name=pcre>
173     <use name=zlib>
174     <Runtime name=PATH value="$ROOTCORE_BASE/bin" type=path>
175     <Runtime name=ROOTSYS value="$ROOTCORE_BASE/">
176     <Runtime name=PYTHONPATH value="$ROOTCORE_BASE/lib" type=path>
177     </Tool>
178     EOF_TOOLFILE
179    
180     # root toolfile
181     cat << \EOF_TOOLFILE >%i/etc/scram.d/root
182     <doc type=BuildSystem::ToolDoc version=1.0>
183     <Tool name=root version=%v>
184     <info url="http://root.cern.ch/root/"></info>
185     <lib name=TreePlayer>
186     <lib name=Gpad>
187     <lib name=Graf3d>
188     <lib name=Graf>
189     <lib name=Hist>
190     <lib name=Matrix>
191     <lib name=Physics>
192     <lib name=Postscript>
193     <use name=ROOTCore>
194     </Tool>
195     EOF_TOOLFILE
196    
197     # rootcintex toolfile
198     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootcintex
199     <doc type=BuildSystem::ToolDoc version=1.0>
200     <Tool name=rootcintex version=%v>
201     <info url="http://root.cern.ch/root/"></info>
202     <lib name=Cintex>
203     <use name=ROOTRflx>
204     <use name=ROOTCore>
205     </Tool>
206     EOF_TOOLFILE
207    
208     # rootinteractive toolfile
209     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootinteractive
210     <doc type=BuildSystem::ToolDoc version=1.0>
211     <Tool name=rootinteractive version=%v>
212     <info url="http://root.cern.ch/root/"></info>
213     <lib name=Rint>
214     <lib name=GQt>
215     <use name=qt>
216     <use name=libjpg>
217     <use name=libpng>
218     <use name=ROOT>
219     </Tool>
220     EOF_TOOLFILE
221    
222     # rootmath toolfile
223     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmath
224     <doc type=BuildSystem::ToolDoc version=1.0>
225     <Tool name=rootmath version=%v>
226     <info url="http://root.cern.ch/root/"></info>
227     <lib name=MathCore>
228     <lib name=MathMore>
229     <use name=ROOTCore>
230     <use name=gsl>
231     </Tool>
232     EOF_TOOLFILE
233    
234     # rootminuit toolfile
235     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit
236     <doc type=BuildSystem::ToolDoc version=1.0>
237     <Tool name=rootminuit version=%v>
238     <info url="http://root.cern.ch/root/"></info>
239     <lib name=Minuit>
240     <use name=ROOT>
241     </Tool>
242     EOF_TOOLFILE
243    
244     # rootminuit2 toolfile
245     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootminuit2
246     <doc type=BuildSystem::ToolDoc version=1.0>
247     <Tool name=rootminuit2 version=%v>
248     <info url="http://root.cern.ch/root/"></info>
249     <lib name=Minuit2>
250     <use name=ROOT>
251     </Tool>
252     EOF_TOOLFILE
253    
254     # rootrflx toolfile
255     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootrflx
256     <doc type=BuildSystem::ToolDoc version=1.0>
257     <Tool name=rootrflx version=%v>
258     <info url="http://root.cern.ch/root/"></info>
259     <lib name=Reflex>
260     <Client>
261     <Environment name=ROOTRFLX_BASE default="%i"></Environment>
262     <Environment name=LIBDIR default="$ROOTRFLX_BASE/lib"></Environment>
263     <Environment name=INCLUDE default="$ROOTRFLX_BASE/include"></Environment>
264     </Client>
265     <use name=sockets>
266     <use name=gccxml>
267     <Runtime name=PATH value="$ROOTRFLX_BASE/bin" type=path>
268     <Runtime name=ROOTSYS value="$ROOTRFLX_BASE/">
269     <Runtime name=GENREFLEX value="$ROOTRFLX_BASE/bin/genreflex">
270     </Tool>
271     EOF_TOOLFILE
272    
273     # roothtml toolfile
274     cat << \EOF_TOOLFILE >%i/etc/scram.d/roothtml
275     <doc type=BuildSystem::ToolDoc version=1.0>
276     <Tool name=roothtml version=%v>
277     <info url="http://root.cern.ch/root/"></info>
278     <lib name=Html>
279     <use name=ROOT>
280     </Tool>
281     EOF_TOOLFILE
282    
283     # rootroofit toolfile
284     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootroofit
285     <doc type=BuildSystem::ToolDoc version=1.0>
286     <Tool name=rootroofit version=%v>
287     <info url="http://root.cern.ch/root/"></info>
288     <lib name=RooFit>
289     <use name=ROOTMinuit>
290     <use name=ROOTHtml>
291     </Tool>
292     EOF_TOOLFILE
293    
294     # rootmlp toolfile
295     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootmlp
296     <doc type=BuildSystem::ToolDoc version=1.0>
297     <Tool name=rootmlp version=%v>
298     <info url="http://root.cern.ch/root/"></info>
299     <lib name=MLP>
300     <use name=ROOT>
301     </Tool>
302     EOF_TOOLFILE
303    
304     # roottmva toolfile
305     cat << \EOF_TOOLFILE >%i/etc/scram.d/roottmva
306     <doc type=BuildSystem::ToolDoc version=1.0>
307     <Tool name=roottmva version=%v>
308     <info url="http://root.cern.ch/root/"></info>
309     <lib name=TMVA>
310     <use name=ROOTMLP>
311     </Tool>
312     EOF_TOOLFILE
313    
314     # rootthread toolfile
315     cat << \EOF_TOOLFILE >%i/etc/scram.d/rootthread
316     <doc type=BuildSystem::ToolDoc version=1.0>
317     <Tool name=rootthread version=%v>
318     <info url="http://root.cern.ch/root/"></info>
319     <lib name=Thread>
320     <use name=ROOTCore>
321     </Tool>
322     EOF_TOOLFILE
323    
324     %post
325     %{relocateConfig}etc/scram.d/root
326     %{relocateConfig}etc/scram.d/rootcore
327     %{relocateConfig}etc/scram.d/rootcintex
328     %{relocateConfig}etc/scram.d/rootinteractive
329     %{relocateConfig}etc/scram.d/rootmath
330     %{relocateConfig}etc/scram.d/rootminuit
331     %{relocateConfig}etc/scram.d/rootminuit2
332     %{relocateConfig}etc/scram.d/rootrflx
333     %{relocateConfig}etc/scram.d/roothtml
334     %{relocateConfig}etc/scram.d/rootroofit
335     %{relocateConfig}etc/scram.d/rootmlp
336     %{relocateConfig}etc/scram.d/roottmva
337     %{relocateConfig}etc/scram.d/rootthread