summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-03-06 17:06:28 +0100
committerMichał Górny <mgorny@gentoo.org>2024-03-06 18:02:47 +0100
commita1c7a541d83818824003380ff75e8680692be91e (patch)
treec83a24157284ee2f8ea2d2d99ee003b1a2bac29e
parentdev-python/fsspec: Remove old (diff)
downloadgentoo-a1c7a541d83818824003380ff75e8680692be91e.tar.gz
gentoo-a1c7a541d83818824003380ff75e8680692be91e.tar.bz2
gentoo-a1c7a541d83818824003380ff75e8680692be91e.zip
sys-libs/libapparmor: Use PEP517 build
Closes: https://bugs.gentoo.org/910040 Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r--sys-libs/libapparmor/libapparmor-3.1.4-r1.ebuild117
1 files changed, 117 insertions, 0 deletions
diff --git a/sys-libs/libapparmor/libapparmor-3.1.4-r1.ebuild b/sys-libs/libapparmor/libapparmor-3.1.4-r1.ebuild
new file mode 100644
index 000000000000..62ed55ee2a7b
--- /dev/null
+++ b/sys-libs/libapparmor/libapparmor-3.1.4-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+GENTOO_DEPEND_ON_PERL="no"
+
+inherit autotools distutils-r1 perl-functions
+
+MY_PV="$(ver_cut 1-2)"
+
+DESCRIPTION="Library to support AppArmor userspace utilities"
+HOMEPAGE="https://gitlab.com/apparmor/apparmor/wikis/home"
+SRC_URI="https://launchpad.net/apparmor/${MY_PV}/${PV}/+download/apparmor-${PV}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="doc +perl +python static-libs"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-build/autoconf-archive
+ sys-devel/bison
+ sys-devel/flex
+ doc? ( dev-lang/perl )
+ perl? ( dev-lang/swig )
+ python? (
+ dev-lang/swig
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )"
+
+S=${WORKDIR}/apparmor-${PV}/libraries/${PN}
+
+# depends on the package already being installed
+RESTRICT="test"
+
+src_prepare() {
+ default
+
+ # We used to rm m4/ but led to this after eautoreconf:
+ # checking whether the libapparmor man pages should be generated... yes
+ # ./configure: 5065: PROG_PODCHECKER: not found
+ # ./configure: 5068: PROG_POD2MAN: not found
+ # checking whether python bindings are enabled... yes
+ eautoreconf
+
+ use python && distutils-r1_src_prepare
+}
+
+src_configure() {
+ # Fails with reflex/byacc, heavily relies on bisonisms
+ export LEX=flex
+ export YACC=yacc.bison
+
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with perl) \
+ $(use_with python)
+}
+
+src_compile() {
+ emake -C src
+ emake -C include
+ use doc && emake -C doc
+ use perl && emake -C swig/perl
+
+ if use python ; then
+ pushd swig/python > /dev/null
+ emake libapparmor_wrap.c
+ distutils-r1_src_compile
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" -C src install
+ emake DESTDIR="${D}" -C include install
+ use doc && emake DESTDIR="${D}" -C doc install
+
+ if use perl ; then
+ emake DESTDIR="${D}" -C swig/perl install
+ perl_set_version
+ insinto "${VENDOR_ARCH}"
+ doins swig/perl/LibAppArmor.pm
+
+ # bug 620886
+ perl_delete_localpod
+ perl_fix_packlist
+ fi
+
+ if use python ; then
+ pushd swig/python > /dev/null || die
+ distutils-r1_src_install
+
+ popd > /dev/null || die
+ fi
+
+ dodoc AUTHORS ChangeLog NEWS README
+
+ find "${D}" -name '*.la' -delete || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ python_moduleinto LibAppArmor
+ python_domodule LibAppArmor.py
+}