summary refs log tree commit diff
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2023-02-12 14:44:16 +0100
committerNaïm Favier <n@monade.li>2023-02-12 14:44:16 +0100
commit65e774e2a4002b762aa576ba1d0f0ed71298c86d (patch)
tree05e49408b3184df85901353d50e2f58c3faeced9
parentc2166eea486b228862f627b5dc83b2c0d92b7910 (diff)
downloadnixpkgs-65e774e2a4002b762aa576ba1d0f0ed71298c86d.tar
nixpkgs-65e774e2a4002b762aa576ba1d0f0ed71298c86d.tar.gz
nixpkgs-65e774e2a4002b762aa576ba1d0f0ed71298c86d.tar.bz2
nixpkgs-65e774e2a4002b762aa576ba1d0f0ed71298c86d.tar.lz
nixpkgs-65e774e2a4002b762aa576ba1d0f0ed71298c86d.tar.xz
nixpkgs-65e774e2a4002b762aa576ba1d0f0ed71298c86d.tar.zst
nixpkgs-65e774e2a4002b762aa576ba1d0f0ed71298c86d.zip
agda: fix passthru
The current `//` override to `agda.passthru.tests` is non-recursive so
it destroys everything else under `passthru`, and furthermore does not
go through `mkDerivation` so that we end up with different values for
`agda.tests` and `agda.passthru.tests`.

Fix it by moving the `allPackages` test to the definition of
`withPackages`.
-rw-r--r--pkgs/build-support/agda/default.nix6
-rw-r--r--pkgs/top-level/agda-packages.nix9
2 files changed, 8 insertions, 7 deletions
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
index fed0f6cb344..c785e6196db 100644
--- a/pkgs/build-support/agda/default.nix
+++ b/pkgs/build-support/agda/default.nix
@@ -20,7 +20,11 @@ let
     nativeBuildInputs = [ makeWrapper ];
     passthru = {
       unwrapped = Agda;
-      tests = { inherit (nixosTests) agda; };
+      inherit withPackages;
+      tests = {
+        inherit (nixosTests) agda;
+        allPackages = withPackages (lib.filter self.lib.isUnbrokenAgdaPackage (lib.attrValues self));
+      };
     };
     inherit (Agda) meta;
   } ''
diff --git a/pkgs/top-level/agda-packages.nix b/pkgs/top-level/agda-packages.nix
index 18c32b9a9d9..948040deecb 100644
--- a/pkgs/top-level/agda-packages.nix
+++ b/pkgs/top-level/agda-packages.nix
@@ -1,9 +1,9 @@
-{ pkgs, lib, callPackage, newScope, Agda }:
+{ pkgs, lib, newScope, Agda }:
 
 let
   mkAgdaPackages = Agda: lib.makeScope newScope (mkAgdaPackages' Agda);
   mkAgdaPackages' = Agda: self: let
-    callPackage = self.callPackage;
+    inherit (self) callPackage;
     inherit (callPackage ../build-support/agda {
       inherit Agda self;
       inherit (pkgs.haskellPackages) ghcWithPackages;
@@ -13,10 +13,7 @@ let
 
     lib = lib.extend (final: prev: import ../build-support/agda/lib.nix { lib = prev; });
 
-    agda = withPackages [] // {
-      inherit withPackages;
-      passthru.tests.allPackages = withPackages (lib.filter (pkg: self.lib.isUnbrokenAgdaPackage pkg) (lib.attrValues self));
-    };
+    agda = withPackages [];
 
     standard-library = callPackage ../development/libraries/agda/standard-library {
       inherit (pkgs.haskellPackages) ghcWithPackages;