Use readDirectory
to simplify bumping dependencies (#501)
This comes in handy when testing Stackage-related bumps to upper bounds
This commit is contained in:
parent
ee308a6a3a
commit
f17697b242
25
default.nix
25
default.nix
|
@ -9,20 +9,27 @@ let
|
||||||
outputSha256 = "0ga345hgw6v2kzyhvf5kw96hf60mx5pbd9c4qj5q4nan4lr7nkxn";
|
outputSha256 = "0ga345hgw6v2kzyhvf5kw96hf60mx5pbd9c4qj5q4nan4lr7nkxn";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
readDirectory = import ./nix/readDirectory.nix;
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
packageOverrides = pkgs: {
|
packageOverrides = pkgs: {
|
||||||
haskellPackages = pkgs.haskellPackages.override {
|
haskellPackages = pkgs.haskellPackages.override {
|
||||||
overrides = haskellPackagesNew: haskellPackagesOld: {
|
overrides =
|
||||||
dhall =
|
let
|
||||||
pkgs.haskell.lib.failOnAllWarnings
|
manualOverrides =
|
||||||
(pkgs.haskell.lib.justStaticExecutables
|
haskellPackagesNew: haskellPackagesOld: {
|
||||||
(haskellPackagesNew.callPackage ./nix/dhall.nix { })
|
dhall =
|
||||||
);
|
pkgs.haskell.lib.failOnAllWarnings
|
||||||
|
(pkgs.haskell.lib.justStaticExecutables
|
||||||
|
haskellPackagesOld.dhall
|
||||||
|
);
|
||||||
|
|
||||||
formatting = haskellPackagesOld.formatting_6_3_0;
|
prettyprinter =
|
||||||
|
pkgs.haskell.lib.dontCheck haskellPackagesOld.prettyprinter;
|
||||||
|
};
|
||||||
|
|
||||||
prettyprinter = haskellPackagesOld.prettyprinter_1_2_0_1;
|
in
|
||||||
};
|
pkgs.lib.composeExtensions (readDirectory ./nix) manualOverrides;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
24
nix/prettyprinter.nix
Normal file
24
nix/prettyprinter.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{ mkDerivation, ansi-wl-pprint, base, bytestring, containers
|
||||||
|
, criterion, deepseq, doctest, mtl, pgp-wordlist, QuickCheck
|
||||||
|
, random, stdenv, tasty, tasty-hunit, tasty-quickcheck, text
|
||||||
|
, transformers
|
||||||
|
}:
|
||||||
|
mkDerivation {
|
||||||
|
pname = "prettyprinter";
|
||||||
|
version = "1.2.1";
|
||||||
|
sha256 = "e7653e0ba87cc06553a50e4780dde81c5dd156196c0199511d03d972e5517fcf";
|
||||||
|
isLibrary = true;
|
||||||
|
isExecutable = true;
|
||||||
|
libraryHaskellDepends = [ base text ];
|
||||||
|
testHaskellDepends = [
|
||||||
|
base bytestring doctest pgp-wordlist tasty tasty-hunit
|
||||||
|
tasty-quickcheck text
|
||||||
|
];
|
||||||
|
benchmarkHaskellDepends = [
|
||||||
|
ansi-wl-pprint base containers criterion deepseq mtl QuickCheck
|
||||||
|
random text transformers
|
||||||
|
];
|
||||||
|
homepage = "http://github.com/quchen/prettyprinter";
|
||||||
|
description = "A modern, easy to use, well-documented, extensible pretty-printer";
|
||||||
|
license = stdenv.lib.licenses.bsd2;
|
||||||
|
}
|
14
nix/readDirectory.nix
Normal file
14
nix/readDirectory.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
directory:
|
||||||
|
|
||||||
|
haskellPackagesNew: haskellPackagesOld:
|
||||||
|
let
|
||||||
|
haskellPaths = builtins.attrNames (builtins.readDir directory);
|
||||||
|
|
||||||
|
toKeyVal = file: {
|
||||||
|
name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
|
||||||
|
|
||||||
|
value = haskellPackagesNew.callPackage (directory + "/${file}") { };
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
builtins.listToAttrs (map toKeyVal haskellPaths)
|
Loading…
Reference in New Issue
Block a user