sci-physics/root: drop old

Closes: https://bugs.gentoo.org/651000
Closes: https://bugs.gentoo.org/620754
Closes: https://bugs.gentoo.org/632128
Closes: https://bugs.gentoo.org/638422
Closes: https://bugs.gentoo.org/649992
Package-Manager: Portage-2.3.41, Repoman-2.3.9
This commit is contained in:
Guilherme Amadio
2018-07-05 11:27:18 +02:00
parent 07b894710c
commit f3fff3e43d
10 changed files with 0 additions and 747 deletions

View File

@@ -1,3 +1,2 @@
DIST root_v5.34.36.source.tar.gz 75427331 BLAKE2B 203af03e1459c7fe079fcb1b30da145b3262f90c074abb7ff8fb3b1b2b90ac24391ce51aa8afbd10e0db8d69549207f15176207bc30a13720e0ae94342a38dfa SHA512 2cc0c8f8b63b2a3ce01c49c41704483548a7324d92c21a63e3e36a00f4d6f5656a7844fdf48cb71a6f2a2c974112527300ffd3bb5502d8365ffaf138e6ae4c7a
DIST root_v6.12.06.source.tar.gz 162284452 BLAKE2B 944b5e899677bab40842d7ec969ff08cfa470e63be9a02b948a49ae088e8da72ce433a5071d9196bfd98f71e6861b1bda285354012620eee6c61cffcee71a0c8 SHA512 3d44749ccfc3d40a2f516ae53ef40fb244ed785eee0dbc18ff822bbb811a15b943039d30282ef5358a283d485e62531880c877ec77a86089503b06d6f37e42e1
DIST root_v6.14.00.source.tar.gz 162436586 BLAKE2B 6047fe9fb898be9d4f00f2e6eb378d213996b49b9677f61ccc0250bb6d0801d8410850a39e0983534da2c6a307bd64b0ed6c03ab873a6c8b844500a96444a455 SHA512 2d4e754e3054018a53af28408b218bc52c0c60bea69a3c9e48f0d3feadbfebb559087fb453505b281fe01043f723e4b766cda8fca1e68dbf9e202c67d417e5b3

View File

@@ -1,11 +0,0 @@
--- root.orig/net/auth/src/TAFS.cxx 2010-09-14 03:22:22.647915854 +0400
+++ root/net/auth/src/TAFS.cxx 2010-09-14 03:22:39.034599899 +0400
@@ -11,6 +11,7 @@
#ifndef WIN32
# include <unistd.h>
+# include <sys/stat.h>
#else
# define ssize_t int
# include <io.h>

View File

@@ -1,13 +0,0 @@
--- a/configure 2012-01-19 23:44:44.127607638 +0100
+++ b/configure 2012-01-20 00:19:20.420652913 +0100
@@ -3435,9 +3435,7 @@
cfitsioinc=$found_hdr
cfitsioincdir=$found_dir
- # At this time, libcfitsio.a should always be prefered over .so,
- # to avoid forcing users to install cfitsio.
- check_library "libcfitsio cfitsio" "no" "$cfitsiolibdir" \
+ check_library "libcfitsio cfitsio" "yes" "$cfitsiolibdir" \
$CFITSIO ${CFITSIO:+$CFITSIO/lib} ${CFITSIO:+$CFITSIO/.libs} \
${finkdir:+$finkdir/lib} \
/usr/local/lib /usr/lib /opt/cfitsio/lib

View File

@@ -1,24 +0,0 @@
bug fix for #406817
--- a/configure 2012-02-29 19:46:41.000000000 +0400
+++ b/configure 2012-03-22 03:28:43.458968696 +0400
@@ -441,14 +441,13 @@
fi
else
if file $filearg $chklib64 | grep 'ASCII' > /dev/null 2>& 1 ; then
- check_link $chklib64
- ret=$link_result
- else
- logmsg " file $filearg $chklib64 | grep '64-bit'"
- if file $filearg $chklib64 | grep '64-bit' > /dev/null 2>& 1 ; then
- ret=1
- fi
+ # get real binary .so name from .so ld script
+ chklib64=$(gawk '($1 == "GROUP") { print $3 }' $chklib64)
fi
+ logmsg " file $filearg $chklib64 | grep '64-bit'"
+ if file $filearg $chklib64 | grep '64-bit' > /dev/null 2>& 1 ; then
+ ret=1
+ fi
fi
logmsg " result: $ret"
if test $ret -eq 1 ; then

