[gentoo-commits] repo/gentoo:master commit in: sys-libs/libcap-ng/, sys-libs/libcap-ng/files/

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

sys-libs/libcap-ng: add 0.8.5

Signed-off-by: Sam James  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 
f4f3499d592e8583c2bdb8d700981a7930bd545f0889bc02f49acecf17e3bc600b100cd4f64e9326e5bac0a07a02a1ac4b7e83e91956305a3d67cbe6871e
+DIST libcap-ng-0.8.5.tar.gz 460149 BLAKE2B 
ce0fc4ebceaa66d6f888f8b752e501bed7513d45231425054340016a6215ce52f0cd81b3a4a54c7c9ec0b623965002d66316c6c37844f0bd132b186ff7c6a41f
 SHA512 
89fb86454847f354c012411ecdc7e17f07bb40d7e9719ca0b93ea81c4361136855c1b9cb1b7ac92d216c105c687285304135beb156aedd55ab1c61e4f269

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 ..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 
+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 ..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
+ 

[gentoo-commits] repo/gentoo:master commit in: sys-libs/libcap-ng/, sys-libs/libcap-ng/files/

2024-01-04 Thread Sam James
commit: 62ab48d8edb336e83f2a8988f09c85766c368c75
Author: Sam James  gentoo  org>
AuthorDate: Fri Jan  5 05:17:51 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Fri Jan  5 05:17:51 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62ab48d8

sys-libs/libcap-ng: fix swig-4.2.0 compat

Closes: https://bugs.gentoo.org/921305
Signed-off-by: Sam James  gentoo.org>

 .../libcap-ng/files/libcap-ng-0.8.4-swig.patch |  31 ++
 sys-libs/libcap-ng/libcap-ng-0.8.4-r1.ebuild   | 104 +
 2 files changed, 135 insertions(+)

diff --git a/sys-libs/libcap-ng/files/libcap-ng-0.8.4-swig.patch 
b/sys-libs/libcap-ng/files/libcap-ng-0.8.4-swig.patch
new file mode 100644
index ..4b3f41a580ab
--- /dev/null
+++ b/sys-libs/libcap-ng/files/libcap-ng-0.8.4-swig.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/921305
+https://github.com/stevegrubb/libcap-ng/issues/48
+https://github.com/stevegrubb/libcap-ng/commit/30453b6553948cd05c438f9f509013e3bb84f25b
+
+From 30453b6553948cd05c438f9f509013e3bb84f25b Mon Sep 17 00:00:00 2001
+From: Steve Grubb 
+Date: Thu, 4 Jan 2024 15:06:29 -0500
+Subject: [PATCH] Remove python global exception handler since its deprecated
+
+---
+ bindings/src/capng_swig.i | 7 ---
+ 2 files changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/bindings/src/capng_swig.i b/bindings/src/capng_swig.i
+index fcdaf18..fa85e13 100644
+--- a/bindings/src/capng_swig.i
 b/bindings/src/capng_swig.i
+@@ -30,13 +30,6 @@
+ 
+ %varargs(16, signed capability = 0) capng_updatev;
+ 
+-%except(python) {
+-  $action
+-  if (result < 0) {
+-PyErr_SetFromErrno(PyExc_OSError);
+-return NULL;
+-  }
+-}
+ #endif
+ 
+ %define __signed__

diff --git a/sys-libs/libcap-ng/libcap-ng-0.8.4-r1.ebuild 
b/sys-libs/libcap-ng/libcap-ng-0.8.4-r1.ebuild
new file mode 100644
index ..1774677f7280
--- /dev/null
+++ b/sys-libs/libcap-ng/libcap-ng-0.8.4-r1.ebuild
@@ -0,0 +1,104 @@
+# 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 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}-swig.patch
+)
+
+src_prepare() {
+   default
+
+   if use prefix ; then
+   sed -i "s@cat /usr@cat ${EPREFIX}/usr@" 
bindings/python*/Makefile.am || die
+   # bug #668722
+   eautomake
+   fi
+}
+
+src_configure() {
+   use sparc && replace-flags -O? -O0
+
+   local ECONF_SOURCE="${S}"
+
+   local myconf=(
+   $(use_enable static-libs static)
+   )
+
+   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
+}