Blame hashable.cabal

Packit 98aa34
Name:                hashable
Packit 98aa34
Version:             1.2.6.1
Packit 98aa34
Synopsis:            A class for types that can be converted to a hash value
Packit 98aa34
Description:         This package defines a class, 'Hashable', for types that
Packit 98aa34
                     can be converted to a hash value.  This class
Packit 98aa34
                     exists for the benefit of hashing-based data
Packit 98aa34
                     structures.  The package provides instances for
Packit 98aa34
                     basic types and a way to combine hash values.
Packit 98aa34
Homepage:            http://github.com/tibbe/hashable
Packit 98aa34
License:             BSD3
Packit 98aa34
License-file:        LICENSE
Packit 98aa34
Author:              Milan Straka <fox@ucw.cz>
Packit 98aa34
                     Johan Tibell <johan.tibell@gmail.com>
Packit 98aa34
Maintainer:          johan.tibell@gmail.com
Packit 98aa34
bug-reports:         https://github.com/tibbe/hashable/issues
Packit 98aa34
Stability:           Provisional
Packit 98aa34
Category:            Data
Packit 98aa34
Build-type:          Simple
Packit 98aa34
Cabal-version:       >=1.8
Packit 98aa34
-- tests/Properties.hs shouldn't have to go here, but the source files
Packit 98aa34
-- for the test-suite stanzas don't get picked up by `cabal sdist`.
Packit 98aa34
Extra-source-files:
Packit 98aa34
  CHANGES.md, README.md, tests/Properties.hs,
