commit:     e525231758bd7a4a53c4e51b1f4530e8f0eb66e6
Author:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
AuthorDate: Mon Feb  4 10:16:04 2019 +0000
Commit:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
CommitDate: Tue Feb  5 09:49:09 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5252317

sci-physics/root: backport ebuild fixes to older versions

- Update REQUIRED_USE and dependencies
- Use usr/lib (like LLVM) to avoid ROOT bug
- Create versioned symlinks to binaries to easily allow
  running a specific version of ROOT when more than one
  version is installed

Package-Manager: Portage-2.3.59, Repoman-2.3.12
Signed-off-by: Guilherme Amadio <amadio <AT> gentoo.org>

 ...ot-6.12.06-r8.ebuild => root-6.12.06-r9.ebuild} | 38 +++++-------
 ...ot-6.14.08-r1.ebuild => root-6.14.08-r2.ebuild} | 72 ++++++++++------------
 2 files changed, 47 insertions(+), 63 deletions(-)

diff --git a/sci-physics/root/root-6.12.06-r8.ebuild 
b/sci-physics/root/root-6.12.06-r9.ebuild
similarity index 90%
rename from sci-physics/root/root-6.12.06-r8.ebuild
rename to sci-physics/root/root-6.12.06-r9.ebuild
index 373b866eeae..3baa2bb1b7e 100644
--- a/sci-physics/root/root-6.12.06-r8.ebuild
+++ b/sci-physics/root/root-6.12.06-r9.ebuild
@@ -146,9 +146,9 @@ src_configure() {
        local mycmakeargs=(
                -DCMAKE_C_FLAGS="${CFLAGS}"
                -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
-               
-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"
-               -DMCAKE_INSTALL_LIBDIR=$(get_libdir)
+               -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}"
                -Dexplicitlink=ON
                -Dexceptions=ON
@@ -269,45 +269,37 @@ src_configure() {
 src_install() {
        cmake-utils_src_install
 
-       ROOTSYS=${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)
+       ROOTSYS=${EPREFIX%/}/usr/lib/${PN}/$(ver_cut 1-2)
        ROOTENV=$((9999 - $(ver_cut 2)))${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
-       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
 
-       if ! use gdml; then
-               rm -r geom || die
-       fi
+       pushd "${D}/${ROOTSYS}" > /dev/null
 
-       if ! use examples; then
-               rm -r test tutorials || die
-       fi
+       rm -r test emacs bin/*.{csh,sh} || die
 
-       if use tmva; then
-               rm -r tmva || die
+       if ! use examples; then
+               rm -r tutorials || die
        fi
 
-       # clean up unnecessary files from installation
-       rm -r emacs || die
+       # create versioned symlinks for binaries
+       cd bin;
+       for exe in *; do
+               dosym "${exe}" "/usr/lib/${PN}/$(ver_cut 
1-2)/bin/${exe}-$(ver_cut 1-2)"
+       done
 }

diff --git a/sci-physics/root/root-6.14.08-r1.ebuild 
b/sci-physics/root/root-6.14.08-r2.ebuild
similarity index 82%
rename from sci-physics/root/root-6.14.08-r1.ebuild
rename to sci-physics/root/root-6.14.08-r2.ebuild
index 591ae2768d3..2a1d13bad9d 100644
--- a/sci-physics/root/root-6.14.08-r1.ebuild
+++ b/sci-physics/root/root-6.14.08-r2.ebuild
@@ -29,6 +29,7 @@ KEYWORDS="~amd64 ~x86"
 
 REQUIRED_USE="
        ^^ ( c++11 c++14 c++17 )
+       cuda? ( tmva !c++17 )
        !X? ( !asimage !opengl !qt5 !tiff )
        davix? ( ssl xml )
        python? ( ${PYTHON_REQUIRED_USE} )
@@ -41,18 +42,18 @@ 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-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=
@@ -76,8 +77,8 @@ CDEPEND="
        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 )
@@ -89,8 +90,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 )
@@ -98,7 +99,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= )
 "
@@ -119,12 +120,10 @@ 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() {
@@ -140,7 +139,7 @@ src_prepare() {
 
 # 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.
 
@@ -149,9 +148,9 @@ 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)
+               -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}"
                -DCLING_BUILD_PLUGINS=OFF
                -Dexplicitlink=ON
@@ -285,44 +284,37 @@ src_compile() {
 src_install() {
        cmake-utils_src_install
 
-       ROOTSYS=${EPREFIX%/}/usr/$(get_libdir)/${PN}/$(ver_cut 1-2)
+       ROOTSYS=${EPREFIX%/}/usr/lib/${PN}/$(ver_cut 1-2)
        ROOTENV=$((9999 - $(ver_cut 2)))${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
-       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 test emacs bin/*.{csh,sh} || die
+
        if ! use examples; then
                rm -r tutorials || die
        fi
 
-       if ! use tmva; then
-               rm -r tmva || die
-       fi
-
-       # Environment variables are managed by env.d.
-       rm -f bin/*.{c,}sh || die
-
-       # clean up unnecessary files from installation
-       rm -r emacs test || die
+       # create versioned symlinks for binaries
+       cd bin;
+       for exe in *; do
+               dosym "${exe}" "/usr/lib/${PN}/$(ver_cut 
1-2)/bin/${exe}-$(ver_cut 1-2)"
+       done
 }

Reply via email to