View on GitHub
File Changes
m
+3/-3
source-repository-package
  type: git
  location: https://github.com/input-output-hk/cardano-base
-
  tag: c50bfdb129ae1eb319c9af3902674ef75b017fec
+
  tag: 5c575d46afbfe333de0ccba70b084db8302abf42
  subdir: binary

                      
source-repository-package
  type: git
  location: https://github.com/input-output-hk/cardano-base
-
  tag: c50bfdb129ae1eb319c9af3902674ef75b017fec
+
  tag: 5c575d46afbfe333de0ccba70b084db8302abf42
  subdir: cardano-crypto-class

                      
source-repository-package
  type: git
  location: https://github.com/input-output-hk/cardano-prelude
-
  tag: 001ec3576ef3bda04cf5bcccdd9a00991835d1a7
+
  tag: f12a60595dbc2436d99a198b717bf26a683b5eec

                      
source-repository-package
  type: git
-
{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
+
let
+
  buildDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (build dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  sysDepError = pkg:
+
    builtins.throw ''
+
      The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
+
      
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      '';
+
  pkgConfDepError = pkg:
+
    builtins.throw ''
+
      The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
+
      
+
      You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
+
      '';
+
  exeDepError = pkg:
+
    builtins.throw ''
+
      The local executable components do not include the component: ${pkg} (executable dependency).
+
      '';
+
  legacyExeDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (executable dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  buildToolDepError = pkg:
+
    builtins.throw ''
+
      Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
+
      
+
      If this is a system dependency:
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      
+
      If this is a Haskell dependency:
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
  {
    flags = { development = false; };
    package = {
      synopsis = "Binary serialization for Cardano";
      description = "This package includes the binary serialization format for Cardano";
      buildType = "Simple";
+
      isLocal = true;
      };
    components = {
      "library" = {
        depends = [
-
          (hsPkgs.base)
-
          (hsPkgs.aeson)
-
          (hsPkgs.bytestring)
-
          (hsPkgs.cardano-prelude)
-
          (hsPkgs.cborg)
-
          (hsPkgs.containers)
-
          (hsPkgs.digest)
-
          (hsPkgs.formatting)
-
          (hsPkgs.recursion-schemes)
-
          (hsPkgs.safe-exceptions)
-
          (hsPkgs.tagged)
-
          (hsPkgs.text)
-
          (hsPkgs.time)
-
          (hsPkgs.vector)
+
          (hsPkgs."base" or (buildDepError "base"))
+
          (hsPkgs."aeson" or (buildDepError "aeson"))
+
          (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
          (hsPkgs."cardano-prelude" or (buildDepError "cardano-prelude"))
+
          (hsPkgs."cborg" or (buildDepError "cborg"))
+
          (hsPkgs."containers" or (buildDepError "containers"))
+
          (hsPkgs."digest" or (buildDepError "digest"))
+
          (hsPkgs."formatting" or (buildDepError "formatting"))
+
          (hsPkgs."recursion-schemes" or (buildDepError "recursion-schemes"))
+
          (hsPkgs."safe-exceptions" or (buildDepError "safe-exceptions"))
+
          (hsPkgs."tagged" or (buildDepError "tagged"))
+
          (hsPkgs."text" or (buildDepError "text"))
+
          (hsPkgs."time" or (buildDepError "time"))
+
          (hsPkgs."vector" or (buildDepError "vector"))
          ];
+
        buildable = true;
        };
      tests = {
        "test" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.bytestring)
-
            (hsPkgs.cardano-binary)
-
            (hsPkgs.cardano-prelude)
-
            (hsPkgs.cardano-prelude-test)
-
            (hsPkgs.cborg)
-
            (hsPkgs.containers)
-
            (hsPkgs.formatting)
-
            (hsPkgs.hedgehog)
-
            (hsPkgs.hspec)
-
            (hsPkgs.pretty-show)
-
            (hsPkgs.QuickCheck)
-
            (hsPkgs.quickcheck-instances)
-
            (hsPkgs.tagged)
-
            (hsPkgs.text)
-
            (hsPkgs.vector)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
            (hsPkgs."cardano-binary" or (buildDepError "cardano-binary"))
+
            (hsPkgs."cardano-prelude" or (buildDepError "cardano-prelude"))
+
            (hsPkgs."cardano-prelude-test" or (buildDepError "cardano-prelude-test"))
+
            (hsPkgs."cborg" or (buildDepError "cborg"))
+
            (hsPkgs."containers" or (buildDepError "containers"))
+
            (hsPkgs."formatting" or (buildDepError "formatting"))
+
            (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
            (hsPkgs."hspec" or (buildDepError "hspec"))
+
            (hsPkgs."pretty-show" or (buildDepError "pretty-show"))
+
            (hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
+
            (hsPkgs."quickcheck-instances" or (buildDepError "quickcheck-instances"))
+
            (hsPkgs."tagged" or (buildDepError "tagged"))
+
            (hsPkgs."text" or (buildDepError "text"))
+
            (hsPkgs."vector" or (buildDepError "vector"))
            ];
+
          buildable = true;
          };
        };
      };
    } // {
    src = (pkgs.lib).mkDefault (pkgs.fetchgit {
      url = "https://github.com/input-output-hk/cardano-base";
-
      rev = "c50bfdb129ae1eb319c9af3902674ef75b017fec";
-
      sha256 = "06963ni4hh06ai0x795wn7bxdjwnnwhraniijzyzzl5pir5lcli6";
+
      rev = "5c575d46afbfe333de0ccba70b084db8302abf42";
+
      sha256 = "1v1q20fjb6klcdhl9mhpvd10j6vc7biwk91dgyfp6ld7xvj2703x";
      });
    postUnpack = "sourceRoot+=/binary; echo source root reset to \$sourceRoot";
    }
\ No newline at end of file
-
{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
+
let
+
  buildDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (build dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  sysDepError = pkg:
+
    builtins.throw ''
+
      The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
+
      
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      '';
+
  pkgConfDepError = pkg:
+
    builtins.throw ''
+
      The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
+
      
+
      You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
+
      '';
+
  exeDepError = pkg:
+
    builtins.throw ''
+
      The local executable components do not include the component: ${pkg} (executable dependency).
+
      '';
+
  legacyExeDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (executable dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  buildToolDepError = pkg:
+
    builtins.throw ''
+
      Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
+
      
+
      If this is a system dependency:
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      
+
      If this is a Haskell dependency:
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
  {
    flags = { development = false; };
    package = {
      synopsis = "Type classes abstracting over cryptography primitives for Cardano";
      description = "Type classes abstracting over cryptography primitives for Cardano";
      buildType = "Simple";
+
      isLocal = true;
      };
    components = {
      "library" = {
        depends = [
-
          (hsPkgs.base)
-
          (hsPkgs.base16-bytestring)
-
          (hsPkgs.bytestring)
-
          (hsPkgs.cardano-binary)
-
          (hsPkgs.cardano-prelude)
-
          (hsPkgs.cryptonite)
-
          (hsPkgs.deepseq)
-
          (hsPkgs.memory)
-
          (hsPkgs.reflection)
-
          (hsPkgs.vector)
+
          (hsPkgs."base" or (buildDepError "base"))
+
          (hsPkgs."base16-bytestring" or (buildDepError "base16-bytestring"))
+
          (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
          (hsPkgs."cardano-binary" or (buildDepError "cardano-binary"))
+
          (hsPkgs."cardano-prelude" or (buildDepError "cardano-prelude"))
+
          (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
          (hsPkgs."deepseq" or (buildDepError "deepseq"))
+
          (hsPkgs."memory" or (buildDepError "memory"))
+
          (hsPkgs."reflection" or (buildDepError "reflection"))
+
          (hsPkgs."vector" or (buildDepError "vector"))
          ];
+
        buildable = true;
        };
      tests = {
        "test-crypto" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.bytestring)
-
            (hsPkgs.cardano-binary)
-
            (hsPkgs.cardano-crypto-class)
-
            (hsPkgs.cborg)
-
            (hsPkgs.cryptonite)
-
            (hsPkgs.QuickCheck)
-
            (hsPkgs.tasty)
-
            (hsPkgs.tasty-quickcheck)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
            (hsPkgs."cardano-binary" or (buildDepError "cardano-binary"))
+
            (hsPkgs."cardano-crypto-class" or (buildDepError "cardano-crypto-class"))
+
            (hsPkgs."cborg" or (buildDepError "cborg"))
+
            (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
            (hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
+
            (hsPkgs."tasty" or (buildDepError "tasty"))
+
            (hsPkgs."tasty-quickcheck" or (buildDepError "tasty-quickcheck"))
            ];
+
          buildable = true;
          };
        };
      };
    } // {
    src = (pkgs.lib).mkDefault (pkgs.fetchgit {
      url = "https://github.com/input-output-hk/cardano-base";
-
      rev = "c50bfdb129ae1eb319c9af3902674ef75b017fec";
-
      sha256 = "06963ni4hh06ai0x795wn7bxdjwnnwhraniijzyzzl5pir5lcli6";
+
      rev = "5c575d46afbfe333de0ccba70b084db8302abf42";
+
      sha256 = "1v1q20fjb6klcdhl9mhpvd10j6vc7biwk91dgyfp6ld7xvj2703x";
      });
    postUnpack = "sourceRoot+=/cardano-crypto-class; echo source root reset to \$sourceRoot";
    }
\ No newline at end of file
-
{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
+
let
+
  buildDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (build dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  sysDepError = pkg:
+
    builtins.throw ''
+
      The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
+
      
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      '';
+
  pkgConfDepError = pkg:
+
    builtins.throw ''
+
      The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
+
      
+
      You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
+
      '';
+
  exeDepError = pkg:
+
    builtins.throw ''
+
      The local executable components do not include the component: ${pkg} (executable dependency).
+
      '';
+
  legacyExeDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (executable dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  buildToolDepError = pkg:
+
    builtins.throw ''
+
      Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
+
      
+
      If this is a system dependency:
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      
+
      If this is a Haskell dependency:
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
  {
    flags = { golden-tests = false; golden-tests-exe = false; };
    package = {
      synopsis = "Cryptography primitives for cardano";
      description = "";
      buildType = "Simple";
+
      isLocal = true;
      };
    components = {
      "library" = {
        depends = [
-
          (hsPkgs.base)
-
          (hsPkgs.memory)
-
          (hsPkgs.deepseq)
-
          (hsPkgs.bytestring)
-
          (hsPkgs.basement)
-
          (hsPkgs.foundation)
-
          (hsPkgs.cryptonite)
-
          (hsPkgs.cryptonite-openssl)
-
          (hsPkgs.hashable)
-
          (hsPkgs.integer-gmp)
+
          (hsPkgs."base" or (buildDepError "base"))
+
          (hsPkgs."memory" or (buildDepError "memory"))
+
          (hsPkgs."deepseq" or (buildDepError "deepseq"))
+
          (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
          (hsPkgs."basement" or (buildDepError "basement"))
+
          (hsPkgs."foundation" or (buildDepError "foundation"))
+
          (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
          (hsPkgs."cryptonite-openssl" or (buildDepError "cryptonite-openssl"))
+
          (hsPkgs."hashable" or (buildDepError "hashable"))
+
          (hsPkgs."integer-gmp" or (buildDepError "integer-gmp"))
          ];
+
        buildable = true;
        };
      exes = {
        "golden-tests" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.basement)
-
            (hsPkgs.foundation)
-
            (hsPkgs.memory)
-
            (hsPkgs.bytestring)
-
            (hsPkgs.cryptonite)
-
            (hsPkgs.cardano-crypto)
-
            ] ++ (pkgs.lib).optional (flags.golden-tests-exe) (hsPkgs.inspector);
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."basement" or (buildDepError "basement"))
+
            (hsPkgs."foundation" or (buildDepError "foundation"))
+
            (hsPkgs."memory" or (buildDepError "memory"))
+
            (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
            (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
            (hsPkgs."cardano-crypto" or (buildDepError "cardano-crypto"))
+
            ] ++ (pkgs.lib).optional (flags.golden-tests-exe) (hsPkgs."inspector" or (buildDepError "inspector"));
+
          buildable = if flags.golden-tests-exe then true else false;
          };
        };
      tests = {
        "cardano-crypto-test" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.bytestring)
-
            (hsPkgs.memory)
-
            (hsPkgs.cryptonite)
-
            (hsPkgs.cardano-crypto)
-
            (hsPkgs.basement)
-
            (hsPkgs.foundation)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
            (hsPkgs."memory" or (buildDepError "memory"))
+
            (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
            (hsPkgs."cardano-crypto" or (buildDepError "cardano-crypto"))
+
            (hsPkgs."basement" or (buildDepError "basement"))
+
            (hsPkgs."foundation" or (buildDepError "foundation"))
            ];
+
          buildable = true;
          };
        "cardano-crypto-golden-tests" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.basement)
-
            (hsPkgs.foundation)
-
            (hsPkgs.memory)
-
            (hsPkgs.bytestring)
-
            (hsPkgs.cryptonite)
-
            (hsPkgs.cardano-crypto)
-
            ] ++ (pkgs.lib).optional (flags.golden-tests) (hsPkgs.inspector);
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."basement" or (buildDepError "basement"))
+
            (hsPkgs."foundation" or (buildDepError "foundation"))
+
            (hsPkgs."memory" or (buildDepError "memory"))
+
            (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
            (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
            (hsPkgs."cardano-crypto" or (buildDepError "cardano-crypto"))
+
            ] ++ (pkgs.lib).optional (flags.golden-tests) (hsPkgs."inspector" or (buildDepError "inspector"));
+
          buildable = if flags.golden-tests then true else false;
          };
        };
      benchmarks = {
        "cardano-crypto-bench" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.bytestring)
-
            (hsPkgs.memory)
-
            (hsPkgs.cryptonite)
-
            (hsPkgs.cardano-crypto)
-
            (hsPkgs.gauge)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
            (hsPkgs."memory" or (buildDepError "memory"))
+
            (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
            (hsPkgs."cardano-crypto" or (buildDepError "cardano-crypto"))
+
            (hsPkgs."gauge" or (buildDepError "gauge"))
            ];
+
          buildable = true;
          };
        };
      };
-
{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
+
let
+
  buildDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (build dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  sysDepError = pkg:
+
    builtins.throw ''
+
      The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
+
      
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      '';
+
  pkgConfDepError = pkg:
+
    builtins.throw ''
+
      The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
+
      
+
      You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
+
      '';
+
  exeDepError = pkg:
+
    builtins.throw ''
+
      The local executable components do not include the component: ${pkg} (executable dependency).
+
      '';
+
  legacyExeDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (executable dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  buildToolDepError = pkg:
+
    builtins.throw ''
+
      Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
+
      
+
      If this is a system dependency:
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      
+
      If this is a Haskell dependency:
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
  {
    flags = { development = false; };
    package = {
      synopsis = "A Prelude replacement for the Cardano project";
      description = "A Prelude replacement for the Cardano project";
      buildType = "Simple";
+
      isLocal = true;
      };
    components = {
      "library" = {
        depends = [
-
          (hsPkgs.base)
-
          (hsPkgs.aeson)
-
          (hsPkgs.array)
-
          (hsPkgs.base16-bytestring)
-
          (hsPkgs.bytestring)
-
          (hsPkgs.canonical-json)
-
          (hsPkgs.cborg)
-
          (hsPkgs.containers)
-
          (hsPkgs.formatting)
-
          (hsPkgs.ghc-heap)
-
          (hsPkgs.ghc-prim)
-
          (hsPkgs.hashable)
-
          (hsPkgs.integer-gmp)
-
          (hsPkgs.mtl)
-
          (hsPkgs.nonempty-containers)
-
          (hsPkgs.protolude)
-
          (hsPkgs.tagged)
-
          (hsPkgs.text)
-
          (hsPkgs.time)
-
          (hsPkgs.vector)
+
          (hsPkgs."base" or (buildDepError "base"))
+
          (hsPkgs."aeson" or (buildDepError "aeson"))
+
          (hsPkgs."array" or (buildDepError "array"))
+
          (hsPkgs."base16-bytestring" or (buildDepError "base16-bytestring"))
+
          (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
          (hsPkgs."canonical-json" or (buildDepError "canonical-json"))
+
          (hsPkgs."cborg" or (buildDepError "cborg"))
+
          (hsPkgs."containers" or (buildDepError "containers"))
+
          (hsPkgs."formatting" or (buildDepError "formatting"))
+
          (hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
+
          (hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
+
          (hsPkgs."hashable" or (buildDepError "hashable"))
+
          (hsPkgs."integer-gmp" or (buildDepError "integer-gmp"))
+
          (hsPkgs."mtl" or (buildDepError "mtl"))
+
          (hsPkgs."nonempty-containers" or (buildDepError "nonempty-containers"))
+
          (hsPkgs."protolude" or (buildDepError "protolude"))
+
          (hsPkgs."tagged" or (buildDepError "tagged"))
+
          (hsPkgs."text" or (buildDepError "text"))
+
          (hsPkgs."time" or (buildDepError "time"))
+
          (hsPkgs."vector" or (buildDepError "vector"))
          ];
+
        buildable = true;
        };
      tests = {
        "cardano-prelude-test" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.aeson)
-
            (hsPkgs.aeson-pretty)
-
            (hsPkgs.attoparsec)
-
            (hsPkgs.base16-bytestring)
-
            (hsPkgs.bytestring)
-
            (hsPkgs.canonical-json)
-
            (hsPkgs.cardano-prelude)
-
            (hsPkgs.containers)
-
            (hsPkgs.cryptonite)
-
            (hsPkgs.formatting)
-
            (hsPkgs.ghc-heap)
-
            (hsPkgs.ghc-prim)
-
            (hsPkgs.hedgehog)
-
            (hsPkgs.hspec)
-
            (hsPkgs.pretty-show)
-
            (hsPkgs.QuickCheck)
-
            (hsPkgs.quickcheck-instances)
-
            (hsPkgs.random)
-
            (hsPkgs.text)
-
            (hsPkgs.template-haskell)
-
            (hsPkgs.time)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."aeson" or (buildDepError "aeson"))
+
            (hsPkgs."aeson-pretty" or (buildDepError "aeson-pretty"))
+
            (hsPkgs."attoparsec" or (buildDepError "attoparsec"))
+
            (hsPkgs."base16-bytestring" or (buildDepError "base16-bytestring"))
+
            (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
            (hsPkgs."canonical-json" or (buildDepError "canonical-json"))
+
            (hsPkgs."cardano-prelude" or (buildDepError "cardano-prelude"))
+
            (hsPkgs."containers" or (buildDepError "containers"))
+
            (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
            (hsPkgs."formatting" or (buildDepError "formatting"))
+
            (hsPkgs."ghc-heap" or (buildDepError "ghc-heap"))
+
            (hsPkgs."ghc-prim" or (buildDepError "ghc-prim"))
+
            (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
            (hsPkgs."hspec" or (buildDepError "hspec"))
+
            (hsPkgs."pretty-show" or (buildDepError "pretty-show"))
+
            (hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
+
            (hsPkgs."quickcheck-instances" or (buildDepError "quickcheck-instances"))
+
            (hsPkgs."random" or (buildDepError "random"))
+
            (hsPkgs."text" or (buildDepError "text"))
+
            (hsPkgs."template-haskell" or (buildDepError "template-haskell"))
+
            (hsPkgs."time" or (buildDepError "time"))
            ];
+
          buildable = true;
          };
        };
      };
    } // {
    src = (pkgs.lib).mkDefault (pkgs.fetchgit {
      url = "https://github.com/input-output-hk/cardano-prelude";
-
      rev = "001ec3576ef3bda04cf5bcccdd9a00991835d1a7";
-
      sha256 = "0v746pi0s1ib1bvvvlfkrw7n4p2qxqfrrlx4fg4dpk6fjp0raass";
+
      rev = "f12a60595dbc2436d99a198b717bf26a683b5eec";
+
      sha256 = "06z4wnwz1jnpwh77a8gb6y8yvnrr2a7wip5rj39aw4pksxk339js";
      });
    }
\ No newline at end of file
-
{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
+
let
+
  buildDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (build dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  sysDepError = pkg:
+
    builtins.throw ''
+
      The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
+
      
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      '';
+
  pkgConfDepError = pkg:
+
    builtins.throw ''
+
      The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
+
      
+
      You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
+
      '';
+
  exeDepError = pkg:
+
    builtins.throw ''
+
      The local executable components do not include the component: ${pkg} (executable dependency).
+
      '';
+
  legacyExeDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (executable dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  buildToolDepError = pkg:
+
    builtins.throw ''
+
      Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
+
      
+
      If this is a system dependency:
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      
+
      If this is a Haskell dependency:
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
  {
    flags = { development = false; };
    package = {
      synopsis = "Executable specification of the Cardano blockchain";
      description = "";
      buildType = "Simple";
+
      isLocal = true;
      };
    components = {
      "library" = {
        depends = [
-
          (hsPkgs.base)
-
          (hsPkgs.bimap)
-
          (hsPkgs.bytestring)
-
          (hsPkgs.containers)
-
          (hsPkgs.cs-ledger)
-
          (hsPkgs.goblins)
-
          (hsPkgs.hashable)
-
          (hsPkgs.hedgehog)
-
          (hsPkgs.lens)
-
          (hsPkgs.small-steps)
+
          (hsPkgs."base" or (buildDepError "base"))
+
          (hsPkgs."bimap" or (buildDepError "bimap"))
+
          (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
          (hsPkgs."containers" or (buildDepError "containers"))
+
          (hsPkgs."cs-ledger" or (buildDepError "cs-ledger"))
+
          (hsPkgs."goblins" or (buildDepError "goblins"))
+
          (hsPkgs."hashable" or (buildDepError "hashable"))
+
          (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
          (hsPkgs."lens" or (buildDepError "lens"))
+
          (hsPkgs."small-steps" or (buildDepError "small-steps"))
          ];
+
        buildable = true;
        };
      tests = {
        "chain-rules-test" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.containers)
-
            (hsPkgs.data-ordlist)
-
            (hsPkgs.hedgehog)
-
            (hsPkgs.lens)
-
            (hsPkgs.tasty)
-
            (hsPkgs.tasty-hedgehog)
-
            (hsPkgs.tasty-hunit)
-
            (hsPkgs.cs-blockchain)
-
            (hsPkgs.cs-ledger)
-
            (hsPkgs.small-steps)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."containers" or (buildDepError "containers"))
+
            (hsPkgs."data-ordlist" or (buildDepError "data-ordlist"))
+
            (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
            (hsPkgs."lens" or (buildDepError "lens"))
+
            (hsPkgs."tasty" or (buildDepError "tasty"))
+
            (hsPkgs."tasty-hedgehog" or (buildDepError "tasty-hedgehog"))
+
            (hsPkgs."tasty-hunit" or (buildDepError "tasty-hunit"))
+
            (hsPkgs."cs-blockchain" or (buildDepError "cs-blockchain"))
+
            (hsPkgs."cs-ledger" or (buildDepError "cs-ledger"))
+
            (hsPkgs."small-steps" or (buildDepError "small-steps"))
            ];
+
          buildable = true;
          };
        };
      };
-
{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
+
let
+
  buildDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (build dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  sysDepError = pkg:
+
    builtins.throw ''
+
      The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
+
      
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      '';
+
  pkgConfDepError = pkg:
+
    builtins.throw ''
+
      The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
+
      
+
      You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
+
      '';
+
  exeDepError = pkg:
+
    builtins.throw ''
+
      The local executable components do not include the component: ${pkg} (executable dependency).
+
      '';
+
  legacyExeDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (executable dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  buildToolDepError = pkg:
+
    builtins.throw ''
+
      Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
+
      
+
      If this is a system dependency:
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      
+
      If this is a Haskell dependency:
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
  {
    flags = { development = false; };
    package = {
      synopsis = "Executable specification of Cardano ledger";
      description = "";
      buildType = "Simple";
+
      isLocal = true;
      };
    components = {
      "library" = {
        depends = [
-
          (hsPkgs.base)
-
          (hsPkgs.bimap)
-
          (hsPkgs.containers)
-
          (hsPkgs.filepath)
-
          (hsPkgs.file-embed)
-
          (hsPkgs.goblins)
-
          (hsPkgs.hashable)
-
          (hsPkgs.hedgehog)
-
          (hsPkgs.lens)
-
          (hsPkgs.template-haskell)
-
          (hsPkgs.Unique)
-
          (hsPkgs.cardano-binary)
-
          (hsPkgs.small-steps)
+
          (hsPkgs."base" or (buildDepError "base"))
+
          (hsPkgs."bimap" or (buildDepError "bimap"))
+
          (hsPkgs."containers" or (buildDepError "containers"))
+
          (hsPkgs."filepath" or (buildDepError "filepath"))
+
          (hsPkgs."file-embed" or (buildDepError "file-embed"))
+
          (hsPkgs."goblins" or (buildDepError "goblins"))
+
          (hsPkgs."hashable" or (buildDepError "hashable"))
+
          (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
          (hsPkgs."lens" or (buildDepError "lens"))
+
          (hsPkgs."template-haskell" or (buildDepError "template-haskell"))
+
          (hsPkgs."Unique" or (buildDepError "Unique"))
+
          (hsPkgs."cardano-binary" or (buildDepError "cardano-binary"))
+
          (hsPkgs."small-steps" or (buildDepError "small-steps"))
          ];
+
        buildable = true;
        };
      tests = {
        "doctests" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.doctest)
-
            (hsPkgs.containers)
-
            (hsPkgs.hedgehog)
-
            (hsPkgs.lens)
-
            (hsPkgs.memory)
-
            (hsPkgs.text)
-
            (hsPkgs.small-steps)
-
            (hsPkgs.cs-ledger)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."doctest" or (buildDepError "doctest"))
+
            (hsPkgs."containers" or (buildDepError "containers"))
+
            (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
            (hsPkgs."lens" or (buildDepError "lens"))
+
            (hsPkgs."memory" or (buildDepError "memory"))
+
            (hsPkgs."text" or (buildDepError "text"))
+
            (hsPkgs."small-steps" or (buildDepError "small-steps"))
+
            (hsPkgs."cs-ledger" or (buildDepError "cs-ledger"))
            ];
          build-tools = [
-
            (hsPkgs.buildPackages.doctest-discover or (pkgs.buildPackages.doctest-discover))
+
            (hsPkgs.buildPackages.doctest-discover or (pkgs.buildPackages.doctest-discover or (buildToolDepError "doctest-discover")))
            ];
+
          buildable = true;
          };
        "ledger-rules-test" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.bimap)
-
            (hsPkgs.containers)
-
            (hsPkgs.lens)
-
            (hsPkgs.hedgehog)
-
            (hsPkgs.tasty)
-
            (hsPkgs.tasty-hunit)
-
            (hsPkgs.tasty-hedgehog)
-
            (hsPkgs.Unique)
-
            (hsPkgs.cs-ledger)
-
            (hsPkgs.small-steps)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."bimap" or (buildDepError "bimap"))
+
            (hsPkgs."containers" or (buildDepError "containers"))
+
            (hsPkgs."lens" or (buildDepError "lens"))
+
            (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
            (hsPkgs."tasty" or (buildDepError "tasty"))
+
            (hsPkgs."tasty-hunit" or (buildDepError "tasty-hunit"))
+
            (hsPkgs."tasty-hedgehog" or (buildDepError "tasty-hedgehog"))
+
            (hsPkgs."Unique" or (buildDepError "Unique"))
+
            (hsPkgs."cs-ledger" or (buildDepError "cs-ledger"))
+
            (hsPkgs."small-steps" or (buildDepError "small-steps"))
            ];
+
          buildable = true;
          };
        };
      };
        "base58-bytestring" = (((hackage.base58-bytestring)."0.1.0").revisions).default;
        "hedgehog" = (((hackage.hedgehog)."1.0").revisions).default;
        "micro-recursion-schemes" = (((hackage.micro-recursion-schemes)."5.0.2.2").revisions).default;
+
        "protolude" = (((hackage.protolude)."0.2.4").revisions).default;
        "streaming-binary" = (((hackage.streaming-binary)."0.3.0.1").revisions).default;
        "cborg" = (((hackage.cborg)."0.2.2.0").revisions).default;
        "canonical-json" = (((hackage.canonical-json)."0.6.0.0").revisions).default;
-
        } // {
        delegation = ./delegation.nix;
        cs-blockchain = ./cs-blockchain.nix;
        cs-ledger = ./cs-ledger.nix;
      compiler.nix-name = "ghc865";
      };
  resolver = "lts-13.26";
+
  modules = [ ({ lib, ... }: { packages = {}; }) { packages = {}; } ];
  compiler = "ghc-8.6.5";
  }
\ No newline at end of file
-
{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
+
let
+
  buildDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (build dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  sysDepError = pkg:
+
    builtins.throw ''
+
      The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
+
      
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      '';
+
  pkgConfDepError = pkg:
+
    builtins.throw ''
+
      The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
+
      
+
      You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
+
      '';
+
  exeDepError = pkg:
+
    builtins.throw ''
+
      The local executable components do not include the component: ${pkg} (executable dependency).
+
      '';
+
  legacyExeDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (executable dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  buildToolDepError = pkg:
+
    builtins.throw ''
+
      Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
+
      
+
      If this is a system dependency:
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      
+
      If this is a Haskell dependency:
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
  {
    flags = { development = false; };
    package = {
      synopsis = "";
      description = "Delegation Executable Model";
      buildType = "Simple";
+
      isLocal = true;
      };
    components = {
      "library" = {
        depends = [
-
          (hsPkgs.base)
-
          (hsPkgs.bytestring)
-
          (hsPkgs.containers)
-
          (hsPkgs.cryptonite)
-
          (hsPkgs.hedgehog)
-
          (hsPkgs.small-steps)
-
          (hsPkgs.microlens)
-
          (hsPkgs.microlens-th)
-
          (hsPkgs.non-integer)
-
          (hsPkgs.cs-ledger)
-
          (hsPkgs.cardano-binary)
-
          (hsPkgs.cardano-crypto-class)
-
          (hsPkgs.cardano-prelude)
+
          (hsPkgs."base" or (buildDepError "base"))
+
          (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
          (hsPkgs."containers" or (buildDepError "containers"))
+
          (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
          (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
          (hsPkgs."small-steps" or (buildDepError "small-steps"))
+
          (hsPkgs."microlens" or (buildDepError "microlens"))
+
          (hsPkgs."microlens-th" or (buildDepError "microlens-th"))
+
          (hsPkgs."non-integer" or (buildDepError "non-integer"))
+
          (hsPkgs."cs-ledger" or (buildDepError "cs-ledger"))
+
          (hsPkgs."cardano-binary" or (buildDepError "cardano-binary"))
+
          (hsPkgs."cardano-crypto-class" or (buildDepError "cardano-crypto-class"))
+
          (hsPkgs."cardano-prelude" or (buildDepError "cardano-prelude"))
          ];
+
        buildable = true;
        };
      tests = {
        "delegation-test" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.bytestring)
-
            (hsPkgs.cryptonite)
-
            (hsPkgs.tasty)
-
            (hsPkgs.tasty-hunit)
-
            (hsPkgs.tasty-hedgehog)
-
            (hsPkgs.hedgehog)
-
            (hsPkgs.delegation)
-
            (hsPkgs.containers)
-
            (hsPkgs.multiset)
-
            (hsPkgs.text)
-
            (hsPkgs.microlens)
-
            (hsPkgs.cs-ledger)
-
            (hsPkgs.cardano-binary)
-
            (hsPkgs.cardano-crypto-class)
-
            (hsPkgs.cardano-prelude)
-
            (hsPkgs.small-steps)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
            (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
            (hsPkgs."tasty" or (buildDepError "tasty"))
+
            (hsPkgs."tasty-hunit" or (buildDepError "tasty-hunit"))
+
            (hsPkgs."tasty-hedgehog" or (buildDepError "tasty-hedgehog"))
+
            (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
            (hsPkgs."delegation" or (buildDepError "delegation"))
+
            (hsPkgs."containers" or (buildDepError "containers"))
+
            (hsPkgs."multiset" or (buildDepError "multiset"))
+
            (hsPkgs."text" or (buildDepError "text"))
+
            (hsPkgs."microlens" or (buildDepError "microlens"))
+
            (hsPkgs."cs-ledger" or (buildDepError "cs-ledger"))
+
            (hsPkgs."cardano-binary" or (buildDepError "cardano-binary"))
+
            (hsPkgs."cardano-crypto-class" or (buildDepError "cardano-crypto-class"))
+
            (hsPkgs."cardano-prelude" or (buildDepError "cardano-prelude"))
+
            (hsPkgs."small-steps" or (buildDepError "small-steps"))
            ];
+
          buildable = true;
          };
        };
      };
-
{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
+
let
+
  buildDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (build dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  sysDepError = pkg:
+
    builtins.throw ''
+
      The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
+
      
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      '';
+
  pkgConfDepError = pkg:
+
    builtins.throw ''
+
      The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
+
      
+
      You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
+
      '';
+
  exeDepError = pkg:
+
    builtins.throw ''
+
      The local executable components do not include the component: ${pkg} (executable dependency).
+
      '';
+
  legacyExeDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (executable dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  buildToolDepError = pkg:
+
    builtins.throw ''
+
      Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
+
      
+
      If this is a system dependency:
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      
+
      If this is a Haskell dependency:
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
  {
    flags = { development = false; };
    package = {
      synopsis = "Genetic algorithm based randomised testing";
      description = "";
      buildType = "Simple";
+
      isLocal = true;
      };
    components = {
      "library" = {
        depends = [
-
          (hsPkgs.base)
-
          (hsPkgs.bimap)
-
          (hsPkgs.binary)
-
          (hsPkgs.bytestring)
-
          (hsPkgs.containers)
-
          (hsPkgs.extra)
-
          (hsPkgs.hedgehog)
-
          (hsPkgs.lens)
-
          (hsPkgs.mmorph)
-
          (hsPkgs.monad-control)
-
          (hsPkgs.moo)
-
          (hsPkgs.random)
-
          (hsPkgs.template-haskell)
-
          (hsPkgs.th-utilities)
-
          (hsPkgs.transformers)
-
          (hsPkgs.tree-diff)
-
          (hsPkgs.typerep-map)
+
          (hsPkgs."base" or (buildDepError "base"))
+
          (hsPkgs."bimap" or (buildDepError "bimap"))
+
          (hsPkgs."binary" or (buildDepError "binary"))
+
          (hsPkgs."bytestring" or (buildDepError "bytestring"))
+
          (hsPkgs."containers" or (buildDepError "containers"))
+
          (hsPkgs."extra" or (buildDepError "extra"))
+
          (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
          (hsPkgs."lens" or (buildDepError "lens"))
+
          (hsPkgs."mmorph" or (buildDepError "mmorph"))
+
          (hsPkgs."monad-control" or (buildDepError "monad-control"))
+
          (hsPkgs."moo" or (buildDepError "moo"))
+
          (hsPkgs."random" or (buildDepError "random"))
+
          (hsPkgs."template-haskell" or (buildDepError "template-haskell"))
+
          (hsPkgs."th-utilities" or (buildDepError "th-utilities"))
+
          (hsPkgs."transformers" or (buildDepError "transformers"))
+
          (hsPkgs."tree-diff" or (buildDepError "tree-diff"))
+
          (hsPkgs."typerep-map" or (buildDepError "typerep-map"))
          ];
+
        buildable = true;
        };
      tests = {
        "goblin-test" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.hedgehog)
-
            (hsPkgs.goblins)
-
            (hsPkgs.temporary)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
            (hsPkgs."goblins" or (buildDepError "goblins"))
+
            (hsPkgs."temporary" or (buildDepError "temporary"))
            ];
+
          buildable = true;
          };
        };
      };
-
{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
+
let
+
  buildDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (build dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  sysDepError = pkg:
+
    builtins.throw ''
+
      The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
+
      
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      '';
+
  pkgConfDepError = pkg:
+
    builtins.throw ''
+
      The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
+
      
+
      You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
+
      '';
+
  exeDepError = pkg:
+
    builtins.throw ''
+
      The local executable components do not include the component: ${pkg} (executable dependency).
+
      '';
+
  legacyExeDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (executable dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  buildToolDepError = pkg:
+
    builtins.throw ''
+
      Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
+
      
+
      If this is a system dependency:
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      
+
      If this is a Haskell dependency:
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
  {
    flags = { development = false; };
    package = {
      synopsis = "";
      description = "Implementation decision for non-integer calculations";
      buildType = "Simple";
+
      isLocal = true;
      };
    components = {
-
      "library" = { depends = [ (hsPkgs.base) ]; };
+
      "library" = {
+
        depends = [ (hsPkgs."base" or (buildDepError "base")) ];
+
        buildable = true;
+
        };
      exes = {
-
        "nonInt" = { depends = [ (hsPkgs.base) (hsPkgs.non-integer) ]; };
+
        "nonInt" = {
+
          depends = [
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."non-integer" or (buildDepError "non-integer"))
+
            ];
+
          buildable = true;
+
          };
        };
      tests = {
        "non-integer-test" = {
          depends = (pkgs.lib).optionals (!flags.development) [
-
            (hsPkgs.base)
-
            (hsPkgs.non-integer)
-
            (hsPkgs.QuickCheck)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."non-integer" or (buildDepError "non-integer"))
+
            (hsPkgs."QuickCheck" or (buildDepError "QuickCheck"))
            ];
+
          buildable = true;
          };
        };
      };
-
{ system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
+
let
+
  buildDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (build dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  sysDepError = pkg:
+
    builtins.throw ''
+
      The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
+
      
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      '';
+
  pkgConfDepError = pkg:
+
    builtins.throw ''
+
      The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
+
      
+
      You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
+
      '';
+
  exeDepError = pkg:
+
    builtins.throw ''
+
      The local executable components do not include the component: ${pkg} (executable dependency).
+
      '';
+
  legacyExeDepError = pkg:
+
    builtins.throw ''
+
      The Haskell package set does not contain the package: ${pkg} (executable dependency).
+
      
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
  buildToolDepError = pkg:
+
    builtins.throw ''
+
      Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
+
      
+
      If this is a system dependency:
+
      You may need to augment the system package mapping in haskell.nix so that it can be found.
+
      
+
      If this is a Haskell dependency:
+
      If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
+
      '';
+
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
  {
    flags = { development = false; };
    package = {
      synopsis = "Small step semantics";
      description = "";
      buildType = "Simple";
+
      isLocal = true;
      };
    components = {
      "library" = {
        depends = [
-
          (hsPkgs.base)
-
          (hsPkgs.containers)
-
          (hsPkgs.cryptonite)
-
          (hsPkgs.free)
-
          (hsPkgs.goblins)
-
          (hsPkgs.hedgehog)
-
          (hsPkgs.tasty-hunit)
-
          (hsPkgs.lens)
-
          (hsPkgs.mtl)
-
          (hsPkgs.transformers)
-
          (hsPkgs.cardano-crypto-class)
+
          (hsPkgs."base" or (buildDepError "base"))
+
          (hsPkgs."containers" or (buildDepError "containers"))
+
          (hsPkgs."cryptonite" or (buildDepError "cryptonite"))
+
          (hsPkgs."free" or (buildDepError "free"))
+
          (hsPkgs."goblins" or (buildDepError "goblins"))
+
          (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
          (hsPkgs."tasty-hunit" or (buildDepError "tasty-hunit"))
+
          (hsPkgs."lens" or (buildDepError "lens"))
+
          (hsPkgs."mtl" or (buildDepError "mtl"))
+
          (hsPkgs."transformers" or (buildDepError "transformers"))
+
          (hsPkgs."cardano-crypto-class" or (buildDepError "cardano-crypto-class"))
          ];
+
        buildable = true;
        };
      tests = {
        "doctests" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.containers)
-
            (hsPkgs.data-default)
-
            (hsPkgs.free)
-
            (hsPkgs.hedgehog)
-
            (hsPkgs.tasty-hunit)
-
            (hsPkgs.lens)
-
            (hsPkgs.mtl)
-
            (hsPkgs.sequence)
-
            (hsPkgs.transformers)
-
            (hsPkgs.doctest)
-
            (hsPkgs.small-steps)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."containers" or (buildDepError "containers"))
+
            (hsPkgs."data-default" or (buildDepError "data-default"))
+
            (hsPkgs."free" or (buildDepError "free"))
+
            (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
            (hsPkgs."tasty-hunit" or (buildDepError "tasty-hunit"))
+
            (hsPkgs."lens" or (buildDepError "lens"))
+
            (hsPkgs."mtl" or (buildDepError "mtl"))
+
            (hsPkgs."sequence" or (buildDepError "sequence"))
+
            (hsPkgs."transformers" or (buildDepError "transformers"))
+
            (hsPkgs."doctest" or (buildDepError "doctest"))
+
            (hsPkgs."small-steps" or (buildDepError "small-steps"))
            ];
          build-tools = [
-
            (hsPkgs.buildPackages.doctest-discover or (pkgs.buildPackages.doctest-discover))
+
            (hsPkgs.buildPackages.doctest-discover or (pkgs.buildPackages.doctest-discover or (buildToolDepError "doctest-discover")))
            ];
+
          buildable = true;
          };
        "examples" = {
          depends = [
-
            (hsPkgs.base)
-
            (hsPkgs.containers)
-
            (hsPkgs.hedgehog)
-
            (hsPkgs.tasty)
-
            (hsPkgs.tasty-hedgehog)
-
            (hsPkgs.tasty-expected-failure)
-
            (hsPkgs.small-steps)
+
            (hsPkgs."base" or (buildDepError "base"))
+
            (hsPkgs."containers" or (buildDepError "containers"))
+
            (hsPkgs."hedgehog" or (buildDepError "hedgehog"))
+
            (hsPkgs."tasty" or (buildDepError "tasty"))
+
            (hsPkgs."tasty-hedgehog" or (buildDepError "tasty-hedgehog"))
+
            (hsPkgs."tasty-expected-failure" or (buildDepError "tasty-expected-failure"))
+
            (hsPkgs."small-steps" or (buildDepError "small-steps"))
            ];
+
          buildable = true;
          };
        };
      };
{
  "url": "https://github.com/input-output-hk/iohk-nix",
-
  "rev": "11ff3539c21665f9ac20cdf165af632312372b45",
-
  "date": "2019-09-26T16:58:22+00:00",
-
  "sha256": "0bvxjmx341f0ppazcikn9qmdi6nkqgnmw9gj3dkhz9dn6hw838mg",
+
  "rev": "3c4710d65404d2bbdcc896f48e0f7b9ca6ed681b",
+
  "date": "2019-10-13T23:23:10-04:00",
+
  "sha256": "1lh148fhpq6m4rv7489h6b3awl91dphlmv60l1f2gg28j7krh5lr",
  "fetchSubmodules": false
}
  -- result of the sneaking.
  verifyVRF (VerKeyFakeVRF n) a c = snd (evalVRF' a (SignKeyFakeVRF n)) == snd c
  encodeVerKeyVRF = toCBOR
+
  decodeVerKeyVRF = fromCBOR

                      
evalVRF' :: SneakilyContainResult a => a -> SignKeyVRF FakeVRF -> (Natural, CertVRF FakeVRF)
evalVRF' a (SignKeyFakeVRF n) =
m
+3/-3
-
resolver: https://raw.githubusercontent.com/input-output-hk/cardano-prelude/001ec3576ef3bda04cf5bcccdd9a00991835d1a7/snapshot.yaml
+
resolver: https://raw.githubusercontent.com/input-output-hk/cardano-prelude/f12a60595dbc2436d99a198b717bf26a683b5eec/snapshot.yaml

                      
packages:
- shelley/chain-and-ledger/executable-spec
- bimap-0.4.0

                      
- git: https://github.com/input-output-hk/cardano-prelude
-
  commit: 001ec3576ef3bda04cf5bcccdd9a00991835d1a7
+
  commit: f12a60595dbc2436d99a198b717bf26a683b5eec

                      
- git: https://github.com/input-output-hk/cardano-base
-
  commit: c50bfdb129ae1eb319c9af3902674ef75b017fec
+
  commit: 5c575d46afbfe333de0ccba70b084db8302abf42
  subdirs:
    - binary
    - cardano-crypto-class