diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix index 6ea0e6be465..703b25fcf1c 100644 --- a/pkgs/development/libraries/libseccomp/default.nix +++ b/pkgs/development/libraries/libseccomp/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1wql62cg8f95cwpy057cl764nni9g4sdn5lqj68x22kjs8w71yhz"; }; - outputs = [ "out" "lib" "dev" "man" ]; + outputs = [ "out" "lib" "dev" "man" "pythonsrc" ]; nativeBuildInputs = [ gperf ]; buildInputs = [ getopt ]; @@ -24,6 +24,13 @@ stdenv.mkDerivation rec { # Hack to ensure that patchelf --shrink-rpath get rids of a $TMPDIR reference. preFixup = "rm -rfv src"; + # Copy the python module code into a tarball that we can export and use as the + # src input for buildPythonPackage calls + postInstall = '' + cp -R ./src/python/ tmp-pythonsrc/ + tar -zcf $pythonsrc --transform s/tmp-pythonsrc/python-foundationdb/ ./tmp-pythonsrc/ + ''; + meta = with stdenv.lib; { description = "High level library for the Linux Kernel seccomp filter"; homepage = "https://github.com/seccomp/libseccomp"; diff --git a/pkgs/development/python-modules/seccomp/default.nix b/pkgs/development/python-modules/seccomp/default.nix new file mode 100644 index 00000000000..3257722b178 --- /dev/null +++ b/pkgs/development/python-modules/seccomp/default.nix @@ -0,0 +1,29 @@ +{ buildPythonPackage, lib +, cython, libseccomp +}: + +buildPythonPackage rec { + pname = "libseccomp"; + version = libseccomp.version; + src = libseccomp.pythonsrc; + + VERSION_RELEASE = version; # used by build system + + nativeBuildInputs = [ cython ]; + buildInputs = [ libseccomp ]; + + unpackCmd = "tar xf $curSrc"; + doInstallCheck = true; + + postPatch = '' + substituteInPlace ./setup.py \ + --replace 'extra_objects=["../.libs/libseccomp.a"]' \ + 'libraries=["seccomp"]' + ''; + + meta = with lib; { + description = "Python bindings for libseccomp"; + license = with licenses; [ lgpl21 ]; + maintainers = with maintainers; [ thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 015d27c5660..c46cec5436e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6529,6 +6529,8 @@ in { seabreeze = callPackage ../development/python-modules/seabreeze { }; + seccomp = callPackage ../development/python-modules/seccomp { }; + secp256k1 = callPackage ../development/python-modules/secp256k1 { inherit (pkgs) secp256k1 pkgconfig; }; secretstorage = if isPy3k then