haskellPackages.*: don’t depend on GHC’s LLVM version (#441101)

This commit is contained in:
sternenseemann
2025-09-11 13:35:38 +00:00
committed by GitHub
13 changed files with 35 additions and 39 deletions
@@ -35,10 +35,10 @@
}:
mkDerivation {
pname = "cabal2nix";
version = "unstable-2025-09-06";
version = "unstable-2025-09-09";
src = fetchzip {
url = "https://github.com/NixOS/cabal2nix/archive/fe1b21c9fb01f3f8a9028744499f20b7799cad38.tar.gz";
sha256 = "0g9pa8914mdnbbhy3far689xckfblavwv0ylmzi0h4p7v8alrjx7";
url = "https://github.com/NixOS/cabal2nix/archive/987474e0b0ed1c6b0e3fd0d07313f6996ec98b7e.tar.gz";
sha256 = "0nixn8incqypsfyfclj40p8bdx2yn4783kzwpqfp19ql2sbc57dc";
};
postUnpack = "sourceRoot+=/cabal2nix; echo source root reset to $sourceRoot";
isLibrary = true;
@@ -13,8 +13,6 @@ in
self: super: {
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC 9.0.x core libraries.
array = null;
base = null;
@@ -16,8 +16,6 @@ let
in
{
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC core libraries
array = null;
base = null;
@@ -16,8 +16,6 @@ in
with haskellLib;
{
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC core libraries
array = null;
base = null;
@@ -6,8 +6,6 @@ let
in
self: super: {
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC core libraries
array = null;
base = null;
@@ -13,8 +13,6 @@ in
self: super: {
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC 9.2.x core libraries.
array = null;
base = null;
@@ -6,8 +6,6 @@ in
with haskellLib;
self: super: {
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC core libraries.
array = null;
base = null;
@@ -16,8 +16,6 @@ let
in
{
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC core libraries
array = null;
base = null;
@@ -18,8 +18,6 @@ in
{
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC core libraries.
array = null;
base = null;
@@ -523,8 +523,22 @@ builtins.intersectAttrs super {
)
);
# Needs help finding LLVM.
spaceprobe = addBuildTool self.buildHaskellPackages.llvmPackages.llvm super.spaceprobe;
# Forces the LLVM backend; upstream signalled intent to remove this
# in 2017: <https://github.com/SeanRBurton/spaceprobe/issues/1>.
spaceprobe = overrideCabal (drv: {
postPatch = ''
substituteInPlace spaceprobe.cabal \
--replace-fail '-fllvm ' ""
'';
}) super.spaceprobe;
# Forces the LLVM backend.
GlomeVec = overrideCabal (drv: {
postPatch = ''
substituteInPlace GlomeVec.cabal \
--replace-fail '-fllvm ' ""
'';
}) super.GlomeVec;
# Tries to run GUI in tests
leksah = dontCheck (
+13 -15
View File
@@ -16266,7 +16266,6 @@ self: {
mkDerivation,
array,
base,
llvm,
}:
mkDerivation {
pname = "GlomeVec";
@@ -16276,11 +16275,10 @@ self: {
array
base
];
libraryPkgconfigDepends = [ llvm ];
description = "Simple 3D vector library";
license = "GPL";
}
) { inherit (self.llvmPackages) llvm; };
) { };
"GlomeView" = callPackage (
{
@@ -27647,9 +27645,9 @@ self: {
base,
bytestring,
c2hs,
clang,
filepath,
hashable,
libclang,
mtl,
ncurses,
resourcet,
@@ -27676,7 +27674,7 @@ self: {
transformers-base
vector
];
librarySystemDepends = [ clang ];
librarySystemDepends = [ libclang ];
libraryPkgconfigDepends = [ ncurses ];
libraryToolDepends = [ c2hs ];
description = "Haskell bindings for libclang (a C++ parsing library)";
@@ -27686,7 +27684,7 @@ self: {
}
)
{
inherit (self.llvmPackages) clang;
inherit (pkgs) libclang;
inherit (pkgs) ncurses;
};
@@ -141306,11 +141304,11 @@ self: {
base,
bytestring,
Cabal,
clang,
containers,
contravariant,
inline-c,
lens,
libclang,
microlens,
microlens-contra,
process,
@@ -141344,7 +141342,7 @@ self: {
template-haskell
vector
];
librarySystemDepends = [ clang ];
librarySystemDepends = [ libclang ];
testHaskellDepends = [
base
bytestring
@@ -141355,7 +141353,7 @@ self: {
hydraPlatforms = lib.platforms.none;
broken = true;
}
) { inherit (self.llvmPackages) clang; };
) { inherit (pkgs) libclang; };
"clanki" = callPackage (
{
@@ -267231,7 +267229,7 @@ self: {
haskell-gi-overloading,
text,
transformers,
vte_291,
vte,
}:
mkDerivation {
pname = "gi-vte";
@@ -267270,12 +267268,12 @@ self: {
text
transformers
];
libraryPkgconfigDepends = [ vte_291 ];
libraryPkgconfigDepends = [ vte ];
description = "Vte bindings";
license = lib.licenses.lgpl21Only;
badPlatforms = lib.platforms.darwin;
}
) { vte_291 = pkgs.vte; };
) { inherit (pkgs) vte; };
"gi-webkit" = callPackage (
{
@@ -664371,7 +664369,7 @@ self: {
text,
transformers,
unordered-containers,
vte_291,
vte,
xml-conduit,
xml-html-qq,
yaml,
@@ -664421,7 +664419,7 @@ self: {
libraryPkgconfigDepends = [
gtk3
pcre2
vte_291
vte
];
executableHaskellDepends = [ base ];
testHaskellDepends = [
@@ -664441,7 +664439,7 @@ self: {
{
inherit (pkgs) gtk3;
inherit (pkgs) pcre2;
vte_291 = pkgs.vte;
inherit (pkgs) vte;
};
"termplot" = callPackage (
@@ -734,6 +734,6 @@ package-set { inherit pkgs lib callPackage; } self
*/
forceLlvmCodegenBackend = overrideCabal (drv: {
configureFlags = drv.configureFlags or [ ] ++ [ "--ghc-option=-fllvm" ];
buildTools = drv.buildTools or [ ] ++ [ self.llvmPackages.llvm ];
buildTools = drv.buildTools or [ ] ++ [ self.ghc.llvmPackages.llvm ];
});
}
@@ -44,7 +44,7 @@ selectPackages:
# fi
let
inherit (haskellPackages) llvmPackages ghc;
inherit (haskellPackages) ghc;
hoogleWithPackages' = if withHoogle then hoogleWithPackages selectPackages else null;
@@ -71,7 +71,7 @@ let
# CLang is needed on Darwin for -fllvm to work:
# https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
llvm = lib.makeBinPath (
[ llvmPackages.llvm ] ++ lib.optional stdenv.targetPlatform.isDarwin llvmPackages.clang
[ ghc.llvmPackages.llvm ] ++ lib.optional stdenv.targetPlatform.isDarwin ghc.llvmPackages.clang
);
in