commit:     c3517916d940cebd8ae58994a6c799ec8e34fcc3
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 31 21:57:47 2018 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Oct 31 21:58:04 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3517916

sys-apps/util-linux: Support multiple python versions in 9999

This will build the libmount python bindings for all python versions in
PYTHON_TARGETS rather than just what is in PYTHON_SINGLE_TARGET.

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 sys-apps/util-linux/util-linux-9999.ebuild | 70 ++++++++++++++++++++++++++----
 1 file changed, 62 insertions(+), 8 deletions(-)

diff --git a/sys-apps/util-linux/util-linux-9999.ebuild 
b/sys-apps/util-linux/util-linux-9999.ebuild
index b0e8d25cd4c..cdfc75a44ba 100644
--- a/sys-apps/util-linux/util-linux-9999.ebuild
+++ b/sys-apps/util-linux/util-linux-9999.ebuild
@@ -1,4 +1,5 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
+# Copyright 2018 Sony Interactive Entertainment Inc.
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -6,7 +7,7 @@ EAPI=6
 PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
 
 inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 \
-       pam python-single-r1 multilib-minimal multiprocessing systemd
+       pam python-r1 multilib-minimal multiprocessing systemd
 
 MY_PV="${PV/_/-}"
 MY_P="${PN}-${MY_PV}"
@@ -62,10 +63,6 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
 S="${WORKDIR}/${MY_P}"
 
-pkg_setup() {
-       use python && python-single-r1_pkg_setup
-}
-
 src_prepare() {
        default
 
@@ -108,6 +105,26 @@ lfs_fallocate_test() {
        rm -f "${T}"/fallocate.${ABI}.c
 }
 
+python_configure() {
+       local myeconfargs=(
+               --disable-all-programs
+               --disable-bash-completion
+               --without-systemdsystemunitdir
+               --with-python
+       )
+       if use userland_GNU; then
+               myeconfargs+=(
+                       --enable-libblkid
+                       --enable-libmount
+                       --enable-pylibmount
+               )
+       fi
+       mkdir "${BUILD_DIR}" || die
+       pushd "${BUILD_DIR}" >/dev/null || die
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+       popd >/dev/null || die
+}
+
 multilib_src_configure() {
        lfs_fallocate_test
        # The scanf test in a run-time test which fails while cross-compiling.
@@ -120,9 +137,9 @@ multilib_src_configure() {
        local myeconfargs=(
                
--enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin"
                --with-bashcompletiondir="$(get_bashcompdir)"
+               --without-python
                $(multilib_native_use_enable suid makeinstall-chown)
                $(multilib_native_use_enable suid makeinstall-setuid)
-               $(multilib_native_use_with python)
                $(multilib_native_use_with readline)
                $(multilib_native_use_with slang)
                $(multilib_native_use_with systemd)
@@ -142,6 +159,7 @@ multilib_src_configure() {
                        --disable-chfn-chsh
                        --disable-login
                        --disable-nologin
+                       --disable-pylibmount
                        --disable-su
                        --enable-agetty
                        --enable-bash-completion
@@ -179,10 +197,44 @@ multilib_src_configure() {
                fi
        fi
        ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+
+       if multilib_is_native_abi && use python; then
+               python_foreach_impl python_configure
+       fi
+}
+
+python_compile() {
+       pushd "${BUILD_DIR}" >/dev/null || die
+       emake all
+       popd >/dev/null || die
+}
+
+multilib_src_compile() {
+       emake all
+
+       if multilib_is_native_abi && use python; then
+               python_foreach_impl python_compile
+       fi
+}
+
+python_test() {
+       pushd "${BUILD_DIR}" >/dev/null || die
+       emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
+       popd >/dev/null || die
 }
 
 multilib_src_test() {
        emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
+       if multilib_is_native_abi && use python; then
+               python_foreach_impl python_test
+       fi
+}
+
+python_install() {
+       pushd "${BUILD_DIR}" >/dev/null || die
+       emake DESTDIR="${D}" install
+       python_optimize
+       popd >/dev/null || die
 }
 
 multilib_src_install() {
@@ -191,8 +243,10 @@ multilib_src_install() {
        if multilib_is_native_abi && use userland_GNU; then
                # need the libs in /
                gen_usr_ldscript -a blkid fdisk mount smartcols uuid
+       fi
 
-               use python && python_optimize
+       if multilib_is_native_abi && use python; then
+               python_foreach_impl python_install
        fi
 }
 

Reply via email to