184 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			184 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: hledger-lib
 | 
						|
version: 1.20.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.0.2, GHC==8.2.2, GHC==8.4.4, GHC==8.6.5, GHC==8.8.3, GHC==8.10.0.20200123
 | 
						|
 | 
						|
extra-source-files:
 | 
						|
- CHANGES.md
 | 
						|
- README.md
 | 
						|
- test/unittest.hs
 | 
						|
- test/doctests.hs
 | 
						|
 | 
						|
#data-files:
 | 
						|
 | 
						|
dependencies:
 | 
						|
- base >=4.9 && <4.15
 | 
						|
- 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
 | 
						|
- 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.1
 | 
						|
- mtl >=2.2.1
 | 
						|
- old-time
 | 
						|
- 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.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.Reports.TransactionsReport
 | 
						|
  - 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:
 | 
						|
    - Glob >=0.7
 | 
						|
    # Need a doctest new enough to support --fast and --verbose and ghc 8.10.
 | 
						|
    - doctest >=0.16.3
 | 
						|
 | 
						|
    # 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
 | 
						|
 | 
						|
    # ghc 8.0 on linux gives Hledger/Read/JournalReader.hs:126: failure in expression `rejp (journalp <* eof) "2015/1/1\n a  0\n"' ... Variable not in scope: rejp :: f0 a0 -> [Char] -> t
 | 
						|
    # must use one conditional here, https://github.com/sol/hpack/issues/379
 | 
						|
    when:
 | 
						|
    - condition: (impl(ghc < 8.2))
 | 
						|
      buildable: false
 |