summary refs log tree commit diff
diff options
context:
space:
mode:
authorobadz <dav-github@odav.org>2016-01-05 15:00:02 +0000
committerobadz <dav-github@odav.org>2016-01-05 15:37:17 +0000
commitf5b087b94e5577e174f2d2af7cb69f1ced1e30e7 (patch)
tree647c1b24c1c2d8f2d3455cc04ea4b2876835cc01
parent93d8671e2c6d1d25f126ed30e5e6f16764330119 (diff)
downloadnixpkgs-f5b087b94e5577e174f2d2af7cb69f1ced1e30e7.tar
nixpkgs-f5b087b94e5577e174f2d2af7cb69f1ced1e30e7.tar.gz
nixpkgs-f5b087b94e5577e174f2d2af7cb69f1ced1e30e7.tar.bz2
nixpkgs-f5b087b94e5577e174f2d2af7cb69f1ced1e30e7.tar.lz
nixpkgs-f5b087b94e5577e174f2d2af7cb69f1ced1e30e7.tar.xz
nixpkgs-f5b087b94e5577e174f2d2af7cb69f1ced1e30e7.tar.zst
nixpkgs-f5b087b94e5577e174f2d2af7cb69f1ced1e30e7.zip
syscall_limiter: init at b02c031
-rw-r--r--pkgs/os-specific/linux/syscall_limiter/default.nix43
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/syscall_limiter/default.nix b/pkgs/os-specific/linux/syscall_limiter/default.nix
new file mode 100644
index 00000000000..658137a569e
--- /dev/null
+++ b/pkgs/os-specific/linux/syscall_limiter/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchFromGitHub
+, libseccomp
+, perl
+, which
+}:
+
+stdenv.mkDerivation rec {
+  name = "syscall_limiter-${version}";
+  version = "${date}-${stdenv.lib.strings.substring 0 7 rev}";
+  date = "20160105";
+  rev = "b02c0316a2aaff496f712f1467e20337006655cc";
+
+  src = fetchFromGitHub {
+    owner = "vi";
+    repo = "syscall_limiter";
+    inherit rev;
+    sha256 = "14q5k5c8hk7gnxhgwaamwbibasb3pwj6jnqsxa1bdp16n6jdajxd";
+  };
+
+  configurePhase = "";
+
+  buildPhase = ''
+    make CC="gcc -I${libseccomp}/include -L${libseccomp}/lib"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -v limit_syscalls $out/bin
+    cp -v monitor.sh $out/bin/limit_syscalls_monitor.sh
+    substituteInPlace $out/bin/limit_syscalls_monitor.sh \
+      --replace perl ${perl}/bin/perl \
+      --replace which ${which}/bin/which
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Start Linux programs with only selected syscalls enabled";
+    homepage = https://github.com/vi/syscall_limiter;
+    license = licenses.mit;
+    maintainers = with maintainers; [ obadz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 986004c5642..0d18d984eb7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -885,6 +885,8 @@ let
     pynotify = pythonPackages.notify;
   };
 
+  syscall_limiter = callPackage ../os-specific/linux/syscall_limiter {};
+
   syslogng = callPackage ../tools/system/syslog-ng { };
 
   syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { };