summaryrefslogtreecommitdiff
path: root/sys-libs/libapparmor/libapparmor-3.1.4-r2.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/libapparmor/libapparmor-3.1.4-r2.ebuild')
-rw-r--r--sys-libs/libapparmor/libapparmor-3.1.4-r2.ebuild135
1 files changed, 135 insertions, 0 deletions
diff --git a/sys-libs/libapparmor/libapparmor-3.1.4-r2.ebuild b/sys-libs/libapparmor/libapparmor-3.1.4-r2.ebuild
new file mode 100644
index 000000000000..7d2c37473199
--- /dev/null
+++ b/sys-libs/libapparmor/libapparmor-3.1.4-r2.ebuild
@@ -0,0 +1,135 @@
+# 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..12} )
+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"
+S=${WORKDIR}/apparmor-${PV}/libraries/${PN}
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="doc +perl +python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+# depends on the package already being installed
+RESTRICT="test"
+
+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? (
+ ${PYTHON_DEPS}
+ ${DISTUTILS_DEPS}
+ dev-lang/swig
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1.4-clang-flto-partition.patch
+)
+
+src_prepare() {
+ default
+
+ use python && distutils-r1_src_prepare
+
+ # 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
+}
+
+src_configure() {
+ # Run configure through distutils-r1.eclass. Bug 764779
+ if use python; then
+ distutils-r1_src_configure
+ else
+ python_configure_all
+ fi
+}
+
+python_configure_all() {
+ # Fails with reflex/byacc, heavily relies on bisonisms
+ export LEX=flex
+ export YACC=yacc.bison
+
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_with perl)
+ $(use_with python)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+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
+}