hledger/hledger-lib/package.yaml
2025-12-05 01:10:16 -10:00

210 lines
5.4 KiB
YAML

name: hledger-lib
version: 1.51.99
license: GPL-3.0-or-later
maintainer: Simon Michael <simon@joyful.com>
author: Simon Michael <simon@joyful.com>
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.22
- 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