diff --git a/pkgs/tools/security/isolate/default.nix b/pkgs/tools/security/isolate/default.nix new file mode 100644 index 000000000000..ae975dc78ae9 --- /dev/null +++ b/pkgs/tools/security/isolate/default.nix @@ -0,0 +1,49 @@ +{ lib +, stdenv +, fetchFromGitHub +, asciidoc +, libcap +, installShellFiles +}: + +stdenv.mkDerivation rec { + pname = "isolate"; + version = "1.10"; + + src = fetchFromGitHub { + owner = "ioi"; + repo = "isolate"; + rev = "v${version}"; + hash = "sha256-fuv9HOw0XkRBRjwAp4b6LpoB5p7a+yo66AcT3B0yQUw="; + }; + + nativeBuildInputs = [ + asciidoc + installShellFiles + ]; + + buildInputs = [ + libcap.dev + ]; + + buildFlags = [ + "isolate" + "isolate.1" + ]; + + installPhase = '' + runHook preInstall + + install -Dm755 ./isolate $out/bin/isolate + installManPage isolate.1 + + runHook postInstall + ''; + + meta = { + description = "Sandbox for securely executing untrusted programs"; + homepage = "https://github.com/ioi/isolate"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ virchau13 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 707205567ae4..587393ac57fd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -39695,4 +39695,6 @@ with pkgs; duden = callPackage ../applications/misc/duden { }; zf = callPackage ../tools/misc/zf { }; + + isolate = callPackage ../tools/security/isolate { }; }