1Cabal-version: 1.12 2Name: hashable 3Version: 1.3.0.0 4x-revision: 2 5Synopsis: A class for types that can be converted to a hash value 6Description: This package defines a class, 'Hashable', for types that 7 can be converted to a hash value. This class 8 exists for the benefit of hashing-based data 9 structures. The package provides instances for 10 basic types and a way to combine hash values. 11Homepage: http://github.com/tibbe/hashable 12-- SPDX-License-Identifier : BSD-3-Clause 13License: BSD3 14License-file: LICENSE 15Author: Milan Straka <fox@ucw.cz> 16 Johan Tibell <johan.tibell@gmail.com> 17Maintainer: johan.tibell@gmail.com 18bug-reports: https://github.com/tibbe/hashable/issues 19Stability: Provisional 20Category: Data 21Build-type: Simple 22tested-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 23 24Extra-source-files: 25 CHANGES.md, README.md 26 27Flag integer-gmp 28 Description: Are we using @integer-gmp@ to provide fast Integer instances? 29 Default: True 30 31Flag sse2 32 Description: Do we want to assume that a target supports SSE 2? 33 Default: True 34 Manual: True 35 36Flag sse41 37 Description: Do we want to assume that a target supports SSE 4.1? 38 Default: False 39 Manual: True 40 41Flag examples 42 Description: Build example modules 43 Default: False 44 Manual: True 45 46Library 47 Exposed-modules: Data.Hashable 48 Data.Hashable.Lifted 49 Data.Hashable.Generic 50 Other-modules: Data.Hashable.Class 51 Data.Hashable.Generic.Instances 52 53 C-sources: cbits/fnv.c 54 55 Build-depends: base >= 4.5 && < 4.15 56 , bytestring >= 0.9 && < 0.12 57 , deepseq >= 1.3 && < 1.5 58 , text >= 0.12 && < 1.3 59 , ghc-prim 60 61 if flag(integer-gmp) 62 Build-depends: integer-gmp >= 0.4 && < 1.1 63 else 64 -- this is needed for the automatic flag to be well-balanced 65 Build-depends: integer-simple 66 67 Default-Language: Haskell2010 68 Other-Extensions: BangPatterns 69 CPP 70 DeriveDataTypeable 71 FlexibleContexts 72 FlexibleInstances 73 GADTs 74 KindSignatures 75 MagicHash 76 MultiParamTypeClasses 77 ScopedTypeVariables 78 Trustworthy 79 TypeOperators 80 UnliftedFFITypes 81 82 Ghc-options: -Wall -fwarn-tabs 83 84Test-suite tests 85 Type: exitcode-stdio-1.0 86 Hs-source-dirs: tests 87 Main-is: Main.hs 88 Other-modules: Properties Regress 89 Build-depends: base, 90 bytestring, 91 ghc-prim, 92 hashable, 93 test-framework >= 0.3.3, 94 test-framework-hunit, 95 test-framework-quickcheck2 >= 0.2.9, 96 HUnit, 97 QuickCheck >= 2.4.0.1, 98 random >= 1.0 && < 1.2, 99 text >= 0.11.0.5 100 if !os(windows) 101 Build-depends: unix 102 CPP-options: -DHAVE_MMAP 103 Other-modules: Regress.Mmap 104 Other-Extensions: CApiFFI 105 106 Ghc-options: -Wall -fno-warn-orphans 107 Default-Language: Haskell2010 108 109benchmark benchmarks 110 -- We cannot depend on the hashable library directly as that creates 111 -- a dependency cycle. 112 hs-source-dirs: . benchmarks 113 114 main-is: Benchmarks.hs 115 other-modules: 116 Data.Hashable 117 Data.Hashable.Class 118 Data.Hashable.RandomSource 119 Data.Hashable.SipHash 120 type: exitcode-stdio-1.0 121 122 build-depends: 123 base, 124 bytestring, 125 criterion >= 1.0, 126 ghc-prim, 127 siphash, 128 text 129 130 if impl(ghc) 131 Build-depends: ghc-prim, 132 text >= 0.11.0.5 133 if impl(ghc) && flag(integer-gmp) 134 Build-depends: integer-gmp >= 0.2 135 136 if impl(ghc >= 7.2.1) 137 CPP-Options: -DGENERICS 138 139 include-dirs: 140 benchmarks/cbits 141 142 includes: 143 siphash.h 144 145 c-sources: 146 benchmarks/cbits/inthash.c 147 benchmarks/cbits/siphash.c 148 benchmarks/cbits/wang.c 149 cbits/fnv.c 150 151 if (arch(i386) || arch(x86_64)) && flag(sse2) 152 cpp-options: -DHAVE_SSE2 153 c-sources: 154 benchmarks/cbits/siphash-sse2.c 155 156 if flag(sse41) 157 cpp-options: -DHAVE_SSE41 158 c-sources: 159 benchmarks/cbits/siphash-sse41.c 160 161 Ghc-options: -Wall -O2 162 if impl(ghc >= 6.8) 163 Ghc-options: -fwarn-tabs 164 else 165 c-sources: cbits/getRandomBytes.c 166 other-modules: Data.Hashable.RandomSource 167 if os(windows) 168 extra-libraries: advapi32 169 170 Default-Language: Haskell2010 171 172Executable hashable-examples 173 if flag(examples) 174 build-depends: base, hashable 175 else 176 buildable: False 177 hs-source-dirs: examples 178 main-is: Main.hs 179 Default-Language: Haskell2010 180 181source-repository head 182 type: git 183 location: https://github.com/tibbe/hashable.git 184