1{ stdenv
2, lib
3, fetchgit
4, buildPackages
5, docbook_xml_dtd_44
6, docbook_xsl
7, withLibcap ? stdenv.isLinux, libcap
8, pkg-config
9, meson
10, ninja
11, xmlto
12, python3
13
14, gitUpdater
15}:
16
17stdenv.mkDerivation rec {
18 pname = "pax-utils";
19 version = "1.3.7";
20
21 src = fetchgit {
22 url = "https://anongit.gentoo.org/git/proj/pax-utils.git";
23 rev = "v${version}";
24 hash = "sha256-WyNng+UtfRz1+Eu4gwXLxUvBAg+m3mdrc8GdEPYRKVE=";
25 };
26
27 strictDeps = true;
28
29 mesonFlags = [
30 (lib.mesonEnable "use_libcap" withLibcap)
31 ];
32
33 depsBuildBuild = [ buildPackages.stdenv.cc ];
34 nativeBuildInputs = [ docbook_xml_dtd_44 docbook_xsl meson ninja pkg-config xmlto ];
35 buildInputs = lib.optionals withLibcap [ libcap ];
36 # Needed for lddtree
37 propagatedBuildInputs = [ (python3.withPackages (p: with p; [ pyelftools ])) ];
38
39 passthru.updateScript = gitUpdater {
40 url = "https://anongit.gentoo.org/git/proj/pax-utils.git";
41 rev-prefix = "v";
42 };
43
44 meta = with lib; {
45 description = "ELF utils that can check files for security relevant properties";
46 longDescription = ''
47 A suite of ELF tools to aid auditing systems. Contains
48 various ELF related utils for ELF32, ELF64 binaries useful
49 for displaying PaX and security info on a large groups of
50 binary files.
51 '';
52 homepage = "https://wiki.gentoo.org/wiki/Hardened/PaX_Utilities";
53 license = licenses.gpl2Only;
54 platforms = platforms.unix;
55 maintainers = with maintainers; [ thoughtpolice joachifm ];
56 };
57}