name: hledger-lib version: 1.22 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.6.5, GHC==8.8.4, GHC==8.10.4 extra-source-files: - CHANGES.md - README.md - test/unittest.hs - test/doctests.hs #data-files: dependencies: - base >=4.10.1.0 && <4.16 - 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 >=0.5.9 - cassava - cassava-megaparsec - data-default >=0.5 - Decimal >=0.5.1 - directory - file-embed >=0.0.10 - filepath - hashtables >=1.2.3.1 - megaparsec >=7.0.0 && <9.2 - microlens >=0.4 - mtl >=2.2.1 - old-time - parser-combinators >=0.4.0 - pretty-simple >4 && <5 - regex-tdfa - safe >=0.2 - 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.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: # prefer the latest doctest - doctest >=0.18.1 - Glob >=0.7 # disable doctest with GHC 9 for now, https://github.com/sol/doctest/issues/301 when: - condition: impl(ghc >= 9.0) 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