commit:     dbe0bd44461aff3097fde6c64147f1a61e30816d
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  1 16:55:44 2017 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed Feb  1 19:53:59 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbe0bd44

sys-apps/portage: add native-extensions USE flag (bug 571444)

The native-extensions USE flag will enable building of the
libc bindings. This is not enabled by default because it does
not support cross compilation.

X-Gentoo-bug: 571444
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=571444
Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-apps/portage/metadata.xml         | 1 +
 sys-apps/portage/portage-2.3.3.ebuild | 7 ++++++-
 sys-apps/portage/portage-9999.ebuild  | 7 ++++++-
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/sys-apps/portage/metadata.xml b/sys-apps/portage/metadata.xml
index e032ea5..882d3ba 100644
--- a/sys-apps/portage/metadata.xml
+++ b/sys-apps/portage/metadata.xml
@@ -12,6 +12,7 @@
   <use>
     <flag name="epydoc">Build html API documentation with epydoc.</flag>
     <flag name="ipc">Use inter-process communication between portage and 
running ebuilds.</flag>
+    <flag name="native-extensions">Build native extensions. Cross-compilation 
is not supported.</flag>
     <flag name="xattr">Preserve extended attributes (filesystem-stored 
metadata) when installing files. Usually only required for hardened 
systems.</flag>
   </use>
 </pkgmetadata>

diff --git a/sys-apps/portage/portage-2.3.3.ebuild 
b/sys-apps/portage/portage-2.3.3.ebuild
index 92b48f4..4764398 100644
--- a/sys-apps/portage/portage-2.3.3.ebuild
+++ b/sys-apps/portage/portage-2.3.3.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage";
 LICENSE="GPL-2"
 KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh 
sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
 SLOT="0"
-IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
+IUSE="build doc epydoc +ipc linguas_ru native-extensions selinux xattr"
 
 DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
        >=app-arch/tar-1.27
@@ -85,6 +85,11 @@ pkg_setup() {
 python_prepare_all() {
        distutils-r1_python_prepare_all
 
+       if use native-extensions; then
+               printf "[build_ext]\nportage-ext-modules=true\n" >> \
+                       setup.cfg || die
+       fi
+
        if ! use ipc ; then
                einfo "Disabling ipc..."
                sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = 
False:" \

diff --git a/sys-apps/portage/portage-9999.ebuild 
b/sys-apps/portage/portage-9999.ebuild
index 6a6f515..f4f3fec 100644
--- a/sys-apps/portage/portage-9999.ebuild
+++ b/sys-apps/portage/portage-9999.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage";
 LICENSE="GPL-2"
 KEYWORDS=""
 SLOT="0"
-IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
+IUSE="build doc epydoc +ipc linguas_ru native-extensions selinux xattr"
 
 DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
        >=app-arch/tar-1.27
@@ -85,6 +85,11 @@ pkg_setup() {
 python_prepare_all() {
        distutils-r1_python_prepare_all
 
+       if use native-extensions; then
+               printf "[build_ext]\nportage-ext-modules=true\n" >> \
+                       setup.cfg || die
+       fi
+
        if ! use ipc ; then
                einfo "Disabling ipc..."
                sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = 
False:" \

Reply via email to