sci-physics/root: backport ebuild fixes to older versions
authorGuilherme Amadio <amadio@gentoo.org>
Mon, 4 Feb 2019 10:16:04 +0000 (11:16 +0100)
committerGuilherme Amadio <amadio@gentoo.org>
Tue, 5 Feb 2019 09:49:09 +0000 (10:49 +0100)
- 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@gentoo.org>
sci-physics/root/root-6.12.06-r9.ebuild [moved from sci-physics/root/root-6.12.06-r8.ebuild with 90% similarity]
sci-physics/root/root-6.14.08-r2.ebuild [moved from sci-physics/root/root-6.14.08-r1.ebuild with 82% similarity]

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 373b866eeaeafba10f7f94177e9ea9457b81af58..3baa2bb1b7ee35ee66f5077d72aa589b0da23712 100644 (file)
@@ -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
 }
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 591ae2768d3a2ef9d924dbca618cf01e8fa3f20c..2a1d13bad9d2ceca65bd0acf553e0383d3b8b0ea 100644 (file)
@@ -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
 }