name: hledger-lib version: 1.19.99 synopsis: A reusable library providing the core functionality of hledger description: | A reusable library containing hledger's core functionality. This is used by most hledger* packages so that they support the same common file formats, command line options, 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. Read more at: 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.0.2, GHC==8.2.2, GHC==8.4.4, GHC==8.6.5, GHC==8.8.3, GHC==8.10.0.20200123 extra-source-files: - CHANGES.md - README.md - test/unittest.hs - test/doctests.hs - hledger_csv.5 - hledger_csv.txt - hledger_csv.info - hledger_journal.5 - hledger_journal.txt - hledger_journal.info - hledger_timedot.5 - hledger_timedot.txt - hledger_timedot.info - hledger_timeclock.5 - hledger_timeclock.txt - hledger_timeclock.info #data-files: dependencies: - base >=4.9 && <4.15 - base-compat-batteries >=0.10.1 && <0.12 - aeson >=1 - aeson-pretty - ansi-terminal >=0.9 - array - blaze-markup >=0.5.1 - bytestring - call-stack - cmdargs >=0.10 - containers - cassava - cassava-megaparsec - data-default >=0.5 - Decimal >=0.5.1 - directory - fgl >=5.5.4.0 - file-embed >=0.0.10 - filepath - hashtables >=1.2.3.1 - megaparsec >=7.0.0 && <9.1 - mtl >=2.2.1 - old-time - parsec >=3 - parser-combinators >=0.4.0 - pretty-show >=1.6.4 - regex-tdfa - safe >=0.2 - split >=0.1 - tabular >=0.2 - tasty >=1.2.3 - tasty-hunit >=0.10.0.2 - template-haskell - text >=1.2 - time >=1.5 - timeit - transformers >=0.2 - unordered-containers >=0.2 - uglymemo - utf8-string >=0.3.5 - extra >=1.6.3 - Glob >= 0.9 # for ledger-parse: #- parsers >=0.5 #- system-filepath #- trifecta >=0.91 ghc-options: - -Wall - -fno-warn-unused-do-bind - -fno-warn-name-shadowing - -fno-warn-missing-signatures - -fno-warn-type-defaults - -fno-warn-orphans source-dirs: #- other/ledger-parse - . library: exposed-modules: - Hledger - Hledger.Data - Hledger.Data.Account - Hledger.Data.AccountName - Hledger.Data.Amount - Hledger.Data.Commodity - Hledger.Data.Dates - Hledger.Data.Journal - 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.JournalReader # - 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.Reports.TransactionsReport - Hledger.Utils - Hledger.Utils.Color - Hledger.Utils.Debug - Hledger.Utils.Parse - Hledger.Utils.Regex - Hledger.Utils.String - Hledger.Utils.Test - Hledger.Utils.Text - Hledger.Utils.Tree - Hledger.Utils.UTF8IOCompat - 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: - Glob >=0.7 # Need a doctest new enough to support --fast and --verbose and ghc 8.10. - doctest >=0.16.3 # 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 # ghc 8.0 on linux gives Hledger/Read/JournalReader.hs:126: failure in expression `rejp (journalp <* eof) "2015/1/1\n a 0\n"' ... Variable not in scope: rejp :: f0 a0 -> [Char] -> t # must use one conditional here, https://github.com/sol/hpack/issues/379 when: - condition: (impl(ghc < 8.2)) buildable: false