Skip to content

Commit

Permalink
devel/hs-hashable: update to hashable-1.5.0.0
Browse files Browse the repository at this point in the history
## 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](haskell/core-libraries-committee#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.

## Version 1.4.7.0

  * Make `arch-native` disabled by default.

## Version 1.4.6.0

  * Use GND&DerivingVia to derive `newtype` intances (`Data.Semigroup`, `Data.Monoid`, `Identity` etc).

## Version 1.4.5.0

  * Drop support for GHCs prior 8.6.5
  * Use xxhash for hashing bytestrings and bytearrays.
    Note: when compiling binaries for distribution, you may need to disable
    `arch-native` flag.
  • Loading branch information
depressed-pho committed Jan 29, 2025
1 parent fb3ad99 commit 71457f4
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 13 deletions.
18 changes: 14 additions & 4 deletions devel/hs-hashable/DESCR
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
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.
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.
6 changes: 2 additions & 4 deletions devel/hs-hashable/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# $NetBSD: Makefile,v 1.29 2024/05/09 01:31:57 pho Exp $
# $NetBSD: Makefile,v 1.30 2025/01/29 16:43:05 pho Exp $

DISTNAME= hashable-1.4.4.0
PKGREVISION= 1
DISTNAME= hashable-1.5.0.0
CATEGORIES= devel

MAINTAINER= pho@cielonegro.org
COMMENT= Class for types that can be converted to a hash value
LICENSE= modified-bsd

.include "../../devel/hs-os-string/buildlink3.mk"
.include "../../mk/haskell.mk"
.include "../../mk/bsd.pkg.mk"
8 changes: 3 additions & 5 deletions devel/hs-hashable/buildlink3.mk
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
# $NetBSD: buildlink3.mk,v 1.26 2024/05/09 01:31:57 pho Exp $
# $NetBSD: buildlink3.mk,v 1.27 2025/01/29 16:43:05 pho Exp $

BUILDLINK_TREE+= hs-hashable

.if !defined(HS_HASHABLE_BUILDLINK3_MK)
HS_HASHABLE_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.hs-hashable+= hs-hashable>=1.4.4
BUILDLINK_ABI_DEPENDS.hs-hashable+= hs-hashable>=1.4.4.0nb1
BUILDLINK_API_DEPENDS.hs-hashable+= hs-hashable>=1.5.0
BUILDLINK_ABI_DEPENDS.hs-hashable+= hs-hashable>=1.5.0.0
BUILDLINK_PKGSRCDIR.hs-hashable?= ../../devel/hs-hashable

.include "../../devel/hs-os-string/buildlink3.mk"
.endif # HS_HASHABLE_BUILDLINK3_MK

BUILDLINK_TREE+= -hs-hashable

0 comments on commit 71457f4

Please sign in to comment.