[arch-commits] Commit in haskell-parameterized-utils/trunk (2 files)

Felix Yan felixonmars at gemini.archlinux.org
Tue Feb 22 07:05:50 UTC 2022


    Date: Tuesday, February 22, 2022 @ 07:05:49
  Author: felixonmars
Revision: 1135728

upgpkg: haskell-parameterized-utils 2.1.4.0-31: rebuild with hashable 1.4.0.0, quickcheck-instances 0.3.26.1

Added:
  haskell-parameterized-utils/trunk/hashable-1.4.patch
Modified:
  haskell-parameterized-utils/trunk/PKGBUILD

--------------------+
 PKGBUILD           |    9 ++-
 hashable-1.4.patch |  121 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 127 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-02-22 06:57:12 UTC (rev 1135727)
+++ PKGBUILD	2022-02-22 07:05:49 UTC (rev 1135728)
@@ -3,7 +3,7 @@
 _hkgname=parameterized-utils
 pkgname=haskell-parameterized-utils
 pkgver=2.1.4.0
-pkgrel=30
+pkgrel=31
 pkgdesc="Classes and data structures for working with data-kind indexed types"
 url="https://github.com/GaloisInc/parameterized-utils"
 license=('BSD')
@@ -13,11 +13,14 @@
          'haskell-th-abstraction' 'haskell-vector')
 makedepends=('ghc' 'uusi' 'haskell-hedgehog' 'haskell-hedgehog-classes' 'haskell-tasty'
              'haskell-tasty-ant-xml' 'haskell-tasty-hunit' 'haskell-tasty-hedgehog')
