Fix Nix build

In the process of fixing the build I cleaned up `nix/nixpkgs.nix`
to use `pkgs.haskell.lib.packageSourceOverrides` to make it easier for
people less familiar with Nix to contribute.

This also required bumping `nix/nixpkgs.json` since `cabal2nix` failed
to build for the revision we were previously using.  Fortunately, this
did not entail any changes to the Kubernetes OpenAPI spec since it
didn't change since the last Nixpkgs revision.
This commit is contained in:
Gabriel Gonzalez 2019-12-20 10:49:59 -08:00
parent 7670b516c8
commit b8917ac262
16 changed files with 30 additions and 317 deletions

View File

@ -1,22 +0,0 @@
{ mkDerivation, aeson, base, bytestring, stdenv, string-qq, tasty
, tasty-discover, tasty-hunit, text, unordered-containers, vector
, yaml
}:
mkDerivation {
pname = "aeson-yaml";
version = "1.0.4.0";
sha256 = "7a6ddaad23f50dc7b419707e49904ad3b5ea9fcd29d2cae0e4adaf300fbb8264";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson base bytestring text unordered-containers vector
];
executableHaskellDepends = [ aeson base bytestring ];
testHaskellDepends = [
aeson base bytestring string-qq tasty tasty-discover tasty-hunit
unordered-containers yaml
];
homepage = "https://github.com/clovyr/aeson-yaml";
description = "Output any Aeson value as YAML (pure Haskell library)";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -1,46 +0,0 @@
{ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
, bytestring, case-insensitive, cborg, cborg-json, containers
, contravariant, cryptonite, data-fix, deepseq, Diff, directory
, doctest, dotgen, either, exceptions, filepath, foldl, gauge
, generic-random, hashable, haskeline, http-client, http-client-tls
, http-types, lens-family-core, megaparsec, memory, mockery, mtl
, network-uri, optparse-applicative, parsers, prettyprinter
, prettyprinter-ansi-terminal, profunctors, QuickCheck
, quickcheck-instances, repline, scientific, semigroups, serialise
, special-values, spoon, stdenv, tasty, tasty-expected-failure
, tasty-hunit, tasty-quickcheck, template-haskell, text
, th-lift-instances, transformers, transformers-compat, turtle
, unordered-containers, uri-encode, vector
}:
mkDerivation {
pname = "dhall";
version = "1.27.0";
sha256 = "e189fecd9ea22153252609a4d7c5cc4d61f2c36326b53758b61e5a851e701712";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson aeson-pretty ansi-terminal base bytestring case-insensitive
cborg cborg-json containers contravariant cryptonite data-fix
deepseq Diff directory dotgen either exceptions filepath hashable
haskeline http-client http-client-tls http-types lens-family-core
megaparsec memory mtl network-uri optparse-applicative parsers
prettyprinter prettyprinter-ansi-terminal profunctors repline
scientific serialise template-haskell text th-lift-instances
transformers transformers-compat unordered-containers uri-encode
vector
];
executableHaskellDepends = [ base ];
testHaskellDepends = [
base bytestring cborg containers data-fix deepseq directory doctest
either filepath foldl generic-random lens-family-core megaparsec
mockery prettyprinter QuickCheck quickcheck-instances scientific
semigroups serialise special-values spoon tasty
tasty-expected-failure tasty-hunit tasty-quickcheck text
transformers turtle unordered-containers vector
];
benchmarkHaskellDepends = [
base bytestring containers directory gauge serialise text
];
description = "A configuration language guaranteed to terminate";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -1,27 +0,0 @@
{ mkDerivation, aeson, aeson-pretty, aeson-yaml, ansi-terminal
, base, bytestring, containers, dhall, exceptions, filepath
, optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
, scientific, stdenv, tasty, tasty-hunit, text
, unordered-containers, vector
}:
mkDerivation {
pname = "dhall-json";
version = "1.5.0";
sha256 = "4dbbf809376f8097d6f87abd0e96dbe770b0f7396da15ff092cdf44566b822f7";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson aeson-pretty aeson-yaml base bytestring containers dhall
exceptions filepath optparse-applicative prettyprinter scientific
text unordered-containers vector
];
executableHaskellDepends = [
aeson aeson-pretty ansi-terminal base bytestring dhall exceptions
optparse-applicative prettyprinter prettyprinter-ansi-terminal text
];
testHaskellDepends = [
aeson base bytestring dhall tasty tasty-hunit text
];
description = "Convert between Dhall and JSON or YAML";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -1,17 +0,0 @@
{ mkDerivation, aeson, base, containers, dhall, megaparsec
, optparse-applicative, parser-combinators, prettyprinter, sort
, stdenv, text, turtle, vector
}:
mkDerivation {
pname = "dhall-kubernetes-generator";
version = "0.1.0.0";
src = ../dhall-kubernetes-generator;
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
aeson base containers dhall megaparsec optparse-applicative
parser-combinators prettyprinter sort text turtle vector
];
homepage = "https://github.com/dhall-lang/dhall-kubernetes#readme";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -1,15 +0,0 @@
{ mkDerivation, base, dhall, optparse-applicative, stdenv, text }:
mkDerivation {
pname = "dhall-text";
version = "1.0.18";
sha256 = "4d6f9477806cfe32ee415ca5763c1c0ded7b3137215a619a2fd663fa8e919bdb";
revision = "1";
editedCabalFile = "1dynw76kmca5l43jqrmgmzbdd7hqixiyfpb4pcx4dzr6ghar49s7";
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
base dhall optparse-applicative text
];
description = "Template text using Dhall";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -1,11 +0,0 @@
{ mkDerivation, base, deepseq, QuickCheck, stdenv }:
mkDerivation {
pname = "generic-random";
version = "1.3.0.0";
sha256 = "f3c3025f5d9a44252a26d67446e2077331c005217233a1b52abec90fd6a6c2fc";
libraryHaskellDepends = [ base QuickCheck ];
testHaskellDepends = [ base deepseq QuickCheck ];
homepage = "http://github.com/lysxia/generic-random";
description = "Generic random generators";
license = stdenv.lib.licenses.mit;
}

