hledger/stack.yaml
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

60 lines
1.4 KiB
YAML

# stack build plan using GHC 9.10.1
# https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.10
# https://downloads.haskell.org/ghc/9.10.1/docs/users_guide/9.10.1-notes.html
resolver: nightly-2024-12-19
packages:
- hledger-lib
- hledger
- hledger-ui
- hledger-web
# To minimise problems, use the versions shipped with GHC 9.10.1 when possible.
# See https://github.com/haskell/unix/issues/329.
extra-deps:
# - base-compat-0.14.0
# for hledger-lib
- encoding-0.10
# - Cabal-3.12.0.0
# - Cabal-syntax-3.12.0.0
# #- directory-1.3.8.3
# #- filepath-1.5.2.0
# - directory-1.3.9.0
# - filepath-1.4.301.0
# - ghc-boot-9.10.1@rev:1
# - process-1.6.19.0
# - time-1.12.2
# - unix-2.8.5.1
# # for windows
# - Win32-2.14.0.0
# # for hledger
# - haskeline-0.8.2.1
# # to silence a warning
# - wizards-1.0.3@rev:3
nix:
pure: false
packages: [perl gmp ncurses zlib]
# ghc-options:
# "$locals": -Wno-x-partial
# "$locals": -fplugin Debug.Breakpoint
# # for precise profiling, per https://www.tweag.io/posts/2020-01-30-haskell-profiling.html:
# # apply-ghc-options: everything
# # rebuild-ghc-options: true
# # stack build --profile --ghc-options="-fno-prof-auto"
# # tell GHC to write hie files, eg for weeder. Rumoured to be slow.
# # ghc-options:
# # "$locals": -fwrite-ide-info
# # ghc-options:
# # "$locals": -ddump-timings
# # "$targets": -Werror
# # "$everything": -O2
# # some-package: -DSOME_CPP_FLAG