unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob cb81b42521a0a8cb0bba8ba31750fc4af4f0459f 1360 bytes (raw)
name: packages/patches/ghc-memory-fix-32bit.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
https://github.com/vincenthz/hs-memory/commit/2738929ce15b4c8704bbbac24a08539b5d4bf30e.patch
https://github.com/vincenthz/hs-memory/pull/99
Adjusted so the '904' becomes '902'

From 2738929ce15b4c8704bbbac24a08539b5d4bf30e Mon Sep 17 00:00:00 2001
From: sternenseemann <sternenseemann@systemli.org>
Date: Mon, 14 Aug 2023 10:51:30 +0200
Subject: [PATCH] Data.Memory.Internal.CompatPrim64: fix 32 bit with GHC >= 9.4

Since 9.4, GHC.Prim exports Word64# operations like timesWord64# even on
i686 whereas GHC.IntWord64 no longer exists. Therefore, we can just use
the ready made solution.

Closes #98, as it should be the better solution.
---
 Data/Memory/Internal/CompatPrim64.hs | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Data/Memory/Internal/CompatPrim64.hs b/Data/Memory/Internal/CompatPrim64.hs
index b9eef8a..a134c88 100644
--- a/Data/Memory/Internal/CompatPrim64.hs
+++ b/Data/Memory/Internal/CompatPrim64.hs
@@ -150,6 +150,7 @@ w64# :: Word# -> Word# -> Word# -> Word64#
 w64# w _ _ = w
 
 #elif WORD_SIZE_IN_BITS == 32
+#if __GLASGOW_HASKELL__ < 902
 import GHC.IntWord64
 import GHC.Prim (Word#)
 
@@ -158,6 +159,9 @@ timesWord64# a b =
     let !ai = word64ToInt64# a
         !bi = word64ToInt64# b
      in int64ToWord64# (timesInt64# ai bi)
+#else
+import GHC.Prim
+#endif
 
 w64# :: Word# -> Word# -> Word# -> Word64#
 w64# _ hw lw =

debug log:

solving cb81b42521a0a8cb0bba8ba31750fc4af4f0459f ...
found cb81b42521a0a8cb0bba8ba31750fc4af4f0459f in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).