diff options
author | Jan Malakhovski <oxij@oxij.org> | 2015-08-17 19:45:13 +0000 |
---|---|---|
committer | Jan Malakhovski <oxij@oxij.org> | 2015-08-18 19:56:16 +0000 |
commit | d8487667cfe3f83f857b45d4927a19d9181b7f4c (patch) | |
tree | c6e652a76e477b4a208c45dc3ce03481684cdb1e /pkgs/development/haskell-modules/default.nix | |
parent | 0ccf8eae2fde05fe196c39f0c7b7b70af8752a28 (diff) | |
download | nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar.gz nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar.bz2 nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar.lz nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar.xz nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar.zst nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.zip |
haskell-packages: bring hoogle to the masses by imlementing ghcWithHoogle
Replace `ghcWithPackages` to `ghcWithHoogle` in your config and enjoy.
Diffstat (limited to 'pkgs/development/haskell-modules/default.nix')
-rw-r--r-- | pkgs/development/haskell-modules/default.nix | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix index ab3ac6930b9..7e6f1c0552d 100644 --- a/pkgs/development/haskell-modules/default.nix +++ b/pkgs/development/haskell-modules/default.nix @@ -47,18 +47,29 @@ let defaultScope = mkScope self; callPackage = drv: args: callPackageWithScope defaultScope drv args; + withPackages = packages: callPackage ./with-packages-wrapper.nix { + inherit (self) llvmPackages; + haskellPackages = self; + inherit packages; + }; + in import ./hackage-packages.nix { inherit pkgs stdenv callPackage; } self // { inherit mkDerivation callPackage; - ghcWithPackages = pkgs: callPackage ./with-packages-wrapper.nix { - inherit (self) llvmPackages; - haskellPackages = self; - packages = pkgs self; - }; + ghcWithPackages = selectFrom: withPackages (selectFrom self); - ghc = ghc // { withPackages = self.ghcWithPackages; }; + ghcWithHoogle = selectFrom: + let + packages = selectFrom self; + hoogle = callPackage ./hoogle.nix { inherit packages; }; + in withPackages (packages ++ [ hoogle ]); + + ghc = ghc // { + withPackages = self.ghcWithPackages; + withHoogle = self.ghcWithHoogle; + }; }; |