ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/root.spec
Revision: 1.107
Committed: Sat Mar 8 02:24:13 2008 UTC (17 years, 1 month ago) by dlange
Branch: MAIN
CVS Tags: dl080308, dl080307cmsswtoolconf2cms5, dl080307
Changes since 1.106: +3 -0 lines
Log Message:
new root patch, new update to condcore

File Contents

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