Merge pull request #318363 from NixOS/haskell-updates
haskellPackages: another round of mass-rebuilds
This commit is contained in:
@@ -131,23 +131,44 @@ let
|
||||
|
||||
targetCC = builtins.head toolsForTarget;
|
||||
|
||||
# Sometimes we have to dispatch between the bintools wrapper and the unwrapped
|
||||
# derivation for certain tools depending on the platform.
|
||||
bintoolsFor = {
|
||||
# GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is
|
||||
# part of the bintools wrapper (due to codesigning requirements), but not on
|
||||
# x86_64-darwin.
|
||||
install_name_tool =
|
||||
if stdenv.targetPlatform.isAarch64
|
||||
then targetCC.bintools
|
||||
else targetCC.bintools.bintools;
|
||||
# Same goes for strip.
|
||||
strip =
|
||||
# TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold"
|
||||
if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin
|
||||
then targetCC.bintools
|
||||
else targetCC.bintools.bintools;
|
||||
};
|
||||
# toolPath calculates the absolute path to the name tool associated with a
|
||||
# given `stdenv.cc` derivation, i.e. it picks the correct derivation to take
|
||||
# the tool from (cc, cc.bintools, cc.bintools.bintools) and adds the correct
|
||||
# subpath of the tool.
|
||||
toolPath = name: cc:
|
||||
let
|
||||
tools = {
|
||||
"cc" = cc;
|
||||
"c++" = cc;
|
||||
as = cc.bintools.bintools;
|
||||
|
||||
ar = cc.bintools.bintools;
|
||||
ranlib = cc.bintools.bintools;
|
||||
nm = cc.bintools.bintools;
|
||||
readelf = cc.bintools.bintools;
|
||||
|
||||
ld = cc.bintools;
|
||||
"ld.gold" = cc.bintools;
|
||||
|
||||
otool = cc.bintools.bintools;
|
||||
|
||||
# GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is
|
||||
# part of the bintools wrapper (due to codesigning requirements), but not on
|
||||
# x86_64-darwin. We decide based on target platform to have consistent tools
|
||||
# across all GHC stages.
|
||||
install_name_tool =
|
||||
if stdenv.targetPlatform.isAarch64
|
||||
then cc.bintools
|
||||
else cc.bintools.bintools;
|
||||
# Same goes for strip.
|
||||
strip =
|
||||
# TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold"
|
||||
if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin
|
||||
then cc.bintools
|
||||
else cc.bintools.bintools;
|
||||
}.${name};
|
||||
in
|
||||
"${tools}/bin/${tools.targetPrefix}${name}";
|
||||
|
||||
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
||||
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
||||
@@ -255,19 +276,19 @@ stdenv.mkDerivation (rec {
|
||||
done
|
||||
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||
# the *host* tools.
|
||||
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
|
||||
export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
|
||||
export CC="${toolPath "cc" targetCC}"
|
||||
export CXX="${toolPath "c++" targetCC}"
|
||||
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
||||
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
|
||||
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
|
||||
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
|
||||
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${bintoolsFor.strip}/bin/${bintoolsFor.strip.targetPrefix}strip"
|
||||
export LD="${toolPath "ld${lib.optionalString useLdGold ".gold"}" targetCC}"
|
||||
export AS="${toolPath "as" targetCC}"
|
||||
export AR="${toolPath "ar" targetCC}"
|
||||
export NM="${toolPath "nm" targetCC}"
|
||||
export RANLIB="${toolPath "ranlib" targetCC}"
|
||||
export READELF="${toolPath "readelf" targetCC}"
|
||||
export STRIP="${toolPath "strip" targetCC}"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
|
||||
export INSTALL_NAME_TOOL="${bintoolsFor.install_name_tool}/bin/${bintoolsFor.install_name_tool.targetPrefix}install_name_tool"
|
||||
export OTOOL="${toolPath "otool" targetCC}"
|
||||
export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}"
|
||||
'' + lib.optionalString useLLVM ''
|
||||
export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc"
|
||||
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
, pkgsBuildTarget
|
||||
, pkgsHostTarget
|
||||
, targetPackages
|
||||
, fetchpatch
|
||||
|
||||
# build-tools
|
||||
, bootPkgs
|
||||
@@ -170,6 +171,13 @@
|
||||
then ./docs-sphinx-7-ghc98.patch
|
||||
else ./docs-sphinx-7.patch )
|
||||
]
|
||||
++ lib.optionals (lib.versionAtLeast version "9.6" && lib.versionOlder version "9.8") [
|
||||
(fetchpatch {
|
||||
name = "fix-fully_static.patch";
|
||||
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/1bb24432ff77e11a0340a7d8586e151e15bba2a1.diff";
|
||||
hash = "sha256-MpvTmFFsNiPDoOp9BhZyWeapeibQ77zgEV+xzZ1UAXs=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||
# Prevent the paths module from emitting symbols that we don't use
|
||||
# when building with separate outputs.
|
||||
@@ -259,23 +267,44 @@ let
|
||||
|
||||
targetCC = builtins.head toolsForTarget;
|
||||
|
||||
# Sometimes we have to dispatch between the bintools wrapper and the unwrapped
|
||||
# derivation for certain tools depending on the platform.
|
||||
bintoolsFor = {
|
||||
# GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is
|
||||
# part of the bintools wrapper (due to codesigning requirements), but not on
|
||||
# x86_64-darwin.
|
||||
install_name_tool =
|
||||
if stdenv.targetPlatform.isAarch64
|
||||
then targetCC.bintools
|
||||
else targetCC.bintools.bintools;
|
||||
# Same goes for strip.
|
||||
strip =
|
||||
# TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold"
|
||||
if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin
|
||||
then targetCC.bintools
|
||||
else targetCC.bintools.bintools;
|
||||
};
|
||||
# toolPath calculates the absolute path to the name tool associated with a
|
||||
# given `stdenv.cc` derivation, i.e. it picks the correct derivation to take
|
||||
# the tool from (cc, cc.bintools, cc.bintools.bintools) and adds the correct
|
||||
# subpath of the tool.
|
||||
toolPath = name: cc:
|
||||
let
|
||||
tools = {
|
||||
"cc" = cc;
|
||||
"c++" = cc;
|
||||
as = cc.bintools.bintools;
|
||||
|
||||
ar = cc.bintools.bintools;
|
||||
ranlib = cc.bintools.bintools;
|
||||
nm = cc.bintools.bintools;
|
||||
readelf = cc.bintools.bintools;
|
||||
|
||||
ld = cc.bintools;
|
||||
"ld.gold" = cc.bintools;
|
||||
|
||||
otool = cc.bintools.bintools;
|
||||
|
||||
# GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is
|
||||
# part of the bintools wrapper (due to codesigning requirements), but not on
|
||||
# x86_64-darwin. We decide based on target platform to have consistent tools
|
||||
# across all GHC stages.
|
||||
install_name_tool =
|
||||
if stdenv.targetPlatform.isAarch64
|
||||
then cc.bintools
|
||||
else cc.bintools.bintools;
|
||||
# Same goes for strip.
|
||||
strip =
|
||||
# TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold"
|
||||
if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin
|
||||
then cc.bintools
|
||||
else cc.bintools.bintools;
|
||||
}.${name};
|
||||
in
|
||||
"${tools}/bin/${tools.targetPrefix}${name}";
|
||||
|
||||
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
||||
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
||||
@@ -321,19 +350,19 @@ stdenv.mkDerivation ({
|
||||
done
|
||||
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||
# the *host* tools.
|
||||
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
|
||||
export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
|
||||
export CC="${toolPath "cc" targetCC}"
|
||||
export CXX="${toolPath "c++" targetCC}"
|
||||
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
||||
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
|
||||
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
|
||||
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
|
||||
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${bintoolsFor.strip}/bin/${bintoolsFor.strip.targetPrefix}strip"
|
||||
export LD="${toolPath "ld${lib.optionalString useLdGold ".gold"}" targetCC}"
|
||||
export AS="${toolPath "as" targetCC}"
|
||||
export AR="${toolPath "ar" targetCC}"
|
||||
export NM="${toolPath "nm" targetCC}"
|
||||
export RANLIB="${toolPath "ranlib" targetCC}"
|
||||
export READELF="${toolPath "readelf" targetCC}"
|
||||
export STRIP="${toolPath "strip" targetCC}"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
|
||||
export INSTALL_NAME_TOOL="${bintoolsFor.install_name_tool}/bin/${bintoolsFor.install_name_tool.targetPrefix}install_name_tool"
|
||||
export OTOOL="${toolPath "otool" targetCC}"
|
||||
export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}"
|
||||
'' + lib.optionalString useLLVM ''
|
||||
export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc"
|
||||
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||
@@ -555,10 +584,6 @@ stdenv.mkDerivation ({
|
||||
] ++ lib.teams.haskell.members;
|
||||
timeout = 24 * 3600;
|
||||
inherit (ghc.meta) license platforms;
|
||||
# https://github.com/NixOS/nixpkgs/issues/208959
|
||||
broken =
|
||||
(lib.versionAtLeast version "9.6" && lib.versionOlder version "9.8")
|
||||
&& stdenv.targetPlatform.isStatic;
|
||||
};
|
||||
|
||||
dontStrip = targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm;
|
||||
|
||||
@@ -136,23 +136,44 @@ let
|
||||
|
||||
targetCC = builtins.head toolsForTarget;
|
||||
|
||||
# Sometimes we have to dispatch between the bintools wrapper and the unwrapped
|
||||
# derivation for certain tools depending on the platform.
|
||||
bintoolsFor = {
|
||||
# GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is
|
||||
# part of the bintools wrapper (due to codesigning requirements), but not on
|
||||
# x86_64-darwin.
|
||||
install_name_tool =
|
||||
if stdenv.targetPlatform.isAarch64
|
||||
then targetCC.bintools
|
||||
else targetCC.bintools.bintools;
|
||||
# Same goes for strip.
|
||||
strip =
|
||||
# TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold"
|
||||
if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin
|
||||
then targetCC.bintools
|
||||
else targetCC.bintools.bintools;
|
||||
};
|
||||
# toolPath calculates the absolute path to the name tool associated with a
|
||||
# given `stdenv.cc` derivation, i.e. it picks the correct derivation to take
|
||||
# the tool from (cc, cc.bintools, cc.bintools.bintools) and adds the correct
|
||||
# subpath of the tool.
|
||||
toolPath = name: cc:
|
||||
let
|
||||
tools = {
|
||||
"cc" = cc;
|
||||
"c++" = cc;
|
||||
as = cc.bintools.bintools;
|
||||
|
||||
ar = cc.bintools.bintools;
|
||||
ranlib = cc.bintools.bintools;
|
||||
nm = cc.bintools.bintools;
|
||||
readelf = cc.bintools.bintools;
|
||||
|
||||
ld = cc.bintools;
|
||||
"ld.gold" = cc.bintools;
|
||||
|
||||
otool = cc.bintools.bintools;
|
||||
|
||||
# GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is
|
||||
# part of the bintools wrapper (due to codesigning requirements), but not on
|
||||
# x86_64-darwin. We decide based on target platform to have consistent tools
|
||||
# across all GHC stages.
|
||||
install_name_tool =
|
||||
if stdenv.targetPlatform.isAarch64
|
||||
then cc.bintools
|
||||
else cc.bintools.bintools;
|
||||
# Same goes for strip.
|
||||
strip =
|
||||
# TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold"
|
||||
if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin
|
||||
then cc.bintools
|
||||
else cc.bintools.bintools;
|
||||
}.${name};
|
||||
in
|
||||
"${tools}/bin/${tools.targetPrefix}${name}";
|
||||
|
||||
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
|
||||
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
|
||||
@@ -265,19 +286,19 @@ stdenv.mkDerivation (rec {
|
||||
done
|
||||
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||
# the *host* tools.
|
||||
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
|
||||
export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
|
||||
export CC="${toolPath "cc" targetCC}"
|
||||
export CXX="${toolPath "c++" targetCC}"
|
||||
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
||||
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
|
||||
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
|
||||
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
|
||||
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
|
||||
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||
export STRIP="${bintoolsFor.strip}/bin/${bintoolsFor.strip.targetPrefix}strip"
|
||||
export LD="${toolPath "ld${lib.optionalString useLdGold ".gold"}" targetCC}"
|
||||
export AS="${toolPath "as" targetCC}"
|
||||
export AR="${toolPath "ar" targetCC}"
|
||||
export NM="${toolPath "nm" targetCC}"
|
||||
export RANLIB="${toolPath "ranlib" targetCC}"
|
||||
export READELF="${toolPath "readelf" targetCC}"
|
||||
export STRIP="${toolPath "strip" targetCC}"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
|
||||
export INSTALL_NAME_TOOL="${bintoolsFor.install_name_tool}/bin/${bintoolsFor.install_name_tool.targetPrefix}install_name_tool"
|
||||
export OTOOL="${toolPath "otool" targetCC}"
|
||||
export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}"
|
||||
'' + lib.optionalString useLLVM ''
|
||||
export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc"
|
||||
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||
|
||||
@@ -234,10 +234,16 @@ self: super: {
|
||||
fused-effects-random = doJailbreak super.fused-effects-random;
|
||||
fused-effects-readline = doJailbreak super.fused-effects-readline;
|
||||
|
||||
# fix tests failure for base≥4.15 (https://github.com/kim/leveldb-haskell/pull/41)
|
||||
leveldb-haskell = appendPatch (fetchpatch {
|
||||
url = "https://github.com/kim/leveldb-haskell/commit/f5249081f589233890ddb1945ec548ca9fb717cf.patch";
|
||||
sha256 = "14gllipl28lqry73c5dnclsskzk1bsrrgazibl4lkl8z98j2csjb";
|
||||
leveldb-haskell = overrideCabal (drv: {
|
||||
version = "2024-05-05-unstable";
|
||||
# Fix tests on mtl ≥ 2.3
|
||||
# https://github.com/kim/leveldb-haskell/pull/42
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "kim";
|
||||
repo = "leveldb-haskell";
|
||||
rev = "3a505f3a7de0f5d14463538d7c2c9a9881a60eb9";
|
||||
sha256 = "sha256-okUn5ZuWcj8vPr0GWXvO1LygNCrDfttkDaUoOt+FLA0=";
|
||||
};
|
||||
}) super.leveldb-haskell;
|
||||
|
||||
# Arion's test suite needs a Nixpkgs, which is cumbersome to do from Nixpkgs
|
||||
@@ -268,12 +274,6 @@ self: super: {
|
||||
sha256 = "1c7knpvxr7p8c159jkyk6w29653z5yzgjjqj11130bbb8mk9qhq7";
|
||||
}) super.c2hsc;
|
||||
|
||||
# Some Hackage packages reference this attribute, which exists only in the
|
||||
# GHCJS package set. We provide a dummy version here to fix potential
|
||||
# evaluation errors.
|
||||
ghcjs-base = null;
|
||||
ghcjs-prim = null;
|
||||
|
||||
ghc-debug-client = doJailbreak super.ghc-debug-client;
|
||||
|
||||
# Test failure. Tests also disabled in Stackage:
|
||||
@@ -971,12 +971,12 @@ self: super: {
|
||||
# See https://github.com/valderman/selda/issues/187
|
||||
inherit (let
|
||||
mkSeldaPackage = name: overrideCabal (drv: {
|
||||
version = "2023-02-05-unstable";
|
||||
version = "2024-05-05-unstable";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "valderman";
|
||||
repo = "selda";
|
||||
rev = "ab9619db13b93867d1a244441bb4de03d3e1dadb";
|
||||
hash = "sha256-P0nqAYzbeTyEEgzMij/3mKcs++/p/Wgc7Y6bDudXt2U=";
|
||||
rev = "50c3ba5c5da72bb758a4112363ba2fe1c0e968ea";
|
||||
hash = "sha256-LEAJsSsDL0mmVHntnI16fH8m5DmePfcU0hFw9ErqTgQ=";
|
||||
} + "/${name}";
|
||||
}) super.${name};
|
||||
in
|
||||
@@ -1367,18 +1367,17 @@ self: super: {
|
||||
'';
|
||||
}) super.PortMidi;
|
||||
|
||||
# Fix for base >= 4.11
|
||||
scat = overrideCabal (drv: {
|
||||
patches = [
|
||||
# Fix build with base >= 4.11
|
||||
# Fix build with base >= 4.11 (https://github.com/redelmann/scat/pull/6)
|
||||
(fetchpatch {
|
||||
url = "https://github.com/redelmann/scat/commit/429f22944b7634b8789cb3805292bcc2b23e3e9f.diff";
|
||||
hash = "sha256-FLr1KfBaSYzI6MiZIBY1CkgAb5sThvvgjrSAN8EV0h4=";
|
||||
})
|
||||
# Fix build with vector >= 0.13
|
||||
# Fix build with vector >= 0.13, mtl >= 2.3 (https://github.com/redelmann/scat/pull/8)
|
||||
(fetchpatch {
|
||||
url = "https://github.com/redelmann/scat/commit/e21cc9c17b5b605b5bc0aacad66d44bbe0beb8c4.diff";
|
||||
hash = "sha256-MifHb2EKZx8skOcs+2t54CzxAS4PaEC0OTEfq4yVXzk=";
|
||||
url = "https://github.com/redelmann/scat/compare/e8e064f7e6a152fe25a6ccd743573a16974239d0..c6a3636548d628f32d8edc73a333188ce24141a7.patch";
|
||||
hash = "sha256-BU4MUn/TnZHpZBlX1vDHE7QZva5yhlLTb8zwpx7UScI";
|
||||
})
|
||||
];
|
||||
}) super.scat;
|
||||
@@ -1561,13 +1560,36 @@ self: super: {
|
||||
doJailbreak
|
||||
];
|
||||
|
||||
jsaddle-dom = overrideCabal (old: {
|
||||
postPatch = old.postPatch or "" + ''
|
||||
rm Setup.hs
|
||||
'';
|
||||
}) super.jsaddle-dom;
|
||||
jsaddle-hello = doJailbreak super.jsaddle-hello;
|
||||
ghcjs-dom-hello = doJailbreak super.ghcjs-dom-hello;
|
||||
ghcjs-dom-hello = appendPatches [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/ghcjs/ghcjs-dom-hello/commit/53991df6a4eba9f1e9633eb22f6a0486a79491c3.patch";
|
||||
sha256 = "sha256-HQeUgjvzYyY14+CDYiMahAMn7fBcy2d7p8/kqGq+rnI=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/ghcjs/ghcjs-dom-hello/commit/d766d937121f7ea5c4c154bd533a1eae47f531c9.patch";
|
||||
sha256 = "sha256-QTkH+L+JMwGyuoqzHBnrokT7KzpHC4YiAWoeiaFBLUw=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/ghcjs/ghcjs-dom-hello/commit/831464d995f4033c9aa84f9ed9fb37a268f34d4e.patch";
|
||||
sha256 = "sha256-hQMy+78geTuxd3kbdiyYqoAFrauu90HbpPi0EEKjMzM=";
|
||||
})
|
||||
] super.ghcjs-dom-hello;
|
||||
|
||||
# Needs https://github.com/ghcjs/jsaddle-hello/pull/5 and hackage release
|
||||
jsaddle-hello = appendPatches [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/ghcjs/jsaddle-hello/commit/c4de837675117b821c50a5079d20d84ec16ff26a.patch";
|
||||
sha256 = "sha256-NsM7QqNLt5V8i5bveYgMrawGnZVsIuAoJfBF75jBwV0=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/ghcjs/jsaddle-hello/commit/5c437363833684ea951ec74a0d0fdf5b6fbaca85.patch";
|
||||
sha256 = "sha256-CUyZsts0FAQ3c8Z+zfvwbmlAJCMcidV80n8dA/SoRls=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/ghcjs/jsaddle-hello/commit/e2da9e266fbfa8f7fcf3009ab6cfbf825a8bcf7a.patch";
|
||||
sha256 = "sha256-WL0CcnlMt6KI7MOZMg74fNN/I4gYSO3n+GiaXB2BOP0=";
|
||||
})
|
||||
] super.jsaddle-hello;
|
||||
|
||||
# Too strict upper bounds on text
|
||||
lsql-csv = doJailbreak super.lsql-csv;
|
||||
@@ -1691,6 +1713,14 @@ self: super: {
|
||||
# Test suite fails to compile https://github.com/agrafix/Spock/issues/177
|
||||
Spock = dontCheck super.Spock;
|
||||
|
||||
Spock-core = appendPatches [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/agrafix/Spock/commit/d0b51fa60a83bfa5c1b5fc8fced18001e7321701.patch";
|
||||
sha256 = "sha256-l9voiczOOdYVBP/BNEUvqARb21t0Rp2kpsNbRFUWSLg=";
|
||||
stripLen = 1;
|
||||
})
|
||||
] (doJailbreak super.Spock-core);
|
||||
|
||||
# https://github.com/strake/filtrable.hs/issues/6
|
||||
filtrable = doJailbreak super.filtrable;
|
||||
|
||||
@@ -2647,18 +2677,6 @@ self: super: {
|
||||
# https://github.com/ngless-toolkit/ngless/issues/152
|
||||
NGLess = dontCheck super.NGLess;
|
||||
|
||||
# Raise version bounds: https://github.com/well-typed/lens-sop/pull/4
|
||||
lens-sop = appendPatches [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/well-typed/lens-sop/commit/d8657f27c12191a7c0a91701c0fcd9a590e0090e.patch";
|
||||
sha256 = "sha256-9ODfbOb6Bs3EVTY9b7cUvkNmqzzZPWUmgmlAneaN3Tw=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/well-typed/lens-sop/commit/b7ecffdeb836d19373871659e2f8cd24da6f7312.patch";
|
||||
sha256 = "sha256-hDUQ2fW9Qyom65YvtW9bsbz7XtueRmdsAbAB42D+gu4=";
|
||||
})
|
||||
] super.lens-sop;
|
||||
|
||||
# Raise version bounds: https://github.com/kosmikus/records-sop/pull/15
|
||||
records-sop = appendPatch (fetchpatch {
|
||||
url = "https://github.com/kosmikus/records-sop/commit/fb149f453a816ff14d0cb20b3ea56b80ff49d9f1.patch";
|
||||
|
||||
@@ -323,6 +323,20 @@ self: super: ({
|
||||
# Tests fail on macOS https://github.com/mrkkrp/zip/issues/112
|
||||
zip = dontCheck super.zip;
|
||||
|
||||
warp = super.warp.overrideAttrs (drv: {
|
||||
__darwinAllowLocalNetworking = true;
|
||||
});
|
||||
|
||||
ghcjs-dom-hello = overrideCabal (drv: {
|
||||
libraryHaskellDepends = with self; [ jsaddle jsaddle-warp ];
|
||||
executableHaskellDepends = with self; [ ghcjs-dom jsaddle-wkwebview ];
|
||||
}) super.ghcjs-dom-hello;
|
||||
|
||||
jsaddle-hello = overrideCabal (drv: {
|
||||
libraryHaskellDepends = with self; [ jsaddle lens ];
|
||||
executableHaskellDepends = with self; [ jsaddle-warp jsaddle-wkwebview ];
|
||||
}) super.jsaddle-hello;
|
||||
|
||||
jsaddle-wkwebview = overrideCabal (drv: {
|
||||
libraryFrameworkDepends = with pkgs.buildPackages.darwin.apple_sdk.frameworks; [ Cocoa WebKit ];
|
||||
libraryHaskellDepends = with self; [ aeson data-default jsaddle ]; # cabal2nix doesn't add darwin-only deps
|
||||
|
||||
@@ -68,6 +68,7 @@ self: super: {
|
||||
stylish-haskell = self.stylish-haskell_0_14_6_0;
|
||||
hlint = self.hlint_3_8;
|
||||
ghc-syntax-highlighter = self.ghc-syntax-highlighter_0_0_11_0;
|
||||
websockets = self.websockets_0_13_0_0;
|
||||
|
||||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = self.ghc-exactprint_1_8_0_0;
|
||||
|
||||
+5
@@ -24,6 +24,11 @@ self: super:
|
||||
aeson = self.aeson_1_5_6_0;
|
||||
});
|
||||
|
||||
# Included in ghcjs itself
|
||||
ghcjs-prim = null;
|
||||
|
||||
ghcjs-websockets = markUnbroken super.ghcjs-websockets;
|
||||
|
||||
# GHCJS does not ship with the same core packages as GHC.
|
||||
# https://github.com/ghcjs/ghcjs/issues/676
|
||||
stm = doJailbreak self.stm_2_5_3_1;
|
||||
@@ -0,0 +1,22 @@
|
||||
{ pkgs, haskellLib }:
|
||||
|
||||
with haskellLib;
|
||||
|
||||
# cabal2nix doesn't properly add dependencies conditional on arch(javascript)
|
||||
(self: super: {
|
||||
ghcjs-base = addBuildDepends (with self; [
|
||||
aeson
|
||||
attoparsec
|
||||
dlist
|
||||
hashable
|
||||
primitive
|
||||
scientific
|
||||
unordered-containers
|
||||
vector
|
||||
]) super.ghcjs-base;
|
||||
|
||||
ghcjs-dom = addBuildDepend self.ghcjs-dom-javascript super.ghcjs-dom;
|
||||
ghcjs-dom-javascript = addBuildDepend self.ghcjs-base super.ghcjs-dom-javascript;
|
||||
jsaddle = addBuildDepend self.ghcjs-base super.jsaddle;
|
||||
jsaddle-dom = addBuildDepend self.ghcjs-base super.jsaddle-dom;
|
||||
})
|
||||
@@ -1995,11 +1995,11 @@ broken-packages:
|
||||
- ghc-internal # failure in job https://hydra.nixos.org/build/260723678 at 2024-05-25
|
||||
- ghcitui # failure in job https://hydra.nixos.org/build/252737339 at 2024-03-16
|
||||
- ghcjs-base-stub # timeout
|
||||
- ghcjs-dom-javascript # failure in job https://hydra.nixos.org/build/255688382 at 2024-04-16
|
||||
- ghcjs-dom-jsffi # failure in job https://hydra.nixos.org/build/233215225 at 2023-09-02
|
||||
- ghcjs-fetch # timeout
|
||||
- ghcjs-promise # failure in job https://hydra.nixos.org/build/233243985 at 2023-09-02
|
||||
- ghcjs-xhr # failure in job https://hydra.nixos.org/build/233235693 at 2023-09-02
|
||||
- ghcjs-websockets # Does not work on the js backend added in 9.6+, only on ghcjs, where we markUnbroken
|
||||
- ghc-justdoit # failure in job https://hydra.nixos.org/build/233221884 at 2023-09-02
|
||||
- ghclive # failure in job https://hydra.nixos.org/build/233231592 at 2023-09-02
|
||||
- ghc-man-completion # failure in job https://hydra.nixos.org/build/233245740 at 2023-09-02
|
||||
@@ -2609,7 +2609,6 @@ broken-packages:
|
||||
- hledger-chart # failure in job https://hydra.nixos.org/build/233205387 at 2023-09-02
|
||||
- hledger-diff # failure in job https://hydra.nixos.org/build/233199639 at 2023-09-02
|
||||
- hledger-flow # failure in job https://hydra.nixos.org/build/233252169 at 2023-09-02
|
||||
- hledger-iadd # failure in updateAutotoolsGnuConfigScriptsPhase in job https://hydra.nixos.org/build/238288021 at 2023-10-21
|
||||
- hledger-irr # failure in job https://hydra.nixos.org/build/233230276 at 2023-09-02
|
||||
- hledger-makeitso # failure in job https://hydra.nixos.org/build/233213046 at 2023-09-02
|
||||
- hledger-vty # failure in job https://hydra.nixos.org/build/233191782 at 2023-09-02
|
||||
@@ -2897,7 +2896,6 @@ broken-packages:
|
||||
- HTicTacToe # failure in job https://hydra.nixos.org/build/233235397 at 2023-09-02
|
||||
- htiled # failure in job https://hydra.nixos.org/build/233219305 at 2023-09-02
|
||||
- htlset # failure in job https://hydra.nixos.org/build/233203886 at 2023-09-02
|
||||
- html-parse # failure in job https://hydra.nixos.org/build/233241759 at 2023-09-02
|
||||
- html-rules # failure in job https://hydra.nixos.org/build/233200615 at 2023-09-02
|
||||
- html-tokenizer # failure in job https://hydra.nixos.org/build/233243581 at 2023-09-02
|
||||
- htoml # failure in job https://hydra.nixos.org/build/233246670 at 2023-09-02
|
||||
@@ -3436,7 +3434,6 @@ broken-packages:
|
||||
- lens-process # failure in job https://hydra.nixos.org/build/233242948 at 2023-09-02
|
||||
- lensref # failure in job https://hydra.nixos.org/build/233205479 at 2023-09-02
|
||||
- lens-simple # failure in job https://hydra.nixos.org/build/233245452 at 2023-09-02
|
||||
- lens-sop # failure in job https://hydra.nixos.org/build/259961739 at 2024-05-19
|
||||
- lens-tell # failure in job https://hydra.nixos.org/build/233234619 at 2023-09-02
|
||||
- lens-text-encoding # failure in job https://hydra.nixos.org/build/233222713 at 2023-09-02
|
||||
- lens-th-rewrite # failure in job https://hydra.nixos.org/build/233201025 at 2023-09-02
|
||||
@@ -3448,7 +3445,6 @@ broken-packages:
|
||||
- lenz-template # failure in job https://hydra.nixos.org/build/233206822 at 2023-09-02
|
||||
- less-arbitrary # failure in job https://hydra.nixos.org/build/233231412 at 2023-09-02
|
||||
- Level0 # failure in job https://hydra.nixos.org/build/233220758 at 2023-09-02
|
||||
- leveldb-haskell # failure in job https://hydra.nixos.org/build/252739424 at 2024-03-16
|
||||
- level-monad # failure in job https://hydra.nixos.org/build/233257036 at 2023-09-02
|
||||
- levmar # failure in job https://hydra.nixos.org/build/233254731 at 2023-09-02
|
||||
- lfst # failure in job https://hydra.nixos.org/build/233240622 at 2023-09-02
|
||||
@@ -4813,7 +4809,6 @@ broken-packages:
|
||||
- pusher-ws # failure in job https://hydra.nixos.org/build/233204133 at 2023-09-02
|
||||
- pushme # failure in job https://hydra.nixos.org/build/233212481 at 2023-09-02
|
||||
- push-notifications # failure in job https://hydra.nixos.org/build/233199364 at 2023-09-02
|
||||
- push-notify-apn # failure in job https://hydra.nixos.org/build/260189652 at 2024-05-19
|
||||
- pushover # failure in job https://hydra.nixos.org/build/252739908 at 2024-03-16
|
||||
- putlenses # failure in job https://hydra.nixos.org/build/233197372 at 2023-09-02
|
||||
- puzzle-draw # failure in job https://hydra.nixos.org/build/233204953 at 2023-09-02
|
||||
@@ -5188,7 +5183,6 @@ broken-packages:
|
||||
- scale # failure in job https://hydra.nixos.org/build/233222189 at 2023-09-02
|
||||
- scaleimage # failure in job https://hydra.nixos.org/build/233240688 at 2023-09-02
|
||||
- scalendar # failure in job https://hydra.nixos.org/build/233206581 at 2023-09-02
|
||||
- scat # failure in job https://hydra.nixos.org/build/252730427 at 2024-03-16
|
||||
- scc # failure in job https://hydra.nixos.org/build/233247446 at 2023-09-02
|
||||
- scgi # failure in job https://hydra.nixos.org/build/233247314 at 2023-09-02
|
||||
- schedevr # failure in job https://hydra.nixos.org/build/233240124 at 2023-09-02
|
||||
@@ -5244,7 +5238,6 @@ broken-packages:
|
||||
- secure-sockets # failure in job https://hydra.nixos.org/build/233254170 at 2023-09-02
|
||||
- secureUDP # failure in job https://hydra.nixos.org/build/233215410 at 2023-09-02
|
||||
- SegmentTree # failure in job https://hydra.nixos.org/build/233216161 at 2023-09-02
|
||||
- selda # failure in job https://hydra.nixos.org/build/252735635 at 2024-03-16
|
||||
- selda-postgresql # failure in job https://hydra.nixos.org/build/245539286 at 2024-01-02
|
||||
- selectors # failure in job https://hydra.nixos.org/build/233227433 at 2023-09-02
|
||||
- selenium # failure in job https://hydra.nixos.org/build/233214276 at 2023-09-02
|
||||
@@ -5344,7 +5337,6 @@ broken-packages:
|
||||
- sessions # failure in job https://hydra.nixos.org/build/233214614 at 2023-09-02
|
||||
- sessiontypes # failure in job https://hydra.nixos.org/build/233224975 at 2023-09-02
|
||||
- setdown # failure in job https://hydra.nixos.org/build/241521053 at 2023-12-03
|
||||
- set-extra # failure in job https://hydra.nixos.org/build/252738545 at 2024-03-16
|
||||
- setgame # failure in job https://hydra.nixos.org/build/233218664 at 2023-09-02
|
||||
- set-of # failure in job https://hydra.nixos.org/build/233202960 at 2023-09-02
|
||||
- setoid # failure in job https://hydra.nixos.org/build/233213744 at 2023-09-02
|
||||
@@ -5607,7 +5599,6 @@ broken-packages:
|
||||
- splot # failure in job https://hydra.nixos.org/build/252715661 at 2024-03-16
|
||||
- Spock-api-ghcjs # failure in job https://hydra.nixos.org/build/233246163 at 2023-09-02
|
||||
- Spock-auth # failure in job https://hydra.nixos.org/build/233212125 at 2023-09-02
|
||||
- Spock-core # failure in job https://hydra.nixos.org/build/252720122 at 2024-03-16
|
||||
- spoonutil # failure in job https://hydra.nixos.org/build/233257645 at 2023-09-02
|
||||
- spotify # failure in job https://hydra.nixos.org/build/233254990 at 2023-09-02
|
||||
- spoty # failure in job https://hydra.nixos.org/build/233233863 at 2023-09-02
|
||||
|
||||
@@ -152,6 +152,7 @@ package-maintainers:
|
||||
- ghcjs-dom
|
||||
- ghcjs-dom-hello
|
||||
- ghcjs-dom-javascript
|
||||
- ghcjs-dom-jsaddle
|
||||
- haveibeenpwned
|
||||
- jsaddle
|
||||
- jsaddle-clib
|
||||
@@ -649,6 +650,24 @@ package-maintainers:
|
||||
- nix-tree
|
||||
zowoq:
|
||||
- ShellCheck
|
||||
mpscholten:
|
||||
- ihp-hsx
|
||||
- push-notify-apn
|
||||
- hs-pkpass
|
||||
- raven-haskell
|
||||
- stripe-concepts
|
||||
- stripe-signature
|
||||
- http2-client
|
||||
- zip
|
||||
- currencies
|
||||
- string-random
|
||||
- inflections
|
||||
- pcre-heavy
|
||||
- mmark
|
||||
- mmark-ext
|
||||
- typerep-map
|
||||
- minio-hs
|
||||
- smtp-mail
|
||||
|
||||
unsupported-platforms:
|
||||
Allure: [ platforms.darwin ]
|
||||
@@ -670,7 +689,6 @@ unsupported-platforms:
|
||||
freenect: [ platforms.darwin ]
|
||||
FTGL: [ platforms.darwin ]
|
||||
fuzzytime: [ platforms.darwin ] # https://github.com/kamwitsta/fuzzytime/issues/2
|
||||
ghcjs-dom-hello: [ platforms.darwin ]
|
||||
ghc-gc-hook: [ platforms.darwin ] # requires C11 threads which Apple doesn't support
|
||||
gi-adwaita: [ platforms.darwin ]
|
||||
gi-dbusmenugtk3: [ platforms.darwin ]
|
||||
@@ -699,7 +717,6 @@ unsupported-platforms:
|
||||
intricacy: [ platforms.darwin ] # depends on mesa
|
||||
iwlib: [ platforms.darwin ]
|
||||
Jazzkell: [ platforms.darwin ] # depends on Euterpea
|
||||
jsaddle-hello: [ platforms.darwin ] # depends on jsaddle-webkit2gtk
|
||||
jsaddle-webkit2gtk: [ platforms.darwin ]
|
||||
Kulitta: [ platforms.darwin ] # depends on Euterpea
|
||||
LambdaHack: [ platforms.darwin ]
|
||||
@@ -792,6 +809,8 @@ supported-platforms:
|
||||
geomancy: [ platforms.x86 ] # x86 intrinsics
|
||||
geomancy-layout: [ platforms.x86 ] # x86 intrinsics
|
||||
gi-gtkosxapplication: [ platforms.darwin ]
|
||||
ghcjs-base: [ javascript-ghcjs ]
|
||||
ghcjs-dom-javascript: [ javascript-ghcjs ]
|
||||
gtk-mac-integration: [ platforms.darwin ]
|
||||
gtk3-mac-integration: [ platforms.darwin ]
|
||||
halide-haskell: [ platforms.linux ]
|
||||
|
||||
@@ -378,11 +378,6 @@ dont-distribute-packages:
|
||||
- SourceGraph
|
||||
- SpacePrivateers
|
||||
- SpinCounter
|
||||
- Spock
|
||||
- Spock-api-server
|
||||
- Spock-digestive
|
||||
- Spock-lucid
|
||||
- Spock-worker
|
||||
- StockholmAlignment
|
||||
- Strafunski-Sdf2Haskell
|
||||
- SybWidget
|
||||
@@ -670,7 +665,6 @@ dont-distribute-packages:
|
||||
- bip32
|
||||
- birch-beer
|
||||
- bird
|
||||
- bisc
|
||||
- biscuit-servant
|
||||
- bishbosh
|
||||
- bit-array
|
||||
@@ -2424,7 +2418,6 @@ dont-distribute-packages:
|
||||
- json-query
|
||||
- json-rpc-client
|
||||
- json-schema
|
||||
- json-sop
|
||||
- json-spec-elm
|
||||
- json-spec-elm-servant
|
||||
- json-spec-openapi
|
||||
@@ -3575,8 +3568,6 @@ dont-distribute-packages:
|
||||
- secrm
|
||||
- sednaDBXML
|
||||
- seitz-symbol
|
||||
- selda-json
|
||||
- selda-sqlite
|
||||
- selenium-server
|
||||
- semantic-source
|
||||
- semantic-version
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
, configurationNix ? import ./configuration-nix.nix
|
||||
, configurationArm ? import ./configuration-arm.nix
|
||||
, configurationDarwin ? import ./configuration-darwin.nix
|
||||
, configurationJS ? import ./configuration-ghcjs-9.x.nix
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -26,7 +27,10 @@ let
|
||||
(configurationArm { inherit pkgs haskellLib; })
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
(configurationDarwin { inherit pkgs haskellLib; })
|
||||
];
|
||||
] ++ lib.optionals stdenv.hostPlatform.isGhcjs [
|
||||
(configurationJS { inherit pkgs haskellLib; })
|
||||
]
|
||||
;
|
||||
|
||||
extensions = lib.composeManyExtensions ([
|
||||
(nonHackagePackages { inherit pkgs haskellLib; })
|
||||
|
||||
@@ -7,6 +7,13 @@
|
||||
let
|
||||
isCross = stdenv.buildPlatform != stdenv.hostPlatform;
|
||||
|
||||
# Note that ghc.isGhcjs != stdenv.hostPlatform.isGhcjs.
|
||||
# ghc.isGhcjs implies that we are using ghcjs, a project separate from GHC.
|
||||
# (mere) stdenv.hostPlatform.isGhcjs means that we are using GHC's JavaScript
|
||||
# backend. The latter is a normal cross compilation backend and needs little
|
||||
# special accommodation.
|
||||
outputsJS = ghc.isGhcjs or false || stdenv.hostPlatform.isGhcjs;
|
||||
|
||||
# Pass the "wrong" C compiler rather than none at all so packages that just
|
||||
# use the C preproccessor still work, see
|
||||
# https://github.com/haskell/cabal/issues/6466 for details.
|
||||
@@ -19,15 +26,11 @@ let
|
||||
fetchurl removeReferencesTo
|
||||
pkg-config coreutils gnugrep glibcLocales
|
||||
emscripten;
|
||||
|
||||
in
|
||||
|
||||
{ pname
|
||||
# Note that ghc.isGhcjs != stdenv.hostPlatform.isGhcjs.
|
||||
# ghc.isGhcjs implies that we are using ghcjs, a project separate from GHC.
|
||||
# (mere) stdenv.hostPlatform.isGhcjs means that we are using GHC's JavaScript
|
||||
# backend. The latter is a normal cross compilation backend and needs little
|
||||
# special accommodation.
|
||||
, dontStrip ? (ghc.isGhcjs or false || stdenv.hostPlatform.isGhcjs)
|
||||
, dontStrip ? outputsJS
|
||||
, version, revision ? null
|
||||
, sha256 ? null
|
||||
, src ? fetchurl { url = "mirror://hackage/${pname}-${version}.tar.gz"; inherit sha256; }
|
||||
@@ -44,7 +47,7 @@ in
|
||||
, doHaddockQuickjump ? doHoogle
|
||||
, doInstallIntermediates ? false
|
||||
, editedCabalFile ? null
|
||||
, enableLibraryProfiling ? !(ghc.isGhcjs or false)
|
||||
, enableLibraryProfiling ? !outputsJS
|
||||
, enableExecutableProfiling ? false
|
||||
, profilingDetail ? "exported-functions"
|
||||
# TODO enable shared libs for cross-compiling
|
||||
@@ -223,7 +226,7 @@ let
|
||||
] ++ optional (allPkgconfigDepends != [])
|
||||
"--with-pkg-config=${pkg-config.targetPrefix}pkg-config";
|
||||
|
||||
parallelBuildingFlags = "-j$NIX_BUILD_CORES" + optionalString stdenv.isLinux " +RTS -A64M -RTS";
|
||||
makeGhcOptions = opts: lib.concatStringsSep " " (map (opt: "--ghc-option=${opt}") opts);
|
||||
|
||||
buildFlagsString = optionalString (buildFlags != []) (" " + concatStringsSep " " buildFlags);
|
||||
|
||||
@@ -241,8 +244,8 @@ let
|
||||
"--package-db=$packageConfDir"
|
||||
(optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/${ghcLibdir}/${pname}-${version}")
|
||||
(optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
|
||||
(optionalString enableParallelBuilding "--ghc-options=${parallelBuildingFlags}")
|
||||
(optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
|
||||
(optionalString enableParallelBuilding (makeGhcOptions [ "-j$NIX_BUILD_CORES" "+RTS" "-A64M" "-RTS" ]))
|
||||
(optionalString useCpphs ("--with-cpphs=${cpphs}/bin/cpphs " + (makeGhcOptions [ "-cpp" "-pgmP${cpphs}/bin/cpphs" "-optP--cpp" ])))
|
||||
(enableFeature enableLibraryProfiling "library-profiling")
|
||||
(optionalString (enableExecutableProfiling || enableLibraryProfiling) "--profiling-detail=${profilingDetail}")
|
||||
(enableFeature enableExecutableProfiling "profiling")
|
||||
@@ -265,16 +268,14 @@ let
|
||||
) ++ optionals enableSeparateBinOutput [
|
||||
"--bindir=${binDir}"
|
||||
] ++ optionals (doHaddockInterfaces && isLibrary) [
|
||||
"--ghc-options=-haddock"
|
||||
"--ghc-option=-haddock"
|
||||
];
|
||||
|
||||
postPhases = optional doInstallIntermediates "installIntermediatesPhase";
|
||||
|
||||
setupCompileFlags = [
|
||||
(optionalString (!coreSetup) "-package-db=$setupPackageConfDir")
|
||||
(optionalString enableParallelBuilding parallelBuildingFlags)
|
||||
"-threaded" # https://github.com/haskell/cabal/issues/2398
|
||||
"-rtsopts" # allow us to pass RTS flags to the generated Setup executable
|
||||
];
|
||||
|
||||
isHaskellPkg = x: x ? isHaskellLibrary;
|
||||
|
||||
+5
-33
@@ -20331,7 +20331,6 @@ self: {
|
||||
];
|
||||
description = "Another Haskell web framework for rapid development";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"Spock-api" = callPackage
|
||||
@@ -20371,7 +20370,6 @@ self: {
|
||||
libraryHaskellDepends = [ base hvect mtl Spock-api Spock-core ];
|
||||
description = "Another Haskell web framework for rapid development";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"Spock-auth" = callPackage
|
||||
@@ -20415,8 +20413,6 @@ self: {
|
||||
];
|
||||
description = "Another Haskell web framework for rapid development";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"Spock-digestive" = callPackage
|
||||
@@ -20433,7 +20429,6 @@ self: {
|
||||
];
|
||||
description = "Digestive functors support for Spock";
|
||||
license = lib.licenses.mit;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"Spock-lucid" = callPackage
|
||||
@@ -20445,7 +20440,6 @@ self: {
|
||||
libraryHaskellDepends = [ base lucid Spock transformers ];
|
||||
description = "Lucid support for Spock";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"Spock-worker" = callPackage
|
||||
@@ -20463,7 +20457,6 @@ self: {
|
||||
testHaskellDepends = [ base containers HTF stm vector ];
|
||||
description = "Background workers for Spock";
|
||||
license = lib.licenses.mit;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"SpreadsheetML" = callPackage
|
||||
@@ -50668,7 +50661,6 @@ self: {
|
||||
];
|
||||
description = "A small tool that clears cookies (and more)";
|
||||
license = lib.licenses.gpl3Only;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
mainProgram = "bisc";
|
||||
}) {};
|
||||
|
||||
@@ -121353,6 +121345,7 @@ self: {
|
||||
sha256 = "1cx9jqpbr6b30qckp2zpsfk3swa58snjb79pq0l6485nvrxa9mls";
|
||||
description = "base library for GHCJS";
|
||||
license = lib.licenses.mit;
|
||||
platforms = [ "javascript-ghcjs" ];
|
||||
maintainers = [ lib.maintainers.alexfmpe ];
|
||||
}) {};
|
||||
|
||||
@@ -121422,7 +121415,6 @@ self: {
|
||||
];
|
||||
description = "GHCJS DOM Hello World, an example package";
|
||||
license = lib.licenses.mit;
|
||||
badPlatforms = lib.platforms.darwin;
|
||||
maintainers = [ lib.maintainers.alexfmpe ];
|
||||
}) {};
|
||||
|
||||
@@ -121434,9 +121426,8 @@ self: {
|
||||
sha256 = "0im7wn7bn43rhkblh0wn9angadbdvywsalfz0adr9pkwv6hvc8qs";
|
||||
description = "DOM library using JSFFI and GHCJS";
|
||||
license = lib.licenses.mit;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
platforms = [ "javascript-ghcjs" ];
|
||||
maintainers = [ lib.maintainers.alexfmpe ];
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"ghcjs-dom-jsaddle" = callPackage
|
||||
@@ -121449,6 +121440,7 @@ self: {
|
||||
doHaddock = false;
|
||||
description = "DOM library that supports both GHCJS and GHC using jsaddle";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.alexfmpe ];
|
||||
}) {};
|
||||
|
||||
"ghcjs-dom-jsffi" = callPackage
|
||||
@@ -121573,6 +121565,8 @@ self: {
|
||||
];
|
||||
description = "Deprecated: use ghcjs-base's native websockets";
|
||||
license = lib.licenses.mit;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"ghcjs-xhr" = callPackage
|
||||
@@ -151711,9 +151705,7 @@ self: {
|
||||
testToolDepends = [ hspec-discover ];
|
||||
description = "A terminal UI as drop-in replacement for hledger add";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
mainProgram = "hledger-iadd";
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"hledger-iadd_1_3_21" = callPackage
|
||||
@@ -151749,7 +151741,6 @@ self: {
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
mainProgram = "hledger-iadd";
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"hledger-interest" = callPackage
|
||||
@@ -163899,8 +163890,6 @@ self: {
|
||||
];
|
||||
description = "A high-performance HTML tokenizer";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"html-parse-util" = callPackage
|
||||
@@ -178690,7 +178679,6 @@ self: {
|
||||
];
|
||||
description = "JSaddle Hello World, an example package";
|
||||
license = lib.licenses.mit;
|
||||
badPlatforms = lib.platforms.darwin;
|
||||
maintainers = [ lib.maintainers.alexfmpe ];
|
||||
}) {};
|
||||
|
||||
@@ -179537,7 +179525,6 @@ self: {
|
||||
];
|
||||
description = "Generics JSON (de)serialization using generics-sop";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
maintainers = [ lib.maintainers.alexfmpe ];
|
||||
}) {};
|
||||
|
||||
@@ -189161,9 +189148,7 @@ self: {
|
||||
];
|
||||
description = "Computing lenses generically using generics-sop";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
maintainers = [ lib.maintainers.alexfmpe ];
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"lens-tell" = callPackage
|
||||
@@ -189498,8 +189483,6 @@ self: {
|
||||
];
|
||||
description = "Haskell bindings to LevelDB";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}) {inherit (pkgs) leveldb;};
|
||||
|
||||
"leveldb-haskell-fork" = callPackage
|
||||
@@ -249277,9 +249260,7 @@ self: {
|
||||
testHaskellDepends = [ aeson base hspec ];
|
||||
description = "Send push notifications to mobile iOS devices";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
mainProgram = "sendapn";
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"push-notify-ccs" = callPackage
|
||||
@@ -267562,9 +267543,7 @@ self: {
|
||||
description = "Generates unique passwords for various websites from a single password";
|
||||
license = lib.licenses.bsd3;
|
||||
platforms = lib.platforms.x86;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
mainProgram = "scat";
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"scc" = callPackage
|
||||
@@ -269939,8 +269918,6 @@ self: {
|
||||
];
|
||||
description = "Multi-backend, high-level EDSL for interacting with SQL databases";
|
||||
license = lib.licenses.mit;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"selda-json" = callPackage
|
||||
@@ -269952,7 +269929,6 @@ self: {
|
||||
libraryHaskellDepends = [ aeson base bytestring selda text ];
|
||||
description = "JSON support for the Selda database library";
|
||||
license = lib.licenses.mit;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"selda-postgresql" = callPackage
|
||||
@@ -269987,7 +269963,6 @@ self: {
|
||||
];
|
||||
description = "SQLite backend for the Selda database EDSL";
|
||||
license = lib.licenses.mit;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"select" = callPackage
|
||||
@@ -274945,8 +274920,6 @@ self: {
|
||||
libraryHaskellDepends = [ base containers mtl syb ];
|
||||
description = "Functions that could be added to Data.Set.";
|
||||
license = lib.licenses.bsd3;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
broken = true;
|
||||
}) {};
|
||||
|
||||
"set-monad" = callPackage
|
||||
@@ -336488,7 +336461,6 @@ self: {
|
||||
];
|
||||
description = "Add CSP headers to Yesod apps";
|
||||
license = lib.licenses.mit;
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}) {};
|
||||
|
||||
"yesod-datatables" = callPackage
|
||||
|
||||
@@ -229,7 +229,7 @@ in {
|
||||
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
|
||||
llvmPackages = pkgs.llvmPackages_12;
|
||||
};
|
||||
ghc948 = callPackage ../development/compilers/ghc/9.4.8.fixme.nix {
|
||||
ghc948 = callPackage ../development/compilers/ghc/9.4.8.nix {
|
||||
bootPkgs =
|
||||
# Building with 9.2 is broken due to
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/21914
|
||||
@@ -568,7 +568,7 @@ in {
|
||||
buildHaskellPackages = ghc.bootPkgs;
|
||||
ghc = bh.compiler.ghcjs810;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
|
||||
packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
|
||||
packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs-8.x.nix { };
|
||||
};
|
||||
|
||||
# The integer-simple attribute set contains package sets for all the GHC compilers
|
||||
|
||||
Reference in New Issue
Block a user