cabal-version:      2.2
name:               mysql-haskell
version:            1.1.5
synopsis:           pure haskell MySQL driver
description:        pure haskell MySQL driver.
license:            BSD-3-Clause
license-file:       LICENSE
author:             winterland1989
maintainer:         hi@jappie.me
copyright:          (c) 2016 Winterland
category:           Database
build-type:         Simple
extra-doc-files:    ChangeLog.md
extra-source-files:
  mozillaCAStore.pem
  README.md
  test/cert/ca-key.pem
  test/cert/ca.pem
  test/cert/server-cert.pem
  test/cert/server-key.pem
  test/cert/server-req.pem
  test/json-data/buffer-builder.json
  test/json-data/dates-fract.json
  test/json-data/dates.json
  test/json-data/example.json
  test/json-data/geometry.json
  test/json-data/integers.json
  test/json-data/jp10.json
  test/json-data/jp100.json
  test/json-data/jp50.json
  test/json-data/numbers.json
  test/json-data/twitter1.json
  test/json-data/twitter10.json
  test/json-data/twitter100.json
  test/json-data/twitter20.json
  test/json-data/twitter50.json

homepage:           https://github.com/winterland1989/mysql-haskell
bug-reports:        https://github.com/winterland1989/mysql-haskell/issues

source-repository head
  type:     git
  location: git://github.com/winterland1989/mysql-haskell.git

library
  exposed-modules:
    Data.Binary.Parser
    Data.Binary.Parser.Numeric
    Data.Binary.Parser.Word8
    Data.Connection
    Data.Int.Int24
    Data.TLSSetting
    Data.Word.Word24
    Database.MySQL.Base
    Database.MySQL.BinLog
    Database.MySQL.BinLogProtocol.BinLogEvent
    Database.MySQL.BinLogProtocol.BinLogMeta
    Database.MySQL.BinLogProtocol.BinLogValue
    Database.MySQL.Connection
    Database.MySQL.Protocol.Auth
    Database.MySQL.Protocol.ColumnDef
    Database.MySQL.Protocol.Command
    Database.MySQL.Protocol.Escape
    Database.MySQL.Protocol.MySQLValue
    Database.MySQL.Protocol.Packet
    Database.MySQL.TLS
    System.IO.Streams.TCP
    System.IO.Streams.TLS

  other-modules:      Paths_mysql_haskell
  autogen-modules:    Paths_mysql_haskell
  hs-source-dirs:     src
  other-modules:      Database.MySQL.Query
  build-depends:
    base >=4.7 && <4.19.0 || ^>=4.19.0,
    binary >=0.8.3 && <0.9,
    blaze-textual >=0.2 && <0.3,
    bytestring >=0.10.2.0 && <0.12 || ^>=0.12.0,
    bytestring-lexing >=0.5 && <0.6,
    crypton >=0.31 && <0.40 || ^>=1.0.0,
    crypton-x509 >=1.5 && <2.0,
    crypton-x509-store >=1.5 && <2.0,
    crypton-x509-system >=1.5 && <2.0,
    data-default-class >=0.1.2 && <0.2,
    deepseq >=1.4.6 && <1.5 || ^>=1.5.0,
    io-streams >=1.2 && <2.0,
    memory >=0.14.4 && <0.19,
    monad-loops >=0.4 && <0.5,
    network >=2.3 && <4.0,
    pem >=0.2.4 && <0.3,
    scientific >=0.3 && <0.4,
    text >=1.1 && <2.1 || ^>=2.1,
    time >=1.5.0 && <1.12 || ^>=1.12.2 || ^>=1.14,
    tls >=1.7.0 && <1.8 || ^>=1.8.0 || ^>=1.9.0 || ^>=2.0.0,
    vector >=0.8 && <0.13 || ^>=0.13.0,
    word-compat >=0.0 && <0.1

  default-language:   Haskell2010
  default-extensions:
    DeriveDataTypeable
    DeriveGeneric
    MultiWayIf
    OverloadedStrings

  ghc-options:
    -Wall -Wincomplete-uni-patterns
    -Wincomplete-record-updates -Widentities -Wredundant-constraints
    -Wcpp-undef -fwarn-tabs -Wpartial-fields
    -Wunused-packages -fenable-th-splice-warnings

test-suite test
  type:               exitcode-stdio-1.0
  main-is:            Main.hs
  other-modules:
    Aeson
    AesonBP
    BinaryRow
    BinaryRowNew
    BinLog
    BinLogNew
    ExecuteMany
    JSON
    MysqlTests
    QC.ByteString
    QC.Combinator
    QC.Common
    QCUtils
    TCPStreams
    TextRow
    TextRowNew
    Word24

  hs-source-dirs:     test
  build-depends:
    attoparsec,
    base,
    binary >=0.8,
    bytestring >=0.10,
    bytestring-lexing >=0.5,
    containers,
    deepseq,
    directory,
    filepath,
    io-streams,
    mysql-haskell,
    network,
    QuickCheck >=2.7,
    quickcheck-instances,
    scientific >=0.3.0,
    tasty >=0.11 && <2.0,
    tasty-hunit,
    tasty-quickcheck >=0.8,
    text,
    time,
    unordered-containers,
    vector

  default-extensions:
    MultiWayIf
    OverloadedStrings

  ghc-options:        -threaded
  default-language:   Haskell2010

benchmark binary-parsers-bench
  other-modules:
    Aeson
    AesonBP
    Common
    HttpReq
    Network.Wai.Handler.Warp.ReadInt
    Network.Wai.Handler.Warp.RequestHeader

  build-depends:
    attoparsec,
    base,
    binary,
    bytestring,
    case-insensitive,
    criterion >=1.1 && <1.2 || ^>=1.6.3,
    deepseq,
    directory,
    filepath,
    http-types,
    mysql-haskell,
    scanner,
    scientific,
    text,
    unordered-containers,
    vector

  default-language: Haskell2010
  hs-source-dirs:   binary-parser-bench
  main-is:          Bench.hs
  type:             exitcode-stdio-1.0
  ghc-options:      -O2

benchmark bench24
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:   word24-bench
  main-is:          Benchmark.hs
  build-depends:
    base,
    criterion >=1.1,
    deepseq >=1.2 && <2,
    mysql-haskell

  ghc-options:      -O2