2015-09-24 05:49:17 +02:00
|
|
|
{ stdenv, fetchurl, swig ? null, python2 ? null, python3 ? null }:
|
2013-02-24 11:19:35 +01:00
|
|
|
|
2015-09-24 05:49:17 +02:00
|
|
|
assert python2 != null || python3 != null -> swig != null;
|
2013-02-24 11:19:35 +01:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "libcap-ng-${version}";
|
2015-09-24 05:49:17 +02:00
|
|
|
# When updating make sure to test that the version with
|
|
|
|
# all of the python bindings still works
|
2018-03-20 18:07:57 +01:00
|
|
|
version = "0.7.9";
|
2013-02-24 11:19:35 +01:00
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = "${meta.homepage}/${name}.tar.gz";
|
2018-03-20 18:07:57 +01:00
|
|
|
sha256 = "0a0k484kwv0zilry2mbl9k56cnpdhsjxdxin17jas6kkyfy345aa";
|
2013-02-24 11:19:35 +01:00
|
|
|
};
|
|
|
|
|
2015-09-24 05:49:17 +02:00
|
|
|
nativeBuildInputs = [ swig ];
|
|
|
|
buildInputs = [ python2 python3 ];
|
2013-02-24 11:19:35 +01:00
|
|
|
|
2015-09-24 05:49:17 +02: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")
|
|
|
|
];
|
|
|
|
|
2019-06-16 21:59:06 +02:00
|
|
|
meta = let inherit (stdenv.lib) platforms licenses; in {
|
2013-02-24 11:19:35 +01:00
|
|
|
description = "Library for working with POSIX capabilities";
|
2018-11-24 23:56:37 +01:00
|
|
|
homepage = https://people.redhat.com/sgrubb/libcap-ng/;
|
2015-09-24 05:49:17 +02:00
|
|
|
platforms = platforms.linux;
|
|
|
|
license = licenses.lgpl21;
|
2013-02-24 11:19:35 +01:00
|
|
|
};
|
|
|
|
}
|