cabal-version:   2.0
name:            base64
version:         0.4.2.4
x-revision: 3
synopsis:        A modern RFC 4648-compliant Base64 library
description:
  RFC 4648-compliant Base64 with an eye towards performance and modernity (additional support for RFC 7049 standards)

homepage:        https://github.com/emilypi/base64
bug-reports:     https://github.com/emilypi/base64/issues
license:         BSD3
license-file:    LICENSE
author:          Emily Pillmore
maintainer:      emilypi@cohomolo.gy
copyright:       (c) 2019-2022 Emily Pillmore
category:        Data
build-type:      Simple
extra-doc-files:
  CHANGELOG.md
  README.md

tested-with:     GHC ==8.10.7 || ==9.0.2 || ==9.2.4 || ==9.4.1 || ==9.6.1

source-repository head
  type:     git
  location: https://github.com/emilypi/base64.git

library
  exposed-modules:
    Data.ByteString.Base64
    Data.ByteString.Base64.URL
    Data.ByteString.Lazy.Base64
    Data.ByteString.Lazy.Base64.URL
    Data.ByteString.Short.Base64
    Data.ByteString.Short.Base64.URL
    Data.Text.Encoding.Base64
    Data.Text.Encoding.Base64.Error
    Data.Text.Encoding.Base64.URL
    Data.Text.Lazy.Encoding.Base64
    Data.Text.Lazy.Encoding.Base64.URL
    Data.Text.Short.Encoding.Base64
    Data.Text.Short.Encoding.Base64.URL

  other-modules:
    Data.ByteString.Base64.Internal
    Data.ByteString.Base64.Internal.Head
    Data.ByteString.Base64.Internal.Tables
    Data.ByteString.Base64.Internal.Tail
    Data.ByteString.Base64.Internal.Utils
    Data.ByteString.Base64.Internal.W16.Loop
    Data.ByteString.Base64.Internal.W32.Loop
    Data.ByteString.Base64.Internal.W64.Loop

  build-depends:
      base           >=4.14     && <4.19
    , bytestring     >=0.10     && <0.12
    , deepseq        >=1.4.3.0  && <1.5
    , text           >=1.2 && <1.3 || >=2.0 && <2.1
    , text-short     ^>=0.1

  hs-source-dirs:   src
  default-language: Haskell2010
  ghc-options:      -Wall

test-suite tasty
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  other-modules:    Internal
  main-is:          Main.hs
  build-depends:
      base               >=4.14 && <4.19
    , base64
    , base64-bytestring
    , bytestring
    , QuickCheck
    , random-bytestring
    , tasty
    , tasty-hunit
    , tasty-quickcheck
    , text
    , text-short

  ghc-options:      -Wall -threaded -with-rtsopts=-N

benchmark bench
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:   benchmarks
  main-is:          Base64Bench.hs
  build-depends:
      base               >=4.14 && <4.19
    , base64
    , base64-bytestring
    , bytestring
    , criterion
    , deepseq
    , random-bytestring
    , text

  ghc-options:      -Wall -rtsopts