210 lines
5.4 KiB
YAML
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
|