Skip to content
This repository has been archived by the owner on Aug 2, 2020. It is now read-only.

Commit

Permalink
Pin nixpkgs and all-cabal-hashes in shell.nix (#511)
Browse files Browse the repository at this point in the history
* Pin shell.nix

Also adds a new option to build `cabal-install` HEAD which is
sometimes useful.

* Bump QuickCheck bound

* Remove cabal-install which snuck in
  • Loading branch information
mpickering authored and snowleopard committed Feb 28, 2018
1 parent c1706f6 commit 37bd95f
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 4 deletions.
2 changes: 1 addition & 1 deletion hadrian.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ executable hadrian
, directory >= 1.2 && < 1.4
, extra >= 1.4.7
, mtl == 2.2.*
, QuickCheck >= 2.6 && < 2.10
, QuickCheck >= 2.6 && < 2.11
, shake == 0.16.*
, transformers >= 0.4 && < 0.6
, unordered-containers >= 0.2.1 && < 0.3
Expand Down
40 changes: 37 additions & 3 deletions shell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,26 @@
# by only invoking hadrian.


{ nixpkgs ? import <nixpkgs> {} }:
{ _nixpkgs ? import <nixpkgs> {} }:

let

nixpkgs = import (_nixpkgs.fetchFromGitHub {
owner = "NixOS";
repo = "nixpkgs";
rev = "e7a327da5cffdf5e77e1924906a4f0983591bd3e";
sha256 = "1xzil4mayhggg2miwspbk12nihlszg0y4n6i4qacrxql5n75f0hr";
}){ overlays = [cabalHashes]; };



cabalHashes = sel: super: {
all-cabal-hashes = super.fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/b2b93ae610f5f1b51d22b191f972dc3dec8f94c6.tar.gz";
sha256 = "0bffclpqbw62xff36qlzxghr042mhv0m06k5ml4298w6fv7ly1xw";
};
};

haskellPackages = nixpkgs.haskell.packages.ghc822;

removeBuild = path: type:
Expand All @@ -28,7 +45,10 @@ let
localPackage = name: path: self.callCabal2nix name (filterSrc path) {};
in {
hadrian = localPackage "hadrian" ./. ;
shake = self.callHackage "shake" "0.16" {};
happy = nixpkgs.haskell.lib.dontCheck (super.happy);
shake = self.callHackage "shake" "0.16.2" {};
extra = self.callHackage "extra" "1.6.4" {};
QuickCheck = self.callHackage "QuickCheck" "2.10" {};
Cabal = localPackage "Cabal" ./../libraries/Cabal/Cabal ;
filepath = localPackage "filepath" ./../libraries/filepath ;
text = localPackage "text" ./../libraries/text ;
Expand All @@ -39,14 +59,28 @@ let
directory = localPackage "directory" ./../libraries/directory ;
}; };

cabalPackages = nixpkgs.haskell.packages.ghc822.override {
overrides = self: super: let
localPackage = name: path: self.callCabal2nix name (filterSrc path) {};
in {
Cabal = localPackage "Cabal" ./../../cabal/Cabal ;
cabal-install = self.callPackage ./../../cabal/cabal-install.nix {};
}; };


in
nixpkgs.lib.overrideDerivation nixpkgs.haskell.packages.ghcHEAD.ghc
(drv: {
name = "ghc-dev";
nativeBuildInputs = drv.nativeBuildInputs ++
nativeBuildInputs = drv.nativeBuildInputs ++
[ hadrianPackages.hadrian
nixpkgs.arcanist
nixpkgs.python3Packages.sphinx
nixpkgs.texlive.combined.scheme-basic
(nixpkgs.haskell.packages.ghc822.ghcWithPackages
(ps: [ps.html ps.regex-compat ps.dump-core]))

#cabalPackages.cabal-install
];
})

0 comments on commit 37bd95f

Please sign in to comment.