aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-physics/root/root-9999.ebuild')
-rw-r--r--sci-physics/root/root-9999.ebuild215
1 files changed, 121 insertions, 94 deletions
diff --git a/sci-physics/root/root-9999.ebuild b/sci-physics/root/root-9999.ebuild
index 0543c90bd..4c6ffdbdd 100644
--- a/sci-physics/root/root-9999.ebuild
+++ b/sci-physics/root/root-9999.ebuild
@@ -1,14 +1,12 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $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 $
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/root-5.34.09.ebuild,v 1.2 2013/09/05 19:44:52 mgorny Exp $
-EAPI=4
-
-PYTHON_DEPEND="python? 2"
+EAPI=5
if [[ ${PV} == "9999" ]] ; then
- _SVN=subversion
- ESVN_REPO_URI="http://root.cern.ch/svn/root/trunk"
+ _GIT=git-2
+ EGIT_REPO_URI="http://root.cern.ch/git/root.git"
SRC_URI=""
KEYWORDS=""
else
@@ -16,30 +14,43 @@ else
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
fi
-inherit elisp-common eutils fdo-mime fortran-2 multilib python ${_SVN} toolchain-funcs user versionator
+PYTHON_COMPAT=( python2_{6,7} )
+inherit elisp-common eutils fdo-mime fortran-2 ${_GIT} multilib python-single-r1 toolchain-funcs user versionator
ROOFIT_DOC_PV=2.91-33
TMVA_DOC_PV=4.03
PATCH_PV=5.28.00b
PATCH_PV2=5.32.00
+PATCH_PV3=5.34.05
+PATCH_PVLIVE=9999
DESCRIPTION="C++ data analysis framework and interpreter from CERN"
HOMEPAGE="http://root.cern.ch/"
SRC_URI="${SRC_URI}
- doc? ( ftp://root.cern.ch/${PN}/doc/ROOTUsersGuide.pdf
+ !minimal? ( doc? (
math? (
ftp://root.cern.ch/${PN}/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf
http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf )
+ metric? ( ftp://root.cern.ch/${PN}/doc/ROOTUsersGuideA4.pdf -> ROOTUsersGuideA4-${PV}.pdf )
+ !metric? ( ftp://root.cern.ch/${PN}/doc/ROOTUsersGuideLetter.pdf -> ROOTUsersGuideLetter-${PV}.pdf )
htmldoc? (
http://root.cern.ch/drupal/sites/default/files/rootdrawing-logo.png
http://root.cern.ch/drupal/sites/all/themes/newsflash/images/blue/root-banner.png
- http://root.cern.ch/drupal/sites/all/themes/newsflash/images/info.png ) )"
+ http://root.cern.ch/drupal/sites/all/themes/newsflash/images/info.png )
+ ) )"
SLOT="0"
LICENSE="LGPL-2.1"
-IUSE="+X afs avahi -c++0x doc emacs examples fits fftw geocad graphviz htmldoc
- kerberos ldap llvm +math mpi mysql odbc +opengl openmp oracle postgres prefix
- pythia6 pythia8 python qt4 +reflex ruby ssl xinetd xml xrootd"
+IUSE="+X afs avahi c++0x doc emacs examples fits fftw geocad graphviz htmldoc
+ kerberos ldap +math +metric minimal mpi mysql odbc +opengl openmp oracle postgres
+ prefix pythia6 pythia8 python qt4 ruby sqlite ssl xinetd xml xrootd"
+
+REQUIRED_USE="
+ !X? ( !opengl !qt4 )
+ htmldoc? ( doc )
+ mpi? ( math !openmp )
+ openmp? ( math !mpi )
+ python? ( ${PYTHON_REQUIRED_USE} )"
CDEPEND="
app-arch/xz-utils
@@ -59,66 +70,65 @@ CDEPEND="
x11-libs/libX11
x11-libs/libXext
x11-libs/libXpm
- || (
- >=media-libs/libafterimage-1.20[gif,jpeg,png,tiff]
- >=x11-wm/afterstep-2.2.11[gif,jpeg,png,tiff]
+ !minimal? (
+ || (
+ >=media-libs/libafterimage-1.20[gif,jpeg,png,tiff]
+ >=x11-wm/afterstep-2.2.11[gif,jpeg,png,tiff]
+ )
+ opengl? ( virtual/opengl virtual/glu x11-libs/gl2ps )
+ qt4? (
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ dev-qt/qt3support:4
+ dev-qt/qtsvg:4
+ dev-qt/qtwebkit:4
+ dev-qt/qtxmlpatterns:4
+ )
+ x11-libs/libXft
)
- opengl? ( virtual/opengl virtual/glu x11-libs/gl2ps )
- qt4? (
- dev-qt/qtgui:4
- dev-qt/qtopengl:4
- dev-qt/qt3support:4
- dev-qt/qtsvg:4
- dev-qt/qtwebkit:4
- dev-qt/qtxmlpatterns:4 )
- x11-libs/libXft
- )
- afs? ( net-fs/openafs )
- avahi? ( net-dns/avahi )
- emacs? ( virtual/emacs )
- fits? ( sci-libs/cfitsio )
- fftw? ( sci-libs/fftw:3.0 )
- geocad? ( sci-libs/opencascade )
- graphviz? ( media-gfx/graphviz )
- kerberos? ( virtual/krb5 )
- ldap? ( net-nds/openldap )
- llvm? ( >=sys-devel/clang-9999 =sys-devel/llvm-9999 )
- math? ( sci-libs/gsl sci-mathematics/unuran mpi? ( virtual/mpi ) )
- mysql? ( virtual/mysql )
- odbc? ( || ( dev-db/libiodbc dev-db/unixODBC ) )
- oracle? ( dev-db/oracle-instantclient-basic )
- postgres? ( dev-db/postgresql-base )
- pythia6? ( sci-physics/pythia:6 )
- pythia8? ( sci-physics/pythia:8 )
- ruby? (
- dev-lang/ruby
- dev-ruby/rubygems )
- ssl? ( dev-libs/openssl )
- xml? ( dev-libs/libxml2 )
- xrootd? ( >=net-libs/xrootd-3.2.0 )"
+ )
+ !minimal? (
+ afs? ( net-fs/openafs )
+ avahi? ( net-dns/avahi )
+ emacs? ( virtual/emacs )
+ fits? ( sci-libs/cfitsio )
+ fftw? ( sci-libs/fftw:3.0 )
+ geocad? ( sci-libs/opencascade )
+ graphviz? ( media-gfx/graphviz )
+ kerberos? ( virtual/krb5 )
+ ldap? ( net-nds/openldap )
+ math? ( sci-libs/gsl sci-mathematics/unuran mpi? ( virtual/mpi ) )
+ mysql? ( virtual/mysql )
+ odbc? ( || ( dev-db/libiodbc dev-db/unixODBC ) )
+ oracle? ( dev-db/oracle-instantclient-basic )
+ postgres? ( dev-db/postgresql-base )
+ pythia6? ( sci-physics/pythia:6 )
+ pythia8? ( sci-physics/pythia:8 )
+ python? ( ${PYTHON_DEPS} )
+ ruby? (
+ dev-lang/ruby
+ dev-ruby/rubygems )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? ( dev-libs/openssl )
+ xml? ( dev-libs/libxml2 )
+ xrootd? ( >=net-libs/xrootd-3.2.0 )
+ )"
DEPEND="${CDEPEND}
virtual/pkgconfig"
RDEPEND="${CDEPEND}
- reflex? ( dev-cpp/gccxml )
xinetd? ( sys-apps/xinetd )"
PDEPEND="htmldoc? ( ~app-doc/root-docs-${PV} )"
-REQUIRED_USE="
- !X? ( !opengl !qt4 )
- mpi? ( math !openmp )
- openmp? ( math !mpi )"
-
S="${WORKDIR}/${PN}"
pkg_setup() {
fortran-2_pkg_setup
- python_pkg_setup
echo
elog "There are extra options on packages not yet in Gentoo:"
- elog "AliEn, castor, Chirp, dCache, gfal, gLite, Globus,"
+ elog "Afdsmgrd, AliEn, castor, Chirp, dCache, gfal, Globus, gLite,"
elog "HDFS, Monalisa, MaxDB/SapDB, SRP."
elog "You can use the env variable EXTRA_ECONF variable for this."
elog "For example, for SRP, you would set: "
@@ -126,7 +136,9 @@ pkg_setup() {
echo
enewgroup rootd
enewuser rootd -1 -1 /var/spool/rootd rootd
+ use minimal && return
+ use python && python-single-r1_pkg_setup
if use math; then
if use openmp; then
if [[ $(tc-getCXX)$ == *g++* ]] && ! tc-has-openmp; then
@@ -149,25 +161,24 @@ pkg_setup() {
src_prepare() {
epatch \
"${FILESDIR}"/${PN}-${PATCH_PV2}-prop-flags.patch \
- "${FILESDIR}"/${PN}-${PATCH_PV2}-nobyte-compile.patch \
+ "${FILESDIR}"/${PN}-${PATCH_PV3}-nobyte-compile.patch \
"${FILESDIR}"/${PN}-${PATCH_PV}-glibc212.patch \
"${FILESDIR}"/${PN}-${PATCH_PV}-unuran.patch \
"${FILESDIR}"/${PN}-${PATCH_PV2}-afs.patch \
"${FILESDIR}"/${PN}-${PATCH_PV2}-cfitsio.patch \
"${FILESDIR}"/${PN}-${PATCH_PV2}-chklib64.patch \
- "${FILESDIR}"/${PN}-9999-dotfont.patch \
- "${FILESDIR}"/${PN}-9999-cling.patch
+ "${FILESDIR}"/${PN}-${PATCH_PV2}-dotfont.patch
# make sure we use system libs and headers
rm montecarlo/eg/inc/cfortran.h README/cfortran.doc || die
- rm -rf graf2d/asimage/src/libAfterImage || die
- rm -rf graf3d/ftgl/{inc,src} || die
- rm -rf graf2d/freetype/src || die
- rm -rf graf3d/glew/{inc,src} || die
- rm -rf core/pcre/src || die
- rm -rf math/unuran/src/unuran-*.tar.gz || die
+ rm -r graf2d/asimage/src/libAfterImage || die
+ rm -r graf3d/ftgl/{inc,src} || die
+ rm -r graf2d/freetype/src || die
+ rm -r graf3d/glew/{inc,src} || die
+ rm -r core/pcre/src || die
+ rm -r math/unuran/src/unuran-*.tar.gz || die
LANG=C LC_ALL=C find core/zip -type f -name "[a-z]*" -print0 | xargs -0 rm -f || die
- rm -rf core/lzma/src/*.tar.gz || die
+ rm -r core/lzma/src/*.tar.gz || die
rm graf3d/gl/{inc,src}/gl2ps.* || die
sed -i -e 's/^GLLIBS *:= .* $(OPENGLLIB)/& -lgl2ps/' graf3d/gl/Module.mk || die
@@ -191,8 +202,8 @@ src_prepare() {
unset QTDIR
# Make html docs self-consistent for offline work (based on Fedora spec)
- if use htmldoc; then
- epatch "${FILESDIR}"/${PN}-${PATCH_PV2}-htmldoc.patch
+ if use htmldoc && ! use minimal; then
+ epatch "${FILESDIR}"/${PN}-${PATCH_PVLIVE}-htmldoc.patch
# make images local
sed 's!http://root.cern.ch/drupal/sites/all/themes/newsflash/images/blue/!!' \
-i etc/html/ROOT.css || die "htmldoc sed failed"
@@ -208,7 +219,7 @@ src_prepare() {
src_configure() {
# the configure script is not the standard autotools
- ./configure \
+ local mycommonconf="
--prefix="${EPREFIX}"/usr \
--etcdir="${EPREFIX}"/etc/root \
--libdir="${EPREFIX}"/usr/$(get_libdir)/${PN} \
@@ -219,12 +230,22 @@ src_configure() {
--with-cxx=$(tc-getCXX) \
--with-f77=$(tc-getFC) \
--with-ld=$(tc-getCXX) \
+ --nohowto
+ "
+ if use minimal; then
+ ./configure \
+ ${mycommonconf} \
+ $(usex X --gminimal --minimal) \
+ || die "configure failed"
+ return
+ fi
+ ./configure \
+ ${mycommonconf} \
--with-afs-shared=yes \
- --with-llvm-config="${EPREFIX}"/usr/bin/llvm-config \
--with-sys-iconpath="${EPREFIX}"/usr/share/pixmaps \
--disable-builtin-afterimage \
- --disable-builtin-freetype \
--disable-builtin-ftgl \
+ --disable-builtin-freetype \
--disable-builtin-glew \
--disable-builtin-pcre \
--disable-builtin-zlib \
@@ -243,12 +264,13 @@ src_configure() {
$(use_enable X xft) \
$(use_enable afs) \
$(use_enable avahi bonjour) \
+ $(use_enable c++0x c++11) \
$(use_enable fits fitsio) \
$(use_enable fftw fftw3) \
+ $(use_enable geocad) \
$(use_enable graphviz gviz) \
$(use_enable kerberos krb5) \
$(use_enable ldap) \
- $(use_enable llvm cling) \
$(use_enable math gsl-shared) \
$(use_enable math genvector) \
$(use_enable math mathmore) \
@@ -256,19 +278,21 @@ src_configure() {
$(use_enable math roofit) \
$(use_enable math tmva) \
$(use_enable math unuran) \
+ $(use_enable math vc) \
$(use_enable mysql) \
$(use_enable odbc) \
$(use_enable opengl) \
+ $(use_enable oracle) \
$(use_enable postgres pgsql) \
+ $(usex postgres "--with-pgsql-incdir=$(pg_config --includedir)" "") \
$(use_enable prefix rpath) \
$(use_enable pythia6) \
$(use_enable pythia8) \
$(use_enable python) \
$(use_enable qt4 qt) \
$(use_enable qt4 qtgsi) \
- $(use_enable reflex cintex) \
- $(use_enable reflex) \
$(use_enable ruby) \
+ $(use_enable sqlite) \
$(use_enable ssl) \
$(use_enable xml) \
$(use_enable xrootd) \
@@ -278,27 +302,28 @@ src_configure() {
src_compile() {
emake OPT="${CXXFLAGS}" F77OPT="${FFLAGS}" ROOTSYS="${S}" LD_LIBRARY_PATH="${S}/lib"
- if use emacs; then
+ if use emacs && ! use minimal; then
elisp-compile build/misc/*.el || die "elisp-compile failed"
fi
}
doc_install() {
cd "${S}"
- if use doc; then
+ if use doc && ! use minimal; then
einfo "Installing user's guides"
- dodoc "${DISTDIR}"/ROOTUsersGuide.pdf
+ use metric && dodoc "${DISTDIR}"/ROOTUsersGuideA4-${PV}.pdf || \
+ dodoc "${DISTDIR}"/ROOTUsersGuideLetter-${PV}.pdf
use math && dodoc \
"${DISTDIR}"/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf \
"${DISTDIR}"/TMVAUsersGuide-v${TMVA_DOC_PV}.pdf
fi
- if use examples; then
+ if use examples && ! use minimal; then
# these should really be taken care of by the root make install
insinto /usr/share/doc/${PF}/examples/tutorials/tmva
doins -r tmva/test
else
- rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -r "${ED}"/usr/share/doc/${PF}/examples || die
fi
}
@@ -322,10 +347,9 @@ daemon_install() {
desktop_install() {
cd "${S}"
- sed -e 's,@prefix@,/usr,' \
- build/package/debian/root-system-bin.desktop.in > root.desktop
- domenu root.desktop
- doicon "${S}"/build/package/debian/root-system-bin.png
+ echo "Icon=root-system-bin" >> etc/root.desktop
+ domenu etc/root.desktop
+ doicon build/package/debian/root-system-bin.png
insinto /usr/share/icons/hicolor/48x48/mimetypes
doins build/package/debian/application-x-root.png
@@ -338,15 +362,20 @@ src_install() {
emake DESTDIR="${D}" install
echo "LDPATH=${EPREFIX}/usr/$(get_libdir)/root" > 99root
- use pythia8 && echo "PYTHIA8=${EPREFIX}/usr" >> 99root
- use python && echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/root" >> 99root
- use ruby && echo "RUBYLIB=${EPREFIX}/usr/$(get_libdir)/root" >> 99root
+ if ! use minimal; then
+ use pythia8 && echo "PYTHIA8=${EPREFIX}/usr" >> 99root
+ if use python; then
+ echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/root" >> 99root
+ python_optimize /usr/$(get_libdir)/root
+ fi
+ use ruby && echo "RUBYLIB=${EPREFIX}/usr/$(get_libdir)/root" >> 99root
+ fi
doenvd 99root
# The build system installs Emacs support unconditionally and in the wrong
# directory. Remove it and call elisp-install in case of USE=emacs.
- rm -rf "${ED}"/usr/share/emacs
- if use emacs; then
+ rm -r "${ED}"/usr/share/emacs
+ if use emacs && ! use minimal; then
elisp-install ${PN} build/misc/*.{el,elc} || die "elisp-install failed"
fi
@@ -358,11 +387,11 @@ src_install() {
rm "${ED}"usr/share/doc/${PF}/{INSTALL,LICENSE,COPYING.CINT} || die
rm "${ED}"usr/share/root/fonts/LICENSE || die
pushd "${ED}"usr/$(get_libdir)/root/cint/cint/lib > /dev/null
- rm -f posix/mktypes dll_stl/setup \
+ rm posix/mktypes dll_stl/setup \
G__* dll_stl/G__* dll_stl/rootcint_* posix/exten.o || die
- rm -f "${ED}"usr/$(get_libdir)/root/cint/cint/include/makehpib || die
- rm -f "${ED}"/etc/root/proof/*.sample || die
- rm -rf "${ED}"/etc/root/daemons || die
+ rm "${ED}"usr/$(get_libdir)/root/cint/cint/include/makehpib || die
+ rm "${ED}"/etc/root/proof/*.sample || die
+ rm -r "${ED}"/etc/root/daemons || die
popd > /dev/null
# these should be in PATH
mv "${ED}"etc/root/proof/utils/pq2/pq2* \
@@ -371,10 +400,8 @@ src_install() {
pkg_postinst() {
fdo-mime_desktop_database_update
- use python && python_mod_optimize /usr/$(get_libdir)/root
}
pkg_postrm() {
fdo-mime_desktop_database_update
- use python && python_mod_cleanup /usr/$(get_libdir)/root
}