trivionomicon: athena-bccr: separate releases by vendor, add 'vendor' option

This commit is contained in:
Alejandro Soto 2026-03-10 20:03:02 -06:00
parent a74fc0c70e
commit aac5bbeb91
7 changed files with 70 additions and 63 deletions

View file

@ -2,10 +2,14 @@
callPackage,
lib,
mirror ? null,
vendor ? "idopte",
}: let
latest = "deb64-rev26.2";
releases = lib.mapAttrs resolveRelease (import ./releases.nix).${vendor};
releases = lib.mapAttrs (name: release: release // {name = name;}) (import ./releases.nix);
resolveRelease = name: release:
if builtins.isString release
then releases.${release}
else release // {name = name;};
overrideUnwrapped = default: new: let
args = default // new;
@ -19,7 +23,7 @@
pkgsForRelease = release: let
inherit (unwrapped) card-driver bccr-cacerts;
unwrapped = overrideUnwrapped {inherit mirror release;} {};
unwrapped = overrideUnwrapped {inherit mirror release vendor;} {};
pkcs11-module = "${card-driver.lib}/${card-driver.pkcs11-path}";
in {
inherit card-driver bccr-cacerts pkcs11-module;
@ -29,4 +33,4 @@
firmador = callPackage ./firmador.nix {inherit pkcs11-module;};
};
in
lib.mapAttrs (_: pkgsForRelease) (releases // {latest = releases.${latest};})
lib.mapAttrs (_: pkgsForRelease) releases