Packit 98aa34
  benchmarks/Benchmarks.hs, benchmarks/cbits/*.c, benchmarks/cbits/*.h
Packit 98aa34
Packit 98aa34
Flag integer-gmp
Packit 98aa34
  Description: Are we using integer-gmp to provide fast Integer instances?
Packit 98aa34
  Default: True
Packit 98aa34
Packit 98aa34
Flag sse2
Packit 98aa34
  Description: Do we want to assume that a target supports SSE 2?
Packit 98aa34
  Default: True
Packit 98aa34
  Manual: True
Packit 98aa34
Packit 98aa34
Flag sse41
Packit 98aa34
  Description: Do we want to assume that a target supports SSE 4.1?
Packit 98aa34
  Default: False
Packit 98aa34
  Manual: True
Packit 98aa34
Packit 98aa34
Flag examples
Packit 98aa34
  Description: Build example modules
Packit 98aa34
  Default: False
Packit 98aa34
  Manual: True
Packit 98aa34
Packit 98aa34
Library
Packit 98aa34
  Exposed-modules:   Data.Hashable
Packit 98aa34
                     Data.Hashable.Lifted
Packit 98aa34
  Other-modules:     Data.Hashable.Class
Packit 98aa34
  Build-depends:     base >= 4.4 && < 4.11,
Packit 98aa34
                     bytestring >= 0.9 && < 0.11,
Packit 98aa34
                     deepseq >= 1.3
Packit 98aa34
  if impl(ghc)
Packit 98aa34
    Build-depends:   ghc-prim,
Packit 98aa34
                     text >= 0.11.0.5
Packit 98aa34
  if impl(ghc) && flag(integer-gmp)
Packit 98aa34
    Build-depends:   integer-gmp >= 0.2
Packit 98aa34
Packit 98aa34
  if impl(ghc >= 7.2.1)
Packit 98aa34
    CPP-Options:     -DGENERICS
Packit 98aa34
    Other-modules:   Data.Hashable.Generic
Packit 98aa34
Packit 98aa34
  C-sources:
Packit 98aa34
                     cbits/fnv.c
Packit 98aa34
Packit 98aa34
  Ghc-options:       -Wall
Packit 98aa34
  if impl(ghc >= 6.8)
Packit 98aa34
    Ghc-options: -fwarn-tabs
Packit 98aa34
  else
Packit 98aa34
    c-sources:         cbits/getRandomBytes.c
Packit 98aa34
    other-modules:     Data.Hashable.RandomSource
Packit 98aa34
    if os(windows)
Packit 98aa34
      extra-libraries: advapi32
Packit 98aa34
Packit 98aa34
Test-suite tests
Packit 98aa34
  Type:              exitcode-stdio-1.0
Packit 98aa34
  Hs-source-dirs:    tests
Packit 98aa34
  Main-is:           Main.hs
Packit 98aa34
  Other-modules:     Properties Regress
Packit 98aa34
  Build-depends:     base >= 4.0 && < 5.0,
Packit 98aa34
                     bytestring,
Packit 98aa34
                     ghc-prim,
Packit 98aa34
                     hashable,
Packit 98aa34
                     test-framework >= 0.3.3,
Packit 98aa34
                     test-framework-hunit,
Packit 98aa34
                     test-framework-quickcheck2 >= 0.2.9,
Packit 98aa34
                     HUnit,
Packit 98aa34
                     QuickCheck >= 2.4.0.1,
Packit 98aa34
                     random >= 1.0 && < 1.2,
Packit 98aa34
                     text >= 0.11.0.5
Packit 98aa34
  if !os(windows)
Packit 98aa34
    Build-depends:   unix
Packit 98aa34
    CPP-options:     -DHAVE_MMAP
Packit 98aa34
    Other-modules:   Regress.Mmap
Packit 98aa34
Packit 98aa34
  Ghc-options:       -Wall -fno-warn-orphans
Packit 98aa34
  if impl(ghc >= 7.2.1)
Packit 98aa34
    CPP-Options:     -DGENERICS
Packit 98aa34
Packit 98aa34
benchmark benchmarks
Packit 98aa34
  -- We cannot depend on the hashable library directly as that creates
Packit 98aa34
  -- a dependency cycle.
Packit 98aa34
  hs-source-dirs: . benchmarks
Packit 98aa34
Packit 98aa34
  main-is: Benchmarks.hs
Packit 98aa34
  other-modules:
Packit 98aa34
    Data.Hashable
Packit 98aa34
    Data.Hashable.Class
Packit 98aa34
    Data.Hashable.RandomSource
Packit 98aa34
    Data.Hashable.SipHash
Packit 98aa34
  type: exitcode-stdio-1.0
Packit 98aa34
Packit 98aa34
  build-depends:
Packit 98aa34
    base,
Packit 98aa34
    bytestring,
Packit 98aa34
    criterion >= 1.0,
Packit 98aa34
    ghc-prim,
Packit 98aa34
    siphash,
Packit 98aa34
    text
Packit 98aa34
Packit 98aa34
  if impl(ghc)
Packit 98aa34
    Build-depends:   ghc-prim,
Packit 98aa34
                     text >= 0.11.0.5
Packit 98aa34
  if impl(ghc) && flag(integer-gmp)
Packit 98aa34
    Build-depends:   integer-gmp >= 0.2
Packit 98aa34
Packit 98aa34
  if impl(ghc >= 7.2.1)
Packit 98aa34
    CPP-Options:     -DGENERICS
Packit 98aa34
Packit 98aa34
  include-dirs:
Packit 98aa34
    benchmarks/cbits
Packit 98aa34
Packit 98aa34
  includes:
Packit 98aa34
    siphash.h
Packit 98aa34
Packit 98aa34
  c-sources:
Packit 98aa34
    benchmarks/cbits/inthash.c
Packit 98aa34
    benchmarks/cbits/siphash.c
Packit 98aa34
    benchmarks/cbits/wang.c
Packit 98aa34
    cbits/fnv.c
Packit 98aa34
Packit 98aa34
  if (arch(i386) || arch(x86_64)) && flag(sse2)
Packit 98aa34
    cpp-options: -DHAVE_SSE2
Packit 98aa34
    c-sources:
Packit 98aa34
      benchmarks/cbits/siphash-sse2.c
Packit 98aa34
Packit 98aa34
    if flag(sse41)
Packit 98aa34
      cpp-options: -DHAVE_SSE41
Packit 98aa34
      c-sources:
Packit 98aa34
        benchmarks/cbits/siphash-sse41.c
Packit 98aa34
Packit 98aa34
  Ghc-options:       -Wall -O2
Packit 98aa34
  if impl(ghc >= 6.8)
Packit 98aa34
    Ghc-options: -fwarn-tabs
Packit 98aa34
  else
Packit 98aa34
    c-sources:         cbits/getRandomBytes.c
Packit 98aa34
    other-modules:     Data.Hashable.RandomSource
Packit 98aa34
    if os(windows)
Packit 98aa34
      extra-libraries: advapi32
Packit 98aa34
Packit 98aa34
Packit 98aa34
Executable hashable-examples
Packit 98aa34
  if flag(examples)
Packit 98aa34
    build-depends: base, hashable
Packit 98aa34
  else
Packit 98aa34
    buildable: False
Packit 98aa34
  hs-source-dirs: examples
Packit 98aa34
  main-is: Main.hs
Packit 98aa34
Packit 98aa34
source-repository head
Packit 98aa34
  type:     git
Packit 98aa34
  location: https://github.com/tibbe/hashable.git