commit: cafd8640380ad053eec7766a512c2a3fb79892df
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 29 07:58:52 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 29 08:17:56 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cafd8640
sys-libs/libcap: add 2.77
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-libs/libcap/Manifest | 1 +
sys-libs/libcap/libcap-2.77.ebuild | 96 ++++++++++++++++++++++++++++++++++++++
2 files changed, 97 insertions(+)
diff --git a/sys-libs/libcap/Manifest b/sys-libs/libcap/Manifest
index 245a9e741b15..e066cb64c3d4 100644
--- a/sys-libs/libcap/Manifest
+++ b/sys-libs/libcap/Manifest
@@ -1,2 +1,3 @@
DIST libcap-2.71.tar.xz 193512 BLAKE2B
a4bc55d8b58db5d75b4615f287a15614c075f8f7e690e7a833c453658c80d6f99e633132bc8a3b8cc7d1393e513763d924bf2cbe6bc29c7a40e2a5f19755e662
SHA512
59bb6781d96776595ad3df890f4e5188380634eabbb6128f3a5307946b01cf3bd19dee8a29d3e501de1d9e1c6ed0092c4cd5adc91da227a1260c1f4356cc0bf3
DIST libcap-2.76.tar.xz 199200 BLAKE2B
301c74ceae00e915f70ff8f0a32c86a5ddf405a00522f4299390e4e0b6bc4270fc7e3c4ba5c53db2ddc5f7de6a97b43e310097a4ecc1d678f721f9dfa53cef53
SHA512
f9448628ce036a10ce71958b25e5dd31032c4d86d8d34d905d2dfa32890ad443804169d4c6b825fd4bfe260b5de20f046cee958e40268bcadbbe7f7731ae40ad
+DIST libcap-2.77.tar.xz 199688 BLAKE2B
9725a5f886907f718a7149841003ac04aced8d322ae190b7035873dc823098c58311f15b9fe7e2a3fec683de6e2eeea108cd008f5f79e8dba24bb20595351812
SHA512
c783cb43ffb40eb005fb880efe18e72667c743af79d647f67ee3201d5ff1e64446f9c850cced935a04b63a8ee3380bbf28dd91e2dfbcbddb561c8d096da610d0
diff --git a/sys-libs/libcap/libcap-2.77.ebuild
b/sys-libs/libcap/libcap-2.77.ebuild
new file mode 100644
index 000000000000..aeb560184a59
--- /dev/null
+++ b/sys-libs/libcap/libcap-2.77.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit dot-a multilib-minimal toolchain-funcs pam
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libcap/libcap.git"
+else
+
SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc
~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="POSIX 1003.1e capabilities"
+HOMEPAGE="https://sites.google.com/site/fullycapable/"
+
+LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )"
+SLOT="0"
+IUSE="pam static-libs tools"
+
+# While the build system optionally uses gperf, we don't DEPEND on it because
+# the build automatically falls back when it's unavailable. #604802
+PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )"
+DEPEND="${PDEPEND}
+ sys-kernel/linux-headers"
+BDEPEND="
+ sys-apps/diffutils
+ tools? ( dev-lang/go )"
+
+QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.62-ignore-RAISE_SETFCAP-install-failures.patch
+)
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+run_emake() {
+ local args=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ OBJCOPY="$(tc-getOBJCOPY)"
+ RANLIB="$(tc-getRANLIB)"
+ exec_prefix="${EPREFIX}"
+ lib_prefix="${EPREFIX}/usr"
+ lib="$(get_libdir)"
+ prefix="${EPREFIX}/usr"
+ PAM_CAP="$(usex pam yes no)"
+ DYNAMIC=yes
+ GOLANG="$(multilib_native_usex tools yes no)"
+ )
+ emake "${args[@]}" "$@"
+}
+
+src_configure() {
+ use static-libs && lto-guarantee-fat
+ tc-export_build_env BUILD_CC
+ multilib-minimal_src_configure
+}
+
+multilib_src_compile() {
+ run_emake
+}
+
+multilib_src_test() {
+ run_emake test
+}
+
+multilib_src_install() {
+ # no configure, needs explicit install line #444724#c3
+ run_emake DESTDIR="${D}" install
+
+ if use static-libs ; then
+ strip-lto-bytecode
+ else
+ rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die
+ fi
+
+ # install pam plugins ourselves
+ rm -rf "${ED}"/usr/$(get_libdir)/security || die
+
+ if use pam ; then
+ dopammod pam_cap/pam_cap.so
+ dopamsecurity '' pam_cap/capability.conf
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc CHANGELOG README doc/capability.md
+}