commit:     4cb4ecd4c87ba0763d414b78946f2dd533217109
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 28 23:38:22 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Apr 28 23:38:22 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cb4ecd4

sys-libs/libcap-ng: add 0.8.5

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/libcap-ng/Manifest                        |   1 +
 .../libcap-ng/files/libcap-ng-0.8.5-python.patch   |  23 +++++
 sys-libs/libcap-ng/libcap-ng-0.8.5.ebuild          | 101 +++++++++++++++++++++
 3 files changed, 125 insertions(+)

diff --git a/sys-libs/libcap-ng/Manifest b/sys-libs/libcap-ng/Manifest
index 7602e04c471e..43578be71196 100644
--- a/sys-libs/libcap-ng/Manifest
+++ b/sys-libs/libcap-ng/Manifest
@@ -1 +1,2 @@
 DIST libcap-ng-0.8.4.tar.gz 453749 BLAKE2B 
523480281cfa544e77e30932968b4b18424286dbced06bb4645d536cf19d4cc0f7c73de82006ffc329aa7ef208e0cf8e3379f1b20e1e8e4e90e422ed736f6c44
 SHA512 
f4f3499d592e8583c2bdb8d700981a7930bd545f0889bc02f49acecf17e3bc600b100cd4f64e9326e5bac0a07a02a1ac4b7e83e919563066665a3d67cbe6871e
+DIST libcap-ng-0.8.5.tar.gz 460149 BLAKE2B 
ce0fc4ebceaa66d6f888f8b752e501bed7513d45231425054340016a6215ce52f0cd81b3a4a54c7c9ec0b623965002d66316c6c37844f0bd132b186ff7c6a41f
 SHA512 
89fb86454847f354c012411ecdc7e17f07bb40d7e9719ca0b93ea81c436113685bbbb5c1b9cb1b7ac92d216c105c687285304135beb156aedd55ab1c61e4f269

diff --git a/sys-libs/libcap-ng/files/libcap-ng-0.8.5-python.patch 
b/sys-libs/libcap-ng/files/libcap-ng-0.8.5-python.patch
new file mode 100644
index 000000000000..ddad5ff49d7a
--- /dev/null
+++ b/sys-libs/libcap-ng/files/libcap-ng-0.8.5-python.patch
@@ -0,0 +1,23 @@
+https://github.com/stevegrubb/libcap-ng/commit/1fe7c1cfeea00ba4eb903fbb39b74361594d4835
+
+From 1fe7c1cfeea00ba4eb903fbb39b74361594d4835 Mon Sep 17 00:00:00 2001
+From: Jan Palus <jpa...@fastmail.com>
+Date: Wed, 10 Apr 2024 21:30:51 +0200
+Subject: [PATCH] Fix python path when invoking py-compile (#54)
+
+48eebb2 replaced custom PYTHON3 variable with PYTHON by using standard
+AM_PATH_PYTHON macro. Makefile however still referred to old one.
+There's no need to set PYTHON explicitly anymore so drop it.
+
+Fixes #53
+--- a/bindings/python3/Makefile.am
++++ b/bindings/python3/Makefile.am
+@@ -27,7 +27,6 @@ AM_CPPFLAGS = -I. -I$(top_builddir) $(PYTHON3_INCLUDES)
+ LIBS = ${top_builddir}/src/libcap-ng.la
+ SWIG_FLAGS = -python
+ SWIG_INCLUDES = ${AM_CPPFLAGS}
+-PYTHON = $(PYTHON3)
+ pyexec_PYTHON = capng.py
+ pyexec_LTLIBRARIES = _capng.la
+ pyexec_SOLIBRARIES = _capng.so
+

diff --git a/sys-libs/libcap-ng/libcap-ng-0.8.5.ebuild 
b/sys-libs/libcap-ng/libcap-ng-0.8.5.ebuild
new file mode 100644
index 000000000000..cdbc9bd9b5c8
--- /dev/null
+++ b/sys-libs/libcap-ng/libcap-ng-0.8.5.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Keep an eye on Fedora's packaging 
(https://src.fedoraproject.org/rpms/libcap-ng/tree/rawhide) for patches
+# Same maintainer in Fedora as upstream
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools flag-o-matic out-of-source-utils python-r1
+
+DESCRIPTION="POSIX 1003.1e capabilities"
+HOMEPAGE="https://people.redhat.com/sgrubb/libcap-ng/";
+SRC_URI="https://people.redhat.com/sgrubb/${PN}/${P}.tar.gz";
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~x86-linux"
+IUSE="python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="
+       ${RDEPEND}
+       sys-kernel/linux-headers
+"
+BDEPEND="python? ( >=dev-lang/swig-2 )"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-python.patch
+)
+
+src_prepare() {
+       default
+
+       eautoreconf
+}
+
+src_configure() {
+       use sparc && replace-flags -O? -O0
+
+       local ECONF_SOURCE="${S}"
+
+       local myconf=(
+               $(use_enable static-libs static)
+               
--with-capability_header="${ESYSROOT}"/usr/include/linux/capability.h
+       )
+
+       local pythonconf=(
+               --without-python3
+       )
+
+       # Set up python bindings build(s)
+       if use python ; then
+               setup_python_flags_configure() {
+                       pythonconf=(
+                               --with-python3
+                       )
+
+                       run_in_build_dir econf "${pythonconf[@]}" "${myconf[@]}"
+               }
+
+               python_foreach_impl setup_python_flags_configure
+       else
+               local BUILD_DIR="${WORKDIR}"/build
+               run_in_build_dir econf "${pythonconf[@]}" "${myconf[@]}"
+       fi
+}
+
+src_compile() {
+       if use python ; then
+               python_foreach_impl run_in_build_dir emake
+       else
+               local BUILD_DIR="${WORKDIR}"/build
+               emake -C "${BUILD_DIR}"
+       fi
+}
+
+src_test() {
+       if [[ "${EUID}" -eq 0 ]] ; then
+               ewarn "Skipping tests due to root permissions."
+               return
+       fi
+
+       if use python ; then
+               python_foreach_impl run_in_build_dir emake check
+       else
+               local BUILD_DIR="${WORKDIR}"/build
+               emake -C "${BUILD_DIR}" check
+       fi
+}
+
+src_install() {
+       if use python ; then
+               python_foreach_impl run_in_build_dir emake DESTDIR="${D}" 
install
+       else
+               local BUILD_DIR="${WORKDIR}"/build
+               emake -C "${BUILD_DIR}" DESTDIR="${D}" install
+       fi
+
+       find "${ED}" -name '*.la' -delete || die
+}

Reply via email to