diff options
Diffstat (limited to 'sys-libs/libcap/libcap-2.24-r2.ebuild')
-rw-r--r-- | sys-libs/libcap/libcap-2.24-r2.ebuild | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/sys-libs/libcap/libcap-2.24-r2.ebuild b/sys-libs/libcap/libcap-2.24-r2.ebuild new file mode 100644 index 000000000000..5575faa355ce --- /dev/null +++ b/sys-libs/libcap/libcap-2.24-r2.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="4" + +inherit eutils multilib multilib-minimal toolchain-funcs pam + +DESCRIPTION="POSIX 1003.1e capabilities" +HOMEPAGE="http://www.friedhoff.org/posixfilecaps.html" +SRC_URI="mirror://kernel/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" + +# it's available under either of the licenses +LICENSE="|| ( GPL-2 BSD )" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~arm-linux ~x86-linux" +IUSE="pam static-libs" + +RDEPEND=">=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] + pam? ( virtual/pam )" +DEPEND="${RDEPEND} + sys-kernel/linux-headers" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.24-build-system-fixes.patch + epatch "${FILESDIR}"/${PN}-2.22-no-perl.patch + epatch "${FILESDIR}"/${PN}-2.20-ignore-RAISE_SETFCAP-install-failures.patch + epatch "${FILESDIR}"/${PN}-2.21-include.patch + epatch "${FILESDIR}"/${PN}-2.24-setcap-errno.patch #551672 + + multilib_copy_sources +} + +multilib_src_configure() { + local pam + if multilib_is_native_abi && use pam; then + pam=yes + else + pam=no + fi + + sed -i \ + -e "/^PAM_CAP/s:=.*:=${pam}:" \ + -e '/^DYNAMIC/s:=.*:=yes:' \ + -e '/^lib_prefix=/s:=.*:=$(prefix):' \ + -e "/^lib=/s:=.*:=$(get_libdir):" \ + Make.Rules +} + +multilib_src_compile() { + tc-export_build_env BUILD_CC + tc-export AR CC RANLIB + + default +} + +multilib_src_install() { + # no configure, needs explicit install line #444724#c3 + emake install DESTDIR="${ED}" + + gen_usr_ldscript -a cap + use static-libs || rm "${ED}"/usr/$(get_libdir)/libcap.a + + rm -rf "${ED}"/usr/$(get_libdir)/security + if multilib_is_native_abi && use pam; then + dopammod pam_cap/pam_cap.so + dopamsecurity '' pam_cap/capability.conf + fi +} + +multilib_src_install_all() { + dodoc CHANGELOG README doc/capability.notes +} |