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 }