1. Bryan O'Sullivan
  2. text

Source

text / text.cabal

name:           text
version:        1.0.0.0
homepage:       https://github.com/bos/text
bug-reports:    https://github.com/bos/text/issues
synopsis:       An efficient packed Unicode text type.
description:
    .
    An efficient packed, immutable Unicode text type (both strict and
    lazy), with a powerful loop fusion optimization framework.
    .
    The 'Text' type represents Unicode character strings, in a time and
    space-efficient manner. This package provides text processing
    capabilities that are optimized for performance critical use, both
    in terms of large data quantities and high speed.
    .
    The 'Text' type provides character-encoding, type-safe case
    conversion via whole-string case conversion functions. It also
    provides a range of functions for converting 'Text' values to and from
    'ByteStrings', using several standard encodings.
    .
    Efficient locale-sensitive support for text IO is also supported.
    .
    These modules are intended to be imported qualified, to avoid name
    clashes with Prelude functions, e.g.
    .
    > import qualified Data.Text as T
    .
    To use an extended and very rich family of functions for working
    with Unicode text (including normalization, regular expressions,
    non-standard encodings, text breaking, and locales), see
    the @text-icu@ package:
    <http://hackage.haskell.org/package/text-icu>

license:        BSD3
license-file:   LICENSE
author:         Bryan O'Sullivan <bos@serpentine.com>
maintainer:     Bryan O'Sullivan <bos@serpentine.com>
copyright:      2009-2011 Bryan O'Sullivan, 2008-2009 Tom Harper
category:       Data, Text
build-type:     Simple
cabal-version:  >= 1.8
extra-source-files:
    -- scripts/CaseFolding.txt
    -- scripts/SpecialCasing.txt
    README.markdown
    benchmarks/Setup.hs
    benchmarks/cbits/*.c
    benchmarks/haskell/*.hs
    benchmarks/haskell/Benchmarks/*.hs
    benchmarks/haskell/Benchmarks/Programs/*.hs
    benchmarks/python/*.py
    benchmarks/ruby/*.rb
    benchmarks/text-benchmarks.cabal
    changelog
    include/*.h
    scripts/*.hs
    tests-and-benchmarks.markdown
    tests/*.hs
    tests/.ghci
    tests/Makefile
    tests/Tests/*.hs
    tests/scripts/*.sh
    tests/text-tests.cabal

flag developer
  description: operate in developer mode
  default: False

flag integer-simple
  description: Use the simple integer library instead of GMP
  default: False

library
  c-sources:    cbits/cbits.c
  include-dirs: include

  exposed-modules:
    Data.Text
    Data.Text.Array
    Data.Text.Encoding
    Data.Text.Encoding.Error
    Data.Text.Foreign
    Data.Text.IO
    Data.Text.Internal
    Data.Text.Lazy
    Data.Text.Lazy.Builder
    Data.Text.Lazy.Builder.Int
    Data.Text.Lazy.Builder.RealFloat
    Data.Text.Lazy.Encoding
    Data.Text.Lazy.IO
    Data.Text.Lazy.Internal
    Data.Text.Lazy.Read
    Data.Text.Read
    Data.Text.Unsafe
  other-modules:
    Data.Text.Encoding.Fusion
    Data.Text.Encoding.Fusion.Common
    Data.Text.Encoding.Utf16
    Data.Text.Encoding.Utf32
    Data.Text.Encoding.Utf8
    Data.Text.Fusion
    Data.Text.Fusion.CaseMapping
    Data.Text.Fusion.Common
    Data.Text.Fusion.Internal
    Data.Text.Fusion.Size
    Data.Text.IO.Internal
    Data.Text.Lazy.Builder.Functions
    Data.Text.Lazy.Builder.Int.Digits
    Data.Text.Lazy.Builder.Internal
    Data.Text.Lazy.Builder.RealFloat.Functions
    Data.Text.Lazy.Encoding.Fusion
    Data.Text.Lazy.Fusion
    Data.Text.Lazy.Search
    Data.Text.Private
    Data.Text.Search
    Data.Text.Unsafe.Base
    Data.Text.UnsafeChar
    Data.Text.UnsafeShift
    Data.Text.Util

  build-depends:
    array      >= 0.3,
    base       >= 4.2 && < 5,
    bytestring >= 0.9,
    deepseq    >= 1.1.0.0,
    ghc-prim   >= 0.2

  cpp-options: -DHAVE_DEEPSEQ
  ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2
  if flag(developer)
    ghc-prof-options: -auto-all
    ghc-options: -Werror
    cpp-options: -DASSERTS

  if flag(integer-simple)
    cpp-options: -DINTEGER_SIMPLE
    build-depends: integer-simple >= 0.1 && < 0.5
  else
    cpp-options: -DINTEGER_GMP
    build-depends: integer-gmp >= 0.2

test-suite tests
  type:           exitcode-stdio-1.0
  hs-source-dirs: tests .
  main-is:        Tests.hs
  c-sources:      cbits/cbits.c
  include-dirs:   include

  ghc-options:
    -Wall -threaded -O0 -rtsopts

  cpp-options:
    -DASSERTS -DHAVE_DEEPSEQ

  build-depends:
    HUnit >= 1.2,
    QuickCheck >= 2.4,
    array,
    base,
    bytestring,
    deepseq,
    directory,
    ghc-prim,
    random,
    test-framework >= 0.4,
    test-framework-hunit >= 0.2,
    test-framework-quickcheck2 >= 0.2

  if flag(integer-simple)
    cpp-options: -DINTEGER_SIMPLE
    build-depends: integer-simple >= 0.1 && < 0.5
  else
    cpp-options: -DINTEGER_GMP
    build-depends: integer-gmp >= 0.2

source-repository head
  type:     git
  location: https://github.com/bos/text

source-repository head
  type:     mercurial
  location: https://bitbucket.org/bos/text