summaryrefslogtreecommitdiff
path: root/sci-physics/root/root-9999.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-05-07 11:18:59 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-05-07 11:18:59 +0100
commita2810985afabcc31d3eace5e61d8ea25b852ba17 (patch)
treed254e77a7aeadd875db2dc73532da78094238ffd /sci-physics/root/root-9999.ebuild
parenteab5731cdf11d4ae8cdf111461d46fd96c5bdd37 (diff)
gentoo resync : 07.05.2019
Diffstat (limited to 'sci-physics/root/root-9999.ebuild')
-rw-r--r--sci-physics/root/root-9999.ebuild111
1 files changed, 59 insertions, 52 deletions
diff --git a/sci-physics/root/root-9999.ebuild b/sci-physics/root/root-9999.ebuild
index df57dd82e74a..77c8e057cd0c 100644
--- a/sci-physics/root/root-9999.ebuild
+++ b/sci-physics/root/root-9999.ebuild
@@ -10,18 +10,7 @@ FORTRAN_NEEDED="fortran"
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
inherit cmake-utils cuda eapi7-ver elisp-common eutils fortran-2 \
- prefix python-single-r1 toolchain-funcs
-
-if [[ ${PV} == "9999" ]] ; then
- inherit git-r3
- KEYWORDS=""
- EGIT_REPO_URI="http://root.cern/git/root.git"
- SLOT=0
-else
- KEYWORDS="~amd64 ~x86"
- SRC_URI="https://root.cern/download/${PN}_v${PV}.source.tar.gz"
- SLOT="$(ver_cut 1-2)/$(ver_cut 3)"
-fi
+ llvm prefix python-single-r1 toolchain-funcs
DESCRIPTION="C++ data analysis framework and interpreter from CERN"
HOMEPAGE="https://root.cern"
@@ -33,10 +22,26 @@ IUSE="+X aqua +asimage +c++11 c++14 c++17 cuda +davix emacs +examples
table +tbb test +threads +tiff +tmva +unuran vc xinetd +xml xrootd
zeroconf"
+if [[ ${PV} =~ "9999" ]] ; then
+ inherit git-r3
+ KEYWORDS=""
+ EGIT_REPO_URI="http://root.cern/git/root.git"
+ if [[ ${PV} == "9999" ]]; then
+ SLOT="0"
+ else
+ SLOT="$(ver_cut 1-2)/$(ver_cut 3)"
+ EGIT_BRANCH="v$(ver_cut 1)-$(ver_cut 2)-00-patches"
+ fi
+else
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="https://root.cern/download/${PN}_v${PV}.source.tar.gz"
+fi
+
LICENSE="LGPL-2.1 freedist MSttfEULA LGPL-3 libpng UoI-NCSA"
REQUIRED_USE="
^^ ( c++11 c++14 c++17 )
+ cuda? ( tmva !c++17 )
!X? ( !asimage !opengl !qt5 !tiff )
davix? ( ssl xml )
python? ( ${PYTHON_REQUIRED_USE} )
@@ -49,19 +54,19 @@ CDEPEND="
app-arch/lz4
app-arch/xz-utils
fortran? ( dev-lang/cfortran )
- dev-libs/libpcre:3=
+ dev-libs/libpcre:3
dev-libs/xxhash
media-fonts/dejavu
- media-libs/freetype:2=
+ media-libs/freetype:2
media-libs/libpng:0=
sys-devel/llvm:5=
sys-libs/ncurses:=
sys-libs/zlib
X? (
- x11-libs/libX11:0=
- x11-libs/libXext:0=
- x11-libs/libXft:0=
- x11-libs/libXpm:0=
+ x11-libs/libX11:0
+ x11-libs/libXext:0
+ x11-libs/libXft:0
+ x11-libs/libXpm:0
opengl? (
media-libs/ftgl:0=
media-libs/glew:0=
@@ -75,18 +80,15 @@ CDEPEND="
dev-qt/qtwebengine:5[widgets]
)
)
- asimage? ( || (
- media-libs/libafterimage[gif,jpeg,png,tiff?]
- >=x11-wm/afterstep-2.2.11[gif,jpeg,png,tiff?]
- ) )
+ asimage? ( media-libs/libafterimage[gif,jpeg,png,tiff?] )
zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
cuda? ( >=dev-util/nvidia-cuda-toolkit-9.0 )
davix? ( net-libs/davix )
emacs? ( virtual/emacs )
fftw? ( sci-libs/fftw:3.0= )
fits? ( sci-libs/cfitsio:0= )
- graphviz? ( media-gfx/graphviz:0= )
- gsl? ( sci-libs/gsl )
+ graphviz? ( media-gfx/graphviz )
+ gsl? ( sci-libs/gsl:= )
http? ( dev-libs/fcgi:0= )
jemalloc? ( dev-libs/jemalloc )
kerberos? ( virtual/krb5 )
@@ -98,8 +100,8 @@ CDEPEND="
odbc? ( || ( dev-db/libiodbc dev-db/unixODBC ) )
oracle? ( dev-db/oracle-instantclient-basic )
postgres? ( dev-db/postgresql:= )
- pythia6? ( sci-physics/pythia:6= )
- pythia8? ( sci-physics/pythia:8= )
+ pythia6? ( sci-physics/pythia:6 )
+ pythia8? ( sci-physics/pythia:8 )
python? ( ${PYTHON_DEPS} )
R? ( dev-lang/R )
shadow? ( virtual/shadow )
@@ -107,7 +109,7 @@ CDEPEND="
ssl? ( dev-libs/openssl:0= )
tbb? ( >=dev-cpp/tbb-2018 )
tmva? ( dev-python/numpy[${PYTHON_USEDEP}] )
- vc? ( dev-libs/vc )
+ vc? ( dev-libs/vc:= )
xml? ( dev-libs/libxml2:2= )
xrootd? ( net-libs/xrootd:0= )
"
@@ -123,15 +125,15 @@ PATCHES=(
)
pkg_setup() {
+ LLVM_MAX_SLOT=5 llvm_pkg_setup
+
use fortran && fortran-2_pkg_setup
use python && python-single-r1_pkg_setup
- 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, VecCore."
- elog "You can use the environment variable EXTRA_ECONF for this."
- elog "For example, for Chirp, you would set: "
- elog "EXTRA_ECONF=\"-Dchirp=ON\""
+ elog "There are extra options on packages not available in Gentoo."
+ elog "You can use the environment variable EXTRA_ECONF to enable"
+ elog "these packages. For example, for Vdt you would set:"
+ elog "EXTRA_ECONF=\"-Dbuiltin_vdt=ON -Dvdt=ON\""
}
src_prepare() {
@@ -141,11 +143,13 @@ src_prepare() {
# CSS should use local images
sed -i -e 's,http://.*/,,' etc/html/ROOT.css || die "html sed failed"
+
+ hprefixify core/clingutils/CMakeLists.txt
}
# Note: ROOT uses bundled clang because it is patched and API-incompatible
# with vanilla clang. The patches enable the C++ interpreter to work.
-# Since ROOT installs many files into /etc (~100MB in total) that don't
+# Since ROOT installs many files into /etc (>100MB in total) that don't
# really belong there, we install it into another directory to avoid
# making /etc too big.
@@ -154,11 +158,11 @@ src_configure() {
-DCMAKE_C_FLAGS="${CFLAGS}"
-DCMAKE_CXX_FLAGS="${CXXFLAGS}"
-DPYTHON_EXECUTABLE="${PYTHON}"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)/share/man"
- -DCMAKE_INSTALL_LIBDIR=$(get_libdir)
+ -DLLVM_CONFIG="$(type -P "${CHOST}-llvm-config")"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr/lib/${PN}/$(ver_cut 1-2)"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX%/}/usr/lib/${PN}/$(ver_cut 1-2)/share/man"
+ -DCMAKE_INSTALL_LIBDIR="lib"
-DDEFAULT_SYSROOT="${EPREFIX}"
- -DLLVM_CONFIG="${EPREFIX%/}/usr/lib/llvm/5/bin/llvm-config"
-DCLING_BUILD_PLUGINS=OFF
-Dexplicitlink=ON
-Dexceptions=ON
@@ -291,41 +295,44 @@ src_compile() {
src_install() {
cmake-utils_src_install
- ROOTSYS=${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)
- ROOTENV=9900${PN}-$(ver_cut 1-2)
+ ROOTSYS=${EPREFIX%/}/usr/lib/${PN}/$(ver_cut 1-2)
- # ROOT fails without this symlink because it only looks in lib
- if [[ ! -d ${D}/${ROOTSYS}/lib ]]; then
- dosym $(get_libdir) /usr/$(get_libdir)/${PN}/$(ver_cut 1-2)/lib
+ if [[ ${PV} == "9999" ]]; then
+ ROOTENV="9900${PN}-git"
+ else
+ ROOTENV="$((9999 - $(ver_cut 2)))${PN}-$(ver_cut 1-2)-git"
fi
cat > ${ROOTENV} <<- EOF || die
MANPATH="${ROOTSYS}/share/man"
PATH="${ROOTSYS}/bin"
ROOTPATH="${ROOTSYS}/bin"
- LDPATH="${ROOTSYS}/$(get_libdir)"
+ LDPATH="${ROOTSYS}/lib"
EOF
if use python; then
- echo "PYTHONPATH=${ROOTSYS}/$(get_libdir)" >> ${ROOTENV} || die
+ echo "PYTHONPATH=\"${ROOTSYS}/lib\"" >> ${ROOTENV} || die
fi
doenvd ${ROOTENV}
- pushd "${D}/${ROOTSYS}" > /dev/null
-
if use emacs; then
elisp-install ${PN}-$(ver_cut 1-2) "${BUILD_DIR}"/root-help.el
fi
+ pushd "${D}/${ROOTSYS}" > /dev/null
+
+ rm -r emacs bin/*.{csh,sh,fish} || die
+
if ! use examples; then
rm -r tutorials || die
fi
- if ! use tmva; then
- rm -r tmva || die
+ # create versioned symlinks for binaries
+ if [[ ! ${PV} == "9999" ]]; then
+ cd bin;
+ for exe in *; do
+ dosym "${exe}" "/usr/lib/${PN}/$(ver_cut 1-2)/bin/${exe}-$(ver_cut 1-2)"
+ done
fi
-
- # clean up unnecessary files from installation
- rm -r emacs test || die
}