revise .cabal

This commit is contained in:
Jens Petersen 2021-08-04 22:29:11 +08:00
parent bb63d12dd2
commit 8f068ec2dc

View File

@ -1,188 +1,188 @@
cabal-version: 1.12 cabal-version: 1.12
Name: cassava Name: cassava
Version: 0.5.2.0 Version: 0.5.2.0
x-revision: 1 x-revision: 4
Synopsis: A CSV parsing and encoding library Synopsis: A CSV parsing and encoding library
Description: { Description: {
@cassava@ is a library for parsing and encoding [RFC 4180](https://tools.ietf.org/html/rfc4180) @cassava@ is a library for parsing and encoding [RFC 4180](https://tools.ietf.org/html/rfc4180)
compliant [comma-separated values (CSV)](https://en.wikipedia.org/wiki/Comma-separated_values) data, compliant [comma-separated values (CSV)](https://en.wikipedia.org/wiki/Comma-separated_values) data,
which is a textual line-oriented format commonly used for exchanging tabular data. which is a textual line-oriented format commonly used for exchanging tabular data.
. .
@cassava@'s API includes support for @cassava@'s API includes support for
. .
- Index-based record-conversion - Index-based record-conversion
- Name-based record-conversion - Name-based record-conversion
- Typeclass directed conversion of fields and records - Typeclass directed conversion of fields and records
- Built-in field-conversion instances for standard types - Built-in field-conversion instances for standard types
- Customizable record-conversion instance derivation via GHC generics - Customizable record-conversion instance derivation via GHC generics
- Low-level [bytestring](https://hackage.haskell.org/package/bytestring) builders (see "Data.Csv.Builder") - Low-level [bytestring](https://hackage.haskell.org/package/bytestring) builders (see "Data.Csv.Builder")
- Incremental decoding and encoding API (see "Data.Csv.Incremental") - Incremental decoding and encoding API (see "Data.Csv.Incremental")
- Streaming API for constant-space decoding (see "Data.Csv.Streaming") - Streaming API for constant-space decoding (see "Data.Csv.Streaming")
. .
Moreover, this library is designed to be easy to use; for instance, here's a Moreover, this library is designed to be easy to use; for instance, here's a
very simple example of encoding CSV data: very simple example of encoding CSV data:
. .
>>> Data.Csv.encode [("John",27),("Jane",28)] >>> Data.Csv.encode [("John",27),("Jane",28)]
"John,27\r\nJane,28\r\n" "John,27\r\nJane,28\r\n"
. .
Please refer to the documentation in "Data.Csv" and the included [README](#readme) for more usage examples. Please refer to the documentation in "Data.Csv" and the included [README](#readme) for more usage examples.
} }
Homepage: https://github.com/hvr/cassava Homepage: https://github.com/hvr/cassava
License: BSD3 License: BSD3
License-file: LICENSE License-file: LICENSE
Bug-reports: https://github.com/hvr/cassava/issues Bug-reports: https://github.com/hvr/cassava/issues
Copyright: (c) 2012 Johan Tibell Copyright: (c) 2012 Johan Tibell
(c) 2012 Bryan O'Sullivan (c) 2012 Bryan O'Sullivan
(c) 2011 MailRank, Inc. (c) 2011 MailRank, Inc.
Author: Johan Tibell Author: Johan Tibell
Maintainer: hvr@gnu.org Maintainer: hvr@gnu.org
Category: Text, Web, CSV Category: Text, Web, CSV
Build-type: Simple Build-type: Simple
Extra-source-files: examples/*.hs, Extra-source-files: examples/*.hs,
CHANGES.md, CHANGES.md,
README.md README.md
Tested-with: GHC==8.10.1, GHC==8.8.3, GHC==8.6.5, GHC==8.4.4, GHC ==8.2.2, GHC ==8.0.2, GHC ==7.10.3, GHC ==7.8.4, GHC ==7.6.3, GHC ==7.4.2 Tested-with: GHC==8.10.1, GHC==8.8.3, GHC==8.6.5, GHC==8.4.4, GHC ==8.2.2, GHC ==8.0.2, GHC ==7.10.3, GHC ==7.8.4, GHC ==7.6.3, GHC ==7.4.2
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
source-repository head source-repository head
type: git type: git
location: https://github.com/hvr/cassava.git location: https://github.com/hvr/cassava.git
flag bytestring--LT-0_10_4 flag bytestring--LT-0_10_4
description: [bytestring](https://hackage.haskell.org/haskell/package/bytestring) < 0.10.4 description: [bytestring](https://hackage.haskell.org/haskell/package/bytestring) < 0.10.4
Library Library
default-language: Haskell2010 default-language: Haskell2010
other-extensions: other-extensions:
BangPatterns BangPatterns
CPP CPP
DataKinds DataKinds
DefaultSignatures DefaultSignatures
DeriveFunctor DeriveFunctor
FlexibleContexts FlexibleContexts
FlexibleInstances FlexibleInstances
KindSignatures KindSignatures
MultiParamTypeClasses MultiParamTypeClasses
OverloadedStrings OverloadedStrings
PolyKinds PolyKinds
Rank2Types Rank2Types
ScopedTypeVariables ScopedTypeVariables
TypeOperators TypeOperators
UndecidableInstances UndecidableInstances
if impl(ghc >= 8.0) if impl(ghc >= 8.0)
other-extensions: other-extensions:
DataKinds DataKinds
PolyKinds PolyKinds
hs-source-dirs: src hs-source-dirs: src
Exposed-modules: Exposed-modules:
Data.Csv Data.Csv
Data.Csv.Builder Data.Csv.Builder
Data.Csv.Incremental Data.Csv.Incremental
Data.Csv.Parser Data.Csv.Parser
Data.Csv.Streaming Data.Csv.Streaming
Other-modules: Other-modules:
Data.Csv.Conversion Data.Csv.Conversion
Data.Csv.Conversion.Internal Data.Csv.Conversion.Internal
Data.Csv.Encoding Data.Csv.Encoding
Data.Csv.Types Data.Csv.Types
Data.Csv.Util Data.Csv.Util
Build-depends: Build-depends:
array >= 0.4 && < 0.6, array >= 0.4 && < 0.6,
attoparsec >= 0.11.3.0 && < 0.14, attoparsec >= 0.11.3.0 && < 0.15,
base >= 4.5 && < 4.15, base >= 4.5 && < 4.16,
bytestring >= 0.9.2 && < 0.11, bytestring >= 0.9.2 && < 0.12,
containers >= 0.4.2 && < 0.7, containers >= 0.4.2 && < 0.7,
deepseq >= 1.1 && < 1.5, deepseq >= 1.1 && < 1.5,
hashable < 1.4, hashable < 1.4,
scientific >= 0.3.4.7 && < 0.4, scientific >= 0.3.4.7 && < 0.4,
text < 1.3, text < 1.3,
transformers >= 0.2 && < 0.6, transformers >= 0.2 && < 0.6,
unordered-containers < 0.3, unordered-containers < 0.3,
vector >= 0.8 && < 0.13, vector >= 0.8 && < 0.13,
Only >= 0.1 && < 0.1.1 Only >= 0.1 && < 0.1.1
if flag(bytestring--LT-0_10_4) if flag(bytestring--LT-0_10_4)
build-depends: bytestring < 0.10.4 build-depends: bytestring < 0.10.4
, bytestring-builder >= 0.10.8 && < 0.11 , bytestring-builder >= 0.10.8 && < 0.11
else else
build-depends: bytestring >= 0.10.4 build-depends: bytestring >= 0.10.4
, text-short == 0.1.* , text-short == 0.1.*
-- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only -- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only
if impl(ghc < 7.6) if impl(ghc < 7.6)
build-depends: ghc-prim == 0.2.* build-depends: ghc-prim == 0.2.*
-- For Numeric.Natural -- For Numeric.Natural
if impl(ghc < 7.10) if impl(ghc < 7.10)
build-depends: nats >= 1 && < 1.2 build-depends: nats >= 1 && < 1.2
-- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility -- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility
if impl(ghc >= 8.0) if impl(ghc >= 8.0)
ghc-options: -Wcompat -Wnoncanonical-monad-instances ghc-options: -Wcompat -Wnoncanonical-monad-instances
if impl(ghc >= 8.8) if impl(ghc >= 8.8)
ghc-options: -Wno-star-is-type ghc-options: -Wno-star-is-type
else else
ghc-options: -Wnoncanonical-monadfail-instances ghc-options: -Wnoncanonical-monadfail-instances
else else
-- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8 -- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8
build-depends: fail == 4.9.*, semigroups >= 0.18.2 && <0.20 build-depends: fail == 4.9.*, semigroups >= 0.18.2 && <0.20
if impl(ghc >= 8.2) if impl(ghc >= 8.2)
ghc-options: -Wcpp-undef ghc-options: -Wcpp-undef
ghc-options: -Wall -O2 ghc-options: -Wall -O2
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
Test-suite unit-tests Test-suite unit-tests
default-language: Haskell2010 default-language: Haskell2010
Type: exitcode-stdio-1.0 Type: exitcode-stdio-1.0
Main-is: UnitTests.hs Main-is: UnitTests.hs
-- dependencies with version constraints inherited via lib:cassava -- dependencies with version constraints inherited via lib:cassava
Build-depends: attoparsec Build-depends: attoparsec
, base , base
, bytestring , bytestring
, cassava , cassava
, hashable , hashable
, scientific , scientific
, text , text
, unordered-containers , unordered-containers
, vector , vector
-- extra dependencies not already used by lib:cassava -- extra dependencies not already used by lib:cassava
build-depends: HUnit < 1.7 build-depends: HUnit < 1.7
, QuickCheck == 2.13.* , QuickCheck >= 2.13 && < 2.15
, quickcheck-instances >= 0.3.12 && < 0.4 , quickcheck-instances >= 0.3.12 && < 0.4
, test-framework == 0.8.* , test-framework == 0.8.*
, test-framework-hunit == 0.3.* , test-framework-hunit == 0.3.*
, test-framework-quickcheck2 == 0.3.* , test-framework-quickcheck2 == 0.3.*
hs-source-dirs: tests hs-source-dirs: tests
-- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only -- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only
if impl(ghc < 7.6) if impl(ghc < 7.6)
build-depends: ghc-prim == 0.2.* build-depends: ghc-prim == 0.2.*
-- For Numeric.Natural -- For Numeric.Natural
if impl(ghc < 7.10) if impl(ghc < 7.10)
build-depends: nats build-depends: nats
-- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility -- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility
if impl(ghc >= 8.0) if impl(ghc >= 8.0)
ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
else else
-- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8 -- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8
build-depends: fail, semigroups build-depends: fail, semigroups
if impl(ghc >= 8.2) if impl(ghc >= 8.2)
ghc-options: -Wcpp-undef ghc-options: -Wcpp-undef
ghc-options: -Wall ghc-options: -Wall