mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-27 12:24:43 +03:00
be8e64e498
Hledger.Utils.IO (and therefore Hledger and Hledger.Cli.Script) added: getTerminalHeightWidth getTerminalHeight getTerminalWidth Color(..) ColorIntensity(..) bold' faint' black' red' green' yellow' blue' magenta' cyan' white' brightBlack' brightRed' brightGreen' brightYellow' brightBlue' brightMagenta' brightCyan' brightWhite' rgb'
193 lines
5.1 KiB
YAML
193 lines
5.1 KiB
YAML
name: hledger-lib
|
|
version: 1.29.99
|
|
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:
|
|
<https://hledger.org>
|
|
|
|
category: Finance
|
|
license: GPL-3
|
|
author: Simon Michael <simon@joyful.com>
|
|
maintainer: Simon Michael <simon@joyful.com>
|
|
github: simonmichael/hledger
|
|
homepage: http://hledger.org
|
|
bug-reports: http://bugs.hledger.org
|
|
stability: stable
|
|
tested-with: GHC==8.10.7, GHC==9.0.2, GHC==9.2.7, GHC==9.4.4
|
|
|
|
extra-source-files:
|
|
- CHANGES.md
|
|
- README.md
|
|
- test/unittest.hs
|
|
- test/doctests.hs
|
|
|
|
#data-files:
|
|
|
|
dependencies:
|
|
- base >=4.14 && <4.19
|
|
- base-compat
|
|
- 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
|
|
- colour >=2.3.6
|
|
- data-default >=0.5
|
|
- deepseq
|
|
- Decimal >=0.5.1
|
|
- directory
|
|
- doclayout >=0.3 && <0.5
|
|
- file-embed >=0.0.10
|
|
- filepath
|
|
- hashtables >=1.2.3.1
|
|
- megaparsec >=7.0.0 && <9.4
|
|
#- megaparsec >=9.3 && <9.4
|
|
- microlens >=0.4
|
|
- microlens-th >=0.4
|
|
- mtl >=2.2.1
|
|
- parser-combinators >=0.4.0
|
|
- pretty-simple >4 && <5
|
|
- regex-tdfa
|
|
- safe >=0.3.19
|
|
- tabular >=0.2
|
|
- tasty >=1.2.3
|
|
- tasty-hunit >=0.10.0.2
|
|
- template-haskell
|
|
- terminal-size >=0.3.3
|
|
- text >=1.2
|
|
- text-ansi >=0.2.1
|
|
- time >=1.5
|
|
- timeit
|
|
- transformers >=0.2
|
|
- unordered-containers >=0.2
|
|
- uglymemo
|
|
- utf8-string >=0.3.5
|
|
- extra >=1.6.3
|
|
- Glob >= 0.9
|
|
|
|
when:
|
|
- condition: (!(os(windows)))
|
|
dependencies:
|
|
- pager >=0.1.1.0
|
|
|
|
ghc-options:
|
|
- -Wall
|
|
- -Wno-incomplete-uni-patterns
|
|
- -Wno-missing-signatures
|
|
- -Wno-orphans
|
|
- -Wno-type-defaults
|
|
- -Wno-unused-do-bind
|
|
|
|
source-dirs:
|
|
#- other/ledger-parse
|
|
- .
|
|
|
|
library:
|
|
exposed-modules:
|
|
- Hledger
|
|
- Hledger.Data
|
|
- Hledger.Data.Account
|
|
- Hledger.Data.AccountName
|
|
- Hledger.Data.Amount
|
|
- Hledger.Data.Balancing
|
|
- 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.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.InputOptions
|
|
- 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.Debug
|
|
- Hledger.Utils.IO
|
|
- Hledger.Utils.Parse
|
|
- Hledger.Utils.Regex
|
|
- Hledger.Utils.String
|
|
- Hledger.Utils.Test
|
|
- Hledger.Utils.Text
|
|
- 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
|
|
|
|
when:
|
|
# disable doctest with GHC 9.0, https://github.com/sol/doctest/issues/301
|
|
- condition: impl(ghc >= 9.0) && impl(ghc < 9.2)
|
|
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
|