hledger/hledger-lib/hledger-lib.cabal
Joschua Kesper 5114962b2a feat:csv: add an encoding rule, allowing non-UTF8 CSV to be read [#2319]
Previously, hledger could read CSV files containing non-ascii
characters only if they are UTF8-encoded.  Now there is a new CSV
rule, encoding ENCODING, which allows reading CSV files with other
encodings.

This adds a dependency on the encoding library, which supports fewer
encodings than text-icu but does not require a third-party C library.
To avoid build issues on various platforms, we require version 0.10+.

This adds some use of the ImplicitParams language extension, required
by encoding's API, but only in a small code region.

This also changes the type of Reader's rReadFn; it now takes
a `Handle` rather than a `Text`, allowing more flexibility.
2025-02-15 14:48:30 -10:00

299 lines
7.8 KiB
Plaintext

cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.37.0.
--
-- see: https://github.com/sol/hpack
name: hledger-lib
version: 1.41.99
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
category: Finance
stability: stable
homepage: http://hledger.org
bug-reports: http://bugs.hledger.org
author: Simon Michael <simon@joyful.com>
maintainer: Simon Michael <simon@joyful.com>
license: GPL-3
license-file: LICENSE
build-type: Simple
tested-with:
GHC==8.10.7, GHC==9.0.2, GHC==9.2.8, GHC==9.4.5, GHC==9.6.2
extra-source-files:
CHANGES.md
README.md
test/unittest.hs
test/doctests.hs
source-repository head
type: git
location: https://github.com/simonmichael/hledger
flag debug
description: Build with GHC 9.10+'s stack traces enabled
manual: True
default: False
library
exposed-modules:
Hledger
Hledger.Data
Hledger.Data.Account
Hledger.Data.AccountName
Hledger.Data.Amount
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.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.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
other-modules:
Paths_hledger_lib
hs-source-dirs:
./
ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind
build-depends:
Decimal >=0.5.1
, Glob >=0.9
, aeson >=1 && <2.3
, aeson-pretty
, ansi-terminal >=0.9
, array
, base >=4.14 && <4.21
, base-compat >=0.14.0
, blaze-html
, blaze-markup >=0.5.1
, bytestring
, call-stack
, cassava
, cassava-megaparsec
, cmdargs >=0.10
, colour >=2.3.6
, containers >=0.5.9
, data-default >=0.5
, deepseq
, directory >=1.2.6.1
, doclayout >=0.3 && <0.6
, encoding >=0.10
, extra >=1.6.3
, file-embed >=0.0.10
, filepath
, hashtables >=1.2.3.1
, 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
, time >=1.5
, timeit
, transformers >=0.2
, uglymemo
, unordered-containers >=0.2
, utf8-string >=0.3.5
default-language: Haskell2010
if (flag(debug))
cpp-options: -DDEBUG
test-suite doctest
type: exitcode-stdio-1.0
main-is: doctests.hs
hs-source-dirs:
./
test
ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind
build-depends:
Decimal >=0.5.1
, Glob >=0.7
, aeson >=1 && <2.3
, aeson-pretty
, ansi-terminal >=0.9
, array
, base >=4.14 && <4.21
, base-compat >=0.14.0
, blaze-html
, blaze-markup >=0.5.1
, bytestring
, call-stack
, cassava
, cassava-megaparsec
, cmdargs >=0.10
, colour >=2.3.6
, containers >=0.5.9
, data-default >=0.5
, deepseq
, directory >=1.2.6.1
, doclayout >=0.3 && <0.6
, doctest >=0.18.1
, encoding >=0.10
, extra >=1.6.3
, file-embed >=0.0.10
, filepath
, hashtables >=1.2.3.1
, 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
, time >=1.5
, timeit
, transformers >=0.2
, uglymemo
, unordered-containers >=0.2
, utf8-string >=0.3.5
default-language: Haskell2010
if (flag(debug))
cpp-options: -DDEBUG
if impl(ghc >= 9.0) && impl(ghc < 9.2)
buildable: False
test-suite unittest
type: exitcode-stdio-1.0
main-is: unittest.hs
hs-source-dirs:
./
test
ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind
build-depends:
Decimal >=0.5.1
, Glob >=0.9
, aeson >=1 && <2.3
, aeson-pretty
, ansi-terminal >=0.9
, array
, base >=4.14 && <4.21
, base-compat >=0.14.0
, blaze-html
, blaze-markup >=0.5.1
, bytestring
, call-stack
, cassava
, cassava-megaparsec
, cmdargs >=0.10
, colour >=2.3.6
, containers >=0.5.9
, data-default >=0.5
, deepseq
, directory >=1.2.6.1
, doclayout >=0.3 && <0.6
, encoding >=0.10
, extra >=1.6.3
, file-embed >=0.0.10
, filepath
, hashtables >=1.2.3.1
, hledger-lib
, 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
, time >=1.5
, timeit
, transformers >=0.2
, uglymemo
, unordered-containers >=0.2
, utf8-string >=0.3.5
buildable: True
default-language: Haskell2010
if (flag(debug))
cpp-options: -DDEBUG