packages feed

shannon-fano-1.0.0.0: shannon-fano.cabal

cabal-version:       2.4
name:                shannon-fano
version:             1.0.0.0
synopsis:            Shannon-fano compression algorithm in Haskell
description:         Shannon-fano compression algorithm in Haskell program and API
homepage:            https://github.com/bolt12/shannon-fano
bug-reports:         https://github.com/bolt12/shannon-fano/issues
license:             MIT
license-file:        LICENSE
author:              Armando Santos
maintainer:          Armando Santos <armandoifsantos@gmail.com>
copyright:           2020 Armando Santos
build-type:          Simple
category:            Codec
extra-doc-files:     README.md
                     CHANGELOG.md
tested-with:         GHC == 8.6.5
                     GHC == 8.8.3

source-repository head
  type:                git
  location:            https://github.com/bolt12/shannon-fano.git

common common-options
  build-depends:       base >= 4.12.0.0 && < 5,
                       bytestring -any,
                       optparse-generic -any
  
  ghc-options:         -Wall
                       -Wcompat
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
  if impl(ghc >= 8.0)
    ghc-options:       -Wredundant-constraints
  if impl(ghc >= 8.2)
    ghc-options:       -fhide-source-paths
  if impl(ghc >= 8.4)
    ghc-options:       -Wmissing-export-lists
                       -Wpartial-fields
  if impl(ghc >= 8.8)
    ghc-options:       -Wmissing-deriving-strategies

  default-language:    Haskell2010

library
  import:              common-options
  hs-source-dirs:      src
  exposed-modules:     Codec.Compression.ShannonFano
                       Codec.Compression.ShannonFano.Internal

executable shannon-fano
  import:              common-options
  hs-source-dirs:      app
  main-is:             Main.hs
  build-depends:       shannon-fano
  ghc-options:         -threaded
                       -rtsopts
                       -with-rtsopts=-N

test-suite test
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      tests
  main-is:             Main.hs
  build-depends:       base,
                       shannon-fano,
                       QuickCheck
  default-language:    Haskell2010