diff --git a/manifest.dhall b/manifest.dhall index 13fc7cb603b6f8d8fab94a9ee89d80e3dc4b0dfa..fd61e373ea1794b3fbe77b4b6a558dc02562e3ed 100644 --- a/manifest.dhall +++ b/manifest.dhall @@ -71,6 +71,7 @@ in [ callHackage "Cabal" "3.8.1.0" , callHackage "OpenGLRaw" "3.3.4.1" , callHackage "PyF" "0.11.1.0" , callHackage "aeson" "2.1.0.0" + , callHackage "aeson-pretty" "0.8.9" , callHackage "aeson-yaml" "1.1.0.1" , callHackage "ansi-terminal" "0.11.3" , callHackage "apecs" "0.9.4" @@ -89,6 +90,7 @@ in [ callHackage "Cabal" "3.8.1.0" , callHackage "blaze-markup" "0.8.2.8" , callHackage "boring" "0.2" , callHackage "bsb-http-chunked" "0.0.0.4" + , callHackage "breakpoint" "0.1.1.1" , callHackage "brick" "1.3" , callHackage "bytes" "0.17.2" , callHackage "cabal-doctest" "1.0.9" @@ -99,6 +101,8 @@ in [ callHackage "Cabal" "3.8.1.0" "https://github.com/NixOS/cabal2nix" (None Text) (Some "cabal2nix") + , callHackage "cassava" "0.5.3.0" + , callHackage "cassava-megaparsec" "2.0.4" , callHackage "cereal" "0.5.8.3" , callHackage "cborg" "0.2.8.0" , callHackage "cborg-json" "0.2.5.0" @@ -239,6 +243,8 @@ in [ callHackage "Cabal" "3.8.1.0" , callHackage "hie-bios" "0.11.0" , callHackage "hie-compat" "0.3.0.0" , callHackage "hiedb" "0.4.2.0" + , callHackage "hledger-lib" "1.27.1" + , callHackage "hledger" "1.27.1" , callHackage "hlint" "3.5" , callHackage "hourglass" "0.2.12" , callCabal2nix diff --git a/overlay.nix b/overlay.nix index 533397ed3e058b503d92f7164e61e470446b26ac..b9eeef90132b297def202e0aff54306340f0559b 100644 --- a/overlay.nix +++ b/overlay.nix @@ -25,6 +25,8 @@ final: prev: with pkgs.haskell.lib; { aeson = prev.callPackage (./pkgs/aeson.nix) { }; + aeson-pretty = prev.callPackage (./pkgs/aeson-pretty.nix) { }; + aeson-yaml = prev.callPackage (./pkgs/aeson-yaml.nix) { }; ansi-terminal = prev.callPackage (./pkgs/ansi-terminal.nix) { }; @@ -59,6 +61,8 @@ final: prev: with pkgs.haskell.lib; { boring = prev.callPackage (./pkgs/boring.nix) { }; + breakpoint = prev.callPackage (./pkgs/breakpoint.nix) { }; + brick = prev.callPackage (./pkgs/brick.nix) { }; bsb-http-chunked = prev.callPackage (./pkgs/bsb-http-chunked.nix) { }; @@ -73,6 +77,10 @@ final: prev: with pkgs.haskell.lib; { cabal2nix = prev.callPackage (./pkgs/cabal2nix.nix) { }; + cassava = prev.callPackage (./pkgs/cassava.nix) { }; + + cassava-megaparsec = prev.callPackage (./pkgs/cassava-megaparsec.nix) { }; + cborg = prev.callPackage (./pkgs/cborg.nix) { }; cborg-json = prev.callPackage (./pkgs/cborg-json.nix) { }; @@ -265,6 +273,10 @@ final: prev: with pkgs.haskell.lib; { hiedb = prev.callPackage (./pkgs/hiedb.nix) { }; + hledger = prev.callPackage (./pkgs/hledger.nix) { }; + + hledger-lib = prev.callPackage (./pkgs/hledger-lib.nix) { }; + hlint = prev.callPackage (./pkgs/hlint.nix) { }; hnix = prev.callPackage (./pkgs/hnix.nix) { }; diff --git a/pkgs/aeson-pretty.nix b/pkgs/aeson-pretty.nix new file mode 100644 index 0000000000000000000000000000000000000000..19158ce4aa5be546040af26425c5fc6128fb5ea9 --- /dev/null +++ b/pkgs/aeson-pretty.nix @@ -0,0 +1,27 @@ +{ mkDerivation, aeson, attoparsec, base, base-compat, bytestring +, cmdargs, lib, scientific, text, unordered-containers, vector +}: +mkDerivation { + pname = "aeson-pretty"; + version = "0.8.9"; + sha256 = "5dbc4f451dfa1e667b2c6ec5170714fed1905dc9cae6a1134b3376f355fa2a08"; + revision = "2"; + editedCabalFile = "1895w56jl4c06wfhv5zf8ayqpzkxgva2rz5xxz8fvfdiza781cgp"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base base-compat bytestring scientific text + unordered-containers vector + ]; + executableHaskellDepends = [ + aeson attoparsec base bytestring cmdargs + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "http://github.com/informatikr/aeson-pretty"; + description = "JSON pretty-printing library and command-line tool"; + license = lib.licenses.bsd3; + mainProgram = "aeson-pretty"; +} \ No newline at end of file diff --git a/pkgs/breakpoint.nix b/pkgs/breakpoint.nix new file mode 100644 index 0000000000000000000000000000000000000000..d6dfc5de0f75fc14b446a31e86b9cda5ba045959 --- /dev/null +++ b/pkgs/breakpoint.nix @@ -0,0 +1,20 @@ +{ mkDerivation, ansi-terminal, base, containers, ghc, haskeline +, lib, mtl, pretty-simple, tasty, tasty-hunit, template-haskell +, text, transformers +}: +mkDerivation { + pname = "breakpoint"; + version = "0.1.1.1"; + sha256 = "e24a2cafa6ea866b571fe50bcc49fbf64c14244d985918e9ffe2c7c789d5cec3"; + libraryHaskellDepends = [ + ansi-terminal base containers ghc haskeline mtl pretty-simple + template-haskell text transformers + ]; + testHaskellDepends = [ base containers tasty tasty-hunit ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + description = "Set breakpoints using a GHC plugin"; + license = lib.licenses.mit; +} \ No newline at end of file diff --git a/pkgs/cassava-megaparsec.nix b/pkgs/cassava-megaparsec.nix new file mode 100644 index 0000000000000000000000000000000000000000..15673053d8eb1a025bdcedf9493c6da5f02e090c --- /dev/null +++ b/pkgs/cassava-megaparsec.nix @@ -0,0 +1,21 @@ +{ mkDerivation, base, bytestring, cassava, hspec, hspec-megaparsec +, lib, megaparsec, unordered-containers, vector +}: +mkDerivation { + pname = "cassava-megaparsec"; + version = "2.0.4"; + sha256 = "16398f202df2898de482c156835ba6e7dea8ef71d7ac818c5cd4e72ad1f8e95d"; + libraryHaskellDepends = [ + base bytestring cassava megaparsec unordered-containers vector + ]; + testHaskellDepends = [ + base bytestring cassava hspec hspec-megaparsec vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/stackbuilders/cassava-megaparsec"; + description = "Megaparsec parser of CSV files that plays nicely with Cassava"; + license = lib.licenses.mit; +} \ No newline at end of file diff --git a/pkgs/cassava.nix b/pkgs/cassava.nix new file mode 100644 index 0000000000000000000000000000000000000000..3581c8633d6d1bc780c93bdd3671acaf3b23990c --- /dev/null +++ b/pkgs/cassava.nix @@ -0,0 +1,28 @@ +{ mkDerivation, array, attoparsec, base, bytestring, containers +, deepseq, hashable, HUnit, lib, Only, QuickCheck +, quickcheck-instances, scientific, test-framework +, test-framework-hunit, test-framework-quickcheck2, text +, text-short, transformers, unordered-containers, vector +}: +mkDerivation { + pname = "cassava"; + version = "0.5.3.0"; + sha256 = "b4c8451f433ad7725cb8b9f7a7efe598ba103b16584713c91f48ae023829e9be"; + configureFlags = [ "-f-bytestring--lt-0_10_4" ]; + libraryHaskellDepends = [ + array attoparsec base bytestring containers deepseq hashable Only + scientific text text-short transformers unordered-containers vector + ]; + testHaskellDepends = [ + attoparsec base bytestring hashable HUnit QuickCheck + quickcheck-instances scientific test-framework test-framework-hunit + test-framework-quickcheck2 text unordered-containers vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/haskell-hvr/cassava"; + description = "A CSV parsing and encoding library"; + license = lib.licenses.bsd3; +} \ No newline at end of file diff --git a/pkgs/hledger-lib.nix b/pkgs/hledger-lib.nix new file mode 100644 index 0000000000000000000000000000000000000000..6e072669b9d29846597c7af602fe051e2a6d196c --- /dev/null +++ b/pkgs/hledger-lib.nix @@ -0,0 +1,39 @@ +{ mkDerivation, aeson, aeson-pretty, ansi-terminal, array, base +, blaze-markup, breakpoint, bytestring, call-stack, cassava +, cassava-megaparsec, cmdargs, containers, data-default, Decimal +, deepseq, directory, doclayout, doctest, extra, file-embed +, filepath, Glob, hashtables, lib, megaparsec, microlens +, microlens-th, mtl, parser-combinators, pretty-simple, regex-tdfa +, safe, tabular, tasty, tasty-hunit, template-haskell, text, time +, timeit, transformers, uglymemo, unordered-containers, utf8-string +}: +mkDerivation { + pname = "hledger-lib"; + version = "1.27.1"; + sha256 = "0bf2ab283435a3c49b91a2f18e124f7b27d8203a4db6ef8a1df71ae6fcb55270"; + libraryHaskellDepends = [ + aeson aeson-pretty ansi-terminal array base blaze-markup breakpoint + bytestring call-stack cassava cassava-megaparsec cmdargs containers + data-default Decimal deepseq directory doclayout extra file-embed + filepath Glob hashtables megaparsec microlens microlens-th mtl + parser-combinators pretty-simple regex-tdfa safe tabular tasty + tasty-hunit template-haskell text time timeit transformers uglymemo + unordered-containers utf8-string + ]; + testHaskellDepends = [ + aeson aeson-pretty ansi-terminal array base blaze-markup breakpoint + bytestring call-stack cassava cassava-megaparsec cmdargs containers + data-default Decimal deepseq directory doclayout doctest extra + file-embed filepath Glob hashtables megaparsec microlens + microlens-th mtl parser-combinators pretty-simple regex-tdfa safe + tabular tasty tasty-hunit template-haskell text time timeit + transformers uglymemo unordered-containers utf8-string + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "http://hledger.org"; + description = "A reusable library providing the core functionality of hledger"; + license = lib.licenses.gpl3Only; +} \ No newline at end of file diff --git a/pkgs/hledger.nix b/pkgs/hledger.nix new file mode 100644 index 0000000000000000000000000000000000000000..f951a7a330a6538752ec98b0e0f56a03dba47871 --- /dev/null +++ b/pkgs/hledger.nix @@ -0,0 +1,47 @@ +{ mkDerivation, aeson, ansi-terminal, base, breakpoint, bytestring +, cmdargs, containers, data-default, Decimal, Diff, directory +, extra, filepath, githash, hashable, haskeline, hledger-lib, lib +, lucid, math-functions, megaparsec, microlens, mtl, process +, regex-tdfa, safe, shakespeare, split, tabular, tasty, temporary +, terminfo, text, time, timeit, transformers, unordered-containers +, utf8-string, utility-ht, wizards +}: +mkDerivation { + pname = "hledger"; + version = "1.27.1"; + sha256 = "0bb7f637c5dfe0deaf6ea463b68a23fc08c4d581e78a81319e5e687fea41af61"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson ansi-terminal base breakpoint bytestring cmdargs containers + data-default Decimal Diff directory extra filepath githash hashable + haskeline hledger-lib lucid math-functions megaparsec microlens mtl + process regex-tdfa safe shakespeare split tabular tasty temporary + terminfo text time timeit transformers unordered-containers + utf8-string utility-ht wizards + ]; + executableHaskellDepends = [ + aeson ansi-terminal base breakpoint bytestring cmdargs containers + data-default Decimal directory extra filepath githash haskeline + hledger-lib math-functions megaparsec microlens mtl process + regex-tdfa safe shakespeare split tabular tasty temporary terminfo + text time timeit transformers unordered-containers utf8-string + utility-ht wizards + ]; + testHaskellDepends = [ + aeson ansi-terminal base breakpoint bytestring cmdargs containers + data-default Decimal directory extra filepath githash haskeline + hledger-lib math-functions megaparsec microlens mtl process + regex-tdfa safe shakespeare split tabular tasty temporary terminfo + text time timeit transformers unordered-containers utf8-string + utility-ht wizards + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "http://hledger.org"; + description = "Command-line interface for the hledger accounting system"; + license = lib.licenses.gpl3Only; + mainProgram = "hledger"; +} \ No newline at end of file