Bug#1056033: ghc: Please include patch to fix cabal arch detection for sparc64
John Paul Adrian Glaubitz
glaubitz at physik.fu-berlin.de
Thu Nov 16 08:13:51 GMT 2023
Source: ghc
Version: 9.4.7-1
Severity: normal
Tags: patch upstream
User: debian-sparc at lists.debian.org
Usertags: sparc64
X-Debbugs-Cc: debian-sparc at lists.debian.org
Hi!
As discussed in private, here is a patch which fixes the arch detection for
sparc64 in cabal. Previously, cabal treated "sparc64" as an alias for 32-bit
sparc which results in the GHC build process not being able to find the built
binaries as these are stored in a $ARCH-$OS subfolder.
The patch has already been pushed upstream, approved and should be merged within
the next hours after some more waiting [1].
The attached patch is a backported version of the patch which applies to GHC 9.4.7.
Thanks,
Adrian
> [1] https://github.com/haskell/cabal/pull/9445
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
-------------- next part --------------
--- ghc-9.4.6.orig/libraries/Cabal/Cabal-syntax/src/Distribution/System.hs
+++ ghc-9.4.6/libraries/Cabal/Cabal-syntax/src/Distribution/System.hs
@@ -158,19 +158,17 @@ buildOS = classifyOS Permissive System.I
-- ------------------------------------------------------------
-- | These are the known Arches: I386, X86_64, PPC, PPC64, Sparc,
--- Arm, AArch64, Mips, SH, IA64, S390, S390X, Alpha, Hppa, Rs6000,
--- M68k, Vax, JavaScript and Wasm32.
---
+-- Sparc64, Arm, AArch64, Mips, SH, IA64, S390, S390X, Alpha, Hppa,
+-- Rs6000, M68k, Vax, JavaScript and Wasm32.
-- The following aliases can also be used:
-- * PPC alias: powerpc
-- * PPC64 alias : powerpc64, powerpc64le
--- * Sparc aliases: sparc64, sun4
-- * Mips aliases: mipsel, mipseb
-- * Arm aliases: armeb, armel
-- * AArch64 aliases: arm64
--
data Arch = I386 | X86_64 | PPC | PPC64 | Sparc
- | Arm | AArch64 | Mips | SH
+ | Sparc64 | Arm | AArch64 | Mips | SH
| IA64 | S390 | S390X
| Alpha | Hppa | Rs6000
| M68k | Vax
@@ -185,7 +183,7 @@ instance NFData Arch where rnf = generic
knownArches :: [Arch]
knownArches = [I386, X86_64, PPC, PPC64, Sparc
- ,Arm, AArch64, Mips, SH
+ ,Sparc64 ,Arm, AArch64, Mips, SH
,IA64, S390, S390X
,Alpha, Hppa, Rs6000
,M68k, Vax
@@ -197,7 +195,6 @@ archAliases Strict _ = []
archAliases Compat _ = []
archAliases _ PPC = ["powerpc"]
archAliases _ PPC64 = ["powerpc64", "powerpc64le"]
-archAliases _ Sparc = ["sparc64", "sun4"]
archAliases _ Mips = ["mipsel", "mipseb"]
archAliases _ Arm = ["armeb", "armel"]
archAliases _ AArch64 = ["arm64"]
--- ghc-9.4.6.orig/libraries/Cabal/Cabal/src/Distribution/Simple/PreProcess.hs
+++ ghc-9.4.6/libraries/Cabal/Cabal/src/Distribution/Simple/PreProcess.hs
@@ -717,6 +717,7 @@ platformDefines lbi =
PPC -> ["powerpc"]
PPC64 -> ["powerpc64"]
Sparc -> ["sparc"]
+ Sparc64 -> ["sparc64"]
Arm -> ["arm"]
AArch64 -> ["aarch64"]
Mips -> ["mips"]
More information about the Pkg-haskell-maintainers
mailing list