name: hledger-lib version: 1.16.99 synopsis: Core data types, parsers and functionality for the hledger accounting tools description: | This is a reusable library containing hledger's core functionality. hledger is a cross-platform program for tracking money, time, or any other commodity, using double-entry accounting and a simple, editable file format. It is inspired by and largely compatible with ledger(1). hledger provides command-line, terminal and web interfaces, and aims to be a reliable, practical tool for daily use. 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.3, GHC==8.6.5, GHC==8.8.1 extra-source-files: - CHANGES.md - README - 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.14 - base-compat-batteries >=0.10.1 && <0.12 - aeson - ansi-terminal >=0.6.2.3 - array - blaze-markup >=0.5.1 - bytestring - call-stack - cmdargs >=0.10 - containers - cassava - cassava-megaparsec - data-default >=0.5 - Decimal - deepseq - directory - fgl >=5.5.4.0 - file-embed >=0.0.10 - filepath - hashtables >=1.2.3.1 - megaparsec >=7.0.0 && <8 - 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 - 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 # Running this test suite with cabal requires cabal exec: # cabal exec -- cabal test hledger-lib:test:doctest doctest: buildable: false # doesn't run with cabal test, https://github.com/simonmichael/hledger/issues/1139 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. - doctest >=0.16 # 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: # 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 when: - condition: (impl(ghc < 8.2)) buildable: false