From 2f2d6cbea8b2574c956e91bb76aaf4b4702923fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Bon=C3=A9?= Date: Wed, 1 Oct 2025 10:59:14 +0200 Subject: [PATCH] Rework bsc-ci Reviewed-by: Rodrigo Arias Mallo --- overlay.nix | 51 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/overlay.nix b/overlay.nix index 817fd51..3d1634d 100644 --- a/overlay.nix +++ b/overlay.nix @@ -6,9 +6,6 @@ with final.lib; let callPackage = final.callPackage; - mkDeps = name: pkgs: final.runCommand name { } - "printf '%s\n' ${toString (collect (x: x ? outPath) pkgs)} > $out"; - bscPkgs = { bench6 = callPackage ./pkgs/bench6/default.nix { }; bigotes = callPackage ./pkgs/bigotes/default.nix { }; @@ -49,6 +46,32 @@ let wxparaver = callPackage ./pkgs/paraver/default.nix { }; }; + pkgs = filterAttrs (_: isDerivation) bscPkgs; + + crossTargets = [ "riscv64" ]; + cross = prev.lib.genAttrs crossTargets (target: + final.pkgsCross.${target}.bsc-ci.pkgs + ); + + buildList = name: paths: + final.runCommandLocal name { } '' + printf '%s\n' ${toString paths} | tee $out + ''; + + buildList' = name: paths: + final.runCommandLocal name { } '' + deps="${toString paths}" + cat $deps + printf '%s\n' $deps >$out + ''; + + crossList = builtins.mapAttrs (t: v: buildList t (builtins.attrValues v)) cross; + + pkgsList = buildList "ci-pkgs" (builtins.attrValues pkgs); + tests = buildList "ci-tests" (collect isDerivation final.bsc-ci.test); + + all = buildList' "ci-all" [ pkgsList tests ]; + in bscPkgs // { # Prevent accidental usage of bsc attribute bsc = throw "the bsc attribute is deprecated, packages are now in the root"; @@ -88,23 +111,9 @@ in bscPkgs // { }; }; - pkgs = filterAttrs (_: isDerivation) bscPkgs; - - pkgsList = final.runCommand "ci-pkgs" { } - "printf '%s\n' ${toString (collect isDerivation bscPkgs)} > $out"; - - tests = final.runCommand "ci-tests" { } - "printf '%s\n' ${toString (collect isDerivation final.bsc-ci.test)} > $out"; - - cross = prev.lib.genAttrs [ "riscv64" ] (target: - final.pkgsCross.${target}.bsc-ci.pkgs - ); - - all = final.runCommand "ci-all" { } - '' - deps="${toString [ final.bsc-ci.pkgsList final.bsc-ci.tests ]}" - cat $deps - printf '%s\n' $deps > $out - ''; + inherit tests; + inherit pkgs pkgsList; + inherit cross crossList; + inherit all; }; }