Gentoo Archives: gentoo-commits

From: Justin Lecher <jlec@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: sci-physics/root/
Date: Mon, 02 Jul 2012 19:42:28
Message-Id: 1340901861.3f8e874dad67c8c844bd621df6df98cc234ec91d.jlec@gentoo
1 commit: 3f8e874dad67c8c844bd621df6df98cc234ec91d
2 Author: Justin Lecher <jlec <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 28 16:44:21 2012 +0000
4 Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 28 16:44:21 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=3f8e874d
7
8 sci-physics/root: Drop in tree versions
9
10 (Portage version: 2.2.0_alpha114/git/Linux x86_64, unsigned Manifest commit)
11
12 ---
13 sci-physics/root/ChangeLog | 4 +
14 sci-physics/root/metadata.xml | 40 ++--
15 sci-physics/root/root-5.32.03-r3.ebuild | 380 -------------------------------
16 sci-physics/root/root-5.34.00.ebuild | 377 ------------------------------
17 4 files changed, 24 insertions(+), 777 deletions(-)
18
19 diff --git a/sci-physics/root/ChangeLog b/sci-physics/root/ChangeLog
20 index 53f4413..6bd39ed 100644
21 --- a/sci-physics/root/ChangeLog
22 +++ b/sci-physics/root/ChangeLog
23 @@ -2,6 +2,10 @@
24 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
25 # $Header: /var/cvsroot/gentoo-x86/sci-physics/root/ChangeLog,v 1.96 2012/03/29 18:21:49 bicatali Exp $
26
27 + 28 Jun 2012; Justin Lecher <jlec@g.o> -root-5.32.03-r3.ebuild,
28 + -root-5.34.00.ebuild, metadata.xml:
29 + Drop in tree versions
30 +
31 *root-5.32.03-r3 (20 Jun 2012)
32
33 20 Jun 2012; Andrew Savchenko <bircoph@×××××.com> -root-5.32.03-r2.ebuild,
34
35 diff --git a/sci-physics/root/metadata.xml b/sci-physics/root/metadata.xml
36 index cb56d9f..5317980 100644
37 --- a/sci-physics/root/metadata.xml
38 +++ b/sci-physics/root/metadata.xml
39 @@ -1,13 +1,13 @@
40 <?xml version="1.0" encoding="UTF-8"?>
41 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
42 <pkgmetadata>
43 -<maintainer>
44 - <email>bircoph@×××××.com</email>
45 - <name>Andrew Savchenko</name>
46 - <description>Maintainer. Assign bugs to him</description>
47 -</maintainer>
48 -<herd>sci-physics</herd>
49 -<longdescription lang="en">
50 + <maintainer>
51 + <email>bircoph@×××××.com</email>
52 + <name>Andrew Savchenko</name>
53 + <description>Maintainer. Assign bugs to him</description>
54 + </maintainer>
55 + <herd>sci-physics</herd>
56 + <longdescription lang="en">
57 ROOT Object Oriented Technologies is an object oriented data
58 analysis framework written in C++ by the CERN. Widely used in
59 high energy physics, but also in other data analysis applications. It
60 @@ -15,17 +15,17 @@
61 statistics, serialization, optimization, linear algebra, graphics,
62 GUI toolkit, and a complete visualization framework.
63 </longdescription>
64 -<use>
65 - <flag name="c++0x"> Build ROOT using the C++11 standard. Not supported, requires <pkg>sys-devel/gcc</pkg>>=4.7.0</flag>
66 - <flag name="clarens"> Build the Clarens and PEAC plug-ins, to use in a GRID enabled analysis</flag>
67 - <flag name="fits">Support for images and data from FITS files with <pkg>sci-libs/cfitsio</pkg></flag>
68 - <flag name="geant4">Support for <pkg>sci-physics/geant</pkg> version 4</flag>
69 - <flag name="htmldoc">Generate html documentation</flag>
70 - <flag name="llvm">Build the new cling interactive interpreter based on <pkg>sys-devel/llvm</pkg></flag>
71 - <flag name="math">Build all math related libraries plugins, needs <pkg>sci-libs/gsl</pkg> </flag>
72 - <flag name="pythia6">Build the interface for <pkg>sci-physics/pythia</pkg> version 6.x </flag>
73 - <flag name="pythia8">Build the interface for <pkg>sci-physics/pythia</pkg> version 8.x </flag>
74 - <flag name="reflex">Build the reflection database for the C++ interpreter</flag>
75 - <flag name="xrootd">Build the interface for <pkg>net-libs/xrootd</pkg> </flag>
76 -</use>
77 + <use>
78 + <flag name="c++0x"> Build ROOT using the C++11 standard. Not supported, requires <pkg>sys-devel/gcc</pkg>&gt;=4.7.0</flag>
79 + <flag name="clarens"> Build the Clarens and PEAC plug-ins, to use in a GRID enabled analysis</flag>
80 + <flag name="fits">Support for images and data from FITS files with <pkg>sci-libs/cfitsio</pkg></flag>
81 + <flag name="geant4">Support for <pkg>sci-physics/geant</pkg> version 4</flag>
82 + <flag name="htmldoc">Generate html documentation</flag>
83 + <flag name="llvm">Build the new cling interactive interpreter based on <pkg>sys-devel/llvm</pkg></flag>
84 + <flag name="math">Build all math related libraries plugins, needs <pkg>sci-libs/gsl</pkg> </flag>
85 + <flag name="pythia6">Build the interface for <pkg>sci-physics/pythia</pkg> version 6.x </flag>
86 + <flag name="pythia8">Build the interface for <pkg>sci-physics/pythia</pkg> version 8.x </flag>
87 + <flag name="reflex">Build the reflection database for the C++ interpreter</flag>
88 + <flag name="xrootd">Build the interface for <pkg>net-libs/xrootd</pkg> </flag>
89 + </use>
90 </pkgmetadata>
91
92 diff --git a/sci-physics/root/root-5.32.03-r3.ebuild b/sci-physics/root/root-5.32.03-r3.ebuild
93 deleted file mode 100644
94 index 9d87c1c..0000000
95 --- a/sci-physics/root/root-5.32.03-r3.ebuild
96 +++ /dev/null
97 @@ -1,380 +0,0 @@
98 -# Copyright 1999-2012 Gentoo Foundation
99 -# Distributed under the terms of the GNU General Public License v2
100 -# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/root-5.32.03-r2.ebuild,v 1.1 2012/06/13 15:42:21 bicatali Exp $
101 -
102 -EAPI=4
103 -
104 -PYTHON_DEPEND="python? 2"
105 -
106 -if [[ ${PV} == "9999" ]] ; then
107 - _SVN=subversion
108 - ESVN_REPO_URI="https://root.cern.ch/svn/root/trunk"
109 - ESVN_OPTIONS="--non-interactive --trust-server-cert"
110 - SRC_URI=""
111 - KEYWORDS=""
112 -else
113 - SRC_URI="ftp://root.cern.ch/${PN}/${PN}_v${PV}.source.tar.gz"
114 - KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
115 -fi
116 -
117 -inherit elisp-common eutils fdo-mime fortran-2 multilib python toolchain-funcs user ${_SVN}
118 -
119 -ROOFIT_DOC_PV=2.91-33
120 -TMVA_DOC_PV=4.03
121 -PATCH_PV=5.28.00b
122 -PATCH_PV2=5.32.00
123 -
124 -DESCRIPTION="C++ data analysis framework and interpreter from CERN"
125 -HOMEPAGE="http://root.cern.ch/"
126 -SRC_URI="${SRC_URI}
127 - doc? ( ftp://root.cern.ch/${PN}/doc/ROOTUsersGuide.pdf
128 - math? (
129 - ftp://root.cern.ch/${PN}/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf
130 - http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf )
131 - htmldoc? (
132 - http://root.cern.ch/drupal/sites/default/files/rootdrawing-logo.png
133 - http://root.cern.ch/drupal/sites/all/themes/newsflash/images/blue/root-banner.png
134 - http://root.cern.ch/drupal/sites/all/themes/newsflash/images/info.png ) )"
135 -
136 -SLOT="0"
137 -LICENSE="LGPL-2.1"
138 -IUSE="+X afs avahi clarens doc emacs examples fits fftw graphviz htmldoc kerberos
139 - ldap +math mpi mysql odbc +opengl openmp oracle postgres prefix pythia6
140 - pythia8 python qt4 +reflex ruby ssl xft xinetd xml xrootd"
141 -
142 -CDEPEND="
143 - app-arch/xz-utils
144 - >=dev-lang/cfortran-4.4-r2
145 - dev-libs/libpcre
146 - media-fonts/dejavu
147 - media-libs/freetype
148 - media-libs/giflib
149 - media-libs/libpng:0
150 - media-libs/tiff:0
151 - sys-libs/zlib
152 - virtual/jpeg
153 - virtual/shadow
154 - X? (
155 - media-libs/ftgl
156 - media-libs/glew
157 - x11-libs/libX11
158 - x11-libs/libXext
159 - x11-libs/libXpm
160 - || (
161 - >=media-libs/libafterimage-1.20[gif,jpeg,png,tiff]
162 - >=x11-wm/afterstep-2.2.11[gif,jpeg,png,tiff]
163 - )
164 - opengl? ( virtual/opengl virtual/glu x11-libs/gl2ps )
165 - qt4? (
166 - x11-libs/qt-gui:4
167 - x11-libs/qt-opengl:4
168 - x11-libs/qt-qt3support:4
169 - x11-libs/qt-svg:4
170 - x11-libs/qt-webkit:4
171 - x11-libs/qt-xmlpatterns:4 )
172 - xft? ( x11-libs/libXft )
173 - )
174 - afs? ( net-fs/openafs )
175 - avahi? ( net-dns/avahi )
176 - clarens? ( dev-libs/xmlrpc-c[curl] )
177 - emacs? ( virtual/emacs )
178 - fits? ( sci-libs/cfitsio )
179 - fftw? ( sci-libs/fftw:3.0 )
180 - graphviz? ( media-gfx/graphviz )
181 - kerberos? ( virtual/krb5 )
182 - ldap? ( net-nds/openldap )
183 - math? ( sci-libs/gsl sci-mathematics/unuran mpi? ( virtual/mpi ) )
184 - mysql? ( virtual/mysql )
185 - odbc? ( || ( dev-db/libiodbc dev-db/unixODBC ) )
186 - oracle? ( dev-db/oracle-instantclient-basic )
187 - postgres? ( dev-db/postgresql-base )
188 - pythia6? ( sci-physics/pythia:6 )
189 - pythia8? ( sci-physics/pythia:8 )
190 - ruby? (
191 - dev-lang/ruby
192 - dev-ruby/rubygems )
193 - ssl? ( dev-libs/openssl )
194 - xml? ( dev-libs/libxml2 )
195 - xrootd? ( net-libs/xrootd )"
196 -
197 -DEPEND="${CDEPEND}
198 - virtual/pkgconfig"
199 -
200 -RDEPEND="
201 - virtual/fortran
202 - ${CDEPEND}
203 - reflex? ( dev-cpp/gccxml )
204 - xinetd? ( sys-apps/xinetd )"
205 -
206 -PDEPEND="htmldoc? ( ~app-doc/root-docs-${PV} )"
207 -
208 -REQUIRED_USE="
209 - !X? ( !opengl !qt4 !xft )
210 - mpi? ( math !openmp )
211 - openmp? ( math !mpi )"
212 -
213 -S="${WORKDIR}/${PN}"
214 -
215 -pkg_setup() {
216 - fortran-2_pkg_setup
217 - python_pkg_setup
218 - echo
219 - elog "There are extra options on packages not yet in Gentoo:"
220 - elog "AliEn, castor, Chirp, dCache, gfal, gLite, Globus,"
221 - elog "HDFS, Monalisa, MaxDB/SapDB, SRP."
222 - elog "You can use the env variable EXTRA_ECONF variable for this."
223 - elog "For example, for SRP, you would set: "
224 - elog "EXTRA_ECONF=\"--enable-srp --with-srp-libdir=/usr/$(get_libdir)\""
225 - echo
226 - enewgroup rootd
227 - enewuser rootd -1 -1 /var/spool/rootd rootd
228 -
229 - if use math; then
230 - if use openmp; then
231 - if [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then
232 - ewarn "You are using a gcc without OpenMP capabilities"
233 - die "Need an OpenMP capable compiler"
234 - else
235 - export USE_OPENMP=1 USE_PARALLEL_MINUIT2=1
236 - fi
237 - elif use mpi; then
238 - export USE_MPI=1 USE_PARALLEL_MINUIT2=1
239 - fi
240 - fi
241 -}
242 -
243 -src_prepare() {
244 - epatch \
245 - "${FILESDIR}"/${PN}-${PATCH_PV}-prop-ldflags.patch \
246 - "${FILESDIR}"/${PN}-${PATCH_PV}-asneeded.patch \
247 - "${FILESDIR}"/${PN}-${PATCH_PV2}-nobyte-compile.patch \
248 - "${FILESDIR}"/${PN}-${PATCH_PV}-glibc212.patch \
249 - "${FILESDIR}"/${PN}-${PATCH_PV}-unuran.patch \
250 - "${FILESDIR}"/${PN}-${PATCH_PV2}-afs.patch \
251 - "${FILESDIR}"/${PN}-${PATCH_PV2}-cfitsio.patch \
252 - "${FILESDIR}"/${PN}-${PATCH_PV2}-chklib64.patch \
253 - "${FILESDIR}"/${PN}-${PATCH_PV2}-explicit-functions.patch \
254 - "${FILESDIR}"/${PN}-${PATCH_PV2}-dotfont.patch
255 -
256 - # make sure we use system libs and headers
257 - rm montecarlo/eg/inc/cfortran.h README/cfortran.doc || die
258 - rm -rf graf2d/asimage/src/libAfterImage || die
259 - rm -rf graf3d/ftgl/{inc,src} || die
260 - rm -rf graf2d/freetype/src || die
261 - rm -rf graf3d/glew/{inc,src} || die
262 - rm -rf core/pcre/src || die
263 - rm -rf math/unuran/src/unuran-*.tar.gz || die
264 - LANG=C LC_ALL=C find core/zip -type f -name "[a-z]*" -print0 | xargs -0 rm -f || die
265 - rm -rf core/lzma/src/*.tar.gz || die
266 - rm graf3d/gl/{inc,src}/gl2ps.* || die
267 - sed -i -e 's/^GLLIBS *:= .* $(OPENGLLIB)/& -lgl2ps/' graf3d/gl/Module.mk || die
268 -
269 - # In Gentoo, libPythia6 is called libpythia6
270 - # libungif is called libgif,
271 - # iodbc is in /usr/include/iodbc
272 - # pg_config.h is checked instead of libpq-fe.h
273 - sed -i \
274 - -e 's:libPythia6:libpythia6:g' \
275 - -e 's:ungif:gif:g' \
276 - -e 's:$ODBCINCDIR:$ODBCINCDIR /usr/include/iodbc:' \
277 - -e 's:libpq-fe.h:pg_config.h:' \
278 - configure || die "adjusting configure for Gentoo failed"
279 -
280 - # prefixify the configure script
281 - sed -i \
282 - -e 's:/usr:${EPREFIX}/usr:g' \
283 - configure || die "prefixify configure failed"
284 -
285 - # QTDIR only used for qt3 in gentoo, and configure looks for it.
286 - unset QTDIR
287 -
288 - # Make html docs self-consistent for offline work (based on Fedora spec)
289 - if use htmldoc; then
290 - epatch "${FILESDIR}"/${PN}-${PATCH_PV2}-htmldoc.patch
291 - # make images local
292 - sed 's!http://root.cern.ch/drupal/sites/all/themes/newsflash/images/blue/!!' \
293 - -i etc/html/ROOT.css || die "htmldoc sed failed"
294 - sed 's!http://root.cern.ch/drupal/sites/all/themes/newsflash/images/!!' \
295 - -i etc/html/ROOT.css || die "htmldoc sed failed"
296 - sed 's!http://root.cern.ch/drupal/sites/default/files/!!' \
297 - -i etc/html/header.html || die "htmldoc sed failed"
298 -
299 - cp "${DISTDIR}"/{rootdrawing-logo.png,root-banner.png,info.png} etc/html ||
300 - die "htmldoc preparation failed"
301 - fi
302 -}
303 -
304 -src_configure() {
305 - # the configure script is not the standard autotools
306 - ./configure \
307 - --prefix="${EPREFIX}"/usr \
308 - --etcdir="${EPREFIX}"/etc/root \
309 - --libdir="${EPREFIX}"/usr/$(get_libdir)/${PN} \
310 - --docdir="${EPREFIX}"/usr/share/doc/${PF} \
311 - --tutdir="${EPREFIX}"/usr/share/doc/${PF}/examples/tutorials \
312 - --testdir="${EPREFIX}"/usr/share/doc/${PF}/examples/tests \
313 - --with-cc=$(tc-getCC) \
314 - --with-cxx=$(tc-getCXX) \
315 - --with-f77=$(tc-getFC) \
316 - --with-ld=$(tc-getCXX) \
317 - --with-afs-shared=yes \
318 - --with-sys-iconpath="${EPREFIX}"/usr/share/pixmaps \
319 - --disable-builtin-afterimage \
320 - --disable-builtin-freetype \
321 - --disable-builtin-ftgl \
322 - --disable-builtin-glew \
323 - --disable-builtin-pcre \
324 - --disable-builtin-zlib \
325 - --disable-builtin-lzma \
326 - --disable-cling \
327 - --enable-astiff \
328 - --enable-exceptions \
329 - --enable-explicitlink \
330 - --enable-gdml \
331 - --enable-memstat \
332 - --enable-shadowpw \
333 - --enable-shared \
334 - --enable-soversion \
335 - --enable-table \
336 - --fail-on-missing \
337 - $(use_enable X x11) \
338 - $(use_enable X asimage) \
339 - $(use_enable afs) \
340 - $(use_enable avahi bonjour) \
341 - $(use_enable clarens) \
342 - $(use_enable clarens peac) \
343 - $(use_enable fits fitsio) \
344 - $(use_enable fftw fftw3) \
345 - $(use_enable graphviz gviz) \
346 - $(use_enable kerberos krb5) \
347 - $(use_enable ldap) \
348 - $(use_enable math gsl-shared) \
349 - $(use_enable math genvector) \
350 - $(use_enable math mathmore) \
351 - $(use_enable math minuit2) \
352 - $(use_enable math roofit) \
353 - $(use_enable math tmva) \
354 - $(use_enable math unuran) \
355 - $(use_enable mysql) \
356 - $(use_enable odbc) \
357 - $(use_enable opengl) \
358 - $(use_enable postgres pgsql) \
359 - $(use_enable prefix rpath) \
360 - $(use_enable pythia6) \
361 - $(use_enable pythia8) \
362 - $(use_enable python) \
363 - $(use_enable qt4 qt) \
364 - $(use_enable qt4 qtgsi) \
365 - $(use_enable reflex cintex) \
366 - $(use_enable reflex) \
367 - $(use_enable ruby) \
368 - $(use_enable ssl) \
369 - $(use_enable xft) \
370 - $(use_enable xml) \
371 - $(use_enable xrootd) \
372 - ${EXTRA_ECONF} \
373 - || die "configure failed"
374 -}
375 -
376 -src_compile() {
377 - emake OPT="${CXXFLAGS}" F77OPT="${FFLAGS}"
378 - if use emacs; then
379 - elisp-compile build/misc/*.el || die "elisp-compile failed"
380 - fi
381 -}
382 -
383 -doc_install() {
384 - cd "${S}"
385 - if use doc; then
386 - einfo "Installing user's guides"
387 - dodoc "${DISTDIR}"/ROOTUsersGuide.pdf
388 - use math && dodoc \
389 - "${DISTDIR}"/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf \
390 - "${DISTDIR}"/TMVAUsersGuide-v${TMVA_DOC_PV}.pdf
391 - fi
392 -
393 - if use examples; then
394 - # these should really be taken care of by the root make install
395 - insinto /usr/share/doc/${PF}/examples/tutorials/tmva
396 - doins -r tmva/test
397 - else
398 - rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
399 - fi
400 -}
401 -
402 -daemon_install() {
403 - cd "${S}"
404 - local daemons="rootd proofd"
405 - dodir /var/spool/rootd
406 - fowners rootd:rootd /var/spool/rootd
407 - dodir /var/spool/rootd/{pub,tmp}
408 - fperms 1777 /var/spool/rootd/{pub,tmp}
409 -
410 - for i in ${daemons}; do
411 - newinitd "${FILESDIR}"/${i}.initd ${i}
412 - newconfd "${FILESDIR}"/${i}.confd ${i}
413 - done
414 - if use xinetd; then
415 - insinto /etc/xinetd
416 - doins etc/daemons/{rootd,proofd}.xinetd
417 - fi
418 -}
419 -
420 -desktop_install() {
421 - cd "${S}"
422 - sed -e 's,@prefix@,/usr,' \
423 - build/package/debian/root-system-bin.desktop.in > root.desktop
424 - domenu root.desktop
425 - doicon "${S}"/build/package/debian/root-system-bin.png
426 -
427 - insinto /usr/share/icons/hicolor/48x48/mimetypes
428 - doins build/package/debian/application-x-root.png
429 -
430 - insinto /usr/share/icons/hicolor/48x48/apps
431 - doicon build/package/debian/root-system-bin.xpm
432 -}
433 -
434 -src_install() {
435 - emake DESTDIR="${D}" install
436 -
437 - echo "LDPATH=${EPREFIX}/usr/$(get_libdir)/root" > 99root
438 - use pythia8 && echo "PYTHIA8=${EPREFIX}/usr" >> 99root
439 - use python && echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/root" >> 99root
440 - use ruby && echo "RUBYLIB=${EPREFIX}/usr/$(get_libdir)/root" >> 99root
441 - doenvd 99root
442 -
443 - # The build system installs Emacs support unconditionally and in the wrong
444 - # directory. Remove it and call elisp-install in case of USE=emacs.
445 - rm -rf "${ED}"/usr/share/emacs
446 - if use emacs; then
447 - elisp-install ${PN} build/misc/*.{el,elc} || die "elisp-install failed"
448 - fi
449 -
450 - doc_install
451 - daemon_install
452 - desktop_install
453 -
454 - # Cleanup of files either already distributed or unused on Gentoo
455 - rm "${ED}"usr/share/doc/${PF}/{INSTALL,LICENSE,COPYING.CINT} || die
456 - rm "${ED}"usr/share/root/fonts/LICENSE || die
457 - pushd "${ED}"usr/$(get_libdir)/root/cint/cint/lib > /dev/null
458 - rm -f posix/mktypes dll_stl/setup \
459 - G__* dll_stl/G__* dll_stl/rootcint_* posix/exten.o || die
460 - rm -f "${ED}"usr/$(get_libdir)/root/cint/cint/include/makehpib || die
461 - rm -f "${ED}"/etc/root/proof/*.sample || die
462 - rm -rf "${ED}"/etc/root/daemons || die
463 - popd > /dev/null
464 - # these should be in PATH
465 - mv "${ED}"etc/root/proof/utils/pq2/pq2* \
466 - "${ED}"usr/bin/ || die
467 -}
468 -
469 -pkg_postinst() {
470 - fdo-mime_desktop_database_update
471 - use python && python_mod_optimize /usr/$(get_libdir)/root
472 -}
473 -
474 -pkg_postrm() {
475 - fdo-mime_desktop_database_update
476 - use python && python_mod_cleanup /usr/$(get_libdir)/root
477 -}
478
479 diff --git a/sci-physics/root/root-5.34.00.ebuild b/sci-physics/root/root-5.34.00.ebuild
480 deleted file mode 100644
481 index 2a75fd8..0000000
482 --- a/sci-physics/root/root-5.34.00.ebuild
483 +++ /dev/null
484 @@ -1,377 +0,0 @@
485 -# Copyright 1999-2012 Gentoo Foundation
486 -# Distributed under the terms of the GNU General Public License v2
487 -# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/root-5.32.02-r1.ebuild,v 1.3 2012/05/04 07:55:34 jdhore Exp $
488 -
489 -EAPI=4
490 -
491 -PYTHON_DEPEND="python? 2"
492 -
493 -if [[ ${PV} == "9999" ]] ; then
494 - _SVN=subversion
495 - ESVN_REPO_URI="http://root.cern.ch/svn/root/trunk"
496 - SRC_URI=""
497 - KEYWORDS=""
498 -else
499 - SRC_URI="ftp://root.cern.ch/${PN}/${PN}_v${PV}.source.tar.gz"
500 - KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
501 -fi
502 -
503 -inherit elisp-common eutils fdo-mime fortran-2 multilib python toolchain-funcs user ${_SVN}
504 -
505 -ROOFIT_DOC_PV=2.91-33
506 -TMVA_DOC_PV=4.03
507 -PATCH_PV=5.28.00b
508 -PATCH_PV2=5.32.00
509 -
510 -DESCRIPTION="C++ data analysis framework and interpreter from CERN"
511 -HOMEPAGE="http://root.cern.ch/"
512 -SRC_URI="${SRC_URI}
513 - doc? ( ftp://root.cern.ch/${PN}/doc/ROOTUsersGuide.pdf
514 - math? (
515 - ftp://root.cern.ch/${PN}/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf
516 - http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf )
517 - htmldoc? (
518 - http://root.cern.ch/drupal/sites/default/files/rootdrawing-logo.png
519 - http://root.cern.ch/drupal/sites/all/themes/newsflash/images/blue/root-banner.png
520 - http://root.cern.ch/drupal/sites/all/themes/newsflash/images/info.png ) )"
521 -
522 -SLOT="0"
523 -LICENSE="LGPL-2.1"
524 -IUSE="+X afs avahi c++0x clarens doc emacs examples fits fftw graphviz htmldoc
525 - kerberos ldap +math mpi mysql odbc +opengl openmp oracle postgres prefix
526 - pythia6 pythia8 python qt4 +reflex ruby ssl xft xinetd xml xrootd"
527 -
528 -CDEPEND="
529 - app-arch/xz-utils
530 - >=dev-lang/cfortran-4.4-r2
531 - dev-libs/libpcre
532 - media-fonts/dejavu
533 - media-libs/freetype
534 - media-libs/giflib
535 - media-libs/libpng:0
536 - media-libs/tiff:0
537 - sys-libs/zlib
538 - virtual/jpeg
539 - virtual/shadow
540 - X? (
541 - media-libs/ftgl
542 - media-libs/glew
543 - x11-libs/libX11
544 - x11-libs/libXext
545 - x11-libs/libXpm
546 - || (
547 - >=media-libs/libafterimage-1.20[gif,jpeg,png,tiff]
548 - >=x11-wm/afterstep-2.2.11[gif,jpeg,png,tiff]
549 - )
550 - opengl? ( virtual/opengl virtual/glu x11-libs/gl2ps )
551 - qt4? (
552 - x11-libs/qt-gui:4
553 - x11-libs/qt-opengl:4
554 - x11-libs/qt-qt3support:4
555 - x11-libs/qt-svg:4
556 - x11-libs/qt-webkit:4
557 - x11-libs/qt-xmlpatterns:4 )
558 - xft? ( x11-libs/libXft )
559 - )
560 - afs? ( net-fs/openafs )
561 - avahi? ( net-dns/avahi )
562 - c++0x? ( >=sys-devel/gcc-4.7.0 )
563 - clarens? ( dev-libs/xmlrpc-c[curl] )
564 - emacs? ( virtual/emacs )
565 - fits? ( sci-libs/cfitsio )
566 - fftw? ( sci-libs/fftw:3.0 )
567 - graphviz? ( media-gfx/graphviz )
568 - kerberos? ( virtual/krb5 )
569 - ldap? ( net-nds/openldap )
570 - math? ( sci-libs/gsl sci-mathematics/unuran mpi? ( virtual/mpi ) )
571 - mysql? ( virtual/mysql )
572 - odbc? ( || ( dev-db/libiodbc dev-db/unixODBC ) )
573 - oracle? ( dev-db/oracle-instantclient-basic )
574 - postgres? ( dev-db/postgresql-base )
575 - pythia6? ( sci-physics/pythia:6 )
576 - pythia8? ( sci-physics/pythia:8 )
577 - ruby? (
578 - dev-lang/ruby
579 - dev-ruby/rubygems )
580 - ssl? ( dev-libs/openssl )
581 - xml? ( dev-libs/libxml2 )
582 - xrootd? ( >=net-libs/xrootd-3.2.0 )"
583 -
584 -DEPEND="${CDEPEND}
585 - virtual/pkgconfig"
586 -
587 -RDEPEND="
588 - virtual/fortran
589 - ${CDEPEND}
590 - reflex? ( dev-cpp/gccxml )
591 - xinetd? ( sys-apps/xinetd )"
592 -
593 -PDEPEND="htmldoc? ( ~app-doc/root-docs-${PV} )"
594 -
595 -REQUIRED_USE="
596 - !X? ( !opengl !qt4 !xft )
597 - mpi? ( math !openmp )
598 - openmp? ( math !mpi )"
599 -
600 -S="${WORKDIR}/${PN}"
601 -
602 -pkg_setup() {
603 - fortran-2_pkg_setup
604 - python_pkg_setup
605 - echo
606 - elog "There are extra options on packages not yet in Gentoo:"
607 - elog "AliEn, castor, Chirp, dCache, gfal, gLite, Globus,"
608 - elog "HDFS, Monalisa, MaxDB/SapDB, SRP."
609 - elog "You can use the env variable EXTRA_ECONF variable for this."
610 - elog "For example, for SRP, you would set: "
611 - elog "EXTRA_ECONF=\"--enable-srp --with-srp-libdir=/usr/$(get_libdir)\""
612 - echo
613 - enewgroup rootd
614 - enewuser rootd -1 -1 /var/spool/rootd rootd
615 -
616 - if use math; then
617 - if use openmp; then
618 - if [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then
619 - ewarn "You are using a gcc without OpenMP capabilities"
620 - die "Need an OpenMP capable compiler"
621 - else
622 - export USE_OPENMP=1 USE_PARALLEL_MINUIT2=1
623 - fi
624 - elif use mpi; then
625 - export USE_MPI=1 USE_PARALLEL_MINUIT2=1
626 - fi
627 - fi
628 -}
629 -
630 -src_prepare() {
631 - epatch \
632 - "${FILESDIR}"/${PN}-${PATCH_PV}-prop-ldflags.patch \
633 - "${FILESDIR}"/${PN}-${PATCH_PV2}-nobyte-compile.patch \
634 - "${FILESDIR}"/${PN}-${PATCH_PV}-glibc212.patch \
635 - "${FILESDIR}"/${PN}-${PATCH_PV}-unuran.patch \
636 - "${FILESDIR}"/${PN}-${PATCH_PV2}-afs.patch \
637 - "${FILESDIR}"/${PN}-${PATCH_PV2}-cfitsio.patch \
638 - "${FILESDIR}"/${PN}-${PATCH_PV2}-chklib64.patch \
639 - "${FILESDIR}"/${PN}-${PATCH_PV2}-dotfont.patch
640 -
641 - # make sure we use system libs and headers
642 - rm montecarlo/eg/inc/cfortran.h README/cfortran.doc || die
643 - rm -rf graf2d/asimage/src/libAfterImage || die
644 - rm -rf graf3d/ftgl/{inc,src} || die
645 - rm -rf graf2d/freetype/src || die
646 - rm -rf graf3d/glew/{inc,src} || die
647 - rm -rf core/pcre/src || die
648 - rm -rf math/unuran/src/unuran-*.tar.gz || die
649 - LANG=C LC_ALL=C find core/zip -type f -name "[a-z]*" -print0 | xargs -0 rm -f || die
650 - rm -rf core/lzma/src/*.tar.gz || die
651 - rm graf3d/gl/{inc,src}/gl2ps.* || die
652 - sed -i -e 's/^GLLIBS *:= .* $(OPENGLLIB)/& -lgl2ps/' graf3d/gl/Module.mk || die
653 -
654 - # In Gentoo, libPythia6 is called libpythia6
655 - # libungif is called libgif,
656 - # iodbc is in /usr/include/iodbc
657 - # pg_config.h is checked instead of libpq-fe.h
658 - sed -i \
659 - -e 's:libPythia6:libpythia6:g' \
660 - -e 's:ungif:gif:g' \
661 - -e 's:$ODBCINCDIR:$ODBCINCDIR /usr/include/iodbc:' \
662 - -e 's:libpq-fe.h:pg_config.h:' \
663 - configure || die "adjusting configure for Gentoo failed"
664 -
665 - # prefixify the configure script
666 - sed -i \
667 - -e 's:/usr:${EPREFIX}/usr:g' \
668 - configure || die "prefixify configure failed"
669 -
670 - # QTDIR only used for qt3 in gentoo, and configure looks for it.
671 - unset QTDIR
672 -
673 - # Make html docs self-consistent for offline work (based on Fedora spec)
674 - if use htmldoc; then
675 - epatch "${FILESDIR}"/${PN}-${PATCH_PV2}-htmldoc.patch
676 - # make images local
677 - sed 's!http://root.cern.ch/drupal/sites/all/themes/newsflash/images/blue/!!' \
678 - -i etc/html/ROOT.css || die "htmldoc sed failed"
679 - sed 's!http://root.cern.ch/drupal/sites/all/themes/newsflash/images/!!' \
680 - -i etc/html/ROOT.css || die "htmldoc sed failed"
681 - sed 's!http://root.cern.ch/drupal/sites/default/files/!!' \
682 - -i etc/html/header.html || die "htmldoc sed failed"
683 -
684 - cp "${DISTDIR}"/{rootdrawing-logo.png,root-banner.png,info.png} etc/html ||
685 - die "htmldoc preparation failed"
686 - fi
687 -}
688 -
689 -src_configure() {
690 - # the configure script is not the standard autotools
691 - ./configure \
692 - --prefix="${EPREFIX}"/usr \
693 - --etcdir="${EPREFIX}"/etc/root \
694 - --libdir="${EPREFIX}"/usr/$(get_libdir)/${PN} \
695 - --docdir="${EPREFIX}"/usr/share/doc/${PF} \
696 - --tutdir="${EPREFIX}"/usr/share/doc/${PF}/examples/tutorials \
697 - --testdir="${EPREFIX}"/usr/share/doc/${PF}/examples/tests \
698 - --with-cc=$(tc-getCC) \
699 - --with-cxx=$(tc-getCXX) \
700 - --with-f77=$(tc-getFC) \
701 - --with-ld=$(tc-getCXX) \
702 - --with-afs-shared=yes \
703 - --with-sys-iconpath="${EPREFIX}"/usr/share/pixmaps \
704 - --disable-builtin-afterimage \
705 - --disable-builtin-freetype \
706 - --disable-builtin-ftgl \
707 - --disable-builtin-glew \
708 - --disable-builtin-pcre \
709 - --disable-builtin-zlib \
710 - --disable-builtin-lzma \
711 - --disable-cling \
712 - --enable-astiff \
713 - --enable-explicitlink \
714 - --enable-gdml \
715 - --enable-memstat \
716 - --enable-shadowpw \
717 - --enable-shared \
718 - --enable-soversion \
719 - --enable-table \
720 - --fail-on-missing \
721 - $(use_enable X x11) \
722 - $(use_enable X asimage) \
723 - $(use_enable afs) \
724 - $(use_enable avahi bonjour) \
725 - $(use_enable clarens) \
726 - $(use_enable clarens peac) \
727 - $(use_enable fits fitsio) \
728 - $(use_enable fftw fftw3) \
729 - $(use_enable graphviz gviz) \
730 - $(use_enable kerberos krb5) \
731 - $(use_enable ldap) \
732 - $(use_enable math gsl-shared) \
733 - $(use_enable math genvector) \
734 - $(use_enable math mathmore) \
735 - $(use_enable math minuit2) \
736 - $(use_enable math roofit) \
737 - $(use_enable math tmva) \
738 - $(use_enable math unuran) \
739 - $(use_enable mysql) \
740 - $(use_enable odbc) \
741 - $(use_enable opengl) \
742 - $(use_enable postgres pgsql) \
743 - $(use_enable prefix rpath) \
744 - $(use_enable pythia6) \
745 - $(use_enable pythia8) \
746 - $(use_enable python) \
747 - $(use_enable qt4 qt) \
748 - $(use_enable qt4 qtgsi) \
749 - $(use_enable reflex cintex) \
750 - $(use_enable reflex) \
751 - $(use_enable ruby) \
752 - $(use_enable ssl) \
753 - $(use_enable xft) \
754 - $(use_enable xml) \
755 - $(use_enable xrootd) \
756 - ${EXTRA_ECONF} \
757 - || die "configure failed"
758 -}
759 -
760 -src_compile() {
761 - emake OPT="${CXXFLAGS}" F77OPT="${FFLAGS}" ROOTSYS="${S}" LD_LIBRARY_PATH="${S}/lib"
762 - if use emacs; then
763 - elisp-compile build/misc/*.el || die "elisp-compile failed"
764 - fi
765 -}
766 -
767 -doc_install() {
768 - cd "${S}"
769 - if use doc; then
770 - einfo "Installing user's guides"
771 - dodoc "${DISTDIR}"/ROOTUsersGuide.pdf
772 - use math && dodoc \
773 - "${DISTDIR}"/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf \
774 - "${DISTDIR}"/TMVAUsersGuide-v${TMVA_DOC_PV}.pdf
775 - fi
776 -
777 - if use examples; then
778 - # these should really be taken care of by the root make install
779 - insinto /usr/share/doc/${PF}/examples/tutorials/tmva
780 - doins -r tmva/test
781 - else
782 - rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
783 - fi
784 -}
785 -
786 -daemon_install() {
787 - cd "${S}"
788 - local daemons="rootd proofd"
789 - dodir /var/spool/rootd
790 - fowners rootd:rootd /var/spool/rootd
791 - dodir /var/spool/rootd/{pub,tmp}
792 - fperms 1777 /var/spool/rootd/{pub,tmp}
793 -
794 - for i in ${daemons}; do
795 - newinitd "${FILESDIR}"/${i}.initd ${i}
796 - newconfd "${FILESDIR}"/${i}.confd ${i}
797 - done
798 - if use xinetd; then
799 - insinto /etc/xinetd
800 - doins etc/daemons/{rootd,proofd}.xinetd
801 - fi
802 -}
803 -
804 -desktop_install() {
805 - cd "${S}"
806 - sed -e 's,@prefix@,/usr,' \
807 - build/package/debian/root-system-bin.desktop.in > root.desktop
808 - domenu root.desktop
809 - doicon "${S}"/build/package/debian/root-system-bin.png
810 -
811 - insinto /usr/share/icons/hicolor/48x48/mimetypes
812 - doins build/package/debian/application-x-root.png
813 -
814 - insinto /usr/share/icons/hicolor/48x48/apps
815 - doicon build/package/debian/root-system-bin.xpm
816 -}
817 -
818 -src_install() {
819 - emake DESTDIR="${D}" install
820 -
821 - echo "LDPATH=${EPREFIX}/usr/$(get_libdir)/root" > 99root
822 - use pythia8 && echo "PYTHIA8=${EPREFIX}/usr" >> 99root
823 - use python && echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/root" >> 99root
824 - use ruby && echo "RUBYLIB=${EPREFIX}/usr/$(get_libdir)/root" >> 99root
825 - doenvd 99root
826 -
827 - # The build system installs Emacs support unconditionally and in the wrong
828 - # directory. Remove it and call elisp-install in case of USE=emacs.
829 - rm -rf "${ED}"/usr/share/emacs
830 - if use emacs; then
831 - elisp-install ${PN} build/misc/*.{el,elc} || die "elisp-install failed"
832 - fi
833 -
834 - doc_install
835 - daemon_install
836 - desktop_install
837 -
838 - # Cleanup of files either already distributed or unused on Gentoo
839 - rm "${ED}"usr/share/doc/${PF}/{INSTALL,LICENSE,COPYING.CINT} || die
840 - rm "${ED}"usr/share/root/fonts/LICENSE || die
841 - pushd "${ED}"usr/$(get_libdir)/root/cint/cint/lib > /dev/null
842 - rm -f posix/mktypes dll_stl/setup \
843 - G__* dll_stl/G__* dll_stl/rootcint_* posix/exten.o || die
844 - rm -f "${ED}"usr/$(get_libdir)/root/cint/cint/include/makehpib || die
845 - rm -f "${ED}"/etc/root/proof/*.sample || die
846 - rm -rf "${ED}"/etc/root/daemons || die
847 - popd > /dev/null
848 - # these should be in PATH
849 - mv "${ED}"etc/root/proof/utils/pq2/pq2* \
850 - "${ED}"usr/bin/ || die
851 -}
852 -
853 -pkg_postinst() {
854 - fdo-mime_desktop_database_update
855 - use python && python_mod_optimize /usr/$(get_libdir)/root
856 -}
857 -
858 -pkg_postrm() {
859 - fdo-mime_desktop_database_update
860 - use python && python_mod_cleanup /usr/$(get_libdir)/root
861 -}