name: hledger-lib version: 1.51.99 license: GPL-3.0-or-later maintainer: Simon Michael author: Simon Michael stability: stable tested-with: ghc==9.6.7, ghc==9.8.4, ghc==9.10.2, ghc==9.12.2 homepage: http://hledger.org bug-reports: http://bugs.hledger.org github: simonmichael/hledger category: Finance 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 extra-source-files: - CHANGES.md - README.md - test/unittest.hs - test/doctests.hs flags: debug: description: Build with GHC 9.10+ stack traces enabled default: false manual: true # ghcdebug: # description: Build with support for attaching a ghc-debug client # default: false # manual: true dependencies: - base >=4.18 && <4.23 - aeson >=1 && <2.3 - aeson-pretty - ansi-terminal >=0.9 - array - blaze-markup >=0.5.1 - blaze-html - 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 >=1.2.6.1 - doclayout >=0.3 && <0.6 - encoding >=0.10 - file-embed >=0.0.10 - filepath - hashtables >=1.2.3.1 && <1.3 || >=1.4.0 - lucid - megaparsec >=7.0.0 && <9.8 - microlens >=0.4 - microlens-th >=0.4 - mtl >=2.2.1 - parser-combinators >=0.4.0 - pretty-simple >4 && <5 - process - regex-tdfa - safe >=0.3.20 - tabular >=0.2 - tasty >=1.2.3 - tasty-hunit >=0.10.0.2 - template-haskell - terminal-size >=0.3.3 - text >=1.2.4.1 - these >=1.0.0 - time >=1.5 - timeit - transformers >=0.2 - unordered-containers >=0.2 - uglymemo - utf8-string >=0.3.5 - extra >=1.7.11 - Glob >= 0.9 cpp-options: -DVERSION="1.51.99" language: GHC2021 ghc-options: - -Wall - -Wno-incomplete-uni-patterns - -Wno-missing-signatures - -Wno-orphans - -Wno-type-defaults - -Wno-unused-do-bind when: - condition: (flag(debug)) cpp-options: -DDEBUG # - condition: (flag(ghcdebug)) # cpp-options: -DGHCDEBUG # dependencies: # - ghc-debug-stub >=0.6.0.0 && <0.7 library: source-dirs: . # default: All modules in source-dirs less other-modules less modules mentioned in when # exposed-modules: # - Hledger # - Hledger.Data # - Hledger.Data.Account # - Hledger.Data.AccountName # - Hledger.Data.Amount # - Hledger.Data.BalanceData # - Hledger.Data.Balancing # - Hledger.Data.Currency # - 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.PeriodData # - Hledger.Data.PeriodicTransaction # - Hledger.Data.Posting # - Hledger.Data.RawOptions # - Hledger.Data.StringFormat # - 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.InputOptions # - Hledger.Read.JournalReader # - Hledger.Read.RulesReader # - Hledger.Read.TimedotReader # - Hledger.Read.TimeclockReader # - Hledger.Write.Beancount # - Hledger.Write.Csv # - Hledger.Write.Ods # - Hledger.Write.Html # - Hledger.Write.Html.Attribute # - Hledger.Write.Html.Blaze # - Hledger.Write.Html.Lucid # - Hledger.Write.Html.HtmlCommon # - Hledger.Write.Spreadsheet # - 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 # - Text.WideString # "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 # cabal users: when run by cabal, doctest requires a ghc environment file, so cabal.project ensures that # 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: - doctest >=0.18.1 - Glob >=0.7