forked from pool/ghc-hashable
Compare commits
106 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
256dd64d67 | ||
|
ba328cafdb | ||
|
717792edcb | ||
|
3d9b6260eb | ||
|
071a7fd549 | ||
|
0f1fa4a446 | ||
|
e145855389 | ||
|
78030531ec | ||
|
a9416bea1c | ||
|
d08fd81564 | ||
|
11fb4cadc2 | ||
|
e0c37e4b82 | ||
|
9cc51d88b5 | ||
|
9ad700a25b | ||
|
61b4fc43b4 | ||
|
b1d20cbcf9 | ||
|
7071260fc5 | ||
|
7b4205313c | ||
|
5f0e6960ef | ||
|
3b5f88a0fd | ||
|
47f7c082cf | ||
|
e5de093b5b | ||
|
006e451b75 | ||
25dcf2ba5c | |||
|
99b13cbb20 | ||
9afdb40363 | |||
|
167ed65481 | ||
f4b8cb4498 | |||
|
51da98f0aa | ||
1806d59d96 | |||
|
f9d472b079 | ||
03780b380a | |||
526b7f1ce1 | |||
|
84e176627a | ||
d57fdd1e8b | |||
|
04471dd9a7 | ||
eaab06cee7 | |||
26ef677290 | |||
c4aa2f42fa | |||
|
c10754f4ef | ||
|
7ab770f687 | ||
|
c55e617bb1 | ||
|
1b7bb75889 | ||
|
75d661fded | ||
|
28c2757b1b | ||
|
c9880f5817 | ||
|
f35b2c4a30 | ||
|
1b92d57c2d | ||
|
8c971679d1 | ||
|
78f7c9f4b3 | ||
|
3c0451f84a | ||
|
dd804d6576 | ||
|
c6aca105ec | ||
|
62d34a964f | ||
|
ce3c3dee9c | ||
e7b3fcf1d2 | |||
|
4e8f2d3ad0 | ||
|
7b928ee173 | ||
|
d0a10c987c | ||
|
070a07d4ad | ||
|
be4ce84e8a | ||
|
525efb472c | ||
|
991e8bdfd2 | ||
|
059705a9b1 | ||
|
f9d1cf37b1 | ||
|
e35e913a2d | ||
|
9c924654cf | ||
|
20f4e96d2b | ||
|
bd555d96a1 | ||
|
9b50c59ee9 | ||
|
191a1a91b0 | ||
|
6d0db6da37 | ||
|
8f9b7e5693 | ||
|
248d45aba6 | ||
|
2fb5ecb841 | ||
|
6dd2dc6756 | ||
|
aebce33e8f | ||
|
48b81dd674 | ||
|
6dd9d8b665 | ||
|
e5e6fb0c53 | ||
|
62ebde9358 | ||
|
f489fa4103 | ||
|
05de54e8b1 | ||
|
47d7d7efbb | ||
|
d014a4707f | ||
|
0b1ea050fd | ||
|
861b3e4dd4 | ||
|
82f39b5096 | ||
|
f55a97364c | ||
|
e980070b9d | ||
|
12afd6b5e2 | ||
361e6b047f | |||
|
0844577b53 | ||
|
4c994c4811 | ||
|
387c8cc057 | ||
572fdaa741 | |||
|
25beb97b11 | ||
|
54f310e2c1 | ||
|
9ccae4964f | ||
|
f1585897e6 | ||
|
7db0ceb9b4 | ||
|
4193eadfde | ||
|
be200bbe31 | ||
|
40361b1b0c | ||
|
32c98042b4 | ||
a0fecb406f |
@ -1,3 +1,30 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 19 10:57:25 UTC 2024 - Peter Simons <psimons@suse.com>
|
||||||
|
|
||||||
|
- Update hashable to version 1.5.0.0 revision 1.
|
||||||
|
Upstream has revised the Cabal build instructions on Hackage.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 4 19:38:39 UTC 2024 - Peter Simons <psimons@suse.com>
|
||||||
|
|
||||||
|
- Update hashable to version 1.5.0.0.
|
||||||
|
## Version 1.5.0.0
|
||||||
|
|
||||||
|
* Add `QuantifiedConstraints` superclasses to `Hashable1/2`:
|
||||||
|
|
||||||
|
```haskell
|
||||||
|
class (Eq1 t, forall a. Hashable a => Hashable (t a)) => Hashable1 t where
|
||||||
|
class (Eq2 t, forall a. Hashable a => Hashable1 (t a)) => Hashable2 t where
|
||||||
|
```
|
||||||
|
|
||||||
|
* Change contexts of `Compose`, `Product` and `Sum` instances.
|
||||||
|
This and above is the similar change as [CLC proposal #10](https://github.com/haskell/core-libraries-committee/issues/10)
|
||||||
|
|
||||||
|
* The above changes require `base-4.18.0.0`, so we drop support for GHC prior GHC-9.6.5
|
||||||
|
(The `hashable-1.4` branch will be maintained for time being for older GHC users).
|
||||||
|
|
||||||
|
* Make `Arg a b` instance behave as `Hashable a` instance.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jun 24 10:44:33 UTC 2024 - Peter Simons <psimons@suse.com>
|
Mon Jun 24 10:44:33 UTC 2024 - Peter Simons <psimons@suse.com>
|
||||||
|
|
||||||
|
@ -20,12 +20,13 @@
|
|||||||
%global pkgver %{pkg_name}-%{version}
|
%global pkgver %{pkg_name}-%{version}
|
||||||
%bcond_with tests
|
%bcond_with tests
|
||||||
Name: ghc-%{pkg_name}
|
Name: ghc-%{pkg_name}
|
||||||
Version: 1.4.7.0
|
Version: 1.5.0.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A class for types that can be converted to a hash value
|
Summary: A class for types that can be converted to a hash value
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
URL: https://hackage.haskell.org/package/%{pkg_name}
|
URL: https://hackage.haskell.org/package/%{pkg_name}
|
||||||
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
|
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-Cabal-devel
|
||||||
BuildRequires: ghc-base-devel
|
BuildRequires: ghc-base-devel
|
||||||
BuildRequires: ghc-base-prof
|
BuildRequires: ghc-base-prof
|
||||||
@ -108,6 +109,7 @@ This package provides the Haskell %{pkg_name} profiling library.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n %{pkg_name}-%{version}
|
%autosetup -n %{pkg_name}-%{version}
|
||||||
|
cp -p %{SOURCE1} %{pkg_name}.cabal
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define cabal_configure_options -f-arch-native
|
%define cabal_configure_options -f-arch-native
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:34652a7a1d2fc9e3d764b150bd35bcd2220761c1d4c6b446b0cfac5ad5b778cb
|
|
||||||
size 89426
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:3baee4c9027a08830d148ec524cbc0471de645e1e8426d46780ef2758df0e8da
|
|
||||||
size 89467
|
|
3
hashable-1.5.0.0.tar.gz
Normal file
3
hashable-1.5.0.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e58b3a8e18da5f6cd7e937e5fd683e500bb1f8276b3768269759119ca0cddb6a
|
||||||
|
size 89062
|
217
hashable.cabal
Normal file
217
hashable.cabal
Normal file
@ -0,0 +1,217 @@
|
|||||||
|
cabal-version: 2.2
|
||||||
|
name: hashable
|
||||||
|
version: 1.5.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.
|
||||||
|
.
|
||||||
|
'Hashable' is intended exclusively for use in in-memory data structures.
|
||||||
|
.
|
||||||
|
'Hashable' does /not/ have a fixed standard.
|
||||||
|
This allows it to improve over time.
|
||||||
|
.
|
||||||
|
Because it does not have a fixed standard, different computers or computers on different versions of the code will observe different hash values.
|
||||||
|
As such, 'hashable' is not recommended for use other than in-memory datastructures.
|
||||||
|
Specifically, 'hashable' is not intended for network use or in applications which persist hashed values.
|
||||||
|
For stable hashing use named hashes: sha256, crc32, xxhash etc.
|
||||||
|
|
||||||
|
homepage: http://github.com/haskell-unordered-containers/hashable
|
||||||
|
license: BSD-3-Clause
|
||||||
|
license-file: LICENSE
|
||||||
|
author:
|
||||||
|
Milan Straka <fox@ucw.cz>
|
||||||
|
Johan Tibell <johan.tibell@gmail.com>
|
||||||
|
|
||||||
|
maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
|
||||||
|
bug-reports:
|
||||||
|
https://github.com/haskell-unordered-containers/hashable/issues
|
||||||
|
|
||||||
|
stability: Provisional
|
||||||
|
category: Data
|
||||||
|
build-type: Simple
|
||||||
|
tested-with:
|
||||||
|
GHC ==9.6.5 || ==9.8.2 || ==9.8.3 || ==9.10.1 || ==9.12.1
|
||||||
|
|
||||||
|
extra-source-files:
|
||||||
|
CHANGES.md
|
||||||
|
include/HsHashable.h
|
||||||
|
include/HsXXHash.h
|
||||||
|
README.md
|
||||||
|
xxHash-0.8.2/xxhash.h
|
||||||
|
|
||||||
|
flag arch-native
|
||||||
|
description:
|
||||||
|
Use @-march=native@ when compiling C sources.
|
||||||
|
Portable implementation is 15-50% slower.
|
||||||
|
Consider enabling this flag if hashing performance is important.
|
||||||
|
|
||||||
|
manual: True
|
||||||
|
default: False
|
||||||
|
|
||||||
|
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.FFI
|
||||||
|
Data.Hashable.Generic.Instances
|
||||||
|
Data.Hashable.Imports
|
||||||
|
Data.Hashable.LowLevel
|
||||||
|
Data.Hashable.Mix
|
||||||
|
Data.Hashable.XXH3
|
||||||
|
|
||||||
|
include-dirs: include xxHash-0.8.2
|
||||||
|
includes:
|
||||||
|
HsHashable.h
|
||||||
|
HsXXHash.h
|
||||||
|
xxhash.h
|
||||||
|
|
||||||
|
hs-source-dirs: src
|
||||||
|
build-depends:
|
||||||
|
, base >=4.18.0.0 && <4.22
|
||||||
|
, bytestring >=0.11.5.3 && <0.13
|
||||||
|
, containers >=0.6.7 && <0.8
|
||||||
|
, deepseq >=1.4.8.1 && <1.6
|
||||||
|
, ghc-prim
|
||||||
|
, text >=2.0.2 && <2.2
|
||||||
|
|
||||||
|
-- depend on os-string on newer GHCs only.
|
||||||
|
-- os-string has tight lower bound on bytestring, which prevents
|
||||||
|
-- using bundled version on older GHCs.
|
||||||
|
build-depends: os-string >=2.0.2 && <2.1
|
||||||
|
|
||||||
|
-- we also ensure that we can get filepath-1.5 only with GHC-9.2
|
||||||
|
-- therefore there is else-branch with stricter upper bound.
|
||||||
|
build-depends: filepath >=1.4.200.1 && <1.6
|
||||||
|
|
||||||
|
-- Integer internals
|
||||||
|
build-depends: ghc-bignum >=1.3 && <1.4
|
||||||
|
|
||||||
|
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
|
||||||
|
QuantifiedConstraints
|
||||||
|
ScopedTypeVariables
|
||||||
|
Trustworthy
|
||||||
|
TypeOperators
|
||||||
|
UnliftedFFITypes
|
||||||
|
|
||||||
|
ghc-options: -Wall
|
||||||
|
|
||||||
|
if flag(arch-native)
|
||||||
|
-- Cabal doesn't pass cc-options to "ordinary" Haskell source compilation
|
||||||
|
-- https://github.com/haskell/cabal/issues/9801
|
||||||
|
ghc-options: -optc=-march=native -optc-mtune=native
|
||||||
|
|
||||||
|
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
|
||||||
|
, filepath
|
||||||
|
, ghc-prim
|
||||||
|
, hashable
|
||||||
|
, HUnit
|
||||||
|
, QuickCheck >=2.15
|
||||||
|
, random >=1.0 && <1.3
|
||||||
|
, tasty ^>=1.5
|
||||||
|
, tasty-hunit ^>=0.10.1
|
||||||
|
, tasty-quickcheck ^>=0.10.3 || ^>=0.11
|
||||||
|
, text >=0.11.0.5
|
||||||
|
|
||||||
|
if impl(ghc >=9.2)
|
||||||
|
build-depends: os-string
|
||||||
|
|
||||||
|
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 xxhash-tests
|
||||||
|
type: exitcode-stdio-1.0
|
||||||
|
hs-source-dirs: tests src
|
||||||
|
main-is: xxhash-tests.hs
|
||||||
|
other-modules:
|
||||||
|
Data.Hashable.FFI
|
||||||
|
Data.Hashable.XXH3
|
||||||
|
|
||||||
|
default-language: Haskell2010
|
||||||
|
build-depends:
|
||||||
|
, base <5
|
||||||
|
, bytestring
|
||||||
|
, primitive ^>=0.9.0.0
|
||||||
|
, tasty ^>=1.5
|
||||||
|
, tasty-hunit ^>=0.10.1
|
||||||
|
, tasty-quickcheck ^>=0.10.3 || ^>=0.11
|
||||||
|
|
||||||
|
include-dirs: include xxHash-0.8.2
|
||||||
|
includes:
|
||||||
|
HsXXHash.h
|
||||||
|
xxhash.h
|
||||||
|
|
||||||
|
if !impl(ghc >=9.4)
|
||||||
|
build-depends: data-array-byte >=0.1.0.1 && <0.2
|
||||||
|
|
||||||
|
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
|
Loading…
x
Reference in New Issue
Block a user