diff --git a/ghc-hashable.changes b/ghc-hashable.changes index f9cb8ee..2c388bf 100644 --- a/ghc-hashable.changes +++ b/ghc-hashable.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Sat Jul 29 15:01:55 UTC 2023 - Peter Simons + +- Update hashable to version 1.4.3.0. + ## Version 1.4.3.0 + + * Export `defaultHashWithSalt` and `defaultHash`. + * Fix issue of tuples with 0 first component causing all-zero state. + * Change `hashInt` to mix bits more. + ------------------------------------------------------------------- Thu Mar 30 17:06:55 UTC 2023 - Peter Simons diff --git a/ghc-hashable.spec b/ghc-hashable.spec index 8e49da3..cc9b7b7 100644 --- a/ghc-hashable.spec +++ b/ghc-hashable.spec @@ -20,13 +20,12 @@ %global pkgver %{pkg_name}-%{version} %bcond_with tests Name: ghc-%{pkg_name} -Version: 1.4.2.0 +Version: 1.4.3.0 Release: 0 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-base-devel BuildRequires: ghc-base-prof @@ -65,6 +64,10 @@ 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. +The 'Hashable' 'hash' values are not guaranteed to be stable across library +versions, operating systems or architectures. For stable hashing use named +hashes: SHA256, CRC32 etc. + %package devel Summary: Haskell %{pkg_name} library development files Requires: %{name} = %{version}-%{release} @@ -93,7 +96,6 @@ This package provides the Haskell %{pkg_name} profiling library. %prep %autosetup -n %{pkg_name}-%{version} -cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build diff --git a/hashable-1.4.2.0.tar.gz b/hashable-1.4.2.0.tar.gz deleted file mode 100644 index 9a7785c..0000000 --- a/hashable-1.4.2.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8 -size 25094 diff --git a/hashable-1.4.3.0.tar.gz b/hashable-1.4.3.0.tar.gz new file mode 100644 index 0000000..b45431c --- /dev/null +++ b/hashable-1.4.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32efb16c2891786209b7cbe5c39df9b3a9ae51e836f1a54f646bc4602b7ab0f5 +size 25601 diff --git a/hashable.cabal b/hashable.cabal deleted file mode 100644 index 8b5613e..0000000 --- a/hashable.cabal +++ /dev/null @@ -1,185 +0,0 @@ -cabal-version: 1.12 -name: hashable -version: 1.4.2.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/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 ==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.5 - || ==9.4.4 - || ==9.6.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 - -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.10.1.0 && <4.19 - , bytestring >=0.10.8.2 && <0.12 - , containers >=0.5.10.2 && <0.7 - , deepseq >=1.4.3.0 && <1.5 - , filepath >=1.4.1.2 && <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 && <0.10 - - if !impl(ghc >=9.4) - build-depends: data-array-byte >=0.1.0.1 && <0.2 - - -- Integer internals - if impl(ghc >=9) - build-depends: ghc-bignum >=1.0 && <1.4 - - 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 (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 - - 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