nixpkgs/pkgs/os-specific/linux/libcap-ng/default.nix

40 lines
1.2 KiB
Nix
Raw Normal View History

2021-01-15 14:45:37 +00:00
{ lib, stdenv, fetchurl, swig ? null, python2 ? null, python3 ? null }:
2013-02-24 10:19:35 +00:00
assert python2 != null || python3 != null -> swig != null;
2013-02-24 10:19:35 +00:00
stdenv.mkDerivation rec {
pname = "libcap-ng";
# When updating make sure to test that the version with
# all of the python bindings still works
2022-04-02 02:25:23 +00:00
version = "0.8.3";
2013-02-24 10:19:35 +00:00
src = fetchurl {
url = "${meta.homepage}/${pname}-${version}.tar.gz";
2022-04-02 02:25:23 +00:00
sha256 = "sha256-vtb2hI4iuy+Dtfdksq7w7TkwVOgDqOOocRyyo55rSS0=";
2013-02-24 10:19:35 +00:00
};
nativeBuildInputs = [ swig ];
buildInputs = [ python2 python3 ];
2013-02-24 10:19:35 +00:00
postPatch = ''
function get_header() {
echo -e "#include <$1>" | gcc -M -xc - | tr ' ' '\n' | grep "$1" | head -n 1
}
# Fix some hardcoding of header paths
sed -i "s,/usr/include/linux/capability.h,$(get_header linux/capability.h),g" bindings/python{,3}/Makefile.in
'';
configureFlags = [
(if python2 != null then "--with-python" else "--without-python")
(if python3 != null then "--with-python3" else "--without-python3")
];
2021-01-15 14:45:37 +00:00
meta = let inherit (lib) platforms licenses; in {
2013-02-24 10:19:35 +00:00
description = "Library for working with POSIX capabilities";
homepage = "https://people.redhat.com/sgrubb/libcap-ng/";
platforms = platforms.linux;
license = licenses.lgpl21;
2013-02-24 10:19:35 +00:00
};
}