View File

@ -1,28 +0,0 @@
{ mkDerivation, aeson, base, base64-bytestring, bytestring
, case-insensitive, containers, deepseq, exceptions, hspec
, http-api-data, http-client, http-client-tls, http-media
, http-types, iso8601-time, katip, microlens, mtl, network
, QuickCheck, random, safe-exceptions, semigroups, stdenv, text
, time, transformers, unordered-containers, vector
}:
mkDerivation {
pname = "kubernetes-client-core";
version = "0.1.0.1";
sha256 = "535bf736d39ef30b7dae95d553d898e53ccb1218ccf61fcec5baeda412d35d23";
revision = "1";
editedCabalFile = "0qzh7zq36q57yfccna1izi1gz9fpki9ngnl8dgf3m6halrxwqlc7";
libraryHaskellDepends = [
aeson base base64-bytestring bytestring case-insensitive containers
deepseq exceptions http-api-data http-client http-client-tls
http-media http-types iso8601-time katip microlens mtl network
random safe-exceptions text time transformers unordered-containers
vector
];
testHaskellDepends = [
aeson base bytestring containers hspec iso8601-time mtl QuickCheck
semigroups text time transformers unordered-containers vector
];
homepage = "https://github.com/kubernetes-client/haskell";
description = "Auto-generated kubernetes-client-core API Client";
license = stdenv.lib.licenses.asl20;
}

View File

