Unverified Commit 7492ee15 authored by Guy Chronister's avatar Guy Chronister
Browse files

minijail,minijail-tools: refactor

- Move packages from category hierarchy to pkgs/by-name
- Update minijail to use finalAttrs pattern
- Update minijail to use fetchFromGitiles tag attribute
- Update minijail-tools to use pyproject = true
- Update minijail-tools to use explicit build-system
- Improve string substitutions with --replace-fail
- Clean up meta attributes (remove 'with lib')
parent 791c8f50
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
{
  lib,
  python3,
  python3Packages,
  pkgsBuildTarget,
  pkgsBuildHost,
  minijail,
}:

@@ -11,24 +11,28 @@ let
in

python3Packages.buildPythonApplication {
  format = "setuptools";
  pyproject = true;
  pname = "minijail-tools";
  inherit (minijail) version src;

  postPatch = ''
    substituteInPlace Makefile --replace /bin/echo echo
    substituteInPlace Makefile --replace-fail /bin/echo echo
  '';

  build-system = [
    python3Packages.setuptools
  ];

  postConfigure = ''
    substituteInPlace tools/compile_seccomp_policy.py \
        --replace "'constants.json'" "'$out/share/constants.json'"
        --replace-fail "'constants.json'" "'$out/share/constants.json'"
  '';

  preBuild = ''
    make libconstants.gen.c libsyscalls.gen.c
    ${targetClang}/bin/${targetClang.targetPrefix}cc -S -emit-llvm \
        libconstants.gen.c libsyscalls.gen.c
    ${pkgsBuildHost.python3.interpreter} tools/generate_constants_json.py \
    ${python3.pythonOnBuildForHost.interpreter} tools/generate_constants_json.py \
        --output constants.json \
        libconstants.gen.ll libsyscalls.gen.ll
  '';
+6 −6
Original line number Diff line number Diff line
@@ -6,14 +6,14 @@
  installShellFiles,
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "minijail";
  version = "2025.07.02";

  src = fetchFromGitiles {
    url = "https://chromium.googlesource.com/chromiumos/platform/minijail";
    rev = "linux-v${version}";
    sha256 = "sha256-GRnr2O6ZpWtRDGJ6Am0XPT426Xh7wxTJsoEqyTUECYY=";
    tag = "linux-v${finalAttrs.version}";
    hash = "sha256-GRnr2O6ZpWtRDGJ6Am0XPT426Xh7wxTJsoEqyTUECYY=";
  };

  buildInputs = [ libcap ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
  hardeningDisable = [ "fortify3" ];

  installPhase = ''
    ./platform2_preinstall.sh ${version} $out/include/chromeos
    ./platform2_preinstall.sh ${finalAttrs.version} $out/include/chromeos

    mkdir -p $out/lib/pkgconfig $out/include/chromeos $out/bin \
        $out/share/minijail
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
  meta = {
    homepage = "https://chromium.googlesource.com/chromiumos/platform/minijail/+/refs/heads/main/README.md";
    description = "Sandboxing library and application using Linux namespaces and capabilities";
    changelog = "https://chromium.googlesource.com/chromiumos/platform/minijail/+/refs/tags/linux-v${version}";
    changelog = "https://chromium.googlesource.com/chromiumos/platform/minijail/+/refs/tags/linux-v${finalAttrs.version}";
    license = lib.licenses.bsd3;
    maintainers = with lib.maintainers; [
      pcarrier
@@ -61,4 +61,4 @@ stdenv.mkDerivation rec {
    platforms = lib.platforms.linux;
    mainProgram = "minijail0";
  };
}
})
+0 −2
Original line number Diff line number Diff line
@@ -2965,8 +2965,6 @@ with pkgs;

  miniupnpd-nftables = callPackage ../tools/networking/miniupnpd { firewall = "nftables"; };

  minijail = callPackage ../tools/system/minijail { };

  mir-qualia = callPackage ../tools/text/mir-qualia {
    pythonPackages = python3Packages;
  };