haskellPackages: fix GHC 9.12 on android
This commit is contained in:
@@ -291,6 +291,11 @@
|
||||
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/39bb6e583d64738db51441a556d499aa93a4fc4a.patch";
|
||||
sha256 = "0w5fx413z924bi2irsy1l4xapxxhrq158b5gn6jzrbsmhvmpirs0";
|
||||
})
|
||||
]
|
||||
|
||||
# Missing ELF symbols
|
||||
++ lib.optionals stdenv.targetPlatform.isAndroid [
|
||||
./ghc-define-undefined-elf-st-visibility.patch
|
||||
];
|
||||
|
||||
stdenv = stdenvNoCC;
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
diff --git a/rts/linker/ElfTypes.h b/rts/linker/ElfTypes.h
|
||||
index f5e2f819d9..7f75087738 100644
|
||||
--- a/rts/linker/ElfTypes.h
|
||||
+++ b/rts/linker/ElfTypes.h
|
||||
@@ -33,6 +33,9 @@
|
||||
#define Elf_Sym Elf64_Sym
|
||||
#define Elf_Rel Elf64_Rel
|
||||
#define Elf_Rela Elf64_Rela
|
||||
+#if !defined(ELF64_ST_VISIBILITY)
|
||||
+#define ELF64_ST_VISIBILITY(o) ((o)&0x3)
|
||||
+#endif
|
||||
#if !defined(ELF_ST_VISIBILITY)
|
||||
#define ELF_ST_VISIBILITY ELF64_ST_VISIBILITY
|
||||
#endif
|
||||
@@ -60,6 +63,9 @@
|
||||
#define Elf_Sym Elf32_Sym
|
||||
#define Elf_Rel Elf32_Rel
|
||||
#define Elf_Rela Elf32_Rela
|
||||
+#if !defined(ELF32_ST_VISIBILITY)
|
||||
+#define ELF32_ST_VISIBILITY(o) ((o)&0x3)
|
||||
+#endif
|
||||
#if !defined(ELF_ST_VISIBILITY)
|
||||
#define ELF_ST_VISIBILITY ELF32_ST_VISIBILITY
|
||||
#endif /* ELF_ST_VISIBILITY */
|
||||
@@ -515,8 +515,8 @@ let
|
||||
;
|
||||
};
|
||||
|
||||
haskell.packages.ghc910 = {
|
||||
inherit (packagePlatforms pkgs.pkgsCross.aarch64-android-prebuilt.haskell.packages.ghc910)
|
||||
haskell.packages.ghc912 = {
|
||||
inherit (packagePlatforms pkgs.pkgsCross.aarch64-android-prebuilt.haskell.packages.ghc912)
|
||||
ghc
|
||||
hello
|
||||
microlens
|
||||
|
||||
Reference in New Issue
Block a user