@ -1,25 +0,0 @@
{ mkDerivation, base, bytestring, case-insensitive, containers
, criterion, deepseq, hspec, hspec-expectations, mtl
, parser-combinators, QuickCheck, scientific, stdenv, text
, transformers, weigh
}:
mkDerivation {
pname = "megaparsec";
version = "7.0.2";
sha256 = "e888f6a1ef6c9908c9893f2cd4105d12d7778cf88f885b416915fcd89526c5db";
libraryHaskellDepends = [
base bytestring case-insensitive containers deepseq mtl
parser-combinators scientific text transformers
];
testHaskellDepends = [
base bytestring case-insensitive containers hspec
hspec-expectations mtl parser-combinators QuickCheck scientific
text transformers
];
benchmarkHaskellDepends = [
base containers criterion deepseq text weigh
];
homepage = "https://github.com/mrkkrp/megaparsec";
description = "Monadic parser combinators";
license = stdenv.lib.licenses.bsd2;
}

View File

@ -1,7 +1,7 @@
{
"url": "https://github.com/nixos/nixpkgs-channels.git",
"rev": "3140fa89c51233397f496f49014f6b23216667c2",
"date": "2019-12-05T01:28:43+01:00",
"sha256": "18p0d5lnfvzsyfah02mf6bi249990pfwnylwhqdh8qi70ncrk3f8",
"url": "https://github.com/NixOS/nixpkgs.git",
"rev": "8f3ca4ec1686251bab083c37d0a4e96f45bc495f",
"date": "2019-12-10T15:32:27-05:00",
"sha256": "0f09m8kp6akxx8m6z9iw95njsja37ihhkwpldmh24zvgaclgv5qj",
"fetchSubmodules": false
}

View File

@ -13,40 +13,40 @@ let
kubernetes-openapi-spec =
pkgs.callPackage ./kubernetes-openapi-spec.nix {};
haskellPackages = pkgs.haskellPackages.override {
overrides = haskellPackagesNew: haskellPackagesOld: {
aeson-yaml =
haskellPackagesNew.callPackage ./aeson-yaml-1.0.4.0.nix {};
haskellPackages = pkgs.haskellPackages.override (old: {
overrides =
let
previous = old.overrides or (_: _: {});
dhall = haskellPackagesNew.callPackage ./dhall-1.27.0.nix {};
packages = pkgs.haskell.lib.packageSourceOverrides {
dhall = "1.27.0";
dhall-json =
pkgs.haskell.lib.dontCheck
(haskellPackagesNew.callPackage ./dhall-json-1.5.0.nix {});
dhall-json = "1.5.0";
dhall-kubernetes-generator =
haskellPackagesNew.callPackage ./dhall-kubernetes-generator.nix {};
dhall-kubernetes-generator = ../dhall-kubernetes-generator;
generic-random =
haskellPackagesNew.callPackage ./generic-random-1.3.0.0.nix {};
kubernetes-client-core = "0.1.0.1";
};
kubernetes-client-core =
haskellPackagesNew.callPackage ./kubernetes-client-core-0.1.0.1.nix {};
manual = haskellPackagesNew: haskellPackagesOld: {
dhall = pkgs.haskell.lib.dontCheck haskellPackagesOld.dhall;
megaparsec =
pkgs.haskell.lib.dontCheck (haskellPackagesNew.callPackage ./megaparsec-7.0.2.nix {});
dhall-json =
pkgs.haskell.lib.dontCheck haskellPackagesOld.dhall-json;
repline = haskellPackagesNew.callPackage ./repline-0.2.1.0.nix {};
sort = haskellPackagesNew.callPackage ./sort-1.0.0.0.nix {};
th-lift = haskellPackagesNew.callPackage ./th-lift-0.8.0.1.nix {};
kubernetes-client-core =
pkgs.haskell.lib.doJailbreak
haskellPackagesOld.kubernetes-client-core;
};
th-lift-instances =
haskellPackagesNew.callPackage ./th-lift-instances-0.1.14.nix {};
yaml =
haskellPackagesNew.callPackage ./yaml-0.11.2.0.nix {};
};
};
in
pkgs.lib.fold pkgs.lib.composeExtensions (_: _: {})
[ previous
packages
manual
];
}
);
};
};
in

View File

