]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
nix: fix allowUnfreePredicate for packages with multiple licenses (#19237)
authorAlexis Williams <redacted>
Sun, 1 Feb 2026 20:10:48 +0000 (12:10 -0800)
committerGitHub <redacted>
Sun, 1 Feb 2026 20:10:48 +0000 (22:10 +0200)
The allowUnfreePredicate in pkgsCuda was wrapping p.meta.license in a
list unconditionally. This fails when meta.license is already a list
of licenses, as it creates a nested list and then tries to access
.free and .shortName on the inner list.

Use lib.toList instead, which correctly handles both cases:
- Single license attrset -> wraps in list
- List of licenses -> returns unchanged

.devops/nix/nixpkgs-instances.nix

index 90d683a713aa1f6f7b7e263549afe5edef0a4033..40cf58f196ce08802e576dcb3597e1a03e6004ae 100644 (file)
@@ -4,7 +4,7 @@
   # the module `{ pkgs ... }: { /* config */ }` implicitly uses
   # `_module.args.pkgs` (defined in this case by flake-parts).
   perSystem =
-    { system, ... }:
+    { lib, system, ... }:
     {
       _module.args = {
         # Note: bringing up https://zimbatm.com/notes/1000-instances-of-nixpkgs
@@ -33,7 +33,7 @@
                 "CUDA EULA"
                 "cuDNN EULA"
               ]
-            ) (p.meta.licenses or [ p.meta.license ]);
+            ) (p.meta.licenses or (lib.toList p.meta.license));
         };
         # Ensure dependencies use ROCm consistently
         pkgsRocm = import inputs.nixpkgs {