From 7492ee15732c07e8257815026d6f6eacbc62e6f1 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Sun, 23 Nov 2025 14:50:27 +0000 Subject: [PATCH] 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') --- pkgs/by-name/mi/minijail-tools/package.nix | 14 +++++++++----- .../mi/minijail/package.nix} | 12 ++++++------ pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 15 insertions(+), 13 deletions(-) rename pkgs/{tools/system/minijail/default.nix => by-name/mi/minijail/package.nix} (83%) diff --git a/pkgs/by-name/mi/minijail-tools/package.nix b/pkgs/by-name/mi/minijail-tools/package.nix index c050c48c7048..fd85d8900e2e 100644 --- a/pkgs/by-name/mi/minijail-tools/package.nix +++ b/pkgs/by-name/mi/minijail-tools/package.nix @@ -1,8 +1,8 @@ { 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 ''; diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/by-name/mi/minijail/package.nix similarity index 83% rename from pkgs/tools/system/minijail/default.nix rename to pkgs/by-name/mi/minijail/package.nix index 4e687011ba33..c2a72c604cd7 100644 --- a/pkgs/tools/system/minijail/default.nix +++ b/pkgs/by-name/mi/minijail/package.nix @@ -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"; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c027bf9930b6..c710b9473bd4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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; };