@ -1,11 +0,0 @@
{ mkDerivation, base, containers, haskeline, mtl, process, stdenv
}:
mkDerivation {
pname = "repline";
version = "0.2.0.0";
sha256 = "ecc72092d0340b896ee6bf96bf6645694dbcd33361725a2cd28c5ab5d60c02de";
libraryHaskellDepends = [ base containers haskeline mtl process ];
homepage = "https://github.com/sdiehl/repline";
description = "Haskeline wrapper for GHCi-like REPL interfaces";
license = stdenv.lib.licenses.mit;
}

View File

@ -1,14 +0,0 @@
{ mkDerivation, base, containers, fail, haskeline, mtl, process
, stdenv
}:
mkDerivation {
pname = "repline";
version = "0.2.1.0";
sha256 = "45c3186ff35ed650ee9c641f545a30860eedc44107fefb21da36df47aeb1ae7b";
libraryHaskellDepends = [
base containers fail haskeline mtl process
];
homepage = "https://github.com/sdiehl/repline";
description = "Haskeline wrapper for GHCi-like REPL interfaces";
license = stdenv.lib.licenses.mit;
}

View File

@ -1,10 +0,0 @@
{ mkDerivation, base, stdenv }:
mkDerivation {
pname = "sort";
version = "1.0.0.0";
sha256 = "cee3894879cb4b2150331eca96d5d27f51a6114bcb082d1d8dded55881f5770d";
libraryHaskellDepends = [ base ];
homepage = "https://github.com/cdornan/sort";
description = "A Haskell sorting toolkit";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -1,15 +0,0 @@
{ mkDerivation, base, ghc-prim, stdenv, template-haskell
, th-abstraction
}:
mkDerivation {
pname = "th-lift";
version = "0.8.0.1";
sha256 = "a05133d8eac584fe47d8ff02163bb86193ce1f5de325ba73c98e95f0daa2d8a8";
libraryHaskellDepends = [
base ghc-prim template-haskell th-abstraction
];
testHaskellDepends = [ base ghc-prim template-haskell ];
homepage = "http://github.com/mboes/th-lift";
description = "Derive Template Haskell's Lift class for datatypes";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -1,18 +0,0 @@
{ mkDerivation, base, bytestring, containers, QuickCheck, stdenv
, template-haskell, text, th-lift, transformers, vector
}:
mkDerivation {
pname = "th-lift-instances";
version = "0.1.14";
sha256 = "e87c194c9aa85576ba32dd7f7c70b8c182a3089d9c3107c9e5c448b6ad242b64";
libraryHaskellDepends = [
base bytestring containers template-haskell text th-lift
transformers vector
];
testHaskellDepends = [
base bytestring containers QuickCheck template-haskell text vector
];
homepage = "http://github.com/bennofs/th-lift-instances/";
description = "Lift instances for template-haskell for common data types";
license = stdenv.lib.licenses.bsd3;
}

View File

@ -1,28 +0,0 @@
{ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
, conduit, containers, directory, filepath, hspec, HUnit, libyaml
, mockery, mtl, raw-strings-qq, resourcet, scientific, stdenv
, template-haskell, temporary, text, transformers
, unordered-containers, vector
}:
mkDerivation {
pname = "yaml";
version = "0.11.2.0";
sha256 = "d1f2d2b2cc8db857d39baf30fb3eded2e0f49a4c138358367c4379bb04c3ba0c";
configureFlags = [ "-fsystem-libyaml" ];
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson attoparsec base bytestring conduit containers directory
filepath libyaml mtl resourcet scientific template-haskell text
transformers unordered-containers vector
];
testHaskellDepends = [
aeson attoparsec base base-compat bytestring conduit containers
directory filepath hspec HUnit libyaml mockery mtl raw-strings-qq
resourcet scientific template-haskell temporary text transformers
unordered-containers vector
];
homepage = "https://github.com/snoyberg/yaml#readme";
description = "Support for parsing and rendering YAML documents";
license = stdenv.lib.licenses.bsd3;
}