text-icu-0.8.0.3: README.markdown
# Text-ICU: Comprehensive support for string manipulation
This package provides the Data.Text.ICU library, for performing
complex manipulation of Unicode text. It provides features such as
the following:
* Unicode normalization
* Conversion to and from many common and obscure encodings
* Date and number formatting
* Comparison and collation
## Prerequisites
This library is implemented as bindings to the well-respected [ICU
library](https://icu.unicode.org/) (which is not bundled, and must
be installed separately).
### macOS
brew install icu4c
brew link icu4c --force
You might need:
export PKG_CONFIG_PATH="$(brew --prefix)/opt/icu4c/lib/pkgconfig"
### Debian/Ubuntu
sudo apt-get update
sudo apt-get install libicu-dev
### Fedora/CentOS
sudo dnf install unzip libicu-devel
### Nix/NixOS
nix-shell --packages icu
### Windows/MSYS2
Under MSYS2, `ICU` can be installed via `pacman`.
pacman --noconfirm -S mingw-w64-x86_64-icu
Depending on the age of the MSYS2 installation, the keyring might need
to be updated to avoid certification issues, and `pkg-config` might
need to be added. In this case, do this first:
pacman --noconfirm -Sy msys2-keyring
pacman --noconfirm -S mingw-w64-x86_64-pkgconf
### Windows/stack
With `stack` on Windows, which comes with its _own_ bundled MSYS2, the
following commands give up-to-date system dependencies for
`text-icu-0.8.0` (tested 2023-09-30):
stack exec -- pacman --noconfirm -Sy msys2-keyring
stack exec -- pacman --noconfirm -S mingw-w64-x86_64-pkgconf
stack exec -- pacman --noconfirm -S mingw-w64-x86_64-icu
## Compatibility
Upstream ICU occasionally introduces backwards-incompatible API
breaks. This package tries to stay up to date with upstream, and is
currently more or less in sync with ICU 72.
Minimum required version is ICU 62.
## Get involved!
Please report bugs via the
[github issue tracker](https://github.com/haskell/text-icu/issues).
## Authors
This library was written by Bryan O'Sullivan.