commit:     4930a1eb1971a0b1fde5b556d9e58104cc5a1176
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 24 17:55:02 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Sat Sep 24 17:55:26 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4930a1eb

sys-libs/libapparmor: revision bump solving python module import failure with 
dev-lang/swig-3.0.10

Patch from openSUSE.

Gentoo-bug: 594238

Package-Manager: portage-2.3.1

 .../files/libapparmor-2.10.1-import-path.patch     | 46 +++++++++++
 sys-libs/libapparmor/libapparmor-2.10.1-r1.ebuild  | 89 ++++++++++++++++++++++
 2 files changed, 135 insertions(+)

diff --git a/sys-libs/libapparmor/files/libapparmor-2.10.1-import-path.patch 
b/sys-libs/libapparmor/files/libapparmor-2.10.1-import-path.patch
new file mode 100644
index 00000000..ff18c37
--- /dev/null
+++ b/sys-libs/libapparmor/files/libapparmor-2.10.1-import-path.patch
@@ -0,0 +1,46 @@
+Add patch from openSUSE fixing python module import failure when built with
+dev-lang/swig-3.0.10.
+
+https://bugzilla.opensuse.org/show_bug.cgi?id=987607
+
+Gentoo-bug: 594238
+
+--- a/swig/python/Makefile.am
++++ b/swig/python/Makefile.am
+@@ -6,9 +6,8 @@ SUBDIRS = test
+ 
+ libapparmor_wrap.c: $(srcdir)/../SWIG/libapparmor.i
+       $(SWIG) -python -I$(srcdir)/../../include -module LibAppArmor -o $@ 
$(srcdir)/../SWIG/libapparmor.i
+-      mv LibAppArmor.py __init__.py
+ 
+-MOSTLYCLEANFILES=libapparmor_wrap.c __init__.py
++MOSTLYCLEANFILES=libapparmor_wrap.c LibAppArmor.py
+ 
+ all-local: libapparmor_wrap.c setup.py
+       if test ! -f libapparmor_wrap.c; then cp $(srcdir)/libapparmor_wrap.c . 
; fi
+
+--- a/dev/null
++++ b/swig/python/__init__.py
+@@ -0,0 +1 @@
++from LibAppArmor.LibAppArmor import *
+
+--- a/swig/python/Makefile.in
++++ b/swig/python/Makefile.in
+@@ -326,7 +326,7 @@ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ @HAVE_PYTHON_TRUE@EXTRA_DIST = libapparmor_wrap.c
+ @HAVE_PYTHON_TRUE@SUBDIRS = test
+-@HAVE_PYTHON_TRUE@MOSTLYCLEANFILES = libapparmor_wrap.c __init__.py
++@HAVE_PYTHON_TRUE@MOSTLYCLEANFILES = libapparmor_wrap.c LibAppArmor.py
+ all: all-recursive
+ 
+ .SUFFIXES:
+@@ -648,7 +648,6 @@ uninstall-am:
+ 
+ @HAVE_PYTHON_TRUE@libapparmor_wrap.c: $(srcdir)/../SWIG/libapparmor.i
+ @HAVE_PYTHON_TRUE@    $(SWIG) -python -I$(srcdir)/../../include -module 
LibAppArmor -o $@ $(srcdir)/../SWIG/libapparmor.i
+-@HAVE_PYTHON_TRUE@    mv LibAppArmor.py __init__.py
+ 
+ @HAVE_PYTHON_TRUE@all-local: libapparmor_wrap.c setup.py
+ @HAVE_PYTHON_TRUE@    if test ! -f libapparmor_wrap.c; then cp 
$(srcdir)/libapparmor_wrap.c . ; fi
+

diff --git a/sys-libs/libapparmor/libapparmor-2.10.1-r1.ebuild 
b/sys-libs/libapparmor/libapparmor-2.10.1-r1.ebuild
new file mode 100644
index 00000000..c38bb1c
--- /dev/null
+++ b/sys-libs/libapparmor/libapparmor-2.10.1-r1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+GENTOO_DEPEND_ON_PERL="no"
+
+inherit autotools-utils distutils-r1 perl-module versionator
+
+DESCRIPTION="Library to support AppArmor userspace utilities"
+HOMEPAGE="http://apparmor.net/";
+SRC_URI="https://launchpad.net/apparmor/$(get_version_component_range 
1-2)/${PV}/+download/apparmor-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +perl +python static-libs"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="perl? ( dev-lang/perl:= )
+       python? ( ${PYTHON_DEPS} )"
+
+DEPEND="${RDEPEND}
+       sys-devel/autoconf-archive
+       sys-devel/bison
+       sys-devel/flex
+       doc? ( dev-lang/perl )
+       perl? ( dev-lang/swig )
+       python? ( dev-lang/swig )"
+
+S=${WORKDIR}/apparmor-${PV}/libraries/${PN}
+
+src_prepare() {
+       rm -r m4 || die "failed to remove bundled macros"
+       epatch "${FILESDIR}"/${PN}-2.10-symbol_visibility.patch
+       epatch "${FILESDIR}"/${PN}-2.10.1-import-path.patch
+       autotools-utils_src_prepare
+       use python && distutils-r1_src_prepare
+}
+
+src_configure() {
+       local myeconfargs=(
+               $(use_with perl) \
+               $(use_with python)
+       )
+
+       autotools-utils_src_configure
+}
+
+src_compile() {
+       autotools-utils_src_compile -C src
+       autotools-utils_src_compile -C include
+       use doc && autotools-utils_src_compile -C doc
+       use perl && autotools-utils_src_compile -C swig/perl
+
+       if use python ; then
+               pushd "${BUILD_DIR}"/swig/python > /dev/null
+               emake libapparmor_wrap.c
+               distutils-r1_src_compile
+               popd > /dev/null
+       fi
+}
+
+src_install() {
+       autotools-utils_src_install -C src
+       autotools-utils_src_install -C include
+       use doc && autotools-utils_src_install -C doc
+
+       if use perl ; then
+               autotools-utils_src_install -C swig/perl
+               perl_set_version
+               insinto "${VENDOR_ARCH}"
+               doins "${BUILD_DIR}"/swig/perl/LibAppArmor.pm
+       fi
+
+       if use python ; then
+               pushd "${BUILD_DIR}"/swig/python > /dev/null
+               distutils-r1_src_install
+
+               python_moduleinto LibAppArmor
+               python_foreach_impl python_domodule LibAppArmor.py
+               popd > /dev/null
+       fi
+}

Reply via email to