diff --git a/ghc-hashable.spec b/ghc-hashable.spec index 8ce39a6..3d3ec10 100644 --- a/ghc-hashable.spec +++ b/ghc-hashable.spec @@ -1,4 +1,4 @@ -# generated by cabal-rpm-0.12.5 +# generated by cabal-rpm-0.13 # https://fedoraproject.org/wiki/Packaging:Haskell %global pkg_name hashable @@ -8,16 +8,19 @@ Name: ghc-%{pkg_name} Version: 1.2.7.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A class for types that can be converted to a hash value License: BSD Url: https://hackage.haskell.org/package/%{pkg_name} +# Begin cabal-rpm sources: Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal +# End cabal-rpm sources +# Begin cabal-rpm deps: BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros -# Begin cabal-rpm deps: BuildRequires: ghc-bytestring-devel BuildRequires: ghc-deepseq-devel BuildRequires: ghc-text-devel @@ -55,15 +58,22 @@ This package provides the Haskell %{pkg_name} library development files. %prep +# Begin cabal-rpm setup: %setup -q -n %{pkgver} +cp -bp %{SOURCE1} %{pkg_name}.cabal +# End cabal-rpm setup %build +# Begin cabal-rpm build: %ghc_lib_build +# End cabal-rpm build %install +# Begin cabal-rpm install %ghc_lib_install +# End cabal-rpm install %check @@ -79,7 +89,9 @@ This package provides the Haskell %{pkg_name} library development files. %files -f %{name}.files +# Begin cabal-rpm files: %license LICENSE +# End cabal-rpm files %files devel -f %{name}-devel.files @@ -87,6 +99,9 @@ This package provides the Haskell %{pkg_name} library development files. %changelog +* Sun Feb 17 2019 Jens Petersen - 1.2.7.0-3 +- refresh to cabal-rpm-0.13 + * Thu Jan 31 2019 Fedora Release Engineering - 1.2.7.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/hashable-1.2.7.0.cabal b/hashable-1.2.7.0.cabal new file mode 100644 index 0000000..ba026e7 --- /dev/null +++ b/hashable-1.2.7.0.cabal @@ -0,0 +1,180 @@ +Cabal-version: 1.12 +Name: hashable +Version: 1.2.7.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 +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 +-- tests/Properties.hs shouldn't have to go here, but the source files +-- for the test-suite stanzas don't get picked up by `cabal sdist`. +tested-with: GHC==8.4.1, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2 + +Extra-source-files: + CHANGES.md, README.md, tests/Properties.hs, + benchmarks/Benchmarks.hs, benchmarks/cbits/*.c, benchmarks/cbits/*.h + +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 + Other-modules: Data.Hashable.Class + Build-depends: base >= 4.4 && < 4.13, + bytestring >= 0.9 && < 0.11, + deepseq >= 1.3 && < 1.5 + 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 + Other-modules: Data.Hashable.Generic + + C-sources: + cbits/fnv.c + + Ghc-options: -Wall + 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 + +Test-suite tests + Type: exitcode-stdio-1.0 + Hs-source-dirs: tests + Main-is: Main.hs + Other-modules: Properties Regress + Build-depends: base >= 4.0 && < 5.0, + 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 + + Ghc-options: -Wall -fno-warn-orphans + if impl(ghc >= 7.2.1) + CPP-Options: -DGENERICS + + 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