summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/pax-utils/pax-utils-9999.ebuild')
-rw-r--r--app-misc/pax-utils/pax-utils-9999.ebuild77
1 files changed, 77 insertions, 0 deletions
diff --git a/app-misc/pax-utils/pax-utils-9999.ebuild b/app-misc/pax-utils/pax-utils-9999.ebuild
new file mode 100644
index 000000000000..191841deb477
--- /dev/null
+++ b/app-misc/pax-utils/pax-utils-9999.ebuild
@@ -0,0 +1,77 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: if bumping pax-utils because of syscall changes in glibc, please
+# revbump glibc and update the dependency in its ebuild for the affected
+# versions.
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit meson python-single-r1
+
+DESCRIPTION="ELF utils that can check files for security relevant properties"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Hardened/PaX_Utilities"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pax-utils.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz
+ https://dev.gentoo.org/~vapier/dist/${P}.tar.xz
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="caps +man python seccomp test"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( python )
+"
+RESTRICT="!test? ( test )"
+
+MY_PYTHON_DEPS="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pyelftools[${PYTHON_USEDEP}]
+ ')
+"
+RDEPEND="
+ caps? ( >=sys-libs/libcap-2.24 )
+ python? ( ${MY_PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ caps? ( virtual/pkgconfig )
+ man? ( app-text/xmlto )
+ python? ( ${MY_PYTHON_DEPS} )
+"
+
+pkg_setup() {
+ if use test || use python; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_configure() {
+ local emesonargs=(
+ "-Dlddtree_implementation=$(usex python python sh)"
+ $(meson_feature caps use_libcap)
+ $(meson_feature man build_manpages)
+ $(meson_use seccomp use_seccomp)
+ $(meson_use test tests)
+
+ # fuzzing is currently broken
+ -Duse_fuzzing=false
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ use python && python_fix_shebang "${ED}"/usr/bin/lddtree
+}