nixpkgs/pkgs/by-name/sy/syscall_limiter/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

38 lines
942 B
Nix

{ lib, stdenv
, fetchFromGitHub
, libseccomp
, perl
, which
}:
stdenv.mkDerivation {
pname = "syscall_limiter";
version = "2017-01-23";
src = fetchFromGitHub {
owner = "vi";
repo = "syscall_limiter";
rev = "481c8c883f2e1260ebc83b352b63bf61a930a341";
sha256 = "0z5arj1kq1xczgrbw1b8m9kicbv3vs9bd32wvgfr4r6ndingsp5m";
};
buildInputs = [ libseccomp ];
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 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;
};
}