184 lines
5.1 KiB
Plaintext
184 lines
5.1 KiB
Plaintext
Cabal-version: 1.12
|
|
Name: hashable
|
|
Version: 1.3.0.0
|
|
x-revision: 2
|
|
Synopsis: A class for types that can be converted to a hash value
|
|
Description: This package defines a class, 'Hashable', for types that
|
|
can be converted to a hash value. This class
|
|
exists for the benefit of hashing-based data
|
|
structures. The package provides instances for
|
|
basic types and a way to combine hash values.
|
|
Homepage: http://github.com/tibbe/hashable
|
|
-- SPDX-License-Identifier : BSD-3-Clause
|
|
License: BSD3
|
|
License-file: LICENSE
|
|
Author: Milan Straka <fox@ucw.cz>
|
|
Johan Tibell <johan.tibell@gmail.com>
|
|
Maintainer: johan.tibell@gmail.com
|
|
bug-reports: https://github.com/tibbe/hashable/issues
|
|
Stability: Provisional
|
|
Category: Data
|
|
Build-type: Simple
|
|
tested-with: GHC==8.10.1, GHC==8.8.3, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2
|
|
|
|
Extra-source-files:
|
|
CHANGES.md, README.md
|
|
|
|
Flag integer-gmp
|
|
Description: Are we using @integer-gmp@ to provide fast Integer instances?
|
|
Default: True
|
|
|
|
Flag sse2
|
|
Description: Do we want to assume that a target supports SSE 2?
|
|
Default: True
|
|
Manual: True
|
|
|
|
Flag sse41
|
|
Description: Do we want to assume that a target supports SSE 4.1?
|
|
Default: False
|
|
Manual: True
|
|
|
|
Flag examples
|
|
Description: Build example modules
|
|
Default: False
|
|
Manual: True
|
|
|
|
Library
|
|
Exposed-modules: Data.Hashable
|
|
Data.Hashable.Lifted
|
|
Data.Hashable.Generic
|
|
Other-modules: Data.Hashable.Class
|
|
Data.Hashable.Generic.Instances
|
|
|
|
C-sources: cbits/fnv.c
|
|
|
|
Build-depends: base >= 4.5 && < 4.15
|
|
, bytestring >= 0.9 && < 0.12
|
|
, deepseq >= 1.3 && < 1.5
|
|
, text >= 0.12 && < 1.3
|
|
, ghc-prim
|
|
|
|
if flag(integer-gmp)
|
|
Build-depends: integer-gmp >= 0.4 && < 1.1
|
|
else
|
|
-- this is needed for the automatic flag to be well-balanced
|
|
Build-depends: integer-simple
|
|
|
|
Default-Language: Haskell2010
|
|
Other-Extensions: BangPatterns
|
|
CPP
|
|
DeriveDataTypeable
|
|
FlexibleContexts
|
|
FlexibleInstances
|
|
GADTs
|
|
KindSignatures
|
|
MagicHash
|
|
MultiParamTypeClasses
|
|
ScopedTypeVariables
|
|
Trustworthy
|
|
TypeOperators
|
|
UnliftedFFITypes
|
|
|
|
Ghc-options: -Wall -fwarn-tabs
|
|
|
|
Test-suite tests
|
|
Type: exitcode-stdio-1.0
|
|
Hs-source-dirs: tests
|
|
Main-is: Main.hs
|
|
Other-modules: Properties Regress
|
|
Build-depends: base,
|
|
bytestring,
|
|
ghc-prim,
|
|
hashable,
|
|
test-framework >= 0.3.3,
|
|
test-framework-hunit,
|
|
test-framework-quickcheck2 >= 0.2.9,
|
|
HUnit,
|
|
QuickCheck >= 2.4.0.1,
|
|
random >= 1.0 && < 1.2,
|
|
text >= 0.11.0.5
|
|
if !os(windows)
|
|
Build-depends: unix
|
|
CPP-options: -DHAVE_MMAP
|
|
Other-modules: Regress.Mmap
|
|
Other-Extensions: CApiFFI
|
|
|
|
Ghc-options: -Wall -fno-warn-orphans
|
|
Default-Language: Haskell2010
|
|
|
|
benchmark benchmarks
|
|
-- We cannot depend on the hashable library directly as that creates
|
|
-- a dependency cycle.
|
|
hs-source-dirs: . benchmarks
|
|
|
|
main-is: Benchmarks.hs
|
|
other-modules:
|
|
Data.Hashable
|
|
Data.Hashable.Class
|
|
Data.Hashable.RandomSource
|
|
Data.Hashable.SipHash
|
|
type: exitcode-stdio-1.0
|
|
|
|
build-depends:
|
|
base,
|
|
bytestring,
|
|
criterion >= 1.0,
|
|
ghc-prim,
|
|
siphash,
|
|
text
|
|
|
|
if impl(ghc)
|
|
Build-depends: ghc-prim,
|
|
text >= 0.11.0.5
|
|
if impl(ghc) && flag(integer-gmp)
|
|
Build-depends: integer-gmp >= 0.2
|
|
|
|
if impl(ghc >= 7.2.1)
|
|
CPP-Options: -DGENERICS
|
|
|
|
include-dirs:
|
|
benchmarks/cbits
|
|
|
|
includes:
|
|
siphash.h
|
|
|
|
c-sources:
|
|
benchmarks/cbits/inthash.c
|
|
benchmarks/cbits/siphash.c
|
|
benchmarks/cbits/wang.c
|
|
cbits/fnv.c
|
|
|
|
if (arch(i386) || arch(x86_64)) && flag(sse2)
|
|
cpp-options: -DHAVE_SSE2
|
|
c-sources:
|
|
benchmarks/cbits/siphash-sse2.c
|
|
|
|
if flag(sse41)
|
|
cpp-options: -DHAVE_SSE41
|
|
c-sources:
|
|
benchmarks/cbits/siphash-sse41.c
|
|
|
|
Ghc-options: -Wall -O2
|
|
if impl(ghc >= 6.8)
|
|
Ghc-options: -fwarn-tabs
|
|
else
|
|
c-sources: cbits/getRandomBytes.c
|
|
other-modules: Data.Hashable.RandomSource
|
|
if os(windows)
|
|
extra-libraries: advapi32
|
|
|
|
Default-Language: Haskell2010
|
|
|
|
Executable hashable-examples
|
|
if flag(examples)
|
|
build-depends: base, hashable
|
|
else
|
|
buildable: False
|
|
hs-source-dirs: examples
|
|
main-is: Main.hs
|
|
Default-Language: Haskell2010
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/tibbe/hashable.git
|