nixpkgs/pkgs/top-level/agda-packages.nix
2021-10-19 09:56:50 +02:00

40 lines
1.4 KiB
Nix

{ pkgs, lib, callPackage, newScope, Agda }:
let
mkAgdaPackages = Agda: lib.makeScope newScope (mkAgdaPackages' Agda);
mkAgdaPackages' = Agda: self: let
callPackage = self.callPackage;
inherit (callPackage ../build-support/agda {
inherit Agda self;
inherit (pkgs.haskellPackages) ghcWithPackages;
}) withPackages mkDerivation;
in {
inherit mkDerivation;
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));
};
standard-library = callPackage ../development/libraries/agda/standard-library {
inherit (pkgs.haskellPackages) ghcWithPackages;
};
iowa-stdlib = callPackage ../development/libraries/agda/iowa-stdlib { };
agda-prelude = callPackage ../development/libraries/agda/agda-prelude { };
agda-categories = callPackage ../development/libraries/agda/agda-categories { };
cubical = callPackage ../development/libraries/agda/cubical { };
functional-linear-algebra = callPackage
../development/libraries/agda/functional-linear-algebra { };
generic = callPackage ../development/libraries/agda/generic { };
agdarsec = callPackage ../development/libraries/agda/agdarsec { };
};
in mkAgdaPackages Agda