Skip to content

Latest commit

 

History

History
84 lines (49 loc) · 1.99 KB

README.markdown

File metadata and controls

84 lines (49 loc) · 1.99 KB

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 (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.

Authors

This library was written by Bryan O'Sullivan.