-source=(https://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
-sha512sums=('d1c04ed4dd13b385dd86c5982bfea4a9512a591f0c9f29c2e95a132380563a06f2085b1d9c9e66e586503547fc0c9ccb4acfa737aa1778d7e6d5e564c659fad8')
+source=(https://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz
+        hashable-1.4.patch)
+sha512sums=('d1c04ed4dd13b385dd86c5982bfea4a9512a591f0c9f29c2e95a132380563a06f2085b1d9c9e66e586503547fc0c9ccb4acfa737aa1778d7e6d5e564c659fad8'
+            '482cc86bc8f692023e2ef9933dc78de6279f2c5309ff8b292b9b09e3182ee95a1b8a4d4b2c260d157b8df9612933dbf31d7a4ba734e537fdbb1a6f68612f3c48')
 
 prepare() {
     cd $_hkgname-$pkgver
+    patch -p1 -i ../hashable-1.4.patch
     gen-setup
     uusi -u lens $_hkgname.cabal
 }

Added: hashable-1.4.patch
===================================================================
--- hashable-1.4.patch	                        (rev 0)
+++ hashable-1.4.patch	2022-02-22 07:05:49 UTC (rev 1135728)
@@ -0,0 +1,121 @@
+From 73ad4b0bb044decda71091a9f0e72d57de7d457c Mon Sep 17 00:00:00 2001
+From: Ryan Scott <rscott at galois.com>
+Date: Wed, 5 Jan 2022 10:14:47 -0600
+Subject: [PATCH] Allow building with hashable-1.4.*
+
+Because `hashable-1.4.0.0` adds an `Eq` superclass to `Hashable`, several
+`Hashable` instances in `parameterized-utils` now must add additional
+constraints to satisfy the corresponding `Eq` instances. For instance,
+several `Eq` instances have `TestEquality` constraints, so the `Hashable`
+instances must have corresponding `TestEquality` constraints as well.
+
+Fixes #126.
+---
+ Changelog.md                             | 8 ++++++++
+ parameterized-utils.cabal                | 6 +++---
+ src/Data/Parameterized/Classes.hs        | 2 +-
+ src/Data/Parameterized/Context/Safe.hs   | 4 ++--
+ src/Data/Parameterized/Context/Unsafe.hs | 4 ++--
+ src/Data/Parameterized/Some.hs           | 2 +-
+ 6 files changed, 17 insertions(+), 9 deletions(-)
+
+diff --git a/Changelog.md b/Changelog.md
+index a04a089..177130b 100644
+--- a/Changelog.md
++++ b/Changelog.md
+@@ -1,5 +1,13 @@
+ # Changelog for the `parameterized-utils` package
+ 
++## next -- *TBA*
++
++  * Allow building with `hashable-1.4.*`. Because `hashable-1.4.0.0` adds an
++    `Eq` superclass to `Hashable`, some instances of `Hashable` in
++    `parameterized-utils` now require additional `TestEquality` constraints, as
++    the corresponding `Eq` instances for these data types also require
++    `TestEquality` constraints.
++
+ ## 2.1.4.0 -- *2021 Oct 1*
+ 
+   * Added the `ifoldLM` and `fromSomeList`, `fromListWith`, and
+diff --git a/parameterized-utils.cabal b/parameterized-utils.cabal
+index 6df2300..aa86ded 100644
+--- a/parameterized-utils.cabal
++++ b/parameterized-utils.cabal
+@@ -56,8 +56,8 @@ library
+                , containers
+                , deepseq
+                , ghc-prim
+-               , hashable       >=1.2  && <1.4
+-               , hashtables     ==1.2.*
++               , hashable       >=1.2  && <1.5
++               , hashtables     >=1.2  && <1.4
+                , indexed-traversable
+                , lens           >=4.16 && <5.1
+                , mtl
+@@ -142,4 +142,4 @@ test-suite parameterizedTests
+ 
+   if impl(ghc >= 8.6)
+     build-depends:
+-      hedgehog-classes
+\ No newline at end of file
++      hedgehog-classes
+diff --git a/src/Data/Parameterized/Classes.hs b/src/Data/Parameterized/Classes.hs
+index b90754d..df1072a 100644
+--- a/src/Data/Parameterized/Classes.hs
++++ b/src/Data/Parameterized/Classes.hs
+@@ -351,7 +351,7 @@ instance OrdF f => Ord (TypeAp f tp) where
+ instance ShowF f => Show (TypeAp f tp) where
+   showsPrec p (TypeAp x) = showsPrecF p x
+ 
+-instance HashableF f => Hashable (TypeAp f tp) where
++instance (HashableF f, TestEquality f) => Hashable (TypeAp f tp) where
+   hashWithSalt s (TypeAp x) = hashWithSaltF s x
+ 
+ ------------------------------------------------------------------------
+diff --git a/src/Data/Parameterized/Context/Safe.hs b/src/Data/Parameterized/Context/Safe.hs
+index 96da3c0..5bdd196 100644
+--- a/src/Data/Parameterized/Context/Safe.hs
++++ b/src/Data/Parameterized/Context/Safe.hs
+@@ -595,10 +595,10 @@ instance Hashable (Index ctx tp) where
+ instance HashableF (Index ctx) where
+   hashWithSaltF s i = hashWithSalt s (indexVal i)
+ 
+-instance HashableF f => HashableF (Assignment f) where
++instance (HashableF f, TestEquality f) => HashableF (Assignment f) where
+   hashWithSaltF = hashWithSalt
+ 
+-instance HashableF f => Hashable (Assignment f ctx) where
++instance (HashableF f, TestEquality f) => Hashable (Assignment f ctx) where
+   hashWithSalt s AssignmentEmpty = s
+   hashWithSalt s (AssignmentExtend asgn x) = (s `hashWithSalt` asgn) `hashWithSaltF` x
+ 
+diff --git a/src/Data/Parameterized/Context/Unsafe.hs b/src/Data/Parameterized/Context/Unsafe.hs
+index 43e9def..e3f5845 100644
+--- a/src/Data/Parameterized/Context/Unsafe.hs
++++ b/src/Data/Parameterized/Context/Unsafe.hs
+@@ -850,10 +850,10 @@ instance HashableF (Index ctx) where
+ instance Hashable (Index ctx tp) where
+   hashWithSalt = hashWithSaltF
+ 
+-instance HashableF f => Hashable (Assignment f ctx) where
++instance (HashableF f, TestEquality f) => Hashable (Assignment f ctx) where
+   hashWithSalt s (Assignment a) = hashWithSaltF s a
+ 
+-instance HashableF f => HashableF (Assignment f) where
++instance (HashableF f, TestEquality f) => HashableF (Assignment f) where
+   hashWithSaltF = hashWithSalt
+ 
+ instance ShowF f => Show (Assignment f ctx) where
+diff --git a/src/Data/Parameterized/Some.hs b/src/Data/Parameterized/Some.hs
+index 3df9359..75e9c55 100644
+--- a/src/Data/Parameterized/Some.hs
++++ b/src/Data/Parameterized/Some.hs
+@@ -33,7 +33,7 @@ instance TestEquality f => Eq (Some f) where
+ instance OrdF f => Ord (Some f) where
+   compare (Some x) (Some y) = toOrdering (compareF x y)
+ 
+-instance HashableF f => Hashable (Some f) where
++instance (HashableF f, TestEquality f) => Hashable (Some f) where
+   hashWithSalt s (Some x) = hashWithSaltF s x
+   hash (Some x) = hashF x
+ 



More information about the arch-commits mailing list