base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / system / minijail / tools.nix
blobc9c52e479e78e6182da50c794c8968c916c19c87
1 { lib, buildPythonApplication, pkgsBuildTarget, python, minijail }:
3 let
4   targetClang = pkgsBuildTarget.targetPackages.clangStdenv.cc;
5 in
7 buildPythonApplication {
8   pname = "minijail-tools";
9   inherit (minijail) version src;
11   postPatch = ''
12     substituteInPlace Makefile --replace /bin/echo echo
13   '';
15   postConfigure = ''
16     substituteInPlace tools/compile_seccomp_policy.py \
17         --replace "'constants.json'" "'$out/share/constants.json'"
18   '';
20   preBuild = ''
21     make libconstants.gen.c libsyscalls.gen.c
22     ${targetClang}/bin/${targetClang.targetPrefix}cc -S -emit-llvm \
23         libconstants.gen.c libsyscalls.gen.c
24     ${python.pythonOnBuildForHost.interpreter} tools/generate_constants_json.py \
25         --output constants.json \
26         libconstants.gen.ll libsyscalls.gen.ll
27   '';
29   postInstall = ''
30     mkdir -p $out/share
31     cp -v constants.json $out/share/constants.json
32   '';
34   meta = with lib; {
35     homepage = "https://android.googlesource.com/platform/external/minijail/+/refs/heads/master/tools/";
36     description = "Set of tools for minijail";
37     license = licenses.asl20;
38     inherit (minijail.meta) maintainers platforms;
39   };