diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000000000000000000000000000000000000..238fef3a27492539f79ea4e543c44c283b3a38cb --- /dev/null +++ b/configuration.nix @@ -0,0 +1,29 @@ +{ pkgs, pkgs-libR, ... }: + +with pkgs.haskell.lib; + +final: prev: { + + R = pkgs-libR.R; + + cardano-crypto-class = enableCabalFlag (addPkgconfigDepend prev.cardano-crypto-class pkgs.libsodium) "development"; + + cardano-crypto-praos = addPkgconfigDepend prev.cardano-crypto-praos pkgs.libsodium; + + cardano-prelude = enableCabalFlag prev.cardano-prelude "development"; + + microstache = doJailbreak prev.microstache; + + monoidal-containers = doJailbreak prev.monoidal-containers; + + nonempty-vector = dontCheck (doJailbreak prev.nonempty-vector); + + plutus-core = setBuildTarget (disableLibraryProfiling (dontBenchmark prev.plutus-core)) "plc"; + + plutus-ledger-api = disableLibraryProfiling (dontBenchmark prev.plutus-ledger-api); + + plutus-tx = disableLibraryProfiling (dontBenchmark prev.plutus-tx); + + secp256k1 = pkgs.secp256k1; + +} diff --git a/flake.lock b/flake.lock index 274a025770ee44ce5259a2582fae27dd58dd8918..cd5e715e606c5a67cbeabc73932a83e4f841a87d 100644 --- a/flake.lock +++ b/flake.lock @@ -16,30 +16,14 @@ "url": "https://gitlab.haskell.org/ghc/packages/Cabal" } }, - "HaskellR": { - "flake": false, - "locked": { - "lastModified": 1644844599, - "narHash": "sha256-q39Dp5hj4u5Lx6wWwPoc9CbyocH3KutYDmWVd3xevgo=", - "owner": "tweag", - "repo": "HaskellR", - "rev": "c3ba1023480e26ade420896bcb629ceaad59f308", - "type": "github" - }, - "original": { - "owner": "tweag", - "repo": "HaskellR", - "type": "github" - } - }, "all-cabal-hashes": { "flake": false, "locked": { - "lastModified": 1665080357, - "narHash": "sha256-J/abnrLrWzWaIA3v6Rp7yGFCnCVVS6vA5+6KPZb0VKs=", + "lastModified": 1664652215, + "narHash": "sha256-srogTegrD+241OSa1IVFnEzIRcdOi6rkQQ0z0v9S13E=", "owner": "commercialhaskell", "repo": "all-cabal-hashes", - "rev": "9f72eda9849486e6b55762056e59dbee946cbcbf", + "rev": "21f7dfd6196d284ace4cfa5a6e1aa73072312e84", "type": "github" }, "original": { @@ -49,20 +33,19 @@ "type": "github" } }, - "all-cabal-hashes_2": { + "cabal2nix": { "flake": false, "locked": { - "lastModified": 1664652215, - "narHash": "sha256-srogTegrD+241OSa1IVFnEzIRcdOi6rkQQ0z0v9S13E=", - "owner": "commercialhaskell", - "repo": "all-cabal-hashes", - "rev": "21f7dfd6196d284ace4cfa5a6e1aa73072312e84", + "lastModified": 1665402713, + "narHash": "sha256-eUk0m/24UaYi75mg9C36WK7PVnosKbMEIafkRa6npno=", + "owner": "NixOS", + "repo": "cabal2nix", + "rev": "b3ae6f9240d07ba103f1eb7ab22f6055e9cdb7dc", "type": "github" }, "original": { - "owner": "commercialhaskell", - "ref": "hackage", - "repo": "all-cabal-hashes", + "owner": "NixOS", + "repo": "cabal2nix", "type": "github" } }, @@ -82,72 +65,6 @@ "type": "github" } }, - "cardano-base": { - "flake": false, - "locked": { - "lastModified": 1664966805, - "narHash": "sha256-raPy7vCleco/6mARMOeUraq7SQO1YOV5zOn4iqEyxWI=", - "owner": "input-output-hk", - "repo": "cardano-base", - "rev": "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "cardano-base", - "type": "github" - } - }, - "cardano-crypto": { - "flake": false, - "locked": { - "lastModified": 1621376239, - "narHash": "sha256-oxIOVlgm07FAEmgGRF1C2me9TXqVxQulEOcJ22zpTRs=", - "owner": "input-output-hk", - "repo": "cardano-crypto", - "rev": "07397f0e50da97eaa0575d93bee7ac4b2b2576ec", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "cardano-crypto", - "rev": "07397f0e50da97eaa0575d93bee7ac4b2b2576ec", - "type": "github" - } - }, - "cardano-ledger": { - "flake": false, - "locked": { - "lastModified": 1666097147, - "narHash": "sha256-cnI2vJQbI3QB7vBrQertdwD2MWAu5ikMhIR+qoYq/28=", - "owner": "milloni", - "repo": "cardano-ledger", - "rev": "2857b079bdab6e1545c60c614157ba8e7d19233e", - "type": "github" - }, - "original": { - "owner": "milloni", - "ref": "milloni/horizon", - "repo": "cardano-ledger", - "type": "github" - } - }, - "cardano-prelude": { - "flake": false, - "locked": { - "lastModified": 1664548869, - "narHash": "sha256-7YOyIYKuslh8yD8ZAPuOiDaON7IoWVfkFKHOrjLtUK8=", - "owner": "input-output-hk", - "repo": "cardano-prelude", - "rev": "b6053a23f53acd5c519cc559c3861dda3ebf8b35", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "cardano-prelude", - "type": "github" - } - }, "cborg": { "flake": false, "locked": { @@ -328,23 +245,23 @@ "type": "github" }, "original": { - "id": "flake-utils", - "type": "indirect" + "owner": "numtide", + "repo": "flake-utils", + "type": "github" } }, "flake-utils_3": { "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" + "id": "flake-utils", + "type": "indirect" } }, "flake-utils_4": { @@ -362,103 +279,79 @@ "type": "github" } }, - "flat": { - "flake": false, - "locked": { - "lastModified": 1664966899, - "narHash": "sha256-j1ABQ4I9UlRz4PcJVpfVQMeRBB9UIkS/wljmmoDYG5w=", - "owner": "Quid2", - "repo": "flat", - "rev": "dd323e72857806a2b03b27b579596586d0a4d583", - "type": "github" - }, - "original": { - "owner": "Quid2", - "repo": "flat", - "type": "github" - } - }, - "ghc-exactprint": { - "flake": false, + "flake-utils_5": { "locked": { - "lastModified": 1664486261, - "narHash": "sha256-3SQPyJoQQTY7cG2S4TbpG9btPWS7U4F7AlGwAq5PXzk=", - "owner": "alanz", - "repo": "ghc-exactprint", - "rev": "8d3f0aa528e9a3fe5e0626cd733650641daaa2e9", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { - "owner": "alanz", - "ref": "ghc-9.4", - "repo": "ghc-exactprint", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, - "ghc-typelits-knownnat": { - "flake": false, + "flake-utils_6": { "locked": { - "lastModified": 1658650195, - "narHash": "sha256-9ITC1f0wGvOH1VrFXegwSUugjR777FknFcfOsNxXhMY=", - "owner": "clash-lang", - "repo": "ghc-typelits-knownnat", - "rev": "634b0c076e5cf6ce24d80fa845121b38ec9efe01", + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", "type": "github" }, "original": { - "owner": "clash-lang", - "ref": "941-support", - "repo": "ghc-typelits-knownnat", - "type": "github" + "id": "flake-utils", + "type": "indirect" } }, - "ghc-typelits-natnormalise": { - "flake": false, + "flake-utils_7": { "locked": { - "lastModified": 1663485752, - "narHash": "sha256-cHDm8Bd5VhN3hhCBQYFfaGl3uczC46CTbM1mIKZP9bY=", - "owner": "clash-lang", - "repo": "ghc-typelits-natnormalise", - "rev": "64f3fe6bbc1a3c8d729ede7c9f14b158e2a12641", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { - "owner": "clash-lang", - "repo": "ghc-typelits-natnormalise", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, - "goblins": { - "flake": false, + "flake-utils_8": { "locked": { - "lastModified": 1663802529, - "narHash": "sha256-xeprp3H7lFTH6TxkHtchfD5vIuW0h4NdKaXQjInKTjc=", - "owner": "newhoggy", - "repo": "goblins", - "rev": "a315f41ec7250097fa6073b5ef4773e45758578f", + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "type": "github" }, "original": { - "owner": "newhoggy", - "ref": "a315f41ec7250097fa6073b5ef4773e45758578f", - "repo": "goblins", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, - "gray-code": { + "ghc-exactprint": { "flake": false, "locked": { - "lastModified": 1665142843, - "narHash": "sha256-Tv3cE4BDhEPHuzP2V4Onkn5JsRBsUCbZtQ6t9wZDvlc=", - "owner": "milloni", - "repo": "gray-code-0.3.1", - "rev": "f310a19e44416206633cfd084f10ffb7cfea9f1d", + "lastModified": 1664486261, + "narHash": "sha256-3SQPyJoQQTY7cG2S4TbpG9btPWS7U4F7AlGwAq5PXzk=", + "owner": "alanz", + "repo": "ghc-exactprint", + "rev": "8d3f0aa528e9a3fe5e0626cd733650641daaa2e9", "type": "github" }, "original": { - "owner": "milloni", - "ref": "milloni/fix-quicktest", - "repo": "gray-code-0.3.1", + "owner": "alanz", + "ref": "ghc-9.4", + "repo": "ghc-exactprint", "type": "github" } }, @@ -543,10 +436,52 @@ "type": "github" } }, + "horizon-gen-nix": { + "inputs": { + "cabal2nix": "cabal2nix", + "flake-utils": "flake-utils_2", + "horizon-platform": "horizon-platform", + "lint-utils": "lint-utils_2", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1666357930, + "narHash": "sha256-J/fKWOjoafC9SzL7+F2df7PdrC4f6+gDGGuwL/Peufc=", + "ref": "master", + "rev": "c1586cd98d609bcd5ef6cd7661f14c070e841b3b", + "revCount": 16, + "type": "git", + "url": "https://gitlab.homotopic.tech/horizon/horizon-gen-nix" + }, + "original": { + "type": "git", + "url": "https://gitlab.homotopic.tech/horizon/horizon-gen-nix" + } + }, "horizon-platform": { + "inputs": { + "flake-utils": "flake-utils_3", + "lint-utils": "lint-utils", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1665929472, + "narHash": "sha256-8TtHWap72cgCF9aRop1DukLz0uQlvSTJwvnhHdFA9Fs=", + "ref": "refs/heads/master", + "rev": "195c05aef93557fac44d2c0ed61e28a36b0f5e6c", + "revCount": 145, + "type": "git", + "url": "https://gitlab.homotopic.tech/horizon/horizon-platform" + }, + "original": { + "type": "git", + "url": "https://gitlab.homotopic.tech/horizon/horizon-platform" + } + }, + "horizon-platform_2": { "inputs": { "Cabal": "Cabal", - "all-cabal-hashes": "all-cabal-hashes_2", + "all-cabal-hashes": "all-cabal-hashes", "cache-effectful": "cache-effectful", "cborg": "cborg", "compactable": "compactable", @@ -556,15 +491,15 @@ "ed25519": "ed25519", "ema": "ema", "flake-parts": "flake-parts_2", - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_6", "ghc-exactprint": "ghc-exactprint", "haskell-src-meta": "haskell-src-meta", "hedgehog-golden": "hedgehog-golden", "hlint": "hlint", "hnix": "hnix", - "lint-utils": "lint-utils", + "lint-utils": "lint-utils_3", "memory": "memory", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_5", "polysemy": "polysemy", "quickcheck-dynamic": "quickcheck-dynamic", "servant": "servant", @@ -589,13 +524,13 @@ }, "lint-utils": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_4", "nixpkgs": "nixpkgs" }, "locked": { "lastModified": 1655192403, "narHash": "sha256-XyKDvRGDh8VXA6zN8DUTnDaTMrk0MxMKg70MaAX1A2Y=", - "ref": "master", + "ref": "refs/heads/master", "rev": "a7ae54afdc4c05a5aabf202d5a76d02705eb6147", "revCount": 28, "type": "git", @@ -608,8 +543,49 @@ }, "lint-utils_2": { "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_3" + "flake-utils": "flake-utils_5", + "nixpkgs": [ + "horizon-gen-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1655192403, + "narHash": "sha256-XyKDvRGDh8VXA6zN8DUTnDaTMrk0MxMKg70MaAX1A2Y=", + "ref": "refs/heads/master", + "rev": "a7ae54afdc4c05a5aabf202d5a76d02705eb6147", + "revCount": 28, + "type": "git", + "url": "https://gitlab.homotopic.tech/nix/lint-utils" + }, + "original": { + "type": "git", + "url": "https://gitlab.homotopic.tech/nix/lint-utils" + } + }, + "lint-utils_3": { + "inputs": { + "flake-utils": "flake-utils_7", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1655192403, + "narHash": "sha256-XyKDvRGDh8VXA6zN8DUTnDaTMrk0MxMKg70MaAX1A2Y=", + "ref": "master", + "rev": "a7ae54afdc4c05a5aabf202d5a76d02705eb6147", + "revCount": 28, + "type": "git", + "url": "https://gitlab.homotopic.tech/nix/lint-utils" + }, + "original": { + "type": "git", + "url": "https://gitlab.homotopic.tech/nix/lint-utils" + } + }, + "lint-utils_4": { + "inputs": { + "flake-utils": "flake-utils_8", + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1655192403, @@ -642,23 +618,6 @@ "type": "github" } }, - "moo": { - "flake": false, - "locked": { - "lastModified": 1665149984, - "narHash": "sha256-HWxnkf6xEAFfY14QxQFU/RsQ09skzLSMKvrAB1EQstU=", - "owner": "milloni", - "repo": "moo", - "rev": "20e4c6ee880e7d62b18b995750063dd7349a3f8e", - "type": "github" - }, - "original": { - "owner": "milloni", - "ref": "milloni/build-fix", - "repo": "moo", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1644525281, @@ -693,11 +652,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1664556388, - "narHash": "sha256-04xEtpc0AqLhgDtJ/kT+aZGPrXOI+1a3obf6iWrJQXs=", + "lastModified": 1665830552, + "narHash": "sha256-qel2bZ9TqfW8WzWCWdjuCy4bVFhhGsEeqFv/bj1ka2s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "511213e0ece88be30a4bd73488f7d1cd85879654", + "rev": "26b7e6ab6a864c3e7e077bcb27a49f0480b9894a", "type": "github" }, "original": { @@ -708,6 +667,22 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1665830552, + "narHash": "sha256-qel2bZ9TqfW8WzWCWdjuCy4bVFhhGsEeqFv/bj1ka2s=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "26b7e6ab6a864c3e7e077bcb27a49f0480b9894a", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1644525281, "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", @@ -723,52 +698,51 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { - "lastModified": 1664989420, - "narHash": "sha256-Q8IxomUjjmewsoJgO3htkXLfCckQ7HkDJ/ZhdYVf/fA=", + "lastModified": 1664556388, + "narHash": "sha256-04xEtpc0AqLhgDtJ/kT+aZGPrXOI+1a3obf6iWrJQXs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "37bd39839acf99c5b738319f42478296f827f274", + "rev": "511213e0ece88be30a4bd73488f7d1cd85879654", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nothunks": { - "flake": false, + "nixpkgs_6": { "locked": { - "lastModified": 1662301055, - "narHash": "sha256-ZJ3cwh1q8KCD4aL8IE5dcX+W0ZuRLQwRtWK5Fu0mwjU=", - "owner": "locallycompact", - "repo": "nothunks", - "rev": "0d7e3565407aa4eb21d861d075dff6f20d090f97", + "lastModified": 1644525281, + "narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", "type": "github" }, "original": { - "owner": "locallycompact", - "repo": "nothunks", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", "type": "github" } }, - "plutus": { - "flake": false, + "nixpkgs_7": { "locked": { - "lastModified": 1665072514, - "narHash": "sha256-o613DcnvD/uvwUo3c7KV4N3CrG0k+ndu/3lLcxfG/18=", - "owner": "milloni", - "repo": "plutus", - "rev": "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd", + "lastModified": 1664989420, + "narHash": "sha256-Q8IxomUjjmewsoJgO3htkXLfCckQ7HkDJ/ZhdYVf/fA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "37bd39839acf99c5b738319f42478296f827f274", "type": "github" }, "original": { - "owner": "milloni", - "ref": "milloni/ghc942", - "repo": "plutus", + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", "type": "github" } }, @@ -807,29 +781,14 @@ }, "root": { "inputs": { - "HaskellR": "HaskellR", - "all-cabal-hashes": "all-cabal-hashes", - "cardano-base": "cardano-base", - "cardano-crypto": "cardano-crypto", - "cardano-ledger": "cardano-ledger", - "cardano-prelude": "cardano-prelude", "flake-parts": "flake-parts", "flake-utils": "flake-utils", - "flat": "flat", - "ghc-typelits-knownnat": "ghc-typelits-knownnat", - "ghc-typelits-natnormalise": "ghc-typelits-natnormalise", - "goblins": "goblins", - "gray-code": "gray-code", "haskell-flake": "haskell-flake", - "horizon-platform": "horizon-platform", - "lint-utils": "lint-utils_2", - "moo": "moo", - "nixpkgs": "nixpkgs_4", - "nixpkgs-libR": "nixpkgs-libR", - "nothunks": "nothunks", - "plutus": "plutus", - "strict-containers": "strict-containers", - "typerep-map": "typerep-map" + "horizon-gen-nix": "horizon-gen-nix", + "horizon-platform": "horizon-platform_2", + "lint-utils": "lint-utils_4", + "nixpkgs": "nixpkgs_7", + "nixpkgs-libR": "nixpkgs-libR" } }, "servant": { @@ -849,23 +808,6 @@ "type": "github" } }, - "strict-containers": { - "flake": false, - "locked": { - "lastModified": 1665410955, - "narHash": "sha256-K0QfB5GFYlJ/D0KO3U6SxWOBgZx8NvcuAgRhV1JhbOg=", - "owner": "milloni", - "repo": "strict-containers", - "rev": "9e833be00bc2c5cdb0b4e743b7a2cde00dd4f616", - "type": "github" - }, - "original": { - "owner": "milloni", - "ref": "milloni/fix", - "repo": "strict-containers", - "type": "github" - } - }, "sydtest": { "flake": false, "locked": { @@ -914,23 +856,6 @@ "type": "github" } }, - "typerep-map": { - "flake": false, - "locked": { - "lastModified": 1661208811, - "narHash": "sha256-3ATQgkB0dIyA3q/VzsTUk9KwVtmNudu7u3WeqXIWbgg=", - "owner": "parsonsmatt", - "repo": "typerep-map", - "rev": "75b7cd5d45986be07420a6821d352ad2adc0b697", - "type": "github" - }, - "original": { - "owner": "parsonsmatt", - "ref": "75b7cd5d45986be07420a6821d352ad2adc0b697", - "repo": "typerep-map", - "type": "github" - } - }, "unicode-data": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index cb89adfa4ecf23b39fee4ce8fc199d34c3b74dc8..89842d5dea9918b9f010c73d0da78eb3bd849b0c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,91 +1,28 @@ { inputs = { - all-cabal-hashes = { - url = "github:commercialhaskell/all-cabal-hashes?ref=hackage"; - flake = false; - }; - cardano-base = { - url = "github:input-output-hk/cardano-base"; - flake = false; - }; - cardano-crypto = { - url = "github:input-output-hk/cardano-crypto/07397f0e50da97eaa0575d93bee7ac4b2b2576ec"; - flake = false; - }; - cardano-ledger = { - url = "github:milloni/cardano-ledger?ref=milloni/horizon"; - flake = false; - }; - cardano-prelude = { - url = "github:input-output-hk/cardano-prelude"; - flake = false; - }; - flat = { - url = "github:Quid2/flat"; - flake = false; - }; flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.inputs.nixpkgs.follows = "nixpkgs"; - ghc-typelits-knownnat = { - url = "github:clash-lang/ghc-typelits-knownnat?ref=941-support"; - flake = false; - }; - ghc-typelits-natnormalise = { - url = "github:clash-lang/ghc-typelits-natnormalise"; - flake = false; - }; - goblins = { - url = "github:newhoggy/goblins?ref=a315f41ec7250097fa6073b5ef4773e45758578f"; - flake = false; - }; - gray-code = { - url = "github:milloni/gray-code-0.3.1?ref=milloni/fix-quicktest"; - flake = false; - }; haskell-flake.url = "github:srid/haskell-flake"; horizon-platform = { url = "git+https://gitlab.homotopic.tech/horizon/horizon-platform"; }; - HaskellR = { - url = "github:tweag/HaskellR"; - flake = false; - }; lint-utils.url = "git+https://gitlab.homotopic.tech/nix/lint-utils"; - moo = { - url = "github:milloni/moo?ref=milloni/build-fix"; - flake = false; - }; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-libR.url = "github:nixos/nixpkgs/602748c14b82a2e17078713686fe1df2824fa502"; - nothunks = { - url = "github:locallycompact/nothunks"; - flake = false; - }; - plutus = { - url = "github:milloni/plutus?ref=milloni/ghc942"; - flake = false; - }; - strict-containers = { - url = "github:milloni/strict-containers?ref=milloni/fix"; - flake = false; - }; - typerep-map = { - url = "github:parsonsmatt/typerep-map?ref=75b7cd5d45986be07420a6821d352ad2adc0b697"; - flake = false; - }; + horizon-gen-nix.url = "git+https://gitlab.homotopic.tech/horizon/horizon-gen-nix"; }; - outputs = inputs@{ self, nixpkgs, nixpkgs-libR, horizon-platform, flake-utils, lint-utils, ... }: + outputs = inputs@{ self, nixpkgs, nixpkgs-libR, horizon-gen-nix, horizon-platform, flake-utils, lint-utils, ... }: flake-utils.lib.eachSystem [ "x86_64-linux" ] (system: let - overlay-ach = final: prev: { all-cabal-hashes = inputs.all-cabal-hashes; }; pkgs-libR = import nixpkgs-libR { inherit system; }; - pkgs = import nixpkgs { inherit system; overlays = [ overlay-ach (final: prev: { R = pkgs-libR.R; })];}; + pkgs = import nixpkgs { inherit system; }; overrides-hp = final: prev: (horizon-platform.overrides.${system}.ghc942 final prev // (import ./overlay.nix { inherit inputs pkgs; } final prev)); + configuration = import ./configuration.nix { inherit inputs pkgs pkgs-libR; }; hp = pkgs.haskell.packages.ghc942.override { - overrides = overrides-hp; + overrides = pkgs.lib.composeManyExtensions [ overrides-hp configuration ]; }; hp' = pkgs.lib.filterAttrs (n: v: v != null @@ -96,7 +33,14 @@ hp; in { + apps = { + horizon-gen-nix = { + type = "app"; + program = "${horizon-gen-nix.outputs.packages.x86_64-linux.default}/bin/horizon-gen-nix"; + }; + }; checks = { + dhall-format = lint-utils.outputs.linters.linters.x86_64-linux.dhall-format ./.; nixpkgs-fmt = lint-utils.outputs.linters.x86_64-linux.nixpkgs-fmt ./.; }; overrides.ghc942 = overrides-hp; diff --git a/manifest.dhall b/manifest.dhall new file mode 100644 index 0000000000000000000000000000000000000000..0631186be75fabb8fb9f592afd7a141226e30a88 --- /dev/null +++ b/manifest.dhall @@ -0,0 +1,210 @@ +let HsSrc = + < FromHackage : { name : Text, version : Text } + | FromGit : + { url : Text, revision : Optional Text, subdir : Optional Text } + > + +let Modifiers = + { Type = { doJailbreak : Bool, doCheck : Bool } + , default = { doJailbreak = True, doCheck = False } + } + +let Attr = λ(a : Type) → { mapKey : Text, mapValue : a } + +let HsPkg = + { Type = { source : HsSrc, modifiers : Modifiers.Type } + , default.modifiers = Modifiers.default + } + +let callHackage + : ∀(name : Text) → ∀(version : Text) → Attr HsPkg.Type + = λ(name : Text) → + λ(version : Text) → + { mapKey = name + , mapValue = HsPkg::{ source = HsSrc.FromHackage { name, version } } + } + +let callCabal2nix + : ∀(name : Text) → + ∀(url : Text) → + ∀(revision : Optional Text) → + ∀(subdir : Optional Text) → + Attr HsPkg.Type + = λ(name : Text) → + λ(url : Text) → + λ(revision : Optional Text) → + λ(subdir : Optional Text) → + { mapKey = name + , mapValue = HsPkg::{ source = HsSrc.FromGit { url, revision, subdir } } + } + +in [ callHackage "PyF" "0.11.0.0" + , callHackage "Unique" "0.4.7.9" + , callHackage "algebraic-graphs" "0.7" + , callHackage "base64-bytestring-type" "1.0.1" + , callHackage "bech32" "1.1.2" + , callCabal2nix + "byron-spec-chain" + "https://github.com/milloni/cardano-ledger" + (Some "2857b079bdab6e1545c60c614157ba8e7d19233e") + (Some "eras/byron/chain/executable-spec") + , callCabal2nix + "byron-spec-ledger" + "https://github.com/milloni/cardano-ledger" + (Some "2857b079bdab6e1545c60c614157ba8e7d19233e") + (Some "eras/byron/ledger/executable-spec") + , callHackage "canonical-json" "0.6.0.1" + , callCabal2nix + "cardano-binary" + "https://github.com/input-output-hk/cardano-base" + (Some "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee") + (Some "binary") + , callCabal2nix + "cardano-binary-test" + "https://github.com/input-output-hk/cardano-base" + (Some "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee") + (Some "binary/test") + , callCabal2nix + "cardano-crypto" + "https://github.com/input-output-hk/cardano-crypto" + (Some "07397f0e50da97eaa0575d93bee7ac4b2b2576ec") + (None Text) + , callCabal2nix + "cardano-crypto-class" + "https://github.com/input-output-hk/cardano-base" + (Some "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee") + (Some "cardano-crypto-class") + , callCabal2nix + "cardano-crypto-praos" + "https://github.com/input-output-hk/cardano-base" + (Some "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee") + (Some "cardano-crypto-praos") + , callCabal2nix + "cardano-crypto-test" + "https://github.com/milloni/cardano-ledger" + (Some "2857b079bdab6e1545c60c614157ba8e7d19233e") + (Some "eras/byron/crypto/test") + , callCabal2nix + "cardano-crypto-wrapper" + "https://github.com/milloni/cardano-ledger" + (Some "2857b079bdab6e1545c60c614157ba8e7d19233e") + (Some "eras/byron/crypto") + , callCabal2nix + "cardano-ledger-byron" + "https://github.com/milloni/cardano-ledger" + (Some "2857b079bdab6e1545c60c614157ba8e7d19233e") + (Some "eras/byron/ledger/impl") + , callCabal2nix + "cardano-strict-containers" + "https://github.com/input-output-hk/cardano-base" + (Some "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee") + (Some "cardano-strict-containers") + , callCabal2nix + "cardano-prelude" + "https://github.com/input-output-hk/cardano-prelude" + (Some "b6053a23f53acd5c519cc559c3861dda3ebf8b35") + (Some "cardano-prelude") + , callCabal2nix + "cardano-prelude-test" + "https://github.com/input-output-hk/cardano-prelude" + (Some "b6053a23f53acd5c519cc559c3861dda3ebf8b35") + (Some "cardano-prelude-test") + , callCabal2nix + "flat" + "https://github.com/Quid2/flat" + (Some "2121ee96201e39764e3a6fcbc53241afb0050647") + (None Text) + , callHackage "generic-monoid" "0.1.0.1" + , callCabal2nix + "ghc-typelits-knownnat" + "https://github.com/clash-lang/ghc-typelits-knownnat" + (Some "1bc4ee33e005e96d1f7785c715588a289707cd48") + (None Text) + , callCabal2nix + "ghc-typelits-natnormalise" + "https://github.com/clash-lang/ghc-typelits-natnormalise" + (Some "e0af5b3c69a7d8e1dd402eb727631801e7d9be3d") + (None Text) + , callCabal2nix + "goblins" + "https://github.com/newhoggy/goblins" + (Some "a315f41ec7250097fa6073b5ef4773e45758578f") + (None Text) + , callCabal2nix + "gray-code" + "https://github.com/milloni/gray-code-0.3.1" + (Some "f310a19e44416206633cfd084f10ffb7cfea9f1d") + (None Text) + , callCabal2nix + "heapwords" + "https://github.com/input-output-hk/cardano-base" + (Some "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee") + (Some "heapwords") + , callCabal2nix + "inline-r" + "https://github.com/tweag/HaskellR" + (Some "fe9b5bd06cd4d3988e47b9933b11d83b6108e255") + (Some "inline-r") + , callCabal2nix + "moo" + "https://github.com/milloni/moo" + (Some "20e4c6ee880e7d62b18b995750063dd7349a3f8e") + (None Text) + , callCabal2nix + "nothunks" + "https://github.com/locallycompact/nothunks" + (Some "0d7e3565407aa4eb21d861d075dff6f20d090f97") + (None Text) + , callCabal2nix + "plutus-core" + "https://github.com/milloni/plutus" + (Some "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd") + (Some "plutus-core") + , callCabal2nix + "plutus-ledger-api" + "https://github.com/milloni/plutus" + (Some "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd") + (Some "plutus-ledger-api") + , callCabal2nix + "plutus-tx" + "https://github.com/milloni/plutus" + (Some "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd") + (Some "plutus-tx") + , callCabal2nix + "prettyprinter-configurable" + "https://github.com/milloni/plutus" + (Some "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd") + (Some "prettyprinter-configurable") + , callHackage "protolude" "0.3.2" + , callHackage "ral" "0.1" + , callHackage "recursion-schemes" "5.2.2.2" + , callHackage "ref-tf" "0.5.0.1" + , callHackage "singletons-th" "3.1.1" + , callCabal2nix + "small-steps" + "https://github.com/milloni/cardano-ledger" + (Some "2857b079bdab6e1545c60c614157ba8e7d19233e") + (Some "libs/small-steps") + , callCabal2nix + "small-steps-test" + "https://github.com/milloni/cardano-ledger" + (Some "2857b079bdab6e1545c60c614157ba8e7d19233e") + (Some "libs/small-steps-test") + , callHackage "streaming-bytestring" "0.2.4" + , callCabal2nix + "strict-containers" + "https://github.com/milloni/strict-containers" + (Some "9e833be00bc2c5cdb0b4e743b7a2cde00dd4f616") + (Some "strict-containers") + , callHackage "th-desugar" "1.14" + , callCabal2nix + "typerep-map" + "https://github.com/parsonsmatt/typerep-map" + (Some "75b7cd5d45986be07420a6821d352ad2adc0b697") + (None Text) + , callCabal2nix + "word-array" + "https://github.com/milloni/plutus" + (Some "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd") + (Some "word-array") + ] diff --git a/overlay.nix b/overlay.nix index d6b935d4f2b6537f4c6b3c9d6494454ccd168d91..bbe50a0d88b69c48da48cb1b053d22281a222623 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,122 +1,94 @@ -{ inputs, pkgs }: -final: prev: with pkgs.haskell.lib; - let doDevbreak = x: enableCabalFlag (dontCheck (doJailbreak x)) "development"; - in - { +{ pkgs, ... }: - PyF = prev.callHackage "PyF" "0.11.0.0" { }; +final: prev: with pkgs.haskell.lib; { + PyF = prev.callPackage (./pkgs/PyF.nix) { }; - Unique = dontCheck (doJailbreak (prev.callHackage "Unique" "0.4.7.9" {})); + Unique = prev.callPackage (./pkgs/Unique.nix) { }; - algebraic-graphs = prev.callHackage "algebraic-graphs" "0.7" {}; + algebraic-graphs = prev.callPackage (./pkgs/algebraic-graphs.nix) { }; - bin = doJailbreak prev.bin; + base64-bytestring-type = prev.callPackage (./pkgs/base64-bytestring-type.nix) { }; - base16 = doJailbreak (dontCheck prev.base16); + bech32 = prev.callPackage (./pkgs/bech32.nix) { }; - base64-bytestring-type = doJailbreak (prev.callHackage "base64-bytestring-type" "1.0.1" {}); + byron-spec-chain = prev.callPackage (./pkgs/byron-spec-chain.nix) { }; - bech32 = dontCheck (prev.callHackage "bech32" "1.1.2" { }); + byron-spec-ledger = prev.callPackage (./pkgs/byron-spec-ledger.nix) { }; - byron-spec-chain = doJailbreak (prev.callCabal2nix "byron-spec-chain" (inputs.cardano-ledger + /eras/byron/chain/executable-spec) {}); + canonical-json = prev.callPackage (./pkgs/canonical-json.nix) { }; - byron-spec-ledger = doJailbreak (prev.callCabal2nix "byron-spec-ledger" (inputs.cardano-ledger + /eras/byron/ledger/executable-spec) {}); + cardano-binary = prev.callPackage (./pkgs/cardano-binary.nix) { }; - canonical-json = dontCheck (doJailbreak (prev.callHackage "canonical-json" "0.6.0.1" {})); + cardano-binary-test = prev.callPackage (./pkgs/cardano-binary-test.nix) { }; - cardano-binary = doDevbreak (prev.callCabal2nix "cardano-binary" (inputs.cardano-base + /binary) {}); + cardano-crypto = prev.callPackage (./pkgs/cardano-crypto.nix) { }; - cardano-binary-test = doJailbreak (prev.callCabal2nix "cardano-binary-test" (inputs.cardano-base + /binary/test) {}); + cardano-crypto-class = prev.callPackage (./pkgs/cardano-crypto-class.nix) { }; - cardano-crypto = prev.callCabal2nix "cardano-crypto" inputs.cardano-crypto { }; + cardano-crypto-praos = prev.callPackage (./pkgs/cardano-crypto-praos.nix) { }; - cardano-crypto-class = doDevbreak (addPkgconfigDepend (prev.callCabal2nix "cardano-crypto-class" (inputs.cardano-base + /cardano-crypto-class) {}) pkgs.libsodium); + cardano-crypto-test = prev.callPackage (./pkgs/cardano-crypto-test.nix) { }; - cardano-crypto-praos = doDevbreak (addPkgconfigDepend (prev.callCabal2nix "cardano-crypto-praos" (inputs.cardano-base + /cardano-crypto-praos) {}) pkgs.libsodium); + cardano-crypto-wrapper = prev.callPackage (./pkgs/cardano-crypto-wrapper.nix) { }; - cardano-crypto-test = doJailbreak (prev.callCabal2nix "cardano-crypto-test" (inputs.cardano-ledger + /eras/byron/crypto/test) {}); + cardano-ledger-byron = prev.callPackage (./pkgs/cardano-ledger-byron.nix) { }; - cardano-crypto-wrapper = doJailbreak (prev.callCabal2nix "cardano-crypto-wrapper" (inputs.cardano-ledger + /eras/byron/crypto) {}); + cardano-prelude = prev.callPackage (./pkgs/cardano-prelude.nix) { }; - cardano-ledger-byron = dontCheck (doJailbreak (prev.callCabal2nix "cardano-ledger-byron" (inputs.cardano-ledger + /eras/byron/ledger/impl) {})); + cardano-prelude-test = prev.callPackage (./pkgs/cardano-prelude-test.nix) { }; - cardano-prelude = enableCabalFlag (doJailbreak (prev.callCabal2nix "cardano-prelude" (inputs.cardano-prelude + /cardano-prelude) {})) "development"; + cardano-strict-containers = prev.callPackage (./pkgs/cardano-strict-containers.nix) { }; - cardano-prelude-test = dontHaddock (prev.callCabal2nix "cardano-prelude-test" (inputs.cardano-prelude + /cardano-prelude-test) {}); + flat = prev.callPackage (./pkgs/flat.nix) { }; - cardano-strict-containers = enableCabalFlag (prev.callCabal2nix "cardano-strict-containers" (inputs.cardano-base + /cardano-strict-containers) {}) "development"; + generic-monoid = prev.callPackage (./pkgs/generic-monoid.nix) { }; - flat = dontCheck (prev.callCabal2nix "flat" inputs.flat { }); + ghc-typelits-knownnat = prev.callPackage (./pkgs/ghc-typelits-knownnat.nix) { }; - fin = doJailbreak prev.fin; + ghc-typelits-natnormalise = prev.callPackage (./pkgs/ghc-typelits-natnormalise.nix) { }; - generic-monoid = doJailbreak (prev.callHackage "generic-monoid" "0.1.0.1" {}); + goblins = prev.callPackage (./pkgs/goblins.nix) { }; - ghc-typelits-knownnat = prev.callCabal2nix "ghc-typelits-knownnat" inputs.ghc-typelits-knownnat {}; + gray-code = prev.callPackage (./pkgs/gray-code.nix) { }; - ghc-typelits-natnormalise = prev.callCabal2nix "ghc-typelits-natnormalise" inputs.ghc-typelits-natnormalise {}; + heapwords = prev.callPackage (./pkgs/heapwords.nix) { }; - goblins = doJailbreak (prev.callCabal2nix "goblins" inputs.goblins {}); + inline-r = prev.callPackage (./pkgs/inline-r.nix) { }; - gray-code = prev.callCabal2nix "gray-code" inputs.gray-code {}; + moo = prev.callPackage (./pkgs/moo.nix) { }; - heapwords = enableCabalFlag (prev.callCabal2nix "heapwords" (inputs.cardano-base + /heapwords) {}) "development"; + nothunks = prev.callPackage (./pkgs/nothunks.nix) { }; - inline-r = doJailbreak (prev.callCabal2nix "inline-r" (inputs.HaskellR + /inline-r) {}); + plutus-core = prev.callPackage (./pkgs/plutus-core.nix) { }; - jsaddle = doJailbreak (prev.callHackage "jsaddle" "0.9.8.2" { }); + plutus-ledger-api = prev.callPackage (./pkgs/plutus-ledger-api.nix) { }; - microstache = doJailbreak prev.microstache; + plutus-tx = prev.callPackage (./pkgs/plutus-tx.nix) { }; - monoidal-containers = doJailbreak prev.monoidal-containers; + prettyprinter-configurable = prev.callPackage (./pkgs/prettyprinter-configurable.nix) { }; - moo = dontCheck (prev.callCabal2nix "moo" inputs.moo {}); + protolude = prev.callPackage (./pkgs/protolude.nix) { }; - multiset = dontCheck prev.multiset; + ral = prev.callPackage (./pkgs/ral.nix) { }; - nonempty-vector = doJailbreak (dontCheck prev.nonempty-vector); + recursion-schemes = prev.callPackage (./pkgs/recursion-schemes.nix) { }; -# nothunks = dontCheck (prev.callHackage "nothunks" "0.1.3" { }); - nothunks = dontCheck (doJailbreak (prev.callCabal2nix "nothunks" inputs.nothunks { })); + ref-tf = prev.callPackage (./pkgs/ref-tf.nix) { }; - prettyprinter-configurable = dontCheck (prev.callCabal2nix "prettyprinter-configurable" (inputs.plutus + /prettyprinter-configurable) {}); + singletons-th = prev.callPackage (./pkgs/singletons-th.nix) { }; - plutus-core = setBuildTarget (disableLibraryProfiling (dontBenchmark (dontCheck (doJailbreak (prev.callCabal2nix "plutus-core" (inputs.plutus + /plutus-core) {}))))) "plc"; + small-steps = prev.callPackage (./pkgs/small-steps.nix) { }; - plutus-ledger-api = disableLibraryProfiling (dontBenchmark (dontCheck (doJailbreak (prev.callCabal2nix "plutus-ledger-api" (inputs.plutus + /plutus-ledger-api) {})))); + small-steps-test = prev.callPackage (./pkgs/small-steps-test.nix) { }; - plutus-tx = disableLibraryProfiling (dontBenchmark (dontCheck (doJailbreak (prev.callCabal2nix "plutus-tx" (inputs.plutus + /plutus-tx) {})))); + streaming-bytestring = prev.callPackage (./pkgs/streaming-bytestring.nix) { }; - protolude = doJailbreak (prev.callHackage "protolude" "0.3.2" { }); + strict-containers = prev.callPackage (./pkgs/strict-containers.nix) { }; - ral = doJailbreak (prev.callHackage "ral" "0.1" { }); + th-desugar = prev.callPackage (./pkgs/th-desugar.nix) { }; - recursion-schemes = doJailbreak (prev.callHackage "recursion-schemes" "5.2.2.2" { }); + typerep-map = prev.callPackage (./pkgs/typerep-map.nix) { }; - ref-tf = prev.callHackage "ref-tf" "0.5.0.1" { }; - - secp256k1 = pkgs.secp256k1; - - secp256k1-haskell = addPkgconfigDepend (dontCheck (prev.secp256k1-haskell)) pkgs.secp256k1; - - singletons-th = prev.callHackage "singletons-th" "3.1.1" { }; - - small-steps = doJailbreak (prev.callCabal2nix "small-steps" (inputs.cardano-ledger + /libs/small-steps) {}); - - small-steps-test = doJailbreak (prev.callCabal2nix "small-steps-test" (inputs.cardano-ledger + /libs/small-steps-test) {}); - - streaming-bytestring = doJailbreak (prev.callHackage "streaming-bytestring" "0.2.4" {}); - - strict-containers = dontCheck (doJailbreak (prev.callCabal2nix "strict-containers" (inputs.strict-containers + /strict-containers) {})); - - th-extras = doJailbreak prev.th-extras; - - th-desugar = prev.callHackage "th-desugar" "1.14" {}; - - typerep-map = doJailbreak (prev.callCabal2nix "typerep-map" inputs.typerep-map {}); - - vector-binary-instances = doJailbreak prev.vector-binary-instances; - - word-array = prev.callCabal2nix "word-array" (inputs.plutus + /word-array) {}; + word-array = prev.callPackage (./pkgs/word-array.nix) { }; } diff --git a/pkgs/PyF.nix b/pkgs/PyF.nix new file mode 100644 index 0000000000000000000000000000000000000000..2eb2c5313d826859659e6a4ca24cbcbcc0097a23 --- /dev/null +++ b/pkgs/PyF.nix @@ -0,0 +1,55 @@ +{ mkDerivation +, base +, bytestring +, deepseq +, filepath +, ghc +, ghc-boot +, hspec +, HUnit +, lib +, mtl +, parsec +, process +, template-haskell +, temporary +, text +, time +}: +mkDerivation { + pname = "PyF"; + version = "0.11.0.0"; + sha256 = "aa9a5ef335f5f380e1e534335f6e8cb0979fb897b1226d76c8369ba62254ad30"; + revision = "1"; + editedCabalFile = "091gbpmwhzvkmsk1kpsczwqb02vyw3603mqxflrajg9h2idgsdkd"; + libraryHaskellDepends = [ + base + bytestring + ghc + ghc-boot + mtl + parsec + template-haskell + text + time + ]; + testHaskellDepends = [ + base + bytestring + deepseq + filepath + hspec + HUnit + process + template-haskell + temporary + text + time + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Quasiquotations for a python like interpolated string formatter"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/Unique.nix b/pkgs/Unique.nix new file mode 100644 index 0000000000000000000000000000000000000000..204c2ec5b995a7141c944e4fcdbd391527825467 --- /dev/null +++ b/pkgs/Unique.nix @@ -0,0 +1,40 @@ +{ mkDerivation +, base +, bytestring +, containers +, criterion +, extra +, hashable +, hspec +, lib +, QuickCheck +, quickcheck-instances +, unordered-containers +}: +mkDerivation { + pname = "Unique"; + version = "0.4.7.9"; + sha256 = "34e8247ef2769cae219ff05bed0c8269d680396c451c1d31aa6ad506abc5c191"; + libraryHaskellDepends = [ + base + containers + extra + hashable + unordered-containers + ]; + testHaskellDepends = [ base containers hspec QuickCheck ]; + benchmarkHaskellDepends = [ + base + bytestring + criterion + hashable + QuickCheck + quickcheck-instances + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "It provides the functionality like unix \"uniq\" utility"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/algebraic-graphs.nix b/pkgs/algebraic-graphs.nix new file mode 100644 index 0000000000000000000000000000000000000000..afaf60f2c0cf6121e45d7bf6e598cd9a0ad05e90 --- /dev/null +++ b/pkgs/algebraic-graphs.nix @@ -0,0 +1,40 @@ +{ mkDerivation +, array +, base +, containers +, deepseq +, extra +, inspection-testing +, lib +, QuickCheck +, transformers +}: +mkDerivation { + pname = "algebraic-graphs"; + version = "0.7"; + sha256 = "51159a0d18690ab51e6709e3c576275402f96f57d901f87d734da6854582e568"; + libraryHaskellDepends = [ + array + base + containers + deepseq + transformers + ]; + testHaskellDepends = [ + array + base + containers + deepseq + extra + inspection-testing + QuickCheck + transformers + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/snowleopard/alga"; + description = "A library for algebraic graph construction and transformation"; + license = lib.licenses.mit; +} diff --git a/pkgs/base64-bytestring-type.nix b/pkgs/base64-bytestring-type.nix new file mode 100644 index 0000000000000000000000000000000000000000..94f7d22457cc3310cc636a6abb54c432c8ad484a --- /dev/null +++ b/pkgs/base64-bytestring-type.nix @@ -0,0 +1,58 @@ +{ mkDerivation +, aeson +, base +, base-compat +, base64-bytestring +, binary +, bytestring +, cereal +, deepseq +, hashable +, http-api-data +, lib +, QuickCheck +, serialise +, tasty +, tasty-quickcheck +, text +}: +mkDerivation { + pname = "base64-bytestring-type"; + version = "1.0.1"; + sha256 = "f607d07c4aab227b4536c495fa7c07b35ddc9c2c013d385c16c02f236526780e"; + revision = "14"; + editedCabalFile = "0pfj807231v2jn5067yhn13f6qq3d77fqnglmzh5wp445ikd5q0s"; + libraryHaskellDepends = [ + aeson + base + base-compat + base64-bytestring + binary + bytestring + cereal + deepseq + hashable + http-api-data + QuickCheck + serialise + text + ]; + testHaskellDepends = [ + aeson + base + binary + bytestring + cereal + http-api-data + serialise + tasty + tasty-quickcheck + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/phadej/base64-bytestring-type#readme"; + description = "A newtype around ByteString, for base64 encoding"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/bech32.nix b/pkgs/bech32.nix new file mode 100644 index 0000000000000000000000000000000000000000..f0bb9b96405d780a37d9dd192f51405f76e594d2 --- /dev/null +++ b/pkgs/bech32.nix @@ -0,0 +1,65 @@ +{ mkDerivation +, array +, base +, base58-bytestring +, bytestring +, containers +, deepseq +, extra +, hspec +, hspec-discover +, lib +, memory +, optparse-applicative +, process +, QuickCheck +, text +, vector +}: +mkDerivation { + pname = "bech32"; + version = "1.1.2"; + sha256 = "489e1922dce97ce59f72d87b17480eb0087b6661d4bcb7be124e027abcb7d2c7"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array + base + bytestring + containers + extra + text + ]; + executableHaskellDepends = [ + base + base58-bytestring + bytestring + extra + memory + optparse-applicative + text + ]; + testHaskellDepends = [ + base + base58-bytestring + bytestring + containers + deepseq + extra + hspec + memory + process + QuickCheck + text + vector + ]; + testToolDepends = [ hspec-discover ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/input-output-hk/bech32"; + description = "Implementation of the Bech32 cryptocurrency address format (BIP 0173)"; + license = lib.licenses.asl20; + mainProgram = "bech32"; +} diff --git a/pkgs/byron-spec-chain.nix b/pkgs/byron-spec-chain.nix new file mode 100644 index 0000000000000000000000000000000000000000..b0ea2c33aaa6d44e22a65f43e0f6bb0c114be011 --- /dev/null +++ b/pkgs/byron-spec-chain.nix @@ -0,0 +1,63 @@ +{ mkDerivation +, base +, bimap +, byron-spec-ledger +, bytestring +, containers +, data-ordlist +, fetchgit +, hashable +, hedgehog +, lib +, microlens +, microlens-th +, small-steps +, small-steps-test +, tasty +, tasty-hedgehog +, tasty-hunit +}: +mkDerivation { + pname = "byron-spec-chain"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "0vzz5a3alzl4hh62krifc0qzc03pxpm42szhxq0p88qvjjy3cwkj"; + rev = "2857b079bdab6e1545c60c614157ba8e7d19233e"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/eras/byron/chain/executable-spec/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + base + bimap + byron-spec-ledger + bytestring + containers + hashable + hedgehog + microlens + microlens-th + small-steps + small-steps-test + ]; + testHaskellDepends = [ + base + byron-spec-ledger + containers + data-ordlist + hedgehog + microlens + small-steps + small-steps-test + tasty + tasty-hedgehog + tasty-hunit + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/input-output-hk/cardano-legder"; + description = "Executable specification of the Cardano blockchain"; + license = lib.licenses.asl20; +} diff --git a/pkgs/byron-spec-ledger.nix b/pkgs/byron-spec-ledger.nix new file mode 100644 index 0000000000000000000000000000000000000000..8c4cd25dadf995ca880026d49f4737fb3ec7f7b9 --- /dev/null +++ b/pkgs/byron-spec-ledger.nix @@ -0,0 +1,73 @@ +{ mkDerivation +, base +, bimap +, bytestring +, cardano-binary +, cardano-crypto-class +, containers +, cryptonite +, fetchgit +, hashable +, hedgehog +, lib +, microlens +, microlens-th +, nothunks +, small-steps +, small-steps-test +, tasty +, tasty-hedgehog +, tasty-hunit +, template-haskell +, Unique +}: +mkDerivation { + pname = "byron-spec-ledger"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "0vzz5a3alzl4hh62krifc0qzc03pxpm42szhxq0p88qvjjy3cwkj"; + rev = "2857b079bdab6e1545c60c614157ba8e7d19233e"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/eras/byron/ledger/executable-spec/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + base + bimap + bytestring + cardano-binary + cardano-crypto-class + containers + cryptonite + hashable + hedgehog + microlens + microlens-th + nothunks + small-steps + small-steps-test + template-haskell + Unique + ]; + testHaskellDepends = [ + base + bimap + containers + hedgehog + microlens + microlens-th + small-steps + small-steps-test + tasty + tasty-hedgehog + tasty-hunit + Unique + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/input-output-hk/cardano-legder"; + description = "Executable specification of Cardano ledger"; + license = lib.licenses.asl20; +} diff --git a/pkgs/canonical-json.nix b/pkgs/canonical-json.nix new file mode 100644 index 0000000000000000000000000000000000000000..a28390ea487c2377bed8299e07f86bfc481865ba --- /dev/null +++ b/pkgs/canonical-json.nix @@ -0,0 +1,48 @@ +{ mkDerivation +, aeson +, base +, bytestring +, containers +, criterion +, deepseq +, lib +, parsec +, pretty +, QuickCheck +, tasty +, tasty-quickcheck +, unordered-containers +, vector +}: +mkDerivation { + pname = "canonical-json"; + version = "0.6.0.1"; + sha256 = "33df39d9058d33357956cdf7f911184a26da20c49b90f844ec6374f6bf5ace7e"; + libraryHaskellDepends = [ + base + bytestring + containers + deepseq + parsec + pretty + ]; + testHaskellDepends = [ + aeson + base + bytestring + containers + QuickCheck + tasty + tasty-quickcheck + unordered-containers + vector + ]; + benchmarkHaskellDepends = [ base bytestring containers criterion ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/well-typed/canonical-json"; + description = "Canonical JSON for signing and hashing JSON values"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/cardano-binary-test.nix b/pkgs/cardano-binary-test.nix new file mode 100644 index 0000000000000000000000000000000000000000..299692c725590fa6c448e327c7ae1cbecd8e84bc --- /dev/null +++ b/pkgs/cardano-binary-test.nix @@ -0,0 +1,53 @@ +{ mkDerivation +, base +, bytestring +, cardano-binary +, cardano-prelude-test +, cborg +, containers +, fetchgit +, formatting +, hedgehog +, hspec +, lib +, pretty-show +, QuickCheck +, quickcheck-instances +, text +, time +, vector +}: +mkDerivation { + pname = "cardano-binary-test"; + version = "1.3.0.1"; + src = fetchgit { + url = "https://github.com/input-output-hk/cardano-base"; + sha256 = "0qn56ahqmy79riwyaq5m0d4vpamdjkkk04b0x8zwlyd5y3pg58xd"; + rev = "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/binary/test/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + base + bytestring + cardano-binary + cardano-prelude-test + cborg + containers + formatting + hedgehog + hspec + pretty-show + QuickCheck + quickcheck-instances + text + time + vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Test helpers from cardano-binary exposed to other packages"; + license = lib.licenses.mit; +} diff --git a/pkgs/cardano-binary.nix b/pkgs/cardano-binary.nix new file mode 100644 index 0000000000000000000000000000000000000000..4856b94e8cfe57b6b0e21881ae5fa5d531973648 --- /dev/null +++ b/pkgs/cardano-binary.nix @@ -0,0 +1,78 @@ +{ mkDerivation +, aeson +, base +, bytestring +, cardano-prelude-test +, cborg +, containers +, data-fix +, deepseq +, fetchgit +, formatting +, hedgehog +, hspec +, lib +, nothunks +, pretty-show +, primitive +, QuickCheck +, quickcheck-instances +, recursion-schemes +, safe-exceptions +, tagged +, text +, time +, vector +}: +mkDerivation { + pname = "cardano-binary"; + version = "1.5.0.1"; + src = fetchgit { + url = "https://github.com/input-output-hk/cardano-base"; + sha256 = "0qn56ahqmy79riwyaq5m0d4vpamdjkkk04b0x8zwlyd5y3pg58xd"; + rev = "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/binary/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + bytestring + cborg + containers + data-fix + deepseq + formatting + nothunks + primitive + recursion-schemes + safe-exceptions + tagged + text + time + vector + ]; + testHaskellDepends = [ + base + bytestring + cardano-prelude-test + cborg + containers + formatting + hedgehog + hspec + pretty-show + QuickCheck + quickcheck-instances + tagged + text + time + vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Binary serialization for Cardano"; + license = lib.licenses.asl20; +} diff --git a/pkgs/cardano-crypto-class.nix b/pkgs/cardano-crypto-class.nix new file mode 100644 index 0000000000000000000000000000000000000000..26d3513f426d7db2266b5d198bd3c229a5067e7b --- /dev/null +++ b/pkgs/cardano-crypto-class.nix @@ -0,0 +1,64 @@ +{ mkDerivation +, aeson +, base +, base16-bytestring +, bytestring +, cardano-binary +, cardano-strict-containers +, cryptonite +, deepseq +, fetchgit +, heapwords +, lib +, libsodium +, memory +, nothunks +, primitive +, secp256k1 +, serialise +, template-haskell +, text +, th-compat +, transformers +, unix +, vector +}: +mkDerivation { + pname = "cardano-crypto-class"; + version = "2.0.0.1"; + src = fetchgit { + url = "https://github.com/input-output-hk/cardano-base"; + sha256 = "0qn56ahqmy79riwyaq5m0d4vpamdjkkk04b0x8zwlyd5y3pg58xd"; + rev = "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/cardano-crypto-class/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + base16-bytestring + bytestring + cardano-binary + cardano-strict-containers + cryptonite + deepseq + heapwords + memory + nothunks + primitive + serialise + template-haskell + text + th-compat + transformers + vector + ]; + libraryPkgconfigDepends = [ libsodium secp256k1 ]; + testHaskellDepends = [ base bytestring unix ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Type classes abstracting over cryptography primitives for Cardano"; + license = lib.licenses.asl20; +} diff --git a/pkgs/cardano-crypto-praos.nix b/pkgs/cardano-crypto-praos.nix new file mode 100644 index 0000000000000000000000000000000000000000..4563e4cb259e905e36c37096c95ae4ef772e2b30 --- /dev/null +++ b/pkgs/cardano-crypto-praos.nix @@ -0,0 +1,37 @@ +{ mkDerivation +, base +, bytestring +, cardano-binary +, cardano-crypto-class +, deepseq +, fetchgit +, lib +, libsodium +, nothunks +}: +mkDerivation { + pname = "cardano-crypto-praos"; + version = "2.0.0.1"; + src = fetchgit { + url = "https://github.com/input-output-hk/cardano-base"; + sha256 = "0qn56ahqmy79riwyaq5m0d4vpamdjkkk04b0x8zwlyd5y3pg58xd"; + rev = "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/cardano-crypto-praos/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + base + bytestring + cardano-binary + cardano-crypto-class + deepseq + nothunks + ]; + libraryPkgconfigDepends = [ libsodium ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Crypto primitives from libsodium"; + license = lib.licenses.asl20; +} diff --git a/pkgs/cardano-crypto-test.nix b/pkgs/cardano-crypto-test.nix new file mode 100644 index 0000000000000000000000000000000000000000..f191a7572ddd44023a06b60a3d9200c213e8ce2e --- /dev/null +++ b/pkgs/cardano-crypto-test.nix @@ -0,0 +1,46 @@ +{ mkDerivation +, base +, bytestring +, cardano-binary +, cardano-binary-test +, cardano-crypto +, cardano-crypto-wrapper +, cardano-prelude +, cardano-prelude-test +, cryptonite +, fetchgit +, hedgehog +, lib +, memory +}: +mkDerivation { + pname = "cardano-crypto-test"; + version = "1.3.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "0vzz5a3alzl4hh62krifc0qzc03pxpm42szhxq0p88qvjjy3cwkj"; + rev = "2857b079bdab6e1545c60c614157ba8e7d19233e"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/eras/byron/crypto/test/; echo source root reset to $sourceRoot"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + base + bytestring + cardano-binary + cardano-binary-test + cardano-crypto + cardano-crypto-wrapper + cardano-prelude + cardano-prelude-test + cryptonite + hedgehog + memory + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Test helpers from cardano-crypto exposed to other packages"; + license = lib.licenses.asl20; +} diff --git a/pkgs/cardano-crypto-wrapper.nix b/pkgs/cardano-crypto-wrapper.nix new file mode 100644 index 0000000000000000000000000000000000000000..8cc0fc80180a7696aeda45835596d7cd04162f2a --- /dev/null +++ b/pkgs/cardano-crypto-wrapper.nix @@ -0,0 +1,81 @@ +{ mkDerivation +, aeson +, base +, base16-bytestring +, base64-bytestring +, base64-bytestring-type +, binary +, bytestring +, canonical-json +, cardano-binary +, cardano-binary-test +, cardano-crypto +, cardano-prelude +, cardano-prelude-test +, cryptonite +, data-default +, fetchgit +, filepath +, formatting +, heapwords +, hedgehog +, lib +, memory +, mtl +, nothunks +, text +}: +mkDerivation { + pname = "cardano-crypto-wrapper"; + version = "1.3.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "0vzz5a3alzl4hh62krifc0qzc03pxpm42szhxq0p88qvjjy3cwkj"; + rev = "2857b079bdab6e1545c60c614157ba8e7d19233e"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/eras/byron/crypto/; echo source root reset to $sourceRoot"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson + base + base16-bytestring + base64-bytestring + base64-bytestring-type + binary + bytestring + canonical-json + cardano-binary + cardano-crypto + cardano-prelude + cryptonite + data-default + formatting + heapwords + memory + mtl + nothunks + text + ]; + testHaskellDepends = [ + base + bytestring + cardano-binary + cardano-binary-test + cardano-crypto + cardano-prelude + cardano-prelude-test + cryptonite + filepath + formatting + hedgehog + memory + text + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Cryptographic primitives used in the Cardano project"; + license = lib.licenses.asl20; +} diff --git a/pkgs/cardano-crypto.nix b/pkgs/cardano-crypto.nix new file mode 100644 index 0000000000000000000000000000000000000000..d8d6ab92d22993bf757f7bc5541c19832160f269 --- /dev/null +++ b/pkgs/cardano-crypto.nix @@ -0,0 +1,59 @@ +{ mkDerivation +, base +, basement +, bytestring +, cryptonite +, deepseq +, fetchgit +, foundation +, gauge +, hashable +, integer-gmp +, lib +, memory +}: +mkDerivation { + pname = "cardano-crypto"; + version = "1.1.0"; + src = fetchgit { + url = "https://github.com/input-output-hk/cardano-crypto"; + sha256 = "06sdx5ndn2g722jhpicmg96vsrys89fl81k8290b3lr6b1b0w4m3"; + rev = "07397f0e50da97eaa0575d93bee7ac4b2b2576ec"; + fetchSubmodules = true; + }; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base + basement + bytestring + cryptonite + deepseq + foundation + hashable + integer-gmp + memory + ]; + testHaskellDepends = [ + base + basement + bytestring + cryptonite + foundation + memory + ]; + benchmarkHaskellDepends = [ + base + bytestring + cryptonite + gauge + memory + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/input-output-hk/cardano-crypto#readme"; + description = "Cryptography primitives for cardano"; + license = lib.licenses.mit; +} diff --git a/pkgs/cardano-ledger-byron.nix b/pkgs/cardano-ledger-byron.nix new file mode 100644 index 0000000000000000000000000000000000000000..b769780a351a1e96215e0c63e5884c9b90f290ed --- /dev/null +++ b/pkgs/cardano-ledger-byron.nix @@ -0,0 +1,134 @@ +{ mkDerivation +, aeson +, base +, base16-bytestring +, base58-bytestring +, bimap +, binary +, byron-spec-chain +, byron-spec-ledger +, bytestring +, Cabal +, canonical-json +, cardano-binary +, cardano-binary-test +, cardano-crypto +, cardano-crypto-test +, cardano-crypto-wrapper +, cardano-prelude +, cardano-prelude-test +, cborg +, containers +, contra-tracer +, cryptonite +, deepseq +, digest +, directory +, fetchgit +, filepath +, formatting +, generic-monoid +, heapwords +, hedgehog +, lib +, microlens +, mtl +, nothunks +, quiet +, resourcet +, small-steps +, small-steps-test +, streaming +, streaming-binary +, streaming-bytestring +, tasty +, tasty-hedgehog +, text +, time +, vector +}: +mkDerivation { + pname = "cardano-ledger-byron"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "0vzz5a3alzl4hh62krifc0qzc03pxpm42szhxq0p88qvjjy3cwkj"; + rev = "2857b079bdab6e1545c60c614157ba8e7d19233e"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/eras/byron/ledger/impl/; echo source root reset to $sourceRoot"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + aeson + base + base58-bytestring + bimap + binary + bytestring + Cabal + canonical-json + cardano-binary + cardano-crypto + cardano-crypto-wrapper + cardano-prelude + cborg + containers + contra-tracer + cryptonite + deepseq + digest + directory + filepath + formatting + heapwords + mtl + nothunks + quiet + resourcet + streaming + streaming-binary + streaming-bytestring + text + time + vector + ]; + testHaskellDepends = [ + base + base16-bytestring + bimap + byron-spec-chain + byron-spec-ledger + bytestring + cardano-binary + cardano-binary-test + cardano-crypto + cardano-crypto-test + cardano-crypto-wrapper + cardano-prelude + cardano-prelude-test + cborg + containers + directory + filepath + formatting + generic-monoid + heapwords + hedgehog + microlens + resourcet + small-steps + small-steps-test + streaming + tasty + tasty-hedgehog + text + time + vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "The blockchain layer of Cardano during the Byron era"; + license = lib.licenses.asl20; +} diff --git a/pkgs/cardano-prelude-test.nix b/pkgs/cardano-prelude-test.nix new file mode 100644 index 0000000000000000000000000000000000000000..57cb69ffb63c24370ed5884029b5fb7e12e9a0c7 --- /dev/null +++ b/pkgs/cardano-prelude-test.nix @@ -0,0 +1,74 @@ +{ mkDerivation +, aeson +, aeson-pretty +, attoparsec +, base +, base16-bytestring +, bytestring +, canonical-json +, cardano-prelude +, containers +, cryptonite +, fetchgit +, formatting +, ghc-heap +, ghc-prim +, hedgehog +, hspec +, lib +, pretty-show +, QuickCheck +, quickcheck-instances +, template-haskell +, text +, th-compat +, time +}: +mkDerivation { + pname = "cardano-prelude-test"; + version = "0.1.0.1"; + src = fetchgit { + url = "https://github.com/input-output-hk/cardano-prelude"; + sha256 = "1bshxlraxkm12kj5fn98n8vqwdl8ivxh069zr1y5icmfh8hv50zd"; + rev = "b6053a23f53acd5c519cc559c3861dda3ebf8b35"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/cardano-prelude-test/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + aeson-pretty + attoparsec + base + base16-bytestring + bytestring + canonical-json + cardano-prelude + containers + cryptonite + formatting + hedgehog + hspec + pretty-show + QuickCheck + quickcheck-instances + template-haskell + text + th-compat + time + ]; + testHaskellDepends = [ + base + bytestring + cardano-prelude + ghc-heap + ghc-prim + hedgehog + text + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Utility types and functions for testing Cardano"; + license = lib.licenses.mit; +} diff --git a/pkgs/cardano-prelude.nix b/pkgs/cardano-prelude.nix new file mode 100644 index 0000000000000000000000000000000000000000..90b7c60afacd29f1c7aa3e419e41472ecb756521 --- /dev/null +++ b/pkgs/cardano-prelude.nix @@ -0,0 +1,57 @@ +{ mkDerivation +, aeson +, base +, base16-bytestring +, bytestring +, canonical-json +, cborg +, containers +, fetchgit +, formatting +, ghc-heap +, ghc-prim +, integer-gmp +, lib +, microlens +, mtl +, protolude +, tagged +, text +, time +}: +mkDerivation { + pname = "cardano-prelude"; + version = "0.1.0.1"; + src = fetchgit { + url = "https://github.com/input-output-hk/cardano-prelude"; + sha256 = "1bshxlraxkm12kj5fn98n8vqwdl8ivxh069zr1y5icmfh8hv50zd"; + rev = "b6053a23f53acd5c519cc559c3861dda3ebf8b35"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/cardano-prelude/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + base16-bytestring + bytestring + canonical-json + cborg + containers + formatting + ghc-heap + ghc-prim + integer-gmp + microlens + mtl + protolude + tagged + text + time + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "A Prelude replacement for the Cardano project"; + license = lib.licenses.mit; +} diff --git a/pkgs/cardano-strict-containers.nix b/pkgs/cardano-strict-containers.nix new file mode 100644 index 0000000000000000000000000000000000000000..9a3c54d551a42a15674fe7a204395e50c36ba9c5 --- /dev/null +++ b/pkgs/cardano-strict-containers.nix @@ -0,0 +1,43 @@ +{ mkDerivation +, aeson +, base +, cardano-binary +, cborg +, containers +, data-default-class +, deepseq +, fetchgit +, fingertree +, lib +, nothunks +, serialise +}: +mkDerivation { + pname = "cardano-strict-containers"; + version = "0.1.0.1"; + src = fetchgit { + url = "https://github.com/input-output-hk/cardano-base"; + sha256 = "0qn56ahqmy79riwyaq5m0d4vpamdjkkk04b0x8zwlyd5y3pg58xd"; + rev = "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/cardano-strict-containers/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + cardano-binary + cborg + containers + data-default-class + deepseq + fingertree + nothunks + serialise + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Various strict container types"; + license = lib.licenses.asl20; +} diff --git a/pkgs/flat.nix b/pkgs/flat.nix new file mode 100644 index 0000000000000000000000000000000000000000..46e198525a8f616f97ad0d662f6ed0154142f3e9 --- /dev/null +++ b/pkgs/flat.nix @@ -0,0 +1,82 @@ +{ mkDerivation +, array +, base +, bytestring +, containers +, deepseq +, dlist +, fetchgit +, filepath +, ghc-prim +, hashable +, lib +, list-t +, mono-traversable +, pretty +, primitive +, QuickCheck +, quickcheck-text +, tasty +, tasty-hunit +, tasty-quickcheck +, text +, timeit +, unordered-containers +, vector +}: +mkDerivation { + pname = "flat"; + version = "0.5.2"; + src = fetchgit { + url = "https://github.com/Quid2/flat"; + sha256 = "19dhz3gg9fv4mjkrwckiv2269z1x07ah691s38yk7ysp6rxygvbn"; + rev = "2121ee96201e39764e3a6fcbc53241afb0050647"; + fetchSubmodules = true; + }; + libraryHaskellDepends = [ + array + base + bytestring + containers + deepseq + dlist + ghc-prim + hashable + list-t + mono-traversable + pretty + primitive + text + unordered-containers + vector + ]; + testHaskellDepends = [ + array + base + bytestring + containers + deepseq + dlist + filepath + ghc-prim + list-t + mono-traversable + pretty + QuickCheck + quickcheck-text + tasty + tasty-hunit + tasty-quickcheck + text + timeit + unordered-containers + vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "http://quid2.org"; + description = "Principled and efficient bit-oriented binary serialization"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/generic-monoid.nix b/pkgs/generic-monoid.nix new file mode 100644 index 0000000000000000000000000000000000000000..ba11a480a6d4336371964c26f26aaf0ce2be3b71 --- /dev/null +++ b/pkgs/generic-monoid.nix @@ -0,0 +1,15 @@ +{ mkDerivation, base, lib }: +mkDerivation { + pname = "generic-monoid"; + version = "0.1.0.1"; + sha256 = "cfd072ad70af41c1b94ac24e42e2635f37ed2a54e8f4be871be78b18b66b2adf"; + revision = "1"; + editedCabalFile = "17dfarnbv6si8rgajb3jqsbc4k1nxmvga2h1lhmpnq43n2fdkqkq"; + libraryHaskellDepends = [ base ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Derive monoid instances for product types"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/ghc-typelits-knownnat.nix b/pkgs/ghc-typelits-knownnat.nix new file mode 100644 index 0000000000000000000000000000000000000000..909a09cba01bc2ee0ae39fd57ba1bceca65f5c8a --- /dev/null +++ b/pkgs/ghc-typelits-knownnat.nix @@ -0,0 +1,47 @@ +{ mkDerivation +, base +, fetchgit +, ghc +, ghc-prim +, ghc-tcplugins-extra +, ghc-typelits-natnormalise +, lib +, tasty +, tasty-hunit +, tasty-quickcheck +, template-haskell +, transformers +}: +mkDerivation { + pname = "ghc-typelits-knownnat"; + version = "0.7.7"; + src = fetchgit { + url = "https://github.com/clash-lang/ghc-typelits-knownnat"; + sha256 = "0pqfmkr15zpd3vimg3xp5akz920qn21v1yp4c55nadj3s0cfb3vg"; + rev = "1bc4ee33e005e96d1f7785c715588a289707cd48"; + fetchSubmodules = true; + }; + libraryHaskellDepends = [ + base + ghc + ghc-prim + ghc-tcplugins-extra + ghc-typelits-natnormalise + template-haskell + transformers + ]; + testHaskellDepends = [ + base + ghc-typelits-natnormalise + tasty + tasty-hunit + tasty-quickcheck + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "http://clash-lang.org/"; + description = "Derive KnownNat constraints from other KnownNat constraints"; + license = lib.licenses.bsd2; +} diff --git a/pkgs/ghc-typelits-natnormalise.nix b/pkgs/ghc-typelits-natnormalise.nix new file mode 100644 index 0000000000000000000000000000000000000000..16b12dc85b5e9a1cf01b13bf1a30bdf163b4fab8 --- /dev/null +++ b/pkgs/ghc-typelits-natnormalise.nix @@ -0,0 +1,46 @@ +{ mkDerivation +, base +, containers +, fetchgit +, ghc +, ghc-bignum +, ghc-prim +, ghc-tcplugins-extra +, lib +, tasty +, tasty-hunit +, template-haskell +, transformers +}: +mkDerivation { + pname = "ghc-typelits-natnormalise"; + version = "0.7.7"; + src = fetchgit { + url = "https://github.com/clash-lang/ghc-typelits-natnormalise"; + sha256 = "1zzkq16y56zg81abrn0c4d3bvzjk26hfvmbmfcy0zj46fy2bmc6b"; + rev = "e0af5b3c69a7d8e1dd402eb727631801e7d9be3d"; + fetchSubmodules = true; + }; + libraryHaskellDepends = [ + base + containers + ghc + ghc-bignum + ghc-tcplugins-extra + transformers + ]; + testHaskellDepends = [ + base + ghc-prim + tasty + tasty-hunit + template-haskell + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "http://www.clash-lang.org/"; + description = "GHC typechecker plugin for types of kind GHC.TypeLits.Nat"; + license = lib.licenses.bsd2; +} diff --git a/pkgs/goblins.nix b/pkgs/goblins.nix new file mode 100644 index 0000000000000000000000000000000000000000..b8e519b382bd6f169aea13ea85986e5de2972335 --- /dev/null +++ b/pkgs/goblins.nix @@ -0,0 +1,63 @@ +{ mkDerivation +, base +, bimap +, binary +, bytestring +, containers +, extra +, fetchgit +, hedgehog +, lib +, microlens +, microlens-mtl +, microlens-th +, mmorph +, monad-control +, moo +, random +, template-haskell +, temporary +, th-utilities +, transformers +, tree-diff +, typerep-map +}: +mkDerivation { + pname = "goblins"; + version = "0.2.0.0"; + src = fetchgit { + url = "https://github.com/newhoggy/goblins"; + sha256 = "0dsfra4qrl5555fq71xlwli6ygkw47biwr1wx73m957vf6knpsn5"; + rev = "a315f41ec7250097fa6073b5ef4773e45758578f"; + fetchSubmodules = true; + }; + libraryHaskellDepends = [ + base + bimap + binary + bytestring + containers + extra + hedgehog + microlens + microlens-mtl + microlens-th + mmorph + monad-control + moo + random + template-haskell + th-utilities + transformers + tree-diff + typerep-map + ]; + testHaskellDepends = [ base hedgehog temporary ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/input-output-hk/goblins"; + description = "Genetic algorithm based randomised testing"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/gray-code.nix b/pkgs/gray-code.nix new file mode 100644 index 0000000000000000000000000000000000000000..ba6a0a089cd9f7a8e265f10f368a7f0141dff26a --- /dev/null +++ b/pkgs/gray-code.nix @@ -0,0 +1,19 @@ +{ mkDerivation, base, fetchgit, lib }: +mkDerivation { + pname = "gray-code"; + version = "0.3.1"; + src = fetchgit { + url = "https://github.com/milloni/gray-code-0.3.1"; + sha256 = "0mxy8c3ggb8fnpcjcl3c22qljzljly1mgxikpg3l7123h09xrzaf"; + rev = "f310a19e44416206633cfd084f10ffb7cfea9f1d"; + fetchSubmodules = true; + }; + libraryHaskellDepends = [ base ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "http://bitbucket.org/astanin/hs-gray-code"; + description = "Gray code encoder/decoder"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/heapwords.nix b/pkgs/heapwords.nix new file mode 100644 index 0000000000000000000000000000000000000000..c0b938d05c98f9f23c746f4045f66feaa3d631a4 --- /dev/null +++ b/pkgs/heapwords.nix @@ -0,0 +1,39 @@ +{ mkDerivation +, array +, base +, bytestring +, containers +, fetchgit +, ghc-prim +, lib +, text +, time +, vector +}: +mkDerivation { + pname = "heapwords"; + version = "0.1.0.1"; + src = fetchgit { + url = "https://github.com/input-output-hk/cardano-base"; + sha256 = "0qn56ahqmy79riwyaq5m0d4vpamdjkkk04b0x8zwlyd5y3pg58xd"; + rev = "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/heapwords/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + array + base + bytestring + containers + ghc-prim + text + time + vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Heapwords"; + license = lib.licenses.asl20; +} diff --git a/pkgs/inline-r.nix b/pkgs/inline-r.nix new file mode 100644 index 0000000000000000000000000000000000000000..bb3ff3144280c86f4cac2eaae1cdce679759dffe --- /dev/null +++ b/pkgs/inline-r.nix @@ -0,0 +1,122 @@ +{ mkDerivation +, aeson +, base +, bytestring +, containers +, criterion +, data-default-class +, deepseq +, directory +, exceptions +, fetchgit +, filepath +, heredoc +, ieee754 +, inline-c +, lib +, mtl +, pretty +, primitive +, process +, quickcheck-assertions +, R +, reflection +, setenv +, silently +, singletons +, singletons-th +, strict +, tasty +, tasty-expected-failure +, tasty-golden +, tasty-hunit +, tasty-quickcheck +, template-haskell +, temporary +, text +, th-lift +, th-orphans +, transformers +, unix +, vector +}: +mkDerivation { + pname = "inline-r"; + version = "0.10.5"; + src = fetchgit { + url = "https://github.com/tweag/HaskellR"; + sha256 = "1a72f3bbyfs1cvbag49dav8fmshbkf3qmaimf862fsaabig2c9vw"; + rev = "fe9b5bd06cd4d3988e47b9933b11d83b6108e255"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/inline-r/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + bytestring + containers + data-default-class + deepseq + exceptions + heredoc + inline-c + mtl + pretty + primitive + process + reflection + setenv + singletons + singletons-th + template-haskell + temporary + text + th-lift + th-orphans + transformers + unix + vector + ]; + libraryPkgconfigDepends = [ R ]; + testHaskellDepends = [ + base + bytestring + directory + filepath + heredoc + ieee754 + mtl + process + quickcheck-assertions + silently + singletons + strict + tasty + tasty-expected-failure + tasty-golden + tasty-hunit + tasty-quickcheck + template-haskell + temporary + text + unix + vector + ]; + benchmarkHaskellDepends = [ + base + criterion + filepath + primitive + process + singletons + template-haskell + vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://tweag.github.io/HaskellR"; + description = "Seamlessly call R from Haskell and vice versa. No FFI required."; + license = lib.licenses.bsd3; +} diff --git a/pkgs/moo.nix b/pkgs/moo.nix new file mode 100644 index 0000000000000000000000000000000000000000..d59be907c2576b6a02c2c75a9b698269ae369b70 --- /dev/null +++ b/pkgs/moo.nix @@ -0,0 +1,63 @@ +{ mkDerivation +, array +, base +, containers +, fetchgit +, gray-code +, HUnit +, lib +, mersenne-random-pure64 +, MonadRandom +, mtl +, parallel +, random +, random-shuffle +, time +, vector +}: +mkDerivation { + pname = "moo"; + version = "1.2"; + src = fetchgit { + url = "https://github.com/milloni/moo"; + sha256 = "1mdj218hgh7s5a6b9k14vg9i06zxah0wa42ycdgh245izs8nfv0x"; + rev = "20e4c6ee880e7d62b18b995750063dd7349a3f8e"; + fetchSubmodules = true; + }; + libraryHaskellDepends = [ + array + base + containers + gray-code + mersenne-random-pure64 + MonadRandom + mtl + parallel + random + random-shuffle + time + vector + ]; + testHaskellDepends = [ + array + base + containers + gray-code + HUnit + mersenne-random-pure64 + MonadRandom + mtl + parallel + random + random-shuffle + time + vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "http://www.github.com/astanin/moo/"; + description = "Genetic algorithm library"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/nothunks.nix b/pkgs/nothunks.nix new file mode 100644 index 0000000000000000000000000000000000000000..27c0ddeb1449aa622c18fb8a8fc5ff26b0457703 --- /dev/null +++ b/pkgs/nothunks.nix @@ -0,0 +1,53 @@ +{ mkDerivation +, base +, bytestring +, containers +, fetchgit +, ghc-heap +, ghc-prim +, hedgehog +, lib +, random +, stm +, tasty +, tasty-hedgehog +, text +, time +, vector +}: +mkDerivation { + pname = "nothunks"; + version = "0.1.3"; + src = fetchgit { + url = "https://github.com/locallycompact/nothunks"; + sha256 = "0df24vnidfb2nl8hqbcikg8rczvibm721z52w61s1w3a3p1dr7b4"; + rev = "0d7e3565407aa4eb21d861d075dff6f20d090f97"; + fetchSubmodules = true; + }; + libraryHaskellDepends = [ + base + bytestring + containers + ghc-heap + stm + text + time + vector + ]; + testHaskellDepends = [ + base + containers + ghc-prim + hedgehog + random + stm + tasty + tasty-hedgehog + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Examine values for unexpected thunks"; + license = lib.licenses.mit; +} diff --git a/pkgs/plutus-core.nix b/pkgs/plutus-core.nix new file mode 100644 index 0000000000000000000000000000000000000000..d4010ec8299072eb4172573c979c5ff291acf0e1 --- /dev/null +++ b/pkgs/plutus-core.nix @@ -0,0 +1,277 @@ +{ mkDerivation +, aeson +, aeson-pretty +, algebraic-graphs +, array +, barbies +, base +, base64-bytestring +, bifunctors +, bimap +, bytestring +, cardano-crypto +, cardano-crypto-class +, cassava +, cborg +, composition-prelude +, containers +, criterion +, criterion-measurement +, cryptonite +, data-default-class +, deepseq +, dependent-map +, dependent-sum-template +, deriving-aeson +, deriving-compat +, directory +, dlist +, dom-lt +, exceptions +, extra +, fetchgit +, filepath +, flat +, ghc-prim +, hashable +, hedgehog +, hex-text +, HUnit +, inline-r +, int-cast +, integer-gmp +, lazy-search +, lens +, lib +, megaparsec +, mmorph +, monoidal-containers +, mtl +, multiset +, nonempty-vector +, nothunks +, optparse-applicative +, parser-combinators +, pretty-show +, prettyprinter +, prettyprinter-configurable +, primitive +, QuickCheck +, quickcheck-instances +, ral +, random +, recursion-schemes +, semigroupoids +, semigroups +, serialise +, size-based +, some +, split +, Stream +, tagged +, tasty +, tasty-golden +, tasty-hedgehog +, tasty-hunit +, tasty-quickcheck +, template-haskell +, test-framework +, test-framework-hunit +, test-framework-quickcheck2 +, text +, th-compat +, th-lift +, th-lift-instances +, th-utilities +, time +, transformers +, unordered-containers +, vector +, witherable +, word-array +}: +mkDerivation { + pname = "plutus-core"; + version = "1.0.0.0"; + src = fetchgit { + url = "https://github.com/milloni/plutus"; + sha256 = "0pzzqqbp6jvrzxp7gyi4dnnc5pg0jnr76dsaq6pzn3zgr46pgbd3"; + rev = "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/plutus-core/; echo source root reset to $sourceRoot"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson + algebraic-graphs + array + barbies + base + base64-bytestring + bifunctors + bimap + bytestring + cardano-crypto + cardano-crypto-class + cassava + cborg + composition-prelude + containers + cryptonite + data-default-class + deepseq + dependent-map + dependent-sum-template + deriving-aeson + deriving-compat + dlist + dom-lt + exceptions + extra + filepath + flat + ghc-prim + hashable + hedgehog + int-cast + integer-gmp + lazy-search + lens + megaparsec + mmorph + monoidal-containers + mtl + multiset + nonempty-vector + nothunks + parser-combinators + prettyprinter + prettyprinter-configurable + primitive + ral + recursion-schemes + semigroupoids + semigroups + serialise + size-based + some + Stream + tagged + tasty + tasty-golden + tasty-hedgehog + tasty-hunit + template-haskell + text + th-compat + th-lift + th-lift-instances + th-utilities + time + transformers + unordered-containers + vector + witherable + word-array + ]; + executableHaskellDepends = [ + aeson + aeson-pretty + barbies + base + bytestring + cardano-crypto-class + cassava + containers + criterion + criterion-measurement + deepseq + directory + exceptions + extra + filepath + flat + hedgehog + inline-r + integer-gmp + lens + megaparsec + monoidal-containers + mtl + optparse-applicative + prettyprinter + QuickCheck + quickcheck-instances + random + split + text + time + transformers + vector + ]; + testHaskellDepends = [ + aeson + base + bytestring + cardano-crypto-class + cassava + containers + data-default-class + extra + filepath + flat + hedgehog + hex-text + HUnit + lens + megaparsec + mmorph + mtl + nonempty-vector + pretty-show + prettyprinter + QuickCheck + quickcheck-instances + serialise + split + tasty + tasty-golden + tasty-hedgehog + tasty-hunit + tasty-quickcheck + template-haskell + test-framework + test-framework-hunit + test-framework-quickcheck2 + text + th-lift-instances + th-utilities + transformers + vector + ]; + benchmarkHaskellDepends = [ + barbies + base + bytestring + cassava + criterion + exceptions + extra + hedgehog + inline-r + mmorph + nonempty-vector + ral + random + template-haskell + text + vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Language library for Plutus Core"; + license = lib.licenses.asl20; +} diff --git a/pkgs/plutus-ledger-api.nix b/pkgs/plutus-ledger-api.nix new file mode 100644 index 0000000000000000000000000000000000000000..84ff4e97f5ee16a04a2864ab688234b887cce4ad --- /dev/null +++ b/pkgs/plutus-ledger-api.nix @@ -0,0 +1,104 @@ +{ mkDerivation +, async +, barbies +, base +, base16-bytestring +, base64-bytestring +, bytestring +, cborg +, containers +, deepseq +, extra +, fetchgit +, filepath +, flat +, hedgehog +, lens +, lib +, mtl +, nothunks +, plutus-core +, plutus-tx +, prettyprinter +, PyF +, serialise +, tagged +, tasty +, tasty-hedgehog +, tasty-hunit +, tasty-quickcheck +, template-haskell +, text +, transformers +}: +mkDerivation { + pname = "plutus-ledger-api"; + version = "1.0.0.0"; + src = fetchgit { + url = "https://github.com/milloni/plutus"; + sha256 = "0pzzqqbp6jvrzxp7gyi4dnnc5pg0jnr76dsaq6pzn3zgr46pgbd3"; + rev = "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/plutus-ledger-api/; echo source root reset to $sourceRoot"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base + base16-bytestring + base64-bytestring + bytestring + cborg + containers + deepseq + extra + flat + lens + mtl + nothunks + plutus-core + plutus-tx + prettyprinter + PyF + serialise + tagged + template-haskell + text + transformers + ]; + executableHaskellDepends = [ + async + base + extra + filepath + mtl + plutus-core + serialise + tasty + tasty-hunit + ]; + testHaskellDepends = [ + barbies + base + bytestring + containers + extra + hedgehog + lens + mtl + nothunks + plutus-core + tasty + tasty-hedgehog + tasty-hunit + tasty-quickcheck + text + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Interface to the Plutus ledger for the Cardano ledger"; + license = lib.licenses.asl20; + mainProgram = "evaluation-test"; +} diff --git a/pkgs/plutus-tx.nix b/pkgs/plutus-tx.nix new file mode 100644 index 0000000000000000000000000000000000000000..4f58ede7b57997764b48eb8dd5d4c2366ce9a2d8 --- /dev/null +++ b/pkgs/plutus-tx.nix @@ -0,0 +1,98 @@ +{ mkDerivation +, aeson +, base +, base16-bytestring +, bytestring +, cborg +, containers +, deepseq +, deriving-compat +, doctest +, extra +, fetchgit +, filepath +, flat +, ghc-prim +, hashable +, hedgehog +, hedgehog-fn +, lens +, lib +, memory +, mtl +, plutus-core +, pretty-show +, prettyprinter +, serialise +, tagged +, tasty +, tasty-hedgehog +, tasty-hunit +, template-haskell +, text +, th-abstraction +, th-compat +, transformers +}: +mkDerivation { + pname = "plutus-tx"; + version = "1.0.0.0"; + src = fetchgit { + url = "https://github.com/milloni/plutus"; + sha256 = "0pzzqqbp6jvrzxp7gyi4dnnc5pg0jnr76dsaq6pzn3zgr46pgbd3"; + rev = "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/plutus-tx/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + bytestring + containers + deepseq + deriving-compat + extra + filepath + flat + ghc-prim + hashable + lens + memory + mtl + plutus-core + prettyprinter + serialise + tagged + tasty + template-haskell + text + th-abstraction + th-compat + transformers + ]; + testHaskellDepends = [ + aeson + base + base16-bytestring + bytestring + cborg + filepath + hedgehog + hedgehog-fn + plutus-core + pretty-show + serialise + tasty + tasty-hedgehog + tasty-hunit + text + transformers + ]; + testToolDepends = [ doctest ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Libraries for Plutus Tx and its prelude"; + license = lib.licenses.asl20; +} diff --git a/pkgs/prettyprinter-configurable.nix b/pkgs/prettyprinter-configurable.nix new file mode 100644 index 0000000000000000000000000000000000000000..3886d138bdf3fc368b28708cc7ecde0c837abe05 --- /dev/null +++ b/pkgs/prettyprinter-configurable.nix @@ -0,0 +1,50 @@ +{ mkDerivation +, base +, Cabal +, cabal-doctest +, doctest +, fetchgit +, lib +, megaparsec +, microlens +, mtl +, parser-combinators +, prettyprinter +, QuickCheck +, quickcheck-text +, tasty +, tasty-hunit +, tasty-quickcheck +, text +}: +mkDerivation { + pname = "prettyprinter-configurable"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/plutus"; + sha256 = "0pzzqqbp6jvrzxp7gyi4dnnc5pg0jnr76dsaq6pzn3zgr46pgbd3"; + rev = "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/prettyprinter-configurable/; echo source root reset to $sourceRoot"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ base microlens mtl prettyprinter text ]; + testHaskellDepends = [ + base + doctest + megaparsec + parser-combinators + prettyprinter + QuickCheck + quickcheck-text + tasty + tasty-hunit + tasty-quickcheck + text + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + license = "unknown"; +} diff --git a/pkgs/protolude.nix b/pkgs/protolude.nix new file mode 100644 index 0000000000000000000000000000000000000000..ebe04dc6d518f358a08cad2ba81114503ffda737 --- /dev/null +++ b/pkgs/protolude.nix @@ -0,0 +1,45 @@ +{ mkDerivation +, array +, async +, base +, bytestring +, containers +, deepseq +, ghc-prim +, hashable +, lib +, mtl +, mtl-compat +, stm +, text +, transformers +, transformers-compat +}: +mkDerivation { + pname = "protolude"; + version = "0.3.2"; + sha256 = "7ec019f3d445563a54fad8ba89564bffaae6028798a1cc3f033f5b425ef7a344"; + libraryHaskellDepends = [ + array + async + base + bytestring + containers + deepseq + ghc-prim + hashable + mtl + mtl-compat + stm + text + transformers + transformers-compat + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/sdiehl/protolude"; + description = "A small prelude"; + license = lib.licenses.mit; +} diff --git a/pkgs/ral.nix b/pkgs/ral.nix new file mode 100644 index 0000000000000000000000000000000000000000..87162fa4f745b311edfa1aa58be4e4ca0348f0d1 --- /dev/null +++ b/pkgs/ral.nix @@ -0,0 +1,40 @@ +{ mkDerivation +, adjunctions +, base +, bin +, criterion +, deepseq +, distributive +, fin +, hashable +, lib +, QuickCheck +, semigroupoids +, vector +}: +mkDerivation { + pname = "ral"; + version = "0.1"; + sha256 = "048cf2b5b394229503bdd748c93cc19650b4223d01e11e954b373f7595c21241"; + revision = "2"; + editedCabalFile = "0a3ryzcmjgyp64f8s2pl95pkz8zddq9qsn76dlimg23gczf1cql4"; + libraryHaskellDepends = [ + adjunctions + base + bin + deepseq + distributive + fin + hashable + QuickCheck + semigroupoids + ]; + benchmarkHaskellDepends = [ base criterion vector ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/phadej/vec"; + description = "Random access lists"; + license = lib.licenses.gpl2Plus; +} diff --git a/pkgs/recursion-schemes.nix b/pkgs/recursion-schemes.nix new file mode 100644 index 0000000000000000000000000000000000000000..c608d8f3b8ebf5350b862e64fbfd2b5dcd49d634 --- /dev/null +++ b/pkgs/recursion-schemes.nix @@ -0,0 +1,39 @@ +{ mkDerivation +, base +, base-orphans +, comonad +, containers +, data-fix +, free +, HUnit +, lib +, template-haskell +, th-abstraction +, transformers +}: +mkDerivation { + pname = "recursion-schemes"; + version = "5.2.2.2"; + sha256 = "66c3492a2fb10cea81348d0828c518b96b39f354d9e37d028a3fa279933c1405"; + revision = "1"; + editedCabalFile = "1l6wbzx8804pb6p8gvk45hal6sz8r1gvyxb8aa9ih6j8pqv4q04c"; + libraryHaskellDepends = [ + base + base-orphans + comonad + containers + data-fix + free + template-haskell + th-abstraction + transformers + ]; + testHaskellDepends = [ base HUnit template-haskell transformers ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "http://github.com/ekmett/recursion-schemes/"; + description = "Representing common recursion patterns as higher-order functions"; + license = lib.licenses.bsd2; +} diff --git a/pkgs/ref-tf.nix b/pkgs/ref-tf.nix new file mode 100644 index 0000000000000000000000000000000000000000..8c3e9d7ae665a71d42066f0ef9072afe06a028b9 --- /dev/null +++ b/pkgs/ref-tf.nix @@ -0,0 +1,13 @@ +{ mkDerivation, base, lib, stm, transformers }: +mkDerivation { + pname = "ref-tf"; + version = "0.5.0.1"; + sha256 = "a5c3243c30119be1cc53d04fddc3f3a3969c72912a52a111f45f04bed8a35147"; + libraryHaskellDepends = [ base stm transformers ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "A type class for monads with references using type families"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/singletons-th.nix b/pkgs/singletons-th.nix new file mode 100644 index 0000000000000000000000000000000000000000..9d481e1ab247cc0f283bf34eb81854c611b2f528 --- /dev/null +++ b/pkgs/singletons-th.nix @@ -0,0 +1,37 @@ +{ mkDerivation +, base +, containers +, ghc-boot-th +, lib +, mtl +, singletons +, syb +, template-haskell +, th-desugar +, th-orphans +, transformers +}: +mkDerivation { + pname = "singletons-th"; + version = "3.1.1"; + sha256 = "466b91be35ee07bc06f5bf01d15f4bd9dc99a1151deb09ee114d99b9e052e9ae"; + libraryHaskellDepends = [ + base + containers + ghc-boot-th + mtl + singletons + syb + template-haskell + th-desugar + th-orphans + transformers + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "http://www.github.com/goldfirere/singletons"; + description = "A framework for generating singleton types"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/small-steps-test.nix b/pkgs/small-steps-test.nix new file mode 100644 index 0000000000000000000000000000000000000000..f1f4e85f9dccedd11f3bdfbcf61d1a00899abc59 --- /dev/null +++ b/pkgs/small-steps-test.nix @@ -0,0 +1,72 @@ +{ mkDerivation +, base +, cardano-binary +, cardano-crypto-class +, cardano-strict-containers +, containers +, deepseq +, fetchgit +, hedgehog +, lib +, microlens +, microlens-th +, mtl +, nothunks +, QuickCheck +, small-steps +, tasty +, tasty-expected-failure +, tasty-hedgehog +, tasty-hunit +, tasty-quickcheck +, transformers +, Unique +}: +mkDerivation { + pname = "small-steps-test"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "0vzz5a3alzl4hh62krifc0qzc03pxpm42szhxq0p88qvjjy3cwkj"; + rev = "2857b079bdab6e1545c60c614157ba8e7d19233e"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/libs/small-steps-test/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + base + cardano-strict-containers + deepseq + hedgehog + microlens + microlens-th + mtl + nothunks + QuickCheck + small-steps + tasty-hunit + transformers + ]; + testHaskellDepends = [ + base + cardano-binary + cardano-crypto-class + containers + hedgehog + mtl + QuickCheck + small-steps + tasty + tasty-expected-failure + tasty-hedgehog + tasty-hunit + tasty-quickcheck + Unique + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/input-output-hk/cardano-ledger"; + description = "Small step semantics testing library"; + license = lib.licenses.asl20; +} diff --git a/pkgs/small-steps.nix b/pkgs/small-steps.nix new file mode 100644 index 0000000000000000000000000000000000000000..85d67c859e37312cfc1c20bd714fc4556e18267d --- /dev/null +++ b/pkgs/small-steps.nix @@ -0,0 +1,46 @@ +{ mkDerivation +, aeson +, base +, cardano-strict-containers +, containers +, data-default-class +, fetchgit +, free +, lib +, mtl +, nothunks +, text +, transformers +, validation-selective +}: +mkDerivation { + pname = "small-steps"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "0vzz5a3alzl4hh62krifc0qzc03pxpm42szhxq0p88qvjjy3cwkj"; + rev = "2857b079bdab6e1545c60c614157ba8e7d19233e"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/libs/small-steps/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + cardano-strict-containers + containers + data-default-class + free + mtl + nothunks + text + transformers + validation-selective + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/input-output-hk/cardano-ledger"; + description = "Small step semantics"; + license = lib.licenses.asl20; +} diff --git a/pkgs/streaming-bytestring.nix b/pkgs/streaming-bytestring.nix new file mode 100644 index 0000000000000000000000000000000000000000..7f39720d333a8425134aebd2809c0f5be3bdfe08 --- /dev/null +++ b/pkgs/streaming-bytestring.nix @@ -0,0 +1,54 @@ +{ mkDerivation +, base +, bytestring +, deepseq +, exceptions +, ghc-prim +, lib +, mmorph +, mtl +, resourcet +, smallcheck +, streaming +, tasty +, tasty-hunit +, tasty-smallcheck +, transformers +, transformers-base +}: +mkDerivation { + pname = "streaming-bytestring"; + version = "0.2.4"; + sha256 = "b0dfd86f8ee711dbbd7b51d04531cf2e1c79c6dc05f23bb3902b35175481e447"; + libraryHaskellDepends = [ + base + bytestring + deepseq + exceptions + ghc-prim + mmorph + mtl + resourcet + streaming + transformers + transformers-base + ]; + testHaskellDepends = [ + base + bytestring + resourcet + smallcheck + streaming + tasty + tasty-hunit + tasty-smallcheck + transformers + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/haskell-streaming/streaming-bytestring"; + description = "Fast, effectful byte streams"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/strict-containers.nix b/pkgs/strict-containers.nix new file mode 100644 index 0000000000000000000000000000000000000000..47c31c1213d0e89e1c8f079a46621027272da580 --- /dev/null +++ b/pkgs/strict-containers.nix @@ -0,0 +1,84 @@ +{ mkDerivation +, array +, base +, base-orphans +, binary +, ChasingBottoms +, containers +, deepseq +, fetchgit +, hashable +, HUnit +, indexed-traversable +, lib +, primitive +, QuickCheck +, random +, strict +, tasty +, tasty-hunit +, tasty-quickcheck +, template-haskell +, test-framework +, test-framework-hunit +, test-framework-quickcheck2 +, transformers +, unordered-containers +, vector +, vector-binary-instances +}: +mkDerivation { + pname = "strict-containers"; + version = "0.1.1"; + src = fetchgit { + url = "https://github.com/milloni/strict-containers"; + sha256 = "1fpbfp8frvyhvy2qw63512llyswwm690bk890bi1rhqnm2v10q3k"; + rev = "9e833be00bc2c5cdb0b4e743b7a2cde00dd4f616"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/strict-containers/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + array + base + binary + containers + deepseq + hashable + indexed-traversable + primitive + strict + unordered-containers + vector + vector-binary-instances + ]; + testHaskellDepends = [ + array + base + base-orphans + ChasingBottoms + containers + deepseq + hashable + HUnit + primitive + QuickCheck + random + tasty + tasty-hunit + tasty-quickcheck + template-haskell + test-framework + test-framework-hunit + test-framework-quickcheck2 + transformers + unordered-containers + vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/haskellari/strict-containers"; + description = "Strict containers"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/th-desugar.nix b/pkgs/th-desugar.nix new file mode 100644 index 0000000000000000000000000000000000000000..2b335eaf486415ede77de34996bd435c81d4d1a3 --- /dev/null +++ b/pkgs/th-desugar.nix @@ -0,0 +1,53 @@ +{ mkDerivation +, base +, containers +, ghc-prim +, hspec +, HUnit +, lib +, mtl +, ordered-containers +, syb +, template-haskell +, th-abstraction +, th-lift +, th-orphans +, transformers-compat +}: +mkDerivation { + pname = "th-desugar"; + version = "1.14"; + sha256 = "dfb2d3c5f3ffec189452b1db7edb743b9b7b006cc16c19a9ece083de4bd8a7ac"; + libraryHaskellDepends = [ + base + containers + ghc-prim + mtl + ordered-containers + syb + template-haskell + th-abstraction + th-lift + th-orphans + transformers-compat + ]; + testHaskellDepends = [ + base + containers + hspec + HUnit + mtl + syb + template-haskell + th-abstraction + th-lift + th-orphans + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/goldfirere/th-desugar"; + description = "Functions to desugar Template Haskell"; + license = lib.licenses.bsd3; +} diff --git a/pkgs/typerep-map.nix b/pkgs/typerep-map.nix new file mode 100644 index 0000000000000000000000000000000000000000..11e7fd10fcd7eeab35dc015f7aea23625bd0f2c9 --- /dev/null +++ b/pkgs/typerep-map.nix @@ -0,0 +1,57 @@ +{ mkDerivation +, base +, containers +, criterion +, deepseq +, dependent-map +, dependent-sum +, fetchgit +, ghc-prim +, ghc-typelits-knownnat +, hedgehog +, hspec +, hspec-hedgehog +, lib +, primitive +, vector +}: +mkDerivation { + pname = "typerep-map"; + version = "0.5.0.0"; + src = fetchgit { + url = "https://github.com/parsonsmatt/typerep-map"; + sha256 = "023f2rrak7kmpfxxpfcdv5bb1llksk2cxmdgvs08qx3l821d016w"; + rev = "75b7cd5d45986be07420a6821d352ad2adc0b697"; + fetchSubmodules = true; + }; + libraryHaskellDepends = [ + base + containers + deepseq + ghc-prim + primitive + vector + ]; + testHaskellDepends = [ + base + ghc-typelits-knownnat + hedgehog + hspec + hspec-hedgehog + ]; + benchmarkHaskellDepends = [ + base + criterion + deepseq + dependent-map + dependent-sum + ghc-typelits-knownnat + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/kowainik/typerep-map"; + description = "Efficient implementation of a dependent map with types as keys"; + license = lib.licenses.mpl20; +} diff --git a/pkgs/word-array.nix b/pkgs/word-array.nix new file mode 100644 index 0000000000000000000000000000000000000000..d11de84ffbc960045fb1851584196d518482204a --- /dev/null +++ b/pkgs/word-array.nix @@ -0,0 +1,45 @@ +{ mkDerivation +, base +, deepseq +, fetchgit +, lib +, mono-traversable +, primitive +, QuickCheck +, tasty +, tasty-bench +, tasty-quickcheck +, vector +}: +mkDerivation { + pname = "word-array"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/plutus"; + sha256 = "0pzzqqbp6jvrzxp7gyi4dnnc5pg0jnr76dsaq6pzn3zgr46pgbd3"; + rev = "81cd1ada745c12af2c2c28afce1f6b6b28b38fdd"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/word-array/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + base + deepseq + mono-traversable + primitive + ]; + testHaskellDepends = [ + base + mono-traversable + QuickCheck + tasty + tasty-quickcheck + vector + ]; + benchmarkHaskellDepends = [ base primitive tasty-bench ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/plutus"; + license = lib.licenses.asl20; +}