summaryrefslogtreecommitdiff
path: root/cassava.cabal
diff options
context:
space:
mode:
Diffstat (limited to 'cassava.cabal')
-rwxr-xr-xcassava.cabal207
1 files changed, 207 insertions, 0 deletions
diff --git a/cassava.cabal b/cassava.cabal
new file mode 100755
index 0000000..e9448dd
--- /dev/null
+++ b/cassava.cabal
@@ -0,0 +1,207 @@
+cabal-version: 1.12
+Name: cassava
+Version: 0.5.3.0
+x-revision: 4
+Synopsis: A CSV parsing and encoding library
+Description: {
+
+@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,
+which is a textual line-oriented format commonly used for exchanging tabular data.
+.
+@cassava@'s API includes support for
+.
+- Index-based record-conversion
+- Name-based record-conversion
+- Typeclass directed conversion of fields and records
+- Built-in field-conversion instances for standard types
+- Customizable record-conversion instance derivation via GHC generics
+- Low-level [bytestring](https://hackage.haskell.org/package/bytestring) builders (see "Data.Csv.Builder")
+- Incremental decoding and encoding API (see "Data.Csv.Incremental")
+- 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
+very simple example of encoding CSV data:
+.
+>>> Data.Csv.encode [("John",27),("Jane",28)]
+"John,27\r\nJane,28\r\n"
+.
+Please refer to the documentation in "Data.Csv" and the included [README](#readme) for more usage examples.
+
+}
+Homepage: https://github.com/haskell-hvr/cassava
+License: BSD3
+License-file: LICENSE
+Bug-reports: https://github.com/haskell-hvr/cassava/issues
+Copyright: (c) 2012 Johan Tibell
+ (c) 2012 Bryan O'Sullivan
+ (c) 2011 MailRank, Inc.
+Author: Johan Tibell
+Maintainer: https://github.com/haskell-hvr/cassava
+Category: Text, Web, CSV
+Build-type: Simple
+Extra-source-files: examples/*.hs,
+ CHANGES.md,
+ README.md
+Tested-with:
+ GHC == 9.8.0
+ GHC == 9.6.2
+ GHC == 9.4.7
+ GHC == 9.2.8
+ GHC == 9.0.2
+ GHC == 8.10.7
+ GHC == 8.8.4
+ 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
+ type: git
+ location: https://github.com/haskell-hvr/cassava.git
+
+flag bytestring--LT-0_10_4
+ description: [bytestring](https://hackage.haskell.org/haskell/package/bytestring) < 0.10.4
+ default: False
+ manual: False
+
+Library
+ default-language: Haskell2010
+ other-extensions:
+ BangPatterns
+ CPP
+ DataKinds
+ DefaultSignatures
+ DeriveFunctor
+ FlexibleContexts
+ FlexibleInstances
+ KindSignatures
+ MultiParamTypeClasses
+ OverloadedStrings
+ PolyKinds
+ Rank2Types
+ ScopedTypeVariables
+ TypeOperators
+ UndecidableInstances
+
+ if impl(ghc >= 8.0)
+ other-extensions:
+ DataKinds
+ PolyKinds
+
+ hs-source-dirs: src
+
+ Exposed-modules:
+ Data.Csv
+ Data.Csv.Builder
+ Data.Csv.Incremental
+ Data.Csv.Parser
+ Data.Csv.Streaming
+
+ Other-modules:
+ Data.Csv.Conversion
+ Data.Csv.Conversion.Internal
+ Data.Csv.Encoding
+ Data.Csv.Types
+ Data.Csv.Util
+
+ Build-depends:
+ base >= 4.5 && < 5
+ , array >= 0.4 && < 0.6
+ , attoparsec >= 0.11.3.0 && < 0.15
+ , bytestring >= 0.9.2 && < 0.13
+ , containers >= 0.4.2 && < 0.7
+ , deepseq >= 1.1 && < 1.6
+ , hashable < 1.5
+ , scientific >= 0.3.4.7 && < 0.4
+ , text < 2.2
+ , transformers >= 0.2 && < 0.7
+ , unordered-containers < 0.3
+ , vector >= 0.8 && < 0.14
+ , Only >= 0.1 && < 0.1.1
+
+ if flag(bytestring--LT-0_10_4)
+ build-depends: bytestring < 0.10.4
+ , bytestring-builder >= 0.10.8 && < 0.11
+ else
+ build-depends: bytestring >= 0.10.4
+ , text-short == 0.1.*
+
+ -- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only
+ if impl(ghc < 7.6)
+ build-depends: ghc-prim == 0.2.*
+
+ -- For Numeric.Natural
+ if impl(ghc < 7.10)
+ build-depends: nats >= 1 && < 1.2
+
+ -- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility
+ if impl(ghc >= 8.0)
+ ghc-options: -Wcompat -Wnoncanonical-monad-instances
+ if impl(ghc >= 8.8)
+ ghc-options: -Wno-star-is-type
+ else
+ ghc-options: -Wnoncanonical-monadfail-instances
+ else
+ -- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8
+ build-depends: fail == 4.9.*, semigroups >= 0.18.2 && <0.20
+
+ if impl(ghc >= 8.2)
+ ghc-options: -Wcpp-undef
+
+ ghc-options: -Wall
+
+----------------------------------------------------------------------------
+
+Test-suite unit-tests
+ default-language: Haskell2010
+
+ Type: exitcode-stdio-1.0
+ Main-is: UnitTests.hs
+ -- dependencies with version constraints inherited via lib:cassava
+ Build-depends: attoparsec
+ , base
+ , bytestring
+ , cassava
+ , hashable
+ , scientific
+ , text
+ , unordered-containers
+ , vector
+ -- extra dependencies not already used by lib:cassava
+ build-depends: HUnit < 1.7
+ , QuickCheck == 2.14.*
+ , quickcheck-instances >= 0.3.12 && < 0.4
+ , test-framework == 0.8.*
+ , test-framework-hunit == 0.3.*
+ , test-framework-quickcheck2 == 0.3.*
+
+ hs-source-dirs: tests
+
+ -- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4 only
+ if impl(ghc < 7.6)
+ build-depends: ghc-prim == 0.2.*
+
+ -- For Numeric.Natural
+ if impl(ghc < 7.10)
+ build-depends: nats
+
+ -- https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#Recommendationsforforward-compatibility
+ if impl(ghc >= 8.0)
+ ghc-options: -Wcompat -Wnoncanonical-monad-instances
+ if impl(ghc < 8.8)
+ ghc-options: -Wnoncanonical-monadfail-instances
+ else
+ -- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8
+ build-depends: fail, semigroups
+
+ if impl(ghc >= 8.2)
+ ghc-options: -Wcpp-undef
+
+ ghc-options: -Wall