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 <birc...@gentoo.org> -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 <birc...@gentoo.org> -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 <pere.m...@cern.ch> -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() {