hledger/hledger-lib/package.yaml
Stephen Morgan 4576f8effd pkg!: Migrate the last of old-time over to time, changing ClockTime to
POSIXTime.

This eliminates old-time, which has been deprecated for a while, from
our dependencies.

This introduces a slight incompatibility, as a small number of functions
now take/return POSIXTime instead of ClockTime. Generally you will be
using the current time, in which case you should use getPOSIXTime from
Data.Time.Clock.POSIX instead of getClockTime.

utcTimeToClockTime has been removed, as it is now equivalent to
utcTimeToPOSIXSeconds from Data.Time.Clock.POSIX.
2021-08-19 17:47:19 -10:00

183 lines
4.9 KiB
YAML

name: hledger-lib
version: 1.22.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.6.5, GHC==8.8.4, GHC==8.10.4, GHC==9.0.1
extra-source-files:
- CHANGES.md
- README.md
- test/unittest.hs
- test/doctests.hs
#data-files:
dependencies:
- base >=4.11 && <4.16
- base-compat-batteries >=0.10.1 && <0.12
- 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
- data-default >=0.5
- Decimal >=0.5.1
- directory
- file-embed >=0.0.10
- filepath
- hashtables >=1.2.3.1
- megaparsec >=7.0.0 && <9.2
- microlens >=0.4
- mtl >=2.2.1
- parser-combinators >=0.4.0
- pretty-simple >4 && <5
- regex-tdfa
- safe >=0.2
- tabular >=0.2
- tasty >=1.2.3
- tasty-hunit >=0.10.0.2
- template-haskell
- text >=1.2
- time >=1.5
- timeit
- transformers >=0.2
- unordered-containers >=0.2
- uglymemo
- utf8-string >=0.3.5
- extra >=1.6.3
- Glob >= 0.9
# for ledger-parse:
#- parsers >=0.5
#- system-filepath
#- trifecta >=0.91
ghc-options:
- -Wall
- -fno-warn-unused-do-bind
- -fno-warn-name-shadowing
- -fno-warn-missing-signatures
- -fno-warn-type-defaults
- -fno-warn-orphans
source-dirs:
#- other/ledger-parse
- .
library:
exposed-modules:
- Hledger
- Hledger.Data
- Hledger.Data.Account
- Hledger.Data.AccountName
- Hledger.Data.Amount
- Hledger.Data.Commodity
- Hledger.Data.Dates
- Hledger.Read.InputOptions
- Hledger.Data.Journal
- 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.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.Color
- Hledger.Utils.Debug
- Hledger.Utils.Parse
- Hledger.Utils.Regex
- Hledger.Utils.String
- Hledger.Utils.Test
- Hledger.Utils.Text
- Hledger.Utils.Tree
- Hledger.Utils.UTF8IOCompat
- 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
# disable doctest with GHC 9 for now, https://github.com/sol/doctest/issues/301
when:
- condition: impl(ghc >= 9.0)
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