cabal-version: 1.12 name: hashable version: 1.4.0.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/haskell-unordered-containers/hashable -- SPDX-License-Identifier : BSD-3-Clause license: BSD3 license-file: LICENSE author: Milan Straka Johan Tibell maintainer: Oleg Grenrus bug-reports: https://github.com/haskell-unordered-containers/hashable/issues stability: Provisional category: Data build-type: Simple tested-with: GHC ==7.4.2 || ==7.6.3 || ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.3 || ==8.10.4 || ==8.10.7 || ==9.0.1 || ==9.0.2 || ==9.2.1 extra-source-files: CHANGES.md include/HsHashable.h README.md flag integer-gmp description: Are we using @integer-gmp@ to provide fast Integer instances? No effect on GHC-9.0 or later. manual: False default: True flag random-initial-seed description: Randomly initialize the initial seed on each final executable invocation This is useful for catching cases when you rely on (non-existent) stability of hashable's hash functions. This is not a security feature. manual: True default: False flag containers description: 'containers >= 0.5.9.1' manual: False default: True library exposed-modules: Data.Hashable Data.Hashable.Generic Data.Hashable.Lifted other-modules: Data.Hashable.Class Data.Hashable.Generic.Instances Data.Hashable.Imports Data.Hashable.LowLevel c-sources: cbits/fnv.c include-dirs: include hs-source-dirs: src build-depends: base >=4.5 && <4.17 , bytestring >=0.9 && <0.12 , containers >=0.4.2.1 && <0.7 , deepseq >=1.3 && <1.5 , ghc-prim , text >=1.2.3.0 && <1.3 || >=2.0 && <2.1 if !impl(ghc >=9.2) build-depends: base-orphans >=0.8.6 -- Integer internals if impl(ghc >=9) build-depends: ghc-bignum >=1.0 && <1.3 if !impl(ghc >=9.0.2) build-depends: ghc-bignum-orphans >=0.1 && <0.2 else 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 if !impl(ghc >=8) build-depends: transformers >=0.3 && <0.7 , transformers-compat >=0.7.1 && <0.8 if (flag(random-initial-seed) && impl(ghc)) cpp-options: -DHASHABLE_RANDOM_SEED=1 if os(windows) c-sources: cbits-win/init.c else c-sources: cbits-unix/init.c -- containers flag mutually exclusive choice if flag(containers) build-depends: containers >=0.5.9.1 else build-depends: containers <0.5.9.1 -- we need functor-classes-compat on older GHCs always. -- we also need it if containers is too old. if !impl(ghc >=8.0) || !flag(containers) build-depends: functor-classes-compat >=2.0.0.2 && <2.1 default-language: Haskell2010 other-extensions: BangPatterns CPP DeriveDataTypeable FlexibleContexts FlexibleInstances GADTs KindSignatures MagicHash MultiParamTypeClasses ScopedTypeVariables Trustworthy TypeOperators UnliftedFFITypes ghc-options: -Wall -fwarn-tabs if impl(ghc >=9.0) -- these flags may abort compilation with GHC-8.10 -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295 ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode test-suite hashable-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 , HUnit , QuickCheck >=2.4.0.1 , random >=1.0 && <1.3 , test-framework >=0.3.3 , test-framework-hunit , test-framework-quickcheck2 >=0.2.9 , 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 test-suite hashable-examples type: exitcode-stdio-1.0 build-depends: base , ghc-prim , hashable hs-source-dirs: examples main-is: Main.hs default-language: Haskell2010 source-repository head type: git location: https://github.com/haskell-unordered-containers/hashable.git