diff --git a/ghc-hashable.changes b/ghc-hashable.changes index 121a181..e8299d7 100644 --- a/ghc-hashable.changes +++ b/ghc-hashable.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu May 7 08:08:20 UTC 2020 - Peter Simons + +- Update Cabal file to get more accurate dependency information. + ------------------------------------------------------------------- Sun Dec 29 10:27:18 UTC 2019 - psimons@suse.com diff --git a/ghc-hashable.spec b/ghc-hashable.spec index b628c89..032e9a8 100644 --- a/ghc-hashable.spec +++ b/ghc-hashable.spec @@ -25,6 +25,7 @@ Summary: A class for types that can be converted to a hash value License: BSD-3-Clause URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-bytestring-devel BuildRequires: ghc-deepseq-devel @@ -58,6 +59,7 @@ This package provides the Haskell %{pkg_name} library development files. %prep %setup -q -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal %build %ifarch i586 diff --git a/hashable.cabal b/hashable.cabal new file mode 100644 index 0000000..76aff02 --- /dev/null +++ b/hashable.cabal @@ -0,0 +1,183 @@ +Cabal-version: 1.12 +Name: hashable +Version: 1.3.0.0 +x-revision: 1 +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 + Johan Tibell +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.11 + , 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