commit: 12927c96d1a128d55ac21a00cb3595945a17b65b
Author: Andrew Savchenko <bircoph <AT> gmail <DOT> com>
AuthorDate: Wed Apr 8 02:24:03 2015 +0000
Commit: Andrew Savchenko <bircoph <AT> gmail <DOT> com>
CommitDate: Wed Apr 8 02:24:03 2015 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=12927c96
sci-physics/root: version bump
sci-physics/root/ChangeLog | 9 ++
.../root/files/root-6.00.01-tutorials-path.patch | 39 -----
sci-physics/root/files/root-6.00.02-tm_zone.patch | 22 ---
sci-physics/root/files/root-6.02.05-xrootd4.patch | 11 ++
sci-physics/root/metadata.xml | 4 +
.../{root-6.00.02.ebuild => root-6.02.05.ebuild} | 171 ++++++++++++---------
6 files changed, 126 insertions(+), 130 deletions(-)
diff --git a/sci-physics/root/ChangeLog b/sci-physics/root/ChangeLog
index d1fdd9d..a4087b4 100644
--- a/sci-physics/root/ChangeLog
+++ b/sci-physics/root/ChangeLog
@@ -2,6 +2,15 @@
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/ChangeLog,v 1.96
2012/03/29 18:21:49 bicatali Exp $
+*root-6.02.05 (08 Apr 2015)
+
+ 08 Apr 2015; Andrew Savchenko <[email protected]> -root-6.00.02.ebuild,
+ +root-6.02.05.ebuild, -files/root-6.00.01-tutorials-path.patch,
+ -files/root-6.00.02-tm_zone.patch, +files/root-6.02.05-xrootd4.patch,
+ metadata.xml:
+ Version bump for testing and evaluation, add new flags.
+ Remove old.
+
03 Mar 2015; Andrew Savchenko <[email protected]> -root-5.34.26.ebuild,
-files/root-5.32.00-dotfont.patch, -files/root-5.34.05-nobyte-compile.patch,
metadata.xml:
diff --git a/sci-physics/root/files/root-6.00.01-tutorials-path.patch
b/sci-physics/root/files/root-6.00.01-tutorials-path.patch
deleted file mode 100644
index cb68615..0000000
--- a/sci-physics/root/files/root-6.00.01-tutorials-path.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/config/RConfigure.in b/config/RConfigure.in
-index 5950401..e4fbfbf 100644
---- a/config/RConfigure.in
-+++ b/config/RConfigure.in
-@@ -11,6 +11,7 @@
- #define ROOTDATADIR "@datadir@"
- #define ROOTDOCDIR "@docdir@"
- #define ROOTMACRODIR "@macrodir@"
-+#define ROOTTUTDIR "@tutdir@"
- #define ROOTSRCDIR "@srcdir@"
- #define ROOTICONPATH "@iconpath@"
- #define EXTRAICONPATH "@extraiconpath@"
-diff --git a/configure b/configure
-index 131df92..2c8ea95 100755
---- a/configure
-+++ b/configure
-@@ -7537,6 +7537,7 @@ sed \
- -e "s|@prefix@|$prefix|" \
- -e "s|@srcdir@|$srcdir|" \
- -e "s|@ttffontdir@|$fontdir|" \
-+ -e "s|@tutdir@|$tutdir|" \
- -e "s|@setresuid@|$setresuid|" \
- -e "s|@hasmathmore@|$hasmathmore|" \
- -e "s|@haspthread@|$haspthread|" \
-diff --git a/core/base/src/TApplication.cxx b/core/base/src/TApplication.cxx
-index 1c1809a..7d7ed37 100644
---- a/core/base/src/TApplication.cxx
-+++ b/core/base/src/TApplication.cxx
-@@ -866,8 +866,8 @@ Long_t TApplication::ProcessLine(const char *line, Bool_t
sync, Int_t *err)
- Error("ProcessLine", "Cannot show demos in batch mode!");
- return 1;
- }
--#ifdef ROOTDOCDIR
-- ProcessLine(".x " ROOTDOCDIR "/tutorials/demos.C");
-+#ifdef ROOTTUTDIR
-+ ProcessLine(".x " ROOTTUTDIR "/demos.C");
- #else
- ProcessLine(".x $(ROOTSYS)/tutorials/demos.C");
- #endif
diff --git a/sci-physics/root/files/root-6.00.02-tm_zone.patch
b/sci-physics/root/files/root-6.00.02-tm_zone.patch
deleted file mode 100644
index cdd1b13..0000000
--- a/sci-physics/root/files/root-6.00.02-tm_zone.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 08b08412bafc24fa635b0fdb832097a3aa2fa1d2 Mon Sep 17 00:00:00 2001
-From: Pere Mato <[email protected]>
-Date: Sun, 21 Sep 2014 19:27:30 +0200
-Subject: [PATCH] Fix for ROOT-6728 - Compilation error in TTimeStamp
-
----
- core/base/src/TTimeStamp.cxx | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/core/base/src/TTimeStamp.cxx b/core/base/src/TTimeStamp.cxx
-index 8709220..f0ff12d 100644
---- a/core/base/src/TTimeStamp.cxx
-+++ b/core/base/src/TTimeStamp.cxx
-@@ -813,7 +813,7 @@ void TTimeStamp::DumpTMStruct(const tm_t &tmstruct)
- tmstruct.tm_isdst);
- #if (defined(linux) && !defined(R__WINGCC)) || defined(R__MACOSX)
- printf(",\n tm_gmtoff %6ld, tm_zone \"%s\"",
--#if defined(__USE_BSD) || defined(R__MACOSX)
-+#if defined(__USE_BSD) || defined(R__MACOSX) || defined(__USE_MISC)
- tmstruct.tm_gmtoff, tmstruct.tm_zone);
- #else
- tmstruct.__tm_gmtoff, tmstruct.__tm_zone);
diff --git a/sci-physics/root/files/root-6.02.05-xrootd4.patch
b/sci-physics/root/files/root-6.02.05-xrootd4.patch
new file mode 100644
index 0000000..0b4a4be
--- /dev/null
+++ b/sci-physics/root/files/root-6.02.05-xrootd4.patch
@@ -0,0 +1,11 @@
+https://sft.its.cern.ch/jira/browse/ROOT-6998
+--- root-6.02.05/net/netxng/src/TNetXNGFile.cxx.orig 2015-02-09
11:59:47.000000000 +0300
++++ root-6.02.05/net/netxng/src/TNetXNGFile.cxx 2015-04-05
11:32:31.893127758 +0300
+@@ -28,6 +28,7 @@
+ #include <XrdCl/XrdClFile.hh>
+ #include <XrdCl/XrdClXRootDResponses.hh>
+ #include <XrdCl/XrdClDefaultEnv.hh>
++#include <XrdVersion.hh>
+ #include <iostream>
+
+
//------------------------------------------------------------------------------
diff --git a/sci-physics/root/metadata.xml b/sci-physics/root/metadata.xml
index 7e1dbd5..a8f8c1f 100644
--- a/sci-physics/root/metadata.xml
+++ b/sci-physics/root/metadata.xml
@@ -16,11 +16,15 @@
</longdescription>
<use>
<flag name="fits">Support for images and data from FITS files with
<pkg>sci-libs/cfitsio</pkg></flag>
+ <flag name="gdml">Enable GDML writer and reader</flag>
<flag name="geocad">Enable ROOT-CAD interface using
<pkg>sci-libs/opencascade</pkg></flag>
<flag name="http">Enable http server support including but not limited to
fastcgi support</flag>
<flag name="math">Build all math related libraries plugins, needs
<pkg>sci-libs/gsl</pkg> </flag>
+ <flag name="memstat">Build memory statistics library, helps to detect memory
leaks</flag>
<flag name="pythia6">Build the interface for <pkg>sci-physics/pythia</pkg>
version 6.x </flag>
<flag name="pythia8">Build the interface for <pkg>sci-physics/pythia</pkg>
version 8.x </flag>
+ <flag name="shadow">Enable shadow authentication in rootd and proofd</flag>
+ <flag name="table">Build libTable contrib library</flag>
<flag name="xrootd">Build the interface for <pkg>net-libs/xrootd</pkg>
</flag>
</use>
</pkgmetadata>
diff --git a/sci-physics/root/root-6.00.02.ebuild
b/sci-physics/root/root-6.02.05.ebuild
similarity index 73%
rename from sci-physics/root/root-6.00.02.ebuild
rename to sci-physics/root/root-6.02.05.ebuild
index 2711170..61882d5 100644
--- a/sci-physics/root/root-6.00.02.ebuild
+++ b/sci-physics/root/root-6.02.05.ebuild
@@ -1,20 +1,18 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/root-5.34.18-r1.ebuild,v
1.3 2014/03/27 18:51:54 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/root/root-5.34.28.ebuild,v 1.1
2015/03/25 21:38:59 bircoph Exp $
EAPI=5
if [[ ${PV} == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="http://root.cern.ch/git/root.git"
- KEYWORDS=""
else
SRC_URI="ftp://root.cern.ch/${PN}/${PN}_v${PV}.source.tar.gz"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
- S="${WORKDIR}/${PN}"
fi
-PYTHON_COMPAT=( python2_{6,7} )
+PYTHON_COMPAT=( python2_7 )
inherit elisp-common eutils fdo-mime fortran-2 multilib python-single-r1 \
toolchain-funcs user versionator
@@ -25,21 +23,20 @@ DOC_URI="ftp://root.cern.ch/${PN}/doc"
SLOT="0/$(get_version_component_range 1-3 ${PV})"
LICENSE="LGPL-2.1 freedist MSttfEULA LGPL-3 libpng UoI-NCSA"
-IUSE="+X afs avahi doc emacs examples fits fftw geocad graphviz
- http kerberos ldap +math minimal mpi mysql odbc +opengl openmp
- oracle postgres prefix pythia6 pythia8 python qt4 sqlite ssl
- xinetd xml xrootd"
+IUSE="+X afs avahi doc emacs examples fits fftw gdml geocad
+ graphviz http kerberos ldap +math +memstat minimal mpi mysql odbc
+ +opengl openmp oracle postgres prefix pythia6 pythia8
+ python qt4 shadow sqlite ssl table +tiff xinetd xml xrootd"
# TODO: add support for: davix
# TODO: ROOT-6 supports x32 ABI, but half of its dependencies doesn't
# TODO: unbundle: cling, vdt
REQUIRED_USE="
+ !X? ( !minimal? ( !opengl !qt4 !tiff ) )
mpi? ( math !openmp )
- opengl? ( X )
openmp? ( math !mpi )
python? ( ${PYTHON_REQUIRED_USE} )
- qt4? ( X )
"
CDEPEND="
@@ -48,12 +45,9 @@ CDEPEND="
dev-libs/libpcre:3=
media-fonts/dejavu
media-libs/freetype:2=
- media-libs/giflib:0=
media-libs/libpng:0=
- media-libs/tiff:0=
>=sys-devel/clang-3.4
sys-libs/zlib:0=
- virtual/jpeg:0
virtual/shadow
X? (
media-libs/ftgl:0=
@@ -62,6 +56,10 @@ CDEPEND="
x11-libs/libXext:0=
x11-libs/libXpm:0=
!minimal? (
+ || (
+ media-libs/libafterimage:0=[gif,jpeg,png,tiff?]
+ >=x11-wm/afterstep-2.2.11:0=[gif,jpeg,png,tiff?]
+ )
opengl? ( virtual/opengl virtual/glu x11-libs/gl2ps:0= )
qt4? (
dev-qt/qtgui:4=
@@ -80,7 +78,7 @@ CDEPEND="
emacs? ( virtual/emacs )
fits? ( sci-libs/cfitsio:0= )
fftw? ( sci-libs/fftw:3.0= )
- geocad? ( sci-libs/opencascade:= )
+ geocad? ( <sci-libs/opencascade-6.8.0:= )
graphviz? ( media-gfx/graphviz:0= )
http? ( dev-libs/fcgi:0= )
kerberos? ( virtual/krb5 )
@@ -105,16 +103,9 @@ CDEPEND="
# TODO: ruby is not yet ported to ROOT-6, reenable when (if?) ready
# ruby? (
-# dev-lang/ruby
-# dev-ruby/rubygems
+# dev-lang/ruby:=
+# dev-ruby/rubygems:=
# )
-#
-# TODO: root-6.00.01 crashes with system libafterimage
-# || (
-# media-libs/libafterimage:0=[gif,jpeg,png,tiff]
-# >=x11-wm/afterstep-2.2.11:0=[gif,jpeg,png,tiff]
-# )
-# --disable-builtin-afterimage
DEPEND="${CDEPEND}
virtual/pkgconfig"
@@ -122,16 +113,44 @@ DEPEND="${CDEPEND}
RDEPEND="${CDEPEND}
xinetd? ( sys-apps/xinetd )"
-PDEPEND="doc? ( ~app-doc/root-docs-${PV}[http=,math=] )"
+PDEPEND="doc? ( !minimal? ( ~app-doc/root-docs-${PV}[http=,math=] ) )"
# install stuff in ${P} and not ${PF} for easier tracking in root-docs
DOC_DIR="/usr/share/doc/${P}"
+OC_UNSUPPORTED="6.8.0"
+
die_compiler() {
- die "Need one of the following C++11 capable compilers:"\
- " >=sys-devel/gcc[cxx]-4.8"\
- " >=sys-devel/clang-3.4"\
- " >=dev-lang/icc-13"
+ eerror "You are using a $(tc-getCXX) without C++$1 capabilities"
+ die "Need one of the following C++$1 capable compilers:\n"\
+ " >=sys-devel/gcc[cxx]-$2\n"\
+ " >=sys-devel/clang-$3\n"\
+ " >=dev-lang/icc-$4"
+}
+
+# check compiler to satisfy minimal versions
+# $1 - std version
+# $2 - g++
+# $3 - clang++
+# $4 - icc/icpc
+check_compiler() {
+ case "$(tc-getCXX)" in
+ *clang++*)
+ version_is_at_least "$3" "$(has_version
sys-devel/clang)" || die_compiler "$1" "$2" "$3" "$4"
+ ;;
+ *g++*)
+ version_is_at_least "$2" "$(gcc-version)" ||
die_compiler "$1" "$2" "$3" "$4"
+ ;;
+ *icc*|*icpc*)
+ version_is_at_least "$4" "$(has_version dev-lang/icc)"
|| die_compiler "$1" "$2" "$3" "$4"
+ eerror "ROOT-6 is known not to build with ICC."
+ eerror "Please report any isuses upstream."
+ ;;
+ *)
+ ewarn "You are using an unsupported compiler."
+ ewarn "Please report any issues upstream."
+ ;;
+ esac
}
pkg_setup() {
@@ -153,7 +172,7 @@ pkg_setup() {
if use math; then
if use openmp; then
- if [[ $(tc-getCXX)$ == *g++* ]] && ! tc-has-openmp; then
+ if [[ "$(tc-getCXX)" == *g++* && "$(tc-getCXX)" !=
*clang++* ]] && ! tc-has-openmp; then
ewarn "You are using a g++ without OpenMP
capabilities"
die "Need an OpenMP capable compiler"
else
@@ -164,28 +183,32 @@ pkg_setup() {
fi
fi
- # check for supported compilers
- case $(tc-getCXX) in
- *g++*)
- if ! version_is_at_least "4.8" "$(gcc-version)"; then
- eerror "You are using a g++ without C++11
capabilities"
- die_compiler
- fi
- ;;
- *clang++*)
- # >=clang-3.4 is already in DEPEND
- ;;
- *icc*|*icpc*)
- if ! version_is_at_least "13" "$(has_version
dev-lang/icc)"; then
- eerror "You are using an icc without C++11
capabilities"
- die_compiler
- fi
- ;;
- *)
- ewarn "You are using an unsupported compiler."
- ewarn "Please report any issues upstream."
- ;;
- esac
+ # c++11 support is mandatory
+ check_compiler "11" "4.8" "3.4" "13"
+
+ # Active version of opencascade may be >= $OC_UNSUPPORTED,
+ # so we need to eselect proper version (it must exist due to DEPEND
requirement)
+ if use geocad; then
+ oc_current=$(eselect opencascade show)
+ # Proceed only if active version is unsupported
+ if version_is_at_least "${OC_UNSUPPORTED}" "${oc_current}"; then
+ local -a vlist
+ vlist=( $(version_sort $(eselect opencascade list | awk
'/^ / { print $2 }')) )
+ local i
+ # search for higehr version < $OC_UNSUPPORTED
+ # list is sorted acsending, so loop backwards
+ for (( i=$(( ${#vlist[@]} -1 )); i>=0; i-- )); do
+ version_is_at_least "${OC_UNSUPPORTED}"
"${vlist[i]}" || break
+ done
+ [[ $i == "-1" ]] && die "No suitable opencascade
eselect slot is available (<${OC_UNSUPPORTED})"
+
+ einfo "Switching opencascade to supported slot:
${oc_current} -> ${vlist[i]}"
+ eselect opencascade set ${vlist[i]} > /dev/null || die
"eselect opencascade set ${vlist[i]} failed!"
+ else
+ # forget it, effectively disabling eselect cleanup
+ unset oc_current
+ fi
+ fi
}
src_prepare() {
@@ -194,19 +217,18 @@ src_prepare() {
"${FILESDIR}"/${PN}-5.32.00-afs.patch \
"${FILESDIR}"/${PN}-5.32.00-cfitsio.patch \
"${FILESDIR}"/${PN}-5.32.00-chklib64.patch \
- "${FILESDIR}"/${PN}-5.34.13-unuran.patch \
"${FILESDIR}"/${PN}-5.34.13-desktop.patch \
+ "${FILESDIR}"/${PN}-5.34.13-unuran.patch \
"${FILESDIR}"/${PN}-6.00.01-dotfont.patch \
+ "${FILESDIR}"/${PN}-6.00.01-geocad.patch \
+ "${FILESDIR}"/${PN}-6.00.01-llvm.patch \
"${FILESDIR}"/${PN}-6.00.01-nobyte-compile.patch \
"${FILESDIR}"/${PN}-6.00.01-prop-flags.patch \
- "${FILESDIR}"/${PN}-6.00.01-llvm.patch \
- "${FILESDIR}"/${PN}-6.00.01-geocad.patch \
- "${FILESDIR}"/${PN}-6.00.01-tutorials-path.patch \
- "${FILESDIR}"/${PN}-6.00.02-tm_zone.patch
+ "${FILESDIR}"/${PN}-6.02.05-xrootd4.patch
# make sure we use system libs and headers
rm montecarlo/eg/inc/cfortran.h README/cfortran.doc || die
- #rm -r graf2d/asimage/src/libAfterImage || 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
@@ -234,7 +256,10 @@ src_prepare() {
configure || die "prefixify configure failed"
# CSS should use local images
- sed -i -e 's,http://.*/images/,,' etc/html/ROOT.css || die "html sed
failed"
+ sed -i -e 's,http://.*/,,' etc/html/ROOT.css || die "html sed failed"
+
+ # QTDIR only used for qt3 in gentoo, and configure looks for it.
+ unset QTDIR
}
# NB: ROOT uses bundled LLVM, because it is patched and API-incompatible with
@@ -245,7 +270,7 @@ src_prepare() {
src_configure() {
local -a myconf
# Some compilers need special care
- case $(tc-getCXX) in
+ case "$(tc-getCXX)" in
*clang++*)
myconf=(
--with-clang
@@ -286,20 +311,16 @@ src_configure() {
myconf+=(
--with-afs-shared=yes
--with-sys-iconpath="${EPREFIX}/usr/share/pixmaps"
+ --disable-builtin-afterimage
--disable-builtin-ftgl
--disable-builtin-freetype
--disable-builtin-glew
--disable-builtin-pcre
--disable-builtin-zlib
--disable-builtin-lzma
- --enable-astiff
--enable-explicitlink
- --enable-gdml
- --enable-memstat
- --enable-shadowpw
--enable-shared
--enable-soversion
- --enable-table
--fail-on-missing
$(use_enable X x11)
$(use_enable X asimage)
@@ -308,8 +329,10 @@ src_configure() {
$(use_enable avahi bonjour)
$(use_enable fits fitsio)
$(use_enable fftw fftw3)
+ $(use_enable gdml)
$(use_enable geocad)
$(use_enable graphviz gviz)
+ $(use_enable http)
$(use_enable kerberos krb5)
$(use_enable ldap)
$(use_enable math genvector)
@@ -321,23 +344,25 @@ src_configure() {
$(use_enable math vc)
$(use_enable math vdt)
$(use_enable math unuran)
+ $(use_enable memstat)
$(use_enable mysql)
- $(usex mysql \
-
"--with-mysql-incdir=${EPREFIX}/usr/include/mysql" "")
+ $(usex mysql
"--with-mysql-incdir=${EPREFIX}/usr/include/mysql" "")
$(use_enable odbc)
$(use_enable opengl)
$(use_enable oracle)
$(use_enable postgres pgsql)
- $(usex postgres \
- "--with-pgsql-incdir=$(pg_config --includedir)"
"")
+ $(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 shadow shadowpw)
$(use_enable sqlite)
$(use_enable ssl)
+ $(use_enable table)
+ $(use_enable tiff astiff)
$(use_enable xml)
$(use_enable xrootd)
${EXTRA_ECONF}
@@ -363,6 +388,7 @@ daemon_install() {
dodir /var/spool/rootd/{pub,tmp}
fperms 1777 /var/spool/rootd/{pub,tmp}
+ local i
for i in ${daemons}; do
newinitd "${FILESDIR}"/${i}.initd ${i}
newconfd "${FILESDIR}"/${i}.confd ${i}
@@ -428,13 +454,20 @@ src_install() {
cleanup_install
# do not copress files used by ROOT's CLI (.credit, .demo, .license)
- docompress -x "${DOC_DIR}"/{CREDITS,LICENSE,examples/tutorials}
+ docompress -x "${DOC_DIR}"/{CREDITS,examples/tutorials}
# needed for .license command to work
dosym "${ED}"usr/portage/licenses/LGPL-2.1 "${DOC_DIR}/LICENSE"
}
pkg_postinst() {
fdo-mime_desktop_database_update
+
+ # restort opencascade eselect slot
+ if use geocad && [[ -n ${oc_current} ]]; then
+ einfo "Switching to user set slot: $(eselect opencascade show)
-> ${oc_current}"
+ eselect opencascade set ${oc_current} > /dev/null || eerror
"eselect opencascade set ${vlist[i]} failed!"
+ unset oc_current
+ fi
}
pkg_postrm() {