name: hledger-lib version: 1.31.99 synopsis: A library providing the core functionality of hledger description: | This library contains hledger's core functionality. It is used by most hledger* packages so that they support the same command line options, file formats, reports, etc. hledger is a robust, cross-platform set of tools for tracking money, time, or any other commodity, using double-entry accounting and a simple, editable file format, with command-line, terminal and web interfaces. It is a Haskell rewrite of Ledger, and one of the leading implementations of Plain Text Accounting. See also: - https://hledger.org - hledger's home page - https://hledger.org/dev.html - starting point for hledger's developer docs - https://hackage.haskell.org/package/hledger-lib/docs/Hledger.html - starting point for hledger's haddock docs category: Finance license: GPL-3 author: Simon Michael maintainer: Simon Michael github: simonmichael/hledger homepage: http://hledger.org bug-reports: http://bugs.hledger.org stability: stable tested-with: GHC==8.10.7, GHC==9.0.2, GHC==9.2.8, GHC==9.4.5, GHC==9.6.2 extra-source-files: - CHANGES.md - README.md - test/unittest.hs - test/doctests.hs #data-files: dependencies: - base >=4.14 && <4.19 - base-compat - aeson >=1 && <2.3 - aeson-pretty - ansi-terminal >=0.9 - array - blaze-markup >=0.5.1 - bytestring - call-stack - cmdargs >=0.10 - containers >=0.5.9 - cassava - cassava-megaparsec - colour >=2.3.6 - data-default >=0.5 - deepseq - Decimal >=0.5.1 - directory - doclayout >=0.3 && <0.5 - file-embed >=0.0.10 - filepath - hashtables >=1.2.3.1 - megaparsec >=7.0.0 && <9.6 - microlens >=0.4 - microlens-th >=0.4 - mtl >=2.2.1 - parser-combinators >=0.4.0 - pretty-simple >4 && <5 - regex-tdfa - safe >=0.3.19 - tabular >=0.2 - tasty >=1.2.3 - tasty-hunit >=0.10.0.2 - template-haskell - terminal-size >=0.3.3 - text >=1.2 - text-ansi >=0.2.1 - time >=1.5 - timeit - transformers >=0.2 - unordered-containers >=0.2 - uglymemo - utf8-string >=0.3.5 - extra >=1.6.3 - Glob >= 0.9 when: - condition: (!(os(windows))) dependencies: - pager >=0.1.1.0 ghc-options: - -Wall - -Wno-incomplete-uni-patterns - -Wno-missing-signatures - -Wno-orphans - -Wno-type-defaults - -Wno-unused-do-bind source-dirs: #- other/ledger-parse - . library: exposed-modules: - Hledger - Hledger.Data - Hledger.Data.Account - Hledger.Data.AccountName - Hledger.Data.Amount - Hledger.Data.Balancing - Hledger.Data.Dates - Hledger.Data.Errors - Hledger.Data.Journal - Hledger.Data.JournalChecks - Hledger.Data.JournalChecks.Ordereddates - Hledger.Data.JournalChecks.Uniqueleafnames - Hledger.Data.Json - Hledger.Data.Ledger - Hledger.Data.Period - Hledger.Data.PeriodicTransaction - Hledger.Data.StringFormat - Hledger.Data.Posting - Hledger.Data.RawOptions - Hledger.Data.Timeclock - Hledger.Data.Transaction - Hledger.Data.TransactionModifier - Hledger.Data.Types - Hledger.Data.Valuation - Hledger.Query - Hledger.Read - Hledger.Read.Common - Hledger.Read.CsvReader - Hledger.Read.CsvUtils - Hledger.Read.InputOptions - Hledger.Read.JournalReader - Hledger.Read.RulesReader # - Hledger.Read.LedgerReader - Hledger.Read.TimedotReader - Hledger.Read.TimeclockReader - Hledger.Reports - Hledger.Reports.ReportOptions - Hledger.Reports.ReportTypes - Hledger.Reports.AccountTransactionsReport - Hledger.Reports.BalanceReport - Hledger.Reports.BudgetReport - Hledger.Reports.EntriesReport - Hledger.Reports.MultiBalanceReport - Hledger.Reports.PostingsReport - Hledger.Utils - Hledger.Utils.Debug - Hledger.Utils.IO - Hledger.Utils.Parse - Hledger.Utils.Regex - Hledger.Utils.String - Hledger.Utils.Test - Hledger.Utils.Text - Text.Tabular.AsciiWide # other-modules: # - Ledger.Parser.Text # "cabal test hledger-lib" currently fails, see doctest suite below tests: unittest: buildable: true source-dirs: test main: unittest.hs other-modules: [] # prevent double compilation, https://github.com/sol/hpack/issues/188 dependencies: - hledger-lib # Note when run by cabal, doctest requires a ghc environment file, # so we ensure this is generated, see cabal.project. # https://github.com/simonmichael/hledger/issues/1139 doctest: source-dirs: test main: doctests.hs # can't call it doctest.hs ("File name does not match module name") other-modules: [] # prevent double compilation, https://github.com/sol/hpack/issues/188 dependencies: # prefer the latest doctest - doctest >=0.18.1 - Glob >=0.7 when: # disable doctest with GHC 9.0, https://github.com/sol/doctest/issues/301 - condition: impl(ghc >= 9.0) && impl(ghc < 9.2) buildable: false # ghc 8.4+ on mac needs this workaround. See # https://github.com/sol/doctest/issues/199 # https://ghc.haskell.org/trac/ghc/ticket/15105#comment:10 : # ~$ locate HSinteger-gmp-1.0.2.0.o # /Users/simon/.stack/programs/x86_64-osx/ghc-8.4.3/lib/ghc-8.4.2/integer-gmp-1.0.2.0/HSinteger-gmp-1.0.2.0.o # ~$ mv /Users/simon/.stack/programs/x86_64-osx/ghc-8.4.3/lib/ghc-8.4.2/integer-gmp-1.0.2.0/HSinteger-gmp-1.0.2.0.o{,_DISABLE_GHC_ISSUE_15105} # Should probably disable it by default: #when: # - condition: os(darwin) && impl(ghc >= 8.4) # buildable: false