diff --git a/manifest.dhall b/manifest.dhall index 0631186be75fabb8fb9f592afd7a141226e30a88..55c417b4a53879f8b72f0cf53ff8757ead4bc53c 100644 --- a/manifest.dhall +++ b/manifest.dhall @@ -89,11 +89,31 @@ in [ callHackage "PyF" "0.11.0.0" "https://github.com/milloni/cardano-ledger" (Some "2857b079bdab6e1545c60c614157ba8e7d19233e") (Some "eras/byron/crypto") + , callCabal2nix + "cardano-data" + "https://github.com/milloni/cardano-ledger" + (Some "bc859395040abf075f4ca44b4ce8c221d2c4bb66") + (Some "libs/cardano-data") , callCabal2nix "cardano-ledger-byron" "https://github.com/milloni/cardano-ledger" (Some "2857b079bdab6e1545c60c614157ba8e7d19233e") (Some "eras/byron/ledger/impl") + , callCabal2nix + "cardano-ledger-core" + "https://github.com/milloni/cardano-ledger" + (Some "bc859395040abf075f4ca44b4ce8c221d2c4bb66") + (Some "libs/cardano-ledger-core") + , callCabal2nix + "cardano-ledger-shelley" + "https://github.com/milloni/cardano-ledger" + (Some "bc859395040abf075f4ca44b4ce8c221d2c4bb66") + (Some "eras/shelley/impl") + , callCabal2nix + "cardano-slotting" + "https://github.com/input-output-hk/cardano-base" + (Some "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee") + (Some "slotting") , callCabal2nix "cardano-strict-containers" "https://github.com/input-output-hk/cardano-base" @@ -150,6 +170,11 @@ in [ callHackage "PyF" "0.11.0.0" "https://github.com/milloni/moo" (Some "20e4c6ee880e7d62b18b995750063dd7349a3f8e") (None Text) + , callCabal2nix + "non-integral" + "https://github.com/milloni/cardano-ledger" + (Some "bc859395040abf075f4ca44b4ce8c221d2c4bb66") + (Some "libs/non-integral") , callCabal2nix "nothunks" "https://github.com/locallycompact/nothunks" @@ -179,6 +204,11 @@ in [ callHackage "PyF" "0.11.0.0" , callHackage "ral" "0.1" , callHackage "recursion-schemes" "5.2.2.2" , callHackage "ref-tf" "0.5.0.1" + , callCabal2nix + "set-algebra" + "https://github.com/milloni/cardano-ledger" + (Some "bc859395040abf075f4ca44b4ce8c221d2c4bb66") + (Some "libs/set-algebra") , callHackage "singletons-th" "3.1.1" , callCabal2nix "small-steps" @@ -202,6 +232,11 @@ in [ callHackage "PyF" "0.11.0.0" "https://github.com/parsonsmatt/typerep-map" (Some "75b7cd5d45986be07420a6821d352ad2adc0b697") (None Text) + , callCabal2nix + "vector-map" + "https://github.com/milloni/cardano-ledger" + (Some "bc859395040abf075f4ca44b4ce8c221d2c4bb66") + (Some "libs/vector-map") , callCabal2nix "word-array" "https://github.com/milloni/plutus" diff --git a/overlay.nix b/overlay.nix index bbe50a0d88b69c48da48cb1b053d22281a222623..c403b7af14a1a92daddbe98c7147f0f9a05a151c 100644 --- a/overlay.nix +++ b/overlay.nix @@ -31,12 +31,20 @@ final: prev: with pkgs.haskell.lib; { cardano-crypto-wrapper = prev.callPackage (./pkgs/cardano-crypto-wrapper.nix) { }; + cardano-data = prev.callPackage (./pkgs/cardano-data.nix) { }; + cardano-ledger-byron = prev.callPackage (./pkgs/cardano-ledger-byron.nix) { }; + cardano-ledger-core = prev.callPackage (./pkgs/cardano-ledger-core.nix) { }; + + cardano-ledger-shelley = prev.callPackage (./pkgs/cardano-ledger-shelley.nix) { }; + cardano-prelude = prev.callPackage (./pkgs/cardano-prelude.nix) { }; cardano-prelude-test = prev.callPackage (./pkgs/cardano-prelude-test.nix) { }; + cardano-slotting = prev.callPackage (./pkgs/cardano-slotting.nix) { }; + cardano-strict-containers = prev.callPackage (./pkgs/cardano-strict-containers.nix) { }; flat = prev.callPackage (./pkgs/flat.nix) { }; @@ -57,6 +65,8 @@ final: prev: with pkgs.haskell.lib; { moo = prev.callPackage (./pkgs/moo.nix) { }; + non-integral = prev.callPackage (./pkgs/non-integral.nix) { }; + nothunks = prev.callPackage (./pkgs/nothunks.nix) { }; plutus-core = prev.callPackage (./pkgs/plutus-core.nix) { }; @@ -75,6 +85,8 @@ final: prev: with pkgs.haskell.lib; { ref-tf = prev.callPackage (./pkgs/ref-tf.nix) { }; + set-algebra = prev.callPackage (./pkgs/set-algebra.nix) { }; + singletons-th = prev.callPackage (./pkgs/singletons-th.nix) { }; small-steps = prev.callPackage (./pkgs/small-steps.nix) { }; @@ -89,6 +101,8 @@ final: prev: with pkgs.haskell.lib; { typerep-map = prev.callPackage (./pkgs/typerep-map.nix) { }; + vector-map = prev.callPackage (./pkgs/vector-map.nix) { }; + word-array = prev.callPackage (./pkgs/word-array.nix) { }; } diff --git a/pkgs/cardano-data.nix b/pkgs/cardano-data.nix new file mode 100644 index 0000000000000000000000000000000000000000..fc838297a571726f22e7c3de98e8d0f88370e376 --- /dev/null +++ b/pkgs/cardano-data.nix @@ -0,0 +1,76 @@ +{ mkDerivation +, aeson +, base +, bytestring +, cardano-binary +, cardano-strict-containers +, cborg +, containers +, deepseq +, fetchgit +, formatting +, lib +, microlens +, mtl +, nothunks +, primitive +, QuickCheck +, tasty +, tasty-hunit +, tasty-quickcheck +, text +, transformers +, vector +, vector-map +}: +mkDerivation { + pname = "cardano-data"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "109piw0q5nlypsywkmkwng4ixalbfmzf379b4n931ghih54xzwja"; + rev = "bc859395040abf075f4ca44b4ce8c221d2c4bb66"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/libs/cardano-data/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + bytestring + cardano-binary + cardano-strict-containers + cborg + containers + deepseq + formatting + microlens + mtl + nothunks + primitive + QuickCheck + text + transformers + vector + vector-map + ]; + testHaskellDepends = [ + base + bytestring + cardano-binary + cardano-strict-containers + cborg + containers + QuickCheck + tasty + tasty-hunit + tasty-quickcheck + text + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/input-output-hk/cardano-ledger"; + description = "Specialized data for Cardano project"; + license = lib.licenses.asl20; +} diff --git a/pkgs/cardano-ledger-core.nix b/pkgs/cardano-ledger-core.nix new file mode 100644 index 0000000000000000000000000000000000000000..ba3f05f4353844604624edb30e3f5ea9a2a4d8c6 --- /dev/null +++ b/pkgs/cardano-ledger-core.nix @@ -0,0 +1,97 @@ +{ mkDerivation +, aeson +, base +, base16-bytestring +, binary +, bytestring +, cardano-binary +, cardano-crypto +, cardano-crypto-class +, cardano-crypto-praos +, cardano-crypto-wrapper +, cardano-data +, cardano-ledger-byron +, cardano-prelude +, cardano-slotting +, cardano-strict-containers +, cborg +, containers +, data-default-class +, deepseq +, fetchgit +, groups +, heapwords +, iproute +, lib +, microlens +, mtl +, network +, non-integral +, nothunks +, partial-order +, primitive +, quiet +, scientific +, set-algebra +, small-steps +, text +, time +, transformers +, validation-selective +}: +mkDerivation { + pname = "cardano-ledger-core"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "109piw0q5nlypsywkmkwng4ixalbfmzf379b4n931ghih54xzwja"; + rev = "bc859395040abf075f4ca44b4ce8c221d2c4bb66"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/libs/cardano-ledger-core/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + base16-bytestring + binary + bytestring + cardano-binary + cardano-crypto + cardano-crypto-class + cardano-crypto-praos + cardano-crypto-wrapper + cardano-data + cardano-ledger-byron + cardano-prelude + cardano-slotting + cardano-strict-containers + cborg + containers + data-default-class + deepseq + groups + heapwords + iproute + microlens + mtl + network + non-integral + nothunks + partial-order + primitive + quiet + scientific + set-algebra + small-steps + text + time + transformers + validation-selective + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Core components of Cardano ledgers from the Shelley release on"; + license = lib.licenses.asl20; +} diff --git a/pkgs/cardano-ledger-shelley.nix b/pkgs/cardano-ledger-shelley.nix new file mode 100644 index 0000000000000000000000000000000000000000..9e6f9c0d2cc678cfc0921d275d3b796580d0cdaa --- /dev/null +++ b/pkgs/cardano-ledger-shelley.nix @@ -0,0 +1,85 @@ +{ mkDerivation +, aeson +, base +, base16-bytestring +, bytestring +, cardano-binary +, cardano-crypto +, cardano-crypto-class +, cardano-crypto-wrapper +, cardano-data +, cardano-ledger-byron +, cardano-ledger-core +, cardano-slotting +, cardano-strict-containers +, cborg +, containers +, data-default-class +, deepseq +, fetchgit +, groups +, heapwords +, iproute +, lib +, microlens +, mtl +, nothunks +, quiet +, set-algebra +, small-steps +, text +, time +, transformers +, validation-selective +, vector-map +}: +mkDerivation { + pname = "cardano-ledger-shelley"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "109piw0q5nlypsywkmkwng4ixalbfmzf379b4n931ghih54xzwja"; + rev = "bc859395040abf075f4ca44b4ce8c221d2c4bb66"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/eras/shelley/impl/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + base16-bytestring + bytestring + cardano-binary + cardano-crypto + cardano-crypto-class + cardano-crypto-wrapper + cardano-data + cardano-ledger-byron + cardano-ledger-core + cardano-slotting + cardano-strict-containers + cborg + containers + data-default-class + deepseq + groups + heapwords + iproute + microlens + mtl + nothunks + quiet + set-algebra + small-steps + text + time + transformers + validation-selective + vector-map + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Shelley Ledger Executable Model"; + license = lib.licenses.asl20; +} diff --git a/pkgs/cardano-slotting.nix b/pkgs/cardano-slotting.nix new file mode 100644 index 0000000000000000000000000000000000000000..cdfac90a0cbeb24ba8ae78fc8541731675960e87 --- /dev/null +++ b/pkgs/cardano-slotting.nix @@ -0,0 +1,44 @@ +{ mkDerivation +, aeson +, base +, cardano-binary +, deepseq +, fetchgit +, lib +, mmorph +, nothunks +, quiet +, serialise +, tasty +, tasty-quickcheck +, time +}: +mkDerivation { + pname = "cardano-slotting"; + version = "0.1.0.1"; + src = fetchgit { + url = "https://github.com/input-output-hk/cardano-base"; + sha256 = "0qn56ahqmy79riwyaq5m0d4vpamdjkkk04b0x8zwlyd5y3pg58xd"; + rev = "46cd4c97cff9f1f0a0da976aa9e32bd2899c85ee"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/slotting/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + aeson + base + cardano-binary + deepseq + mmorph + nothunks + quiet + serialise + time + ]; + testHaskellDepends = [ base tasty tasty-quickcheck ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Key slotting types for cardano libraries"; + license = lib.licenses.asl20; +} diff --git a/pkgs/non-integral.nix b/pkgs/non-integral.nix new file mode 100644 index 0000000000000000000000000000000000000000..3c23db7f552977fc6ed4d5415fba07cdb636904a --- /dev/null +++ b/pkgs/non-integral.nix @@ -0,0 +1,19 @@ +{ mkDerivation, base, fetchgit, lib, QuickCheck }: +mkDerivation { + pname = "non-integral"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "109piw0q5nlypsywkmkwng4ixalbfmzf379b4n931ghih54xzwja"; + rev = "bc859395040abf075f4ca44b4ce8c221d2c4bb66"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/libs/non-integral/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base QuickCheck ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + license = lib.licenses.asl20; +} diff --git a/pkgs/set-algebra.nix b/pkgs/set-algebra.nix new file mode 100644 index 0000000000000000000000000000000000000000..04e347881556f4ffec479bf62a5b872f0767ae60 --- /dev/null +++ b/pkgs/set-algebra.nix @@ -0,0 +1,43 @@ +{ mkDerivation +, ansi-wl-pprint +, base +, cardano-data +, containers +, fetchgit +, lib +, tasty +, tasty-hunit +, tasty-quickcheck +}: +mkDerivation { + pname = "set-algebra"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "109piw0q5nlypsywkmkwng4ixalbfmzf379b4n931ghih54xzwja"; + rev = "bc859395040abf075f4ca44b4ce8c221d2c4bb66"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/libs/set-algebra/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + ansi-wl-pprint + base + cardano-data + containers + ]; + testHaskellDepends = [ + base + cardano-data + containers + tasty + tasty-hunit + tasty-quickcheck + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/input-output-hk/cardano-ledger"; + description = "Set Algebra"; + license = lib.licenses.asl20; +} diff --git a/pkgs/vector-map.nix b/pkgs/vector-map.nix new file mode 100644 index 0000000000000000000000000000000000000000..268a7a112761b5fcc8a3b898f2ac27bca961ce7b --- /dev/null +++ b/pkgs/vector-map.nix @@ -0,0 +1,55 @@ +{ mkDerivation +, base +, cardano-binary +, containers +, criterion +, deepseq +, fetchgit +, lib +, nothunks +, primitive +, QuickCheck +, quickcheck-classes-base +, random +, tasty +, tasty-quickcheck +, vector +, vector-algorithms +}: +mkDerivation { + pname = "vector-map"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/milloni/cardano-ledger"; + sha256 = "109piw0q5nlypsywkmkwng4ixalbfmzf379b4n931ghih54xzwja"; + rev = "bc859395040abf075f4ca44b4ce8c221d2c4bb66"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/libs/vector-map/; echo source root reset to $sourceRoot"; + libraryHaskellDepends = [ + base + cardano-binary + containers + deepseq + nothunks + primitive + vector + vector-algorithms + ]; + testHaskellDepends = [ + base + containers + QuickCheck + quickcheck-classes-base + tasty + tasty-quickcheck + ]; + benchmarkHaskellDepends = [ base containers criterion random ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/input-output-hk/cardano-ledger"; + description = "An efficient VMap that is backed by two vectors: one for keys and another for values"; + license = lib.licenses.asl20; +}