2016-08-09 17:24:41 +03:00
|
|
|
name: hledger-lib
|
2022-09-02 04:37:40 +03:00
|
|
|
version: 1.27.99
|
2020-03-22 20:49:02 +03:00
|
|
|
synopsis: A reusable library providing the core functionality of hledger
|
2016-08-09 21:27:00 +03:00
|
|
|
description: |
|
2020-03-22 20:49:02 +03:00
|
|
|
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>
|
2016-08-09 21:27:00 +03:00
|
|
|
|
2016-08-09 17:24:41 +03:00
|
|
|
category: Finance
|
2017-03-08 11:19:13 +03:00
|
|
|
license: GPL-3
|
2016-08-09 17:24:41 +03:00
|
|
|
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
|
2017-08-26 02:53:41 +03:00
|
|
|
stability: stable
|
2022-08-23 02:16:47 +03:00
|
|
|
tested-with: GHC==8.10.7, GHC==9.0.2, GHC==9.2.4
|
2017-08-26 02:53:41 +03:00
|
|
|
|
2016-08-09 17:24:41 +03:00
|
|
|
extra-source-files:
|
2019-01-26 05:11:04 +03:00
|
|
|
- CHANGES.md
|
2020-03-22 19:07:47 +03:00
|
|
|
- README.md
|
2019-11-29 17:20:22 +03:00
|
|
|
- test/unittest.hs
|
|
|
|
- test/doctests.hs
|
2017-08-26 02:53:41 +03:00
|
|
|
|
2018-01-26 22:49:26 +03:00
|
|
|
#data-files:
|
|
|
|
|
2016-08-09 17:24:41 +03:00
|
|
|
dependencies:
|
2022-11-26 07:45:17 +03:00
|
|
|
- base >=4.14 && <4.18
|
2020-06-24 00:55:42 +03:00
|
|
|
- aeson >=1
|
2020-06-05 01:12:57 +03:00
|
|
|
- aeson-pretty
|
2020-07-14 22:08:36 +03:00
|
|
|
- ansi-terminal >=0.9
|
2016-08-09 17:24:41 +03:00
|
|
|
- array
|
|
|
|
- blaze-markup >=0.5.1
|
2022-12-01 17:45:46 +03:00
|
|
|
# - breakpoint >=0.1.2.0
|
2016-08-09 17:24:41 +03:00
|
|
|
- bytestring
|
2018-08-16 08:16:09 +03:00
|
|
|
- call-stack
|
2017-12-31 20:13:50 +03:00
|
|
|
- cmdargs >=0.10
|
2021-03-29 18:19:28 +03:00
|
|
|
- containers >=0.5.9
|
2018-09-07 20:12:13 +03:00
|
|
|
- cassava
|
|
|
|
- cassava-megaparsec
|
2016-08-09 17:24:41 +03:00
|
|
|
- data-default >=0.5
|
2022-08-23 01:31:56 +03:00
|
|
|
- deepseq
|
2020-03-19 20:10:55 +03:00
|
|
|
- Decimal >=0.5.1
|
2016-08-09 17:24:41 +03:00
|
|
|
- directory
|
2022-06-04 13:24:35 +03:00
|
|
|
- doclayout >=0.3 && <0.5
|
2019-01-27 02:52:58 +03:00
|
|
|
- file-embed >=0.0.10
|
2016-08-09 17:24:41 +03:00
|
|
|
- filepath
|
2018-06-05 03:02:57 +03:00
|
|
|
- hashtables >=1.2.3.1
|
2022-11-30 08:55:47 +03:00
|
|
|
- megaparsec >=7.0.0 && <9.4
|
2021-07-27 09:12:02 +03:00
|
|
|
- microlens >=0.4
|
2021-08-25 09:07:16 +03:00
|
|
|
- microlens-th >=0.4
|
2019-12-02 19:23:00 +03:00
|
|
|
- mtl >=2.2.1
|
2018-05-21 03:01:07 +03:00
|
|
|
- parser-combinators >=0.4.0
|
lib: replace pretty-show with pretty-simple
pretty-simple, already used in .ghci, will hopefully give nicer debug
output, including for values which don't have Read-able Show output.
This should mean that we can start removing custom string-like Show
instances that were a workaround for pretty-show.
We are using the latest version (4.0.0.0) to get compact output.
Here's some old pretty-show output:
CsvRules
{ rdirectives = [ ( "skip" , "1" ) ]
, rcsvfieldindexes = [ ( "date" , 1 ) , ( "amount" , 2 ) ]
, rassignments = [ ( "amount" , "%2" ) , ( "date" , "%1" ) ]
, rconditionalblocks = []
}
And the new pretty-simple output:
CsvRules
{ rdirectives=
[ ( "skip", "1" ) ]
, rcsvfieldindexes=
[ ( "date", 1 ), ( "amount", 2 ) ]
, rassignments=
[ ( "amount", "%2" ), ( "date", "%1" ) ]
, rconditionalblocks= []
}
Non-compact pretty-simple output would be:
CsvRules
{ rdirectives=
[
( "skip"
, "1B"
)
]
, rcsvfieldindexes=
[
( "date"
, 1
)
,
( "amount"
, 2
)
]
, rassignments=
[
( "amount"
, "%2"
)
,
( "date"
, "%1"
)
]
, rconditionalblocks=[]
}
Also:
- Account's Show instance no longer converts : to _ in account names
- drop unused pretty-show dependency from hledger, hledger-ui packages
- regenerate hledger-lib with the older hpack that's shipped in stack
2020-11-10 18:08:29 +03:00
|
|
|
- pretty-simple >4 && <5
|
2016-08-09 17:24:41 +03:00
|
|
|
- regex-tdfa
|
2022-07-11 08:02:54 +03:00
|
|
|
- safe >=0.3.19
|
2018-04-03 15:07:13 +03:00
|
|
|
- tabular >=0.2
|
2019-11-27 00:56:14 +03:00
|
|
|
- tasty >=1.2.3
|
|
|
|
- tasty-hunit >=0.10.0.2
|
2019-01-27 02:52:58 +03:00
|
|
|
- template-haskell
|
2017-12-31 20:13:50 +03:00
|
|
|
- text >=1.2
|
2017-08-26 02:56:41 +03:00
|
|
|
- time >=1.5
|
2019-08-01 19:24:40 +03:00
|
|
|
- timeit
|
2017-12-31 20:13:50 +03:00
|
|
|
- transformers >=0.2
|
2020-06-12 05:23:57 +03:00
|
|
|
- unordered-containers >=0.2
|
2016-08-09 17:24:41 +03:00
|
|
|
- uglymemo
|
2017-12-31 20:13:50 +03:00
|
|
|
- utf8-string >=0.3.5
|
2022-06-01 02:33:45 +03:00
|
|
|
- extra >=1.6.3
|
|
|
|
- Glob >= 0.9
|
2016-11-12 21:50:57 +03:00
|
|
|
# for ledger-parse:
|
2017-12-31 20:05:39 +03:00
|
|
|
#- parsers >=0.5
|
2017-03-30 07:00:16 +03:00
|
|
|
#- system-filepath
|
2017-12-31 20:05:39 +03:00
|
|
|
#- trifecta >=0.91
|
2017-08-26 02:53:41 +03:00
|
|
|
|
2016-08-09 17:24:41 +03:00
|
|
|
ghc-options:
|
|
|
|
- -Wall
|
2022-03-26 21:11:52 +03:00
|
|
|
- -Wno-incomplete-uni-patterns
|
2022-03-26 09:28:34 +03:00
|
|
|
- -Wno-missing-signatures
|
|
|
|
- -Wno-orphans
|
2022-03-26 21:11:52 +03:00
|
|
|
- -Wno-type-defaults
|
|
|
|
- -Wno-unused-do-bind
|
2017-08-26 02:53:41 +03:00
|
|
|
|
2016-11-12 21:50:57 +03:00
|
|
|
source-dirs:
|
2017-03-30 07:00:16 +03:00
|
|
|
#- other/ledger-parse
|
2016-11-12 21:50:57 +03:00
|
|
|
- .
|
2017-08-26 02:53:41 +03:00
|
|
|
|
2016-08-09 17:24:41 +03:00
|
|
|
library:
|
|
|
|
exposed-modules:
|
|
|
|
- Hledger
|
|
|
|
- Hledger.Data
|
|
|
|
- Hledger.Data.Account
|
|
|
|
- Hledger.Data.AccountName
|
|
|
|
- Hledger.Data.Amount
|
2021-08-24 05:34:32 +03:00
|
|
|
- Hledger.Data.Balancing
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Data.Dates
|
2022-05-09 21:45:27 +03:00
|
|
|
- Hledger.Data.Errors
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Data.Journal
|
2022-05-09 21:45:27 +03:00
|
|
|
- Hledger.Data.JournalChecks
|
|
|
|
- Hledger.Data.JournalChecks.Ordereddates
|
|
|
|
- Hledger.Data.JournalChecks.Uniqueleafnames
|
2019-12-17 04:15:24 +03:00
|
|
|
- Hledger.Data.Json
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Data.Ledger
|
|
|
|
- Hledger.Data.Period
|
2018-07-30 21:38:47 +03:00
|
|
|
- Hledger.Data.PeriodicTransaction
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Data.StringFormat
|
|
|
|
- Hledger.Data.Posting
|
|
|
|
- Hledger.Data.RawOptions
|
|
|
|
- Hledger.Data.Timeclock
|
|
|
|
- Hledger.Data.Transaction
|
2018-07-30 21:38:47 +03:00
|
|
|
- Hledger.Data.TransactionModifier
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Data.Types
|
2019-06-15 02:17:06 +03:00
|
|
|
- Hledger.Data.Valuation
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Query
|
|
|
|
- Hledger.Read
|
|
|
|
- Hledger.Read.Common
|
|
|
|
- Hledger.Read.CsvReader
|
2022-05-09 21:45:27 +03:00
|
|
|
- Hledger.Read.InputOptions
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Read.JournalReader
|
2017-03-30 07:00:16 +03:00
|
|
|
# - Hledger.Read.LedgerReader
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Read.TimedotReader
|
|
|
|
- Hledger.Read.TimeclockReader
|
|
|
|
- Hledger.Reports
|
|
|
|
- Hledger.Reports.ReportOptions
|
2018-04-03 15:06:52 +03:00
|
|
|
- Hledger.Reports.ReportTypes
|
2019-05-24 07:51:45 +03:00
|
|
|
- Hledger.Reports.AccountTransactionsReport
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Reports.BalanceReport
|
2018-04-03 15:06:52 +03:00
|
|
|
- Hledger.Reports.BudgetReport
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Reports.EntriesReport
|
2019-06-14 21:45:25 +03:00
|
|
|
- Hledger.Reports.MultiBalanceReport
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Reports.PostingsReport
|
|
|
|
- Hledger.Utils
|
|
|
|
- Hledger.Utils.Debug
|
2022-11-05 07:39:31 +03:00
|
|
|
- Hledger.Utils.IO
|
2016-08-09 17:24:41 +03:00
|
|
|
- Hledger.Utils.Parse
|
|
|
|
- Hledger.Utils.Regex
|
|
|
|
- Hledger.Utils.String
|
|
|
|
- Hledger.Utils.Test
|
|
|
|
- Hledger.Utils.Text
|
2018-04-03 15:07:13 +03:00
|
|
|
- Text.Tabular.AsciiWide
|
2017-03-30 07:00:16 +03:00
|
|
|
# other-modules:
|
|
|
|
# - Ledger.Parser.Text
|
2017-08-26 02:53:41 +03:00
|
|
|
|
2019-11-29 17:20:22 +03:00
|
|
|
# "cabal test hledger-lib" currently fails, see doctest suite below
|
2016-08-09 17:24:41 +03:00
|
|
|
tests:
|
2018-03-06 04:27:13 +03:00
|
|
|
|
2019-11-29 17:20:22 +03:00
|
|
|
unittest:
|
2019-11-29 17:06:36 +03:00
|
|
|
buildable: true
|
|
|
|
source-dirs: test
|
2019-11-29 17:20:22 +03:00
|
|
|
main: unittest.hs
|
2019-11-29 17:06:36 +03:00
|
|
|
other-modules: [] # prevent double compilation, https://github.com/sol/hpack/issues/188
|
|
|
|
dependencies:
|
|
|
|
- hledger-lib
|
|
|
|
|
2020-03-07 05:18:15 +03:00
|
|
|
# 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
|
2019-11-29 17:20:22 +03:00
|
|
|
doctest:
|
2018-08-18 17:11:48 +03:00
|
|
|
source-dirs: test
|
2019-11-29 17:20:22 +03:00
|
|
|
main: doctests.hs # can't call it doctest.hs ("File name does not match module name")
|
2019-11-19 15:10:46 +03:00
|
|
|
other-modules: [] # prevent double compilation, https://github.com/sol/hpack/issues/188
|
2016-08-09 17:24:41 +03:00
|
|
|
dependencies:
|
2021-07-17 06:58:57 +03:00
|
|
|
# prefer the latest doctest
|
|
|
|
- doctest >=0.18.1
|
2016-08-09 21:52:15 +03:00
|
|
|
- Glob >=0.7
|
2019-07-14 14:55:19 +03:00
|
|
|
|
2021-07-21 00:19:30 +03:00
|
|
|
when:
|
2022-04-25 14:33:53 +03:00
|
|
|
# disable doctest with GHC 9.0, https://github.com/sol/doctest/issues/301
|
2022-08-29 12:53:10 +03:00
|
|
|
- condition: impl(ghc >= 9.0) && impl(ghc < 9.2)
|
2021-07-21 00:19:30 +03:00
|
|
|
buildable: false
|
|
|
|
|
2021-07-17 06:58:57 +03:00
|
|
|
# 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 :
|
2018-09-07 21:21:32 +03:00
|
|
|
# ~$ 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}
|
2019-07-14 14:55:19 +03:00
|
|
|
# Should probably disable it by default:
|
2018-09-07 21:21:32 +03:00
|
|
|
#when:
|
|
|
|
# - condition: os(darwin) && impl(ghc >= 8.4)
|
|
|
|
# buildable: false
|