hledger/stack9.0.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

64 lines
1.4 KiB
YAML

# stack build plan using GHC 9.0.2
resolver: lts-19.33
# for https://gitlab.haskell.org/ghc/ghc/-/issues/20592 on mac m1 (adjust path if needed)
extra-include-dirs:
- /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/ffi
packages:
- hledger-lib
- hledger
- hledger-ui
- hledger-web
extra-deps:
- base-compat-0.14.0
- megaparsec-9.3.0
- safe-0.3.21
# for hledger-lib:
- ansi-terminal-0.11.4
- text-ansi-0.2.1
- text-builder-0.6.7
- text-builder-dev-0.3.3.2
- isomorphism-class-0.1.0.7
- encoding-0.10
# for hledger:
# for hledger-ui:
- bimap-0.5.0
- brick-2.3.1
- vty-6.2
- vty-crossplatform-0.4.0.0
- vty-unix-0.2.0.0
- vty-windows-0.2.0.2
- text-zipper-0.13
- fsnotify-0.4.1.0
# for hledger-web:
# for Shake.hs:
nix:
pure: false
packages: [perl gmp ncurses zlib]
flags:
encoding:
systemEncoding: false # See https://github.com/dmwit/encoding/issues/26
# ghc-options:
# "$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