View File

@@ -1,58 +0,0 @@
--- root/html/src/TClassDocOutput.cxx.orig 2012-05-25 16:18:10.000000000 +0400
+++ root/html/src/TClassDocOutput.cxx 2012-05-29 21:36:53.813593012 +0400
@@ -625,7 +625,7 @@
<< "size=\"8,10\";" << endl
<< "ratio=auto;" << endl
<< "margin=0;" << endl
- << "node [shape=plaintext,fontsize=40,width=4,height=0.75];" << endl
+ << "node [shape=plaintext,fontsize=40,width=4,height=0.75,fontname=\"DejaVu Serif\"];" << endl
<< "\"" << fCurrentClass->GetName() << "\" [shape=ellipse];" << endl;
std::stringstream ssDep;
@@ -704,7 +704,7 @@
outdot << ";" << endl;
} else if (writeAndMoreFor) {
outdot << " \"...andmore" << writeAndMoreFor->GetName()
- << "\" [label=\"...and more\",fontname=\"Times-Italic\",fillcolor=lightgrey,style=filled];" << endl;
+ << "\" [label=\"...and more\",fontname=\"DejaVu Serif Italic\",fillcolor=lightgrey,style=filled];" << endl;
}
}
if (!levelExists) break;
@@ -733,7 +733,7 @@
<< "ranksep=0.1;" << endl
<< "nodesep=0;" << endl
<< "margin=0;" << endl;
- outdot << " node [style=filled,width=0.7,height=0.15,fixedsize=true,shape=plaintext,fontsize=10];" << endl;
+ outdot << " node [style=filled,width=0.7,height=0.15,fixedsize=true,shape=plaintext,fontsize=10,fontname=\"DejaVu Serif\"];" << endl;
std::stringstream ssDep;
const int numColumns = 3;
@@ -939,7 +939,7 @@
<< "ranksep=0;" << endl
<< "nodesep=0;" << endl
<< "size=\"8,10\";" << endl
- << "node [fontsize=20,shape=plaintext];" << endl;
+ << "node [fontsize=20,shape=plaintext,fontname=\"DejaVu Serif\"];" << endl;
for (std::list<std::string>::iterator iFile = listFilesToParse.begin();
iFile != listFilesToParse.end(); ++iFile) {
@@ -999,7 +999,8 @@
<< "ranksep=0.7;" << endl
<< "nodesep=0.3;" << endl
<< "size=\"8,8\";" << endl
- << "ratio=compress;" << endl;
+ << "ratio=compress;" << endl
+ << "node [fontname=\"DejaVu Serif\"];" << endl;
TString libs(fCurrentClass->GetSharedLibs());
outdot << "\"All Libraries\" [URL=\"LibraryDependencies.html\",shape=box,rank=max,fillcolor=lightgray,style=filled];" << endl;
@@ -1109,7 +1110,8 @@
dotout << "digraph G {" << endl
<< "ratio=auto;" << endl
- << "rankdir=RL;" << endl;
+ << "rankdir=RL;" << endl
+ << "node [fontname=\"DejaVu Serif\"];" << endl;
// loop on all classes
TClassDocInfo* cdi = 0;

View File

@@ -1,137 +0,0 @@
diff -Naur root.as-needed/Makefile root/Makefile
--- a/Makefile.orig 2013-02-15 02:27:56.000000000 +0400
+++ b/Makefile 2013-02-23 02:22:14.556465852 +0400
@@ -1258,10 +1258,7 @@
for lib in $(RFLX_GRFLXPY); do \
rm -f $(DESTDIR)$(LIBDIR)/$${lib#lib/}; \
done; \
- for lib in $(RFLX_GRFLXPYC); do \
- rm -f $(DESTDIR)$(LIBDIR)/$${lib#lib/}; \
- done; \
- if test "x$(RFLX_GRFLXPY)$(RFLX_GRFLXPYC)" != "x"; then \
+ if test "x$(RFLX_GRFLXPY)" != "x"; then \
dir=$(subst lib/,,$(RFLX_GRFLXDD)); \
while test "x$${dir}" != "x" && \
test -d $(DESTDIR)$(LIBDIR)/$${dir} && \
diff -Naur root.as-needed/bindings/pyroot/Module.mk root/bindings/pyroot/Module.mk
--- root.as-needed/bindings/pyroot/Module.mk 2011-07-10 10:42:48.991561304 +0400
+++ root/bindings/pyroot/Module.mk 2011-07-10 10:43:21.493339703 +0400
@@ -48,8 +48,6 @@
ROOTPY := $(subst $(MODDIR),$(LPATH),$(ROOTPYS))
$(LPATH)/%.py: $(MODDIR)/%.py; cp $< $@
endif
-ROOTPYC := $(ROOTPY:.py=.pyc)
-ROOTPYO := $(ROOTPY:.py=.pyo)
# used in the main Makefile
ALLHDRS += $(patsubst $(MODDIRI)/%.h,include/%.h,$(PYROOTH))
@@ -68,10 +66,8 @@
include/%.h: $(PYROOTDIRI)/%.h
cp $< $@
-%.pyc: %.py; python -c 'import py_compile; py_compile.compile( "$<" )'
-%.pyo: %.py; python -O -c 'import py_compile; py_compile.compile( "$<" )'
-$(PYROOTLIB): $(PYROOTO) $(PYROOTDO) $(ROOTPY) $(ROOTPYC) $(ROOTPYO) \
+$(PYROOTLIB): $(PYROOTO) $(PYROOTDO) $(ROOTPY) \
$(ROOTLIBSDEP) $(PYTHONLIBDEP)
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
"$(SOFLAGS)" libPyROOT.$(SOEXT) $@ \
@@ -113,7 +109,7 @@
distclean-$(MODNAME): clean-$(MODNAME)
@rm -f $(PYROOTDEP) $(PYROOTDS) $(PYROOTDH) $(PYROOTLIB) \
- $(ROOTPY) $(ROOTPYC) $(ROOTPYO) $(PYROOTMAP) \
+ $(ROOTPY) $(PYROOTMAP) \
$(PYROOTPYD) $(PYTHON64DEP) $(PYTHON64)
distclean:: distclean-$(MODNAME)
diff -Naur root.as-needed/build/package/debian/rules root/build/package/debian/rules
--- root.as-needed/build/package/debian/rules 2011-07-10 10:42:49.241549346 +0400
+++ root/build/package/debian/rules 2011-07-10 10:48:06.989670589 +0400
@@ -691,10 +691,6 @@
-X$(SYSCONFDIR)/root/system.rootauthrc \
-X$(SYSCONFDIR)/root/system.rootdaemonrc \
-X$(PREFIX)/lib/root/$(SOVERS)/libAfterImage.a \
- -X$(PREFIX)/lib/root/$(SOVERS)/PyCintex.pyc \
- -X$(PREFIX)/lib/root/$(SOVERS)/PyCintex.pyo \
- -X$(PREFIX)/lib/root/$(SOVERS)/ROOT.pyc \
- -X$(PREFIX)/lib/root/$(SOVERS)/ROOT.pyo \
-X$(PREFIX)/lib/root/$(SOVERS)/cint7 \
-X$(PREFIX)/include/root/Minuit2
# $(foreach i, \
diff -Naur root.as-needed/cint/cintex/Module.mk root/cint/cintex/Module.mk
--- root.as-needed/cint/cintex/Module.mk 2011-07-10 10:42:49.104889217 +0400
+++ root/cint/cintex/Module.mk 2011-07-10 10:43:21.496672876 +0400
@@ -31,10 +31,6 @@
CINTEXPY := $(subst $(MODDIR)/python,$(LPATH),$(CINTEXPYS))
$(LPATH)/%.py: $(MODDIR)/python/%.py; cp $< $@
endif
-ifneq ($(BUILDPYTHON),no)
-CINTEXPYC := $(CINTEXPY:.py=.pyc)
-CINTEXPYO := $(CINTEXPY:.py=.pyo)
-endif
# used in the main Makefile
ALLHDRS += $(patsubst $(MODDIRI)/Cintex/%.h,include/Cintex/%.h,$(CINTEXH))
@@ -86,8 +82,6 @@
fi)
cp $< $@
-%.pyc: %.py; python -c 'import py_compile; py_compile.compile( "$<" )'
-%.pyo: %.py; python -O -c 'import py_compile; py_compile.compile( "$<" )'
$(CINTEXLIB): $(CINTEXO) $(CINTEXPY) $(CINTEXPYC) $(CINTEXPYO) \
$(ORDER_) $(subst $(CINTEXLIB),,$(MAINLIBS)) $(CINTEXLIBDEP)
diff -Naur root.as-needed/cint/reflex/Module.mk root/cint/reflex/Module.mk
--- root.as-needed/cint/reflex/Module.mk 2011-07-10 10:42:49.074890651 +0400
+++ root/cint/reflex/Module.mk 2011-07-10 10:43:21.496672876 +0400
@@ -48,9 +48,6 @@
RFLX_GRFLXS := $(wildcard $(RFLX_GRFLXSD)/*.py)
RFLX_GRFLXPY := $(patsubst $(RFLX_GRFLXSD)/%.py,$(RFLX_GRFLXDD)/%.py,$(RFLX_GRFLXS))
RFLX_GRFLXPY += $(RFLX_GCCXMLPATHPY)
-ifneq ($(BUILDPYTHON),no)
-RFLX_GRFLXPYC := $(subst .py,.pyc,$(RFLX_GRFLXPY))
-endif
RFLX_LIBDIR = $(LIBDIR)
@@ -92,7 +89,7 @@
ALLEXECS += $(RFLX_GENMAPX)
-POSTBIN += $(RFLX_GRFLXPYC) $(RFLX_GRFLXPY)
+POSTBIN += $(RFLX_GRFLXPY)
##### local rules #####
.PHONY: all-$(MODNAME) clean-$(MODNAME) distclean-$(MODNAME) \
@@ -122,8 +119,6 @@
mkdir -p lib/python/genreflex; fi )
cp $< $@
-$(RFLX_GRFLXDD)/%.pyc: $(RFLX_GRFLXDD)/%.py
- @python -c 'import py_compile; py_compile.compile( "$<" )'
$(RFLX_GENMAPO) : CXXFLAGS += -I$(REFLEXDIRS)/genmap
@@ -149,7 +144,7 @@
$(RLIBMAP) -o $@ -l $(REFLEXDICTLIB) \
-d $(REFLEXDICTLIBDEPM) -c $(REFLEXL)
-all-$(MODNAME): $(REFLEXLIB) $(REFLEXDICTLIB) $(REFLEXDICTMAP) $(RFLX_GRFLXPYC) $(RFLX_GRFLXPY)
+all-$(MODNAME): $(REFLEXLIB) $(REFLEXDICTLIB) $(REFLEXDICTMAP) $(RFLX_GRFLXPY)
clean-genreflex:
@rm -rf lib/python/genreflex
diff -Naur root.as-needed/cint/reflex/python/CMakeLists.txt root/cint/reflex/python/CMakeLists.txt
--- root.as-needed/cint/reflex/python/CMakeLists.txt 2011-07-10 10:42:49.074890651 +0400
+++ root/cint/reflex/python/CMakeLists.txt 2011-07-10 10:43:21.496672876 +0400
@@ -15,7 +15,7 @@
##################### sources ####################
FILE(GLOB_RECURSE GENREFLEX_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} genreflex/*.py)
-SET(GENREFLEX_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/genreflex/genreflex.pyc PARENT_SCOPE)
+SET(GENREFLEX_SCRIPT PARENT_SCOPE)
##################### gccxmlpath ####################

View File

@@ -1,40 +0,0 @@
diff --git a/math/unuran/Module.mk b/math/unuran/Module.mk
index 00a530b..7cd22dc 100644
--- a/math/unuran/Module.mk
+++ b/math/unuran/Module.mk
@@ -31,7 +31,7 @@ UNRS := $(wildcard $(UNRDIRS)/src/utils/*.c) \
$(wildcard $(UNRDIRS)/src/uniform/*.c) \
$(wildcard $(UNRDIRS)/src/urng/*.c)
else
-UNRTARCONTENT:=$(subst $(UNRVERS),$(UNRDIRS),$(shell mkdir -p $(UNRDIR); cd $(UNRDIR); gunzip -c $(UNRSRCS) | tar tf -))
+UNRTARCONTENT:=
UNRS := $(filter %.c, \
$(filter $(UNRDIRS)/src/utils/%,$(UNRTARCONTENT)) \
$(filter $(UNRDIRS)/src/methods/%,$(UNRTARCONTENT)) \
@@ -81,10 +81,9 @@ INCLUDEFILES += $(UNURANDEP)
##### local rules #####
.PHONY: all-$(MODNAME) clean-$(MODNAME) distclean-$(MODNAME)
-include/%.h: $(UNURANDIRI)/%.h $(UNURANETAG)
+include/%.h: $(UNURANDIRI)/%.h
cp $< $@
-$(UNURANDEP): $(UNRCFG)
$(UNRS): $(UNURANETAG)
$(UNURANETAG): $(UNRSRCS)
@@ -137,12 +136,12 @@ $(UNRCFG): $(UNURANETAG)
GNUMAKE=$(MAKE) ./configure CC="$$ACC" \
CFLAGS="$$ACFLAGS");
-$(UNURANLIB): $(UNRCFG) $(UNRO) $(UNURANO) $(UNURANDO) $(ORDER_) \
+$(UNURANLIB): $(UNURANO) $(UNURANDO) $(ORDER_) \
$(MAINLIBS) $(UNURANLIBDEP)
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
"$(SOFLAGS)" libUnuran.$(SOEXT) $@ \
"$(UNURANO) $(UNURANDO)" \
- "$(UNURANLIBEXTRA) $(UNRO)"
+ "$(UNURANLIBEXTRA) -lunuran"
$(UNURANDS): $(UNRINIT) $(UNURANDH1) $(UNURANL) $(ROOTCINTTMPDEP)
$(MAKEDIR)

View File

@@ -1,19 +0,0 @@
commit 3c8bc686abf57e7e2037c4c191cb63a1a5172b5b
Author: Andrew Savchenko <bircoph@gmail.com>
Date: Sun Feb 22 03:45:21 2015 +0300
root-5.32.00-prop-flags.patch -> root-5.34.26-prop-flags.patch
diff --git a/config/Makefile.in b/config/Makefile.in
index 89674e7..91d25b9 100644
--- a/config/Makefile.in
+++ b/config/Makefile.in
@@ -29,7 +29,7 @@ EXTRA_CFLAGS := -Iinclude @cflags@
USERCONF_CFLAGS:= @usercflags@
EXTRA_CXXFLAGS := -Iinclude @cflags@
USERCONF_CXXFLAGS:= @usercxxflags@
-EXTRA_LDFLAGS := @ldflags@
+EXTRA_LDFLAGS := @ldflags@ $(LDFLAGS)
WERROR := @werror@
WINRTDEBUG := @winrtdebug@

View File

@@ -20,8 +20,6 @@
graphics, GUI toolkit, and a complete visualization framework.
</longdescription>
<use>
<flag name="c++11"> Build ROOT using the C++11 standard</flag>
<flag name="c++14"> Build ROOT using the C++14 standard</flag>
<flag name="asimage">Enable support for <pkg>media-libs/libafterimage</pkg></flag>
<flag name="davix">Enable support for DAVIX Data Management Client (https://cern.ch/davix)</flag>
<flag name="fits">Enable support for images and data from FITS files with <pkg>sci-libs/cfitsio</pkg></flag>
@@ -36,7 +34,6 @@
<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="R">Enable support for <pkg>dev-lang/R</pkg></flag>
<flag name="reflex">Build the reflection database for the C++ interpreter</flag>
<flag name="roofit">Build RooFit function fitting package</flag>
<flag name="root7">Build experimental features to be released with ROOT 7</flag>
<flag name="shadow">Enable shadow authentication in rootd and proofd</flag>

View File

@@ -1,441 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
if [[ ${PV} == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="http://root.cern.ch/git/root.git"
else
SRC_URI="https://root.cern.ch/download/${PN}_v${PV}.source.tar.gz"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
fi
PYTHON_COMPAT=( python2_7 )
inherit elisp-common eutils fortran-2 multilib prefix python-single-r1 \
toolchain-funcs user versionator xdg-utils
DESCRIPTION="C++ data analysis framework and interpreter from CERN"
HOMEPAGE="https://root.cern.ch"
SLOT="0/$(get_version_component_range 1-3 ${PV})"
LICENSE="LGPL-2.1 freedist MSttfEULA LGPL-3 libpng UoI-NCSA"
IUSE="+X afs c++11 c++14 doc emacs examples fits fftw gdml
graphviz http kerberos ldap +math +memstat mpi mysql odbc
+opengl openmp oracle postgres prefix pythia6 pythia8
python qt4 +reflex ruby shadow sqlite ssl table +tiff xinetd
xml xrootd zeroconf"
# TODO: add support for: davix
# TODO: unbundle: vdt
REQUIRED_USE="
!X? ( !opengl !qt4 !tiff )
mpi? ( math !openmp )
openmp? ( math !mpi )
python? ( ${PYTHON_REQUIRED_USE} )
"
CDEPEND="
app-arch/xz-utils:0=
>=dev-lang/cfortran-4.4-r2
dev-libs/libpcre:3=
media-fonts/dejavu
media-libs/freetype:2=
media-libs/libpng:0=
sys-libs/zlib:0=
X? (
media-libs/ftgl:0=
media-libs/glew:0=
x11-libs/libX11:0=
x11-libs/libXext:0=
x11-libs/libXpm:0=
|| (
media-libs/libafterimage[gif,jpeg,png,tiff?]
>=x11-wm/afterstep-2.2.11[gif,jpeg,png,tiff?]
)
opengl? ( virtual/opengl virtual/glu x11-libs/gl2ps:0= )
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:0=
)
afs? ( net-fs/openafs )
emacs? ( virtual/emacs )
fits? ( sci-libs/cfitsio:0= )
fftw? ( sci-libs/fftw:3.0= )
graphviz? ( media-gfx/graphviz:0= )
http? ( dev-libs/fcgi:0= )
kerberos? ( virtual/krb5 )
ldap? ( net-nds/openldap:0= )
math? (
sci-libs/gsl:0=
sci-mathematics/unuran:0=
mpi? ( virtual/mpi )
)
mysql? ( virtual/mysql )
odbc? ( || ( dev-db/libiodbc dev-db/unixODBC ) )
oracle? ( dev-db/oracle-instantclient-basic:0= )
postgres? ( dev-db/postgresql:= )
pythia6? ( sci-physics/pythia:6= )
pythia8? ( >=sci-physics/pythia-8.1.80:8= <sci-physics/pythia-8.2.0:8= )
python? ( ${PYTHON_DEPS} )
ruby? (
dev-lang/ruby:=
dev-ruby/rubygems:=
)
shadow? ( virtual/shadow )
sqlite? ( dev-db/sqlite:3= )
ssl? ( dev-libs/openssl:0= )
xml? ( dev-libs/libxml2:2= )
xrootd? ( >=net-libs/xrootd-3.3.5:0= )
zeroconf? ( net-dns/avahi:0= )
"
DEPEND="${CDEPEND}
virtual/pkgconfig"
RDEPEND="${CDEPEND}
reflex? ( dev-cpp/gccxml )
xinetd? ( sys-apps/xinetd )"
PDEPEND="doc? ( ~app-doc/root-docs-${PV}[http=,math=] )"
S="${WORKDIR}/${PN}"
# install stuff in ${P} and not ${PF} for easier tracking in root-docs
DOC_DIR="/usr/share/doc/${P}"
die_compiler() {
eerror "You are using a $(tc-getCXX)-$5 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() {
local cur ver
case "$(tc-getCXX)" in
*clang++*)
ver="$(best_version sys-devel/clang | sed 's:sys-devel/clang-::')"
cur="$3"
;;
*g++*)
ver="$(gcc-version)"
cur="$2"
;;
*icc*|*icpc*)
ver="$(best_version dev-lang/icc | sed 's:dev-lang/icc-::')"
cur="$4"
;;
*)
ewarn "You are using an unsupported compiler."
ewarn "Please report any issues upstream."
return 0
;;
esac
version_is_at_least "${cur}" "${ver}" || die_compiler "$1" "$2" "$3" "$4" "${ver}"
}
pkg_setup() {
fortran-2_pkg_setup
use python && python-single-r1_pkg_setup
echo
elog "There are extra options on packages not yet in Gentoo:"
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: "
elog "EXTRA_ECONF=\"--enable-srp --with-srp-libdir=${EROOT%/}/usr/$(get_libdir)\""
echo
enewgroup rootd
enewuser rootd -1 -1 /var/spool/rootd rootd
if use math; then
if use 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
export USE_OPENMP=1 USE_PARALLEL_MINUIT2=1
fi
elif use mpi; then
export USE_MPI=1 USE_PARALLEL_MINUIT2=1
fi
fi
use c++11 && check_compiler "11" "4.8" "3.3" "13"
use c++14 && check_compiler "14" "4.9" "3.4" "15"
}
src_prepare() {
epatch \
"${FILESDIR}"/${PN}-5.28.00b-glibc212.patch \
"${FILESDIR}"/${PN}-5.32.00-cfitsio.patch \
"${FILESDIR}"/${PN}-5.32.00-chklib64.patch \
"${FILESDIR}"/${PN}-5.32.00-dotfont.patch \
"${FILESDIR}"/${PN}-5.34.05-nobyte-compile.patch \
"${FILESDIR}"/${PN}-5.34.13-unuran.patch \
"${FILESDIR}"/${PN}-5.34.26-ldflags.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 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 || 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
# In Gentoo, libPythia6 is called libpythia6
# iodbc is in /usr/include/iodbc
# pg_config.h is checked instead of libpq-fe.h
sed -i \
-e 's:libPythia6:libpythia6:g' \
-e 's:$ODBCINCDIR:$ODBCINCDIR /usr/include/iodbc:' \
-e 's:libpq-fe.h:pg_config.h:' \
configure || die "adjusting configure for Gentoo failed"
hprefixify configure
hprefixify -e "s,I/usr/include,I${EPREFIX}/usr/include," config/Makefile.in
# CSS should use local images
sed -i -e 's,http://.*/,,' etc/html/ROOT.css || die "html sed failed"
# fix reflex path (bug #497280)
sed -i -e 's|${ROOTSYS}/lib|@libdir@|' config/genreflex.in || die
# QTDIR only used for qt3 in gentoo, and configure looks for it.
unset QTDIR
}
src_configure() {
local -a myconf
# Some compilers need special care
case "$(tc-getCXX)" in
*clang++*)
myconf=(
--with-clang
--with-f77="$(tc-getFC)"
)
;;
*icc*|*icpc*)
# For icc we need to provide architecture manually
# and not to tamper with tc-get*
use x86 && myconf=( linuxicc )
use amd64 && myconf=( linuxx8664icc )
;;
*) # gcc goes here too
myconf=(
--with-cc="$(tc-getCC)"
--with-cxx="$(tc-getCXX)"
--with-f77="$(tc-getFC)"
--with-ld="$(tc-getCXX)"
)
;;
esac
# the configure script is not the standard autotools
myconf+=(
--prefix="${EPREFIX}/usr"
--etcdir="${EPREFIX}/etc/root"
--libdir="${EPREFIX}/usr/$(get_libdir)/${PN}"
--docdir="${EPREFIX}${DOC_DIR}"
--tutdir="${EPREFIX}${DOC_DIR}/examples/tutorials"
--testdir="${EPREFIX}${DOC_DIR}/examples/tests"
--cflags='${CFLAGS}'
--cxxflags='${CXXFLAGS}'
--disable-builtin-afterimage
--disable-builtin-ftgl
--disable-builtin-freetype
--disable-builtin-glew
--disable-builtin-lzma
--disable-builtin-pcre
--disable-builtin-zlib
--disable-cling
--disable-werror
--enable-explicitlink
--enable-shared
--enable-soversion
--fail-on-missing
--nohowto
--with-afs-shared=yes
--with-sys-iconpath="${EPREFIX}/usr/share/pixmaps"
$(use_enable X x11)
$(use_enable X asimage)
$(use_enable X xft)
$(use_enable afs)
$(use_enable c++11 cxx11)
$(use_enable c++14 cxx14)
$(use_enable fits fitsio)
$(use_enable fftw fftw3)
$(use_enable gdml)
$(use_enable graphviz gviz)
$(use_enable http)
$(use_enable kerberos krb5)
$(use_enable ldap)
$(use_enable math genvector)
$(use_enable math gsl-shared)
$(use_enable math mathmore)
$(use_enable math minuit2)
$(use_enable math roofit)
$(use_enable math tmva)
$(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" "")
$(use_enable odbc)
$(use_enable opengl)
$(use_enable oracle)
$(use_enable postgres pgsql)
$(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 shadow shadowpw)
$(use_enable sqlite)
$(use_enable ssl)
$(use_enable table)
$(use_enable tiff astiff)
$(use_enable xml)
$(use_enable xrootd)
$(use_enable zeroconf bonjour)
${EXTRA_ECONF}
)
# usex can't be used here, because pg_config may be not
# installed with USE="-postgres"
use postgres && myconf+=( --with-pgsql-incdir=$(pg_config --includedir) )
./configure ${myconf[@]} || die "configure failed"
}
src_compile() {
# The build system does not handle the dependency of bin/rmkdepend correctly,
# preventing it to be called in parallel. Build bin/rmkdepend explicitly
# first to circumvent the problem.
emake bin/rmkdepend
emake \
OPT="${CXXFLAGS}" \
F77OPT="${FFLAGS}" \
ROOTSYS="${S}" \
LD_LIBRARY_PATH="${S}/lib"
use emacs && elisp-compile build/misc/*.el
}
daemon_install() {
local daemons="rootd proofd"
dodir /var/spool/rootd
fowners rootd:rootd /var/spool/rootd
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}
done
if use xinetd; then
insinto /etc/xinetd
doins "${S}"/etc/daemons/{rootd,proofd}.xinetd
fi
}
desktop_install() {
cd "${S}"
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
insinto /usr/share/icons/hicolor/48x48/apps
doicon build/package/debian/root-system-bin.xpm
}
cleanup_install() {
# Cleanup of files either already distributed or unused on Gentoo
pushd "${ED}" > /dev/null
rm usr/share/root/fonts/LICENSE || die
rm etc/root/proof/*.sample || die
rm -r etc/root/daemons || die
# these should be in PATH
mv etc/root/proof/utils/pq2/pq2* usr/bin/ || die
rm ${DOC_DIR#/}/{INSTALL,LICENSE,COPYING.CINT} || die
use examples || rm -r ${DOC_DIR#/}/examples || die
cd usr/$(get_libdir)/root/cint/cint
rm lib/posix/mktypes lib/dll_stl/setup lib/G__* || die
rm lib/dll_stl/G__* lib/dll_stl/rootcint_* lib/posix/exten.o || die
rm include/makehpib || die
popd > /dev/null
}
src_install() {
emake DESTDIR="${D}" install
echo "LDPATH=${EPREFIX%/}/usr/$(get_libdir)/root" > 99root
use pythia8 && echo "PYTHIA8=${EPREFIX%/}/usr" >> 99root
if use python; then
echo "PYTHONPATH=${EPREFIX%/}/usr/$(get_libdir)/root" >> 99root
python_optimize "${D}/usr/$(get_libdir)/root"
use reflex && python_optimize "${D}/usr/$(get_libdir)/root/python/genreflex/"
fi
use ruby && \
echo "RUBYLIB=${EPREFIX%/}/usr/$(get_libdir)/root" >> 99root
use emacs && elisp-install ${PN} build/misc/*.{el,elc}
if use examples; then
# these should really be taken care of by the root make install
insinto ${DOC_DIR}/examples/tutorials/tmva
doins -r tmva/test
fi
doenvd 99root
# The build system installs Emacs support unconditionally in the wrong
# directory. Remove it and call elisp-install in case of USE=emacs.
rm -r "${ED}"/usr/share/emacs || die
daemon_install
desktop_install
cleanup_install
# do not copress files used by ROOT's CLI (.credit, .demo, .license)
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() {
xdg_desktop_database_update
}
pkg_postrm() {
xdg_desktop_database_update
}