packages feed

large-hashable-0.1.3.0: large-hashable.cabal

name:                large-hashable
version:             0.1.3.0
synopsis:            Efficiently hash (large) Haskell values
description:         Efficiently hash Haskell values with MD5, SHA256, SHA512 and other hashing
                     algorithms.
homepage:            https://github.com/factisresearch/large-hashable
license:             BSD3
license-file:        LICENSE
author:              Stefan Wehr, Lukas Epple
maintainer:          Stefan Wehr
copyright:           2015 - 2017 factis research GmbH, 2018 - 2023 medilyse GmbH,
                     2024 - 2026 MEQO GmbH
category:            Web
build-type:          Simple
cabal-version:       2.0
extra-doc-files:
    README.md
    ChangeLog
extra-source-files:
    cbits/md5.h
    default.nix
    stack.yaml
    test/bigfile.txt
    stack-ghc-9.6.yaml
    stack-ghc-9.8.yaml
    stack-ghc-9.10.yaml

library
  hs-source-dirs:      src
  include-dirs: cbits
  exposed-modules:     Data.LargeHashable
                     , Data.LargeHashable.Class
                     , Data.LargeHashable.MD5
                     , Data.LargeHashable.Intern
                     , Data.LargeHashable.LargeWord
                     , Data.LargeHashable.TH
  other-modules:       Data.LargeHashable.Endianness
  build-depends:       aeson
                     , base >= 4.8 && < 5
                     , base16-bytestring
                     , bytestring
                     , containers
                     , scientific
                     , strict
                     , template-haskell
                     , text
                     , time
                     , unordered-containers
                     , vector
  build-tool-depends:  cpphs:cpphs
  default-language:    Haskell2010
  ghc-options:         -optc -O3 -W -fwarn-unused-imports -fwarn-unused-binds
                       -fwarn-unused-matches -fwarn-unused-do-bind -fwarn-wrong-do-bind
                       -fno-warn-name-shadowing -Wunused-packages
                       -fwarn-missing-signatures -O2

benchmark large-hashable-benchmark
  type:                exitcode-stdio-1.0
  hs-source-dirs:      benchmark
  main-is:             Main.hs
  other-modules:       Data.LargeHashable.Benchmarks.CryptoHash
                     , Data.LargeHashable.Benchmarks.Main
                     , Data.LargeHashable.Benchmarks.Serial
                     , Data.LargeHashable.Benchmarks.Text
  ghc-options:         -optc -O3 -threaded -rtsopts -with-rtsopts=-N
                       -W -fwarn-unused-imports -fwarn-unused-binds
                       -fwarn-unused-matches -fwarn-unused-do-bind -fwarn-wrong-do-bind
                       -pgmP "cpphs --cpp" -rtsopts -threaded -funbox-strict-fields
                       -fwarn-missing-signatures -fno-warn-name-shadowing -O2
  build-depends:       base >= 4.8 && < 5
                     , base16-bytestring
                     , criterion
                     , large-hashable
                     , safecopy
                     , text
                     , deepseq
                     , cryptohash
                     , bytestring
                     , cereal
                     , byteable
                     , transformers
                     , bytes
  build-tool-depends:  cpphs:cpphs
  default-language:    Haskell2010

test-suite large-hashable-test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Main.hs
  build-depends:       aeson
                     , HTF
                     , QuickCheck
                     , base >= 4.8 && < 5
                     , bytes
                     , bytestring
                     , containers
                     , hashable
                     , large-hashable
                     , scientific
                     , strict
                     , text
                     , time
                     , unordered-containers
                     , vector
                     , inspection-testing
  ghc-options:         -optc -O3 -threaded -rtsopts -with-rtsopts=-N
                       -W -fwarn-unused-imports -fwarn-unused-binds
                       -fwarn-unused-matches -fwarn-unused-do-bind -fwarn-wrong-do-bind
                       -pgmP "cpphs --cpp" -rtsopts -threaded -funbox-strict-fields
                       -fwarn-missing-signatures -fno-warn-name-shadowing
  build-tool-depends:  cpphs:cpphs
  default-language:    Haskell2010
  other-modules:       Data.LargeHashable.Tests.Class
                     , Data.LargeHashable.Tests.Helper
                     , Data.LargeHashable.Tests.Inspection
                     , Data.LargeHashable.Tests.TH
                     , Data.LargeHashable.Tests.LargeWord
                     , Data.LargeHashable.Tests.MD5
                     , Data.LargeHashable.Tests.Stable

source-repository head
  type:     git
  location: https://github.com/factisresearch/large-hashable