Update text.cabal file & README
authorHerbert Valerio Riedel <hvr@gnu.org>
Wed, 27 Dec 2017 11:37:24 +0000 (12:37 +0100)
committerHerbert Valerio Riedel <hvr@gnu.org>
Wed, 27 Dec 2017 11:37:24 +0000 (12:37 +0100)
This updates/tweaks the description texts and also adds missing the
missing `*-modules` to the test-suite stanza whose lack was causing
GHC warnings and confuse cabal's dependency tracking.

README.markdown
text.cabal

index 7cf520f..6bb2554 100644 (file)
@@ -1,20 +1,9 @@
-# Text: Fast, packed Unicode strings, using stream fusion
+# `text`: Fast, packed Unicode strings, using stream fusion
 
 This package provides the Data.Text library, a library for the space-
 and time-efficient manipulation of Unicode text in Haskell.
 
-
-# Normalization, conversion, and collation, oh my!
-
-This library intentionally provides a simple API based on the
-Haskell prelude's list manipulation functions.  For more complicated
-real-world tasks, such as Unicode normalization, conversion to and
-from a larger variety of encodings, and collation, use the [text-icu
-package](http://hackage.haskell.org/cgi-bin/hackage-scripts/package/text-icu).
-
-That library uses the well-respected and liberally licensed ICU
-library to provide these facilities.
-
+**Please refer to the [package description on Hackage](https://hackage.haskell.org/package/text#description) for more information.**
 
 # Get involved!
 
index 1ed2cbc..ed60d38 100644 (file)
@@ -14,11 +14,13 @@ description:
     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.
+    conversion via whole-string case conversion functions (see "Data.Text").
+    It also provides a range of functions for converting 'Text' values to
+    and from 'ByteStrings', using several standard encodings
+    (see "Data.Text.Encoding").
     .
-    Efficient locale-sensitive support for text IO is also supported.
+    Efficient locale-sensitive support for text IO is also supported
+    (see "Data.Text.IO").
     .
     These modules are intended to be imported qualified, to avoid name
     clashes with Prelude functions, e.g.
@@ -28,8 +30,9 @@ description:
     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>
+    the [text-icu package](https://hackage.haskell.org/package/text-icu)
+    based on the well-respected and liberally
+    licensed [ICU library](http://site.icu-project.org/).
 
 license:        BSD2
 license-file:   LICENSE
@@ -67,7 +70,9 @@ extra-source-files:
     tests/text-tests.cabal
 
 flag bytestring-builder
-  description: Depend on the bytestring-builder package for backwards compatibility.
+  description:
+    Depend on the [bytestring-builder](https://hackage.haskell.org/package/bytestring-builder)
+    package for backwards compatibility.
   default: False
   manual: False
 
@@ -77,7 +82,9 @@ flag developer
   manual: True
 
 flag integer-simple
-  description: Use the simple integer library instead of GMP
+  description:
+    Use the [simple integer library](http://hackage.haskell.org/package/integer-simple)
+    instead of [integer-gmp](http://hackage.haskell.org/package/integer-gmp)
   default: False
   manual: False
 
@@ -162,8 +169,6 @@ library
 
 test-suite tests
   type:           exitcode-stdio-1.0
-  hs-source-dirs: tests .
-  main-is:        Tests.hs
   c-sources:      cbits/cbits.c
   include-dirs:   include
 
@@ -173,6 +178,71 @@ test-suite tests
   cpp-options:
     -DASSERTS -DHAVE_DEEPSEQ -DTEST_SUITE
 
+  -- modules specific to test-suite
+  hs-source-dirs: tests
+  main-is:        Tests.hs
+  other-modules:
+    Tests.Properties
+    Tests.Properties.Mul
+    Tests.QuickCheckUtils
+    Tests.Regressions
+    Tests.SlowFunctions
+    Tests.Utils
+
+  -- Same as in `library` stanza; this is needed by cabal for accurate
+  -- file-monitoring as well as to avoid `-Wmissing-home-modules`
+  -- warnings We can't use an inter-package library dependency because
+  -- of different `ghc-options`/`cpp-options` (as a side-benefitt,
+  -- this enables per-component build parallelism in `cabal
+  -- new-build`!); We could, however, use cabal-version:2.2's `common`
+  -- blocks at some point in the future to reduce the duplication.
+  hs-source-dirs: .
+  other-modules:
+    Data.Text
+    Data.Text.Array
+    Data.Text.Encoding
+    Data.Text.Encoding.Error
+    Data.Text.Foreign
+    Data.Text.IO
+    Data.Text.Internal
+    Data.Text.Internal.Builder
+    Data.Text.Internal.Builder.Functions
+    Data.Text.Internal.Builder.Int.Digits
+    Data.Text.Internal.Builder.RealFloat.Functions
+    Data.Text.Internal.Encoding.Fusion
+    Data.Text.Internal.Encoding.Fusion.Common
+    Data.Text.Internal.Encoding.Utf16
+    Data.Text.Internal.Encoding.Utf32
+    Data.Text.Internal.Encoding.Utf8
+    Data.Text.Internal.Functions
+    Data.Text.Internal.Fusion
+    Data.Text.Internal.Fusion.CaseMapping
+    Data.Text.Internal.Fusion.Common
+    Data.Text.Internal.Fusion.Size
+    Data.Text.Internal.Fusion.Types
+    Data.Text.Internal.IO
+    Data.Text.Internal.Lazy
+    Data.Text.Internal.Lazy.Encoding.Fusion
+    Data.Text.Internal.Lazy.Fusion
+    Data.Text.Internal.Lazy.Search
+    Data.Text.Internal.Private
+    Data.Text.Internal.Read
+    Data.Text.Internal.Search
+    Data.Text.Internal.Unsafe
+    Data.Text.Internal.Unsafe.Char
+    Data.Text.Internal.Unsafe.Shift
+    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
+    Data.Text.Show
+
   build-depends:
     HUnit >= 1.2,
     QuickCheck >= 2.7 && < 2.10,