[haskell-updates] cherry picks from staging-next (#447025)

This commit is contained in:
Wolfgang Walther
2025-10-05 12:13:49 +00:00
committed by GitHub
19 changed files with 904 additions and 583 deletions
@@ -4,7 +4,7 @@
lib,
# The following are only needed for the passthru.tests:
spago,
spago-legacy,
cacert,
git,
nodejs,
@@ -12,11 +12,11 @@
runCommand,
}:
lib.pipe haskellPackages.spago [
lib.pipe haskellPackages.spago-legacy [
haskell.lib.compose.justStaticExecutables
(haskell.lib.compose.overrideCabal (oldAttrs: {
changelog = "https://github.com/purescript/spago/releases/tag/${oldAttrs.version}";
changelog = "https://github.com/purescript/spago-legacy/releases/tag/${oldAttrs.version}";
passthru = (oldAttrs.passthru or { }) // {
updateScript = ./update.sh;
@@ -25,10 +25,10 @@ lib.pipe haskellPackages.spago [
# network, so they cannot be run in the nix sandbox. sudo is needed in
# order to change the sandbox option.
#
# $ sudo nix-build -A spago.passthru.tests --option sandbox relaxed
# $ sudo nix-build -A spago-legacy.passthru.tests --option sandbox relaxed
#
tests =
runCommand "spago-tests"
runCommand "spago-legacy-tests"
{
__noChroot = true;
nativeBuildInputs = [
@@ -36,7 +36,7 @@ lib.pipe haskellPackages.spago [
git
nodejs
purescript
spago
spago-legacy
];
}
''
@@ -62,12 +62,12 @@
zlib,
}:
mkDerivation {
pname = "spago";
version = "0.21.0";
pname = "spago-legacy";
version = "0.21.1";
src = fetchgit {
url = "https://github.com/purescript/spago.git";
sha256 = "1v5y15nhw6smnir0y7y854pa70iv8asxsqph2y8rz1c9lkz5d41g";
rev = "c354f4a461f65fcb83aaa843830ea1589f6c7179";
url = "https://github.com/purescript/spago-legacy.git";
sha256 = "18p9cic1y9b2v12np4b5sd82rz5njxh8f1vgqs4gwm6xjccmszmr";
rev = "2790261c28f59940f192c56f3b8245b3ae8b798d";
fetchSubmodules = true;
};
isLibrary = true;
@@ -148,7 +148,7 @@ mkDerivation {
versions
];
testToolDepends = [ hspec-discover ];
homepage = "https://github.com/purescript/spago#readme";
homepage = "https://github.com/purescript/spago-legacy#readme";
license = lib.licenses.bsd3;
mainProgram = "spago";
}
@@ -1,10 +1,10 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq haskellPackages.cabal2nix-unstable.bin nix-prefetch-scripts -I nixpkgs=.
#
# This script will update the spago derivation to the latest version using
# This script will update the spago-legacy derivation to the latest version using
# cabal2nix.
#
# Note that you should always try building spago after updating it here, since
# Note that you should always try building spago-legacy after updating it here, since
# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
# need to be updated/changed.
@@ -14,26 +14,28 @@ set -eo pipefail
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# Spago derivation created with cabal2nix.
spago_derivation_file="${script_dir}/spago.nix"
spago_derivation_file="${script_dir}/spago-legacy.nix"
# This is the current revision of spago in Nixpkgs.
# This is the current revision of spago-legacy in Nixpkgs.
old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$spago_derivation_file")"
# This is the latest release version of spago on GitHub.
new_version=$(curl --silent "https://api.github.com/repos/purescript/spago/releases" | jq '.[0].tag_name' --raw-output)
# This is the latest release version of spago-legacy on GitHub.
new_version=$(curl --silent "https://api.github.com/repos/purescript/spago-legacy/releases" | jq '.[0].tag_name' --raw-output)
echo "Updating spago from old version $old_version to new version $new_version."
echo "Updating spago-legacy from old version $old_version to new version $new_version."
echo "Running cabal2nix and outputting to ${spago_derivation_file}..."
echo "# This has been automatically generated by the script" > "$spago_derivation_file"
echo "# ./update.sh. This should not be changed by hand." >> "$spago_derivation_file"
cabal2nix --revision "$new_version" "https://github.com/purescript/spago.git" >> "$spago_derivation_file"
cabal2nix --revision "$new_version" "https://github.com/purescript/spago-legacy.git" >> "$spago_derivation_file"
nixfmt "$spago_derivation_file"
# TODO: This should ideally also automatically update the docsSearchVersion
# from pkgs/development/haskell/configuration-nix.nix.
echo
echo "Finished. Make sure you run the following commands to confirm Spago builds correctly:"
echo ' - `nix build -L -f ./. spago`'
echo ' - `sudo nix build -L -f ./. spago.passthru.tests --option sandbox relaxed`'
echo ' - `nix build -L -f ./. spago-legacy`'
echo ' - `sudo nix build -L -f ./. spago-legacy.passthru.tests --option sandbox relaxed`'
@@ -50,4 +50,4 @@ echo
echo "Finished. Make sure you run the following commands to confirm PureScript builds correctly:"
echo ' - `nix build -L -f ./. purescript`'
echo ' - `nix build -L -f ./. purescript.passthru.tests.minimal-module`'
echo ' - `sudo nix build -L -f ./. spago.passthru.tests --option sandbox relaxed`'
echo ' - `sudo nix build -L -f ./. spago-legacy.passthru.tests --option sandbox relaxed`'
@@ -201,28 +201,9 @@ with haskellLib;
}
);
# Expected test output for these accidentally checks the absolute location of the source directory
# https://github.com/dan-t/cabal-cargs/issues/9
cabal-cargs = overrideCabal (drv: {
testFlags = drv.testFlags or [ ] ++ [
"-p"
"!/FindCabalFilePure withoutSandbox/"
"-p"
"!/FromCabalFilePure withoutSandbox/"
"-p"
"!/FromLibSrcPure withoutSandbox/"
"-p"
"!/FromExeSrcFilePure withoutSandbox/"
"-p"
"!/FindCabalFilePure withSandbox/"
"-p"
"!/FromCabalFilePure withSandbox/"
"-p"
"!/FromLibSrcPure withSandbox/"
"-p"
"!/FromExeSrcFilePure withSandbox/"
];
}) super.cabal-cargs;
# 2025-09-20: Too strict bound on filepath (<1.5)
# https://github.com/dan-t/cabal-cargs/issues/10
cabal-cargs = doJailbreak super.cabal-cargs;
# Extensions wants a specific version of Cabal for its list of Haskell
# language extensions.
@@ -274,10 +255,24 @@ with haskellLib;
super
// {
# HLS 2.11: Too strict bound on Diff 1.0.
haskell-language-server = dontCheck (doJailbreak super.haskell-language-server);
haskell-language-server = lib.pipe super.haskell-language-server [
dontCheck
doJailbreak
(
if versionOlder self.ghc.version "9.10" || versionOlder "9.11" self.ghc.version then
addBuildDepends [
self.apply-refact
self.hlint
self.refact
]
else
lib.id
)
];
}
)
)
hlint
fourmolu
ormolu
haskell-language-server
@@ -397,6 +392,14 @@ with haskellLib;
# There are numerical tests on random data, that may fail occasionally
lapack = dontCheck super.lapack;
# fpr-calc test suite depends on random >= 1.3
# see https://github.com/IntersectMBO/lsm-tree/issues/797
bloomfilter-blocked =
lib.warnIf (lib.versionAtLeast self.random.version "1.3")
"haskellPackages.bloomfilter-blocked: dontCheck can potentially be removed"
dontCheck
super.bloomfilter-blocked;
# support for transformers >= 0.6
lifted-base = appendPatch (fetchpatch {
url = "https://github.com/basvandijk/lifted-base/commit/6b61483ec7fd0d5d5d56ccb967860d42740781e8.patch";
@@ -427,6 +430,10 @@ with haskellLib;
# https://github.com/sw17ch/data-clist/pull/28
data-clist = doJailbreak super.data-clist;
# 2025-09-20: Allow QuickCheck >= 2.15
# https://github.com/raehik/binrep/issues/14
binrep = warnAfterVersion "1.1.0" (doJailbreak super.binrep);
# 2024-06-23: Hourglass is archived and had its last commit 6 years ago.
# Patch is needed to add support for time 1.10, which is only used in the tests
# https://github.com/vincenthz/hs-hourglass/pull/56
@@ -494,6 +501,10 @@ with haskellLib;
ghc-datasize = disableLibraryProfiling super.ghc-datasize;
ghc-vis = disableLibraryProfiling super.ghc-vis;
# 2025-09-20: Too strict upper bound on base (<4.20)
# https://github.com/phadej/regression-simple/issues/13
regression-simple = doJailbreak super.regression-simple;
# Fix 32bit struct being used for 64bit syscall on 32bit platforms
# https://github.com/haskellari/lukko/issues/15
lukko = appendPatches [
@@ -866,8 +877,28 @@ with haskellLib;
}) super.xml-picklers;
# 2025-08-03: Too strict bounds on open-browser, data-default and containers
# https://github.com/lierdakil/pandoc-crossref/issues/478
pandoc-crossref = doJailbreak super.pandoc-crossref;
# https://github.com/lierdakil/pandoc-crossref/issues/478 krank:ignore-line
pandoc-crossref = lib.pipe super.pandoc-crossref [
(warnAfterVersion "0.3.21")
doJailbreak
# We are still using pandoc == 3.7.*
(appendPatch (
lib.warnIf (lib.versionAtLeast self.pandoc.version "3.8")
"haskellPackages.pandoc-crossref: remove revert of pandoc-3.8 patch"
pkgs.fetchpatch
{
name = "pandoc-crossref-revert-pandoc-3.8-highlight.patch";
url = "https://github.com/lierdakil/pandoc-crossref/commit/b0c35a59d5a802f6525407bfeb31699ffd0b4671.patch";
hash = "sha256-MIITL9Qr3+1fKf1sTwHzXPcYTt3YC+vr9CpMgqsBXlc=";
revert = true;
}
))
];
# Too strict bounds on QuickCheck (<2.15), containers (<0.7), hashable (<1.5), pandoc (<3.7)
# https://github.com/jaspervdj/patat/issues/194
patat = doJailbreak super.patat;
# Too strict upper bound on data-default-class (< 0.2)
# https://github.com/stackbuilders/dotenv-hs/issues/203
@@ -1705,32 +1736,22 @@ with haskellLib;
# https://github.com/NixOS/nixpkgs/issues/198495
(dontCheckIf (pkgs.postgresqlTestHook.meta.broken) super.persistent-postgresql);
# Needs matching lsp-types
# Allow lens >= 5.3
lsp_2_4_0_0 = doDistribute (
doJailbreak (
super.lsp_2_4_0_0.override {
lsp-types = self.lsp-types_2_1_1_0;
}
)
);
# Needs matching lsp-types;
# Lift bound on sorted-list <0.2.2
lsp_2_1_0_0 = doDistribute (
doJailbreak (
super.lsp_2_1_0_0.override {
lsp-types = self.lsp-types_2_1_1_0;
}
)
);
# Lift bound on lens <5.3
lsp-types_2_1_1_0 = doDistribute (doJailbreak super.lsp-types_2_1_1_0);
# 2025-03-03: dhall-lsp-server-1.1.4 requires lsp-2.1.0.0
dhall-lsp-server = super.dhall-lsp-server.override {
lsp = self.lsp_2_1_0_0;
};
dhall-lsp-server = appendPatches [
# Add support for lsp >= 2.7
(pkgs.fetchpatch {
name = "dhall-lsp-server-lsp-2.7.patch";
url = "https://github.com/dhall-lang/dhall-haskell/commit/a621e1438df5865d966597e2e1b0bb37e8311447.patch";
sha256 = "sha256-7edxNIeIM/trl2SUXybvSzkscvr1kj5+tZF50IeTOgY=";
relative = "dhall-lsp-server";
})
# Fix build with text >= 2.1.2
(pkgs.fetchpatch {
name = "dhall-lsp-server-text-2.1.2.patch";
url = "https://github.com/dhall-lang/dhall-haskell/commit/9f2d4d44be643229784bfc502ab49184ec82bc05.patch";
hash = "sha256-cwNH5+7YY8UbA9zHhTRfVaqtIMowZGfFT5Kj+wSlapA=";
relative = "dhall-lsp-server";
})
] super.dhall-lsp-server;
# Tests disabled and broken override needed because of missing lib chrome-test-utils: https://github.com/reflex-frp/reflex-dom/issues/392
reflex-dom-core = lib.pipe super.reflex-dom-core [
@@ -2183,12 +2204,15 @@ with haskellLib;
# stack-3.7.1 requires Cabal < 3.12
stack =
let
stack' = super.stack.overrideScope (self: super: { hpack = self.hpack_0_38_1; });
in
if lib.versionOlder self.ghc.version "9.10" then
super.stack
stack'
else
lib.pipe
# to reduce rebuilds, don't override Cabal in the entire scope
((super.stack.override { Cabal = self.Cabal_3_10_3_0; }).overrideScope (
((stack'.override { Cabal = self.Cabal_3_10_3_0; }).overrideScope (
self: super:
let
downgradeCabal =
@@ -2643,6 +2667,9 @@ with haskellLib;
# 2025-08-06: Upper bounds on containers <0.7 and hedgehog < 1.5 too strict.
hermes-json = doJailbreak super.hermes-json;
# Allow containers >= 0.7, https://github.com/nomeata/arbtt/issues/181
arbtt = doJailbreak super.arbtt;
# hexstring is not compatible with newer versions of base16-bytestring
# See https://github.com/solatis/haskell-hexstring/issues/3
hexstring = overrideCabal (old: {
@@ -2688,7 +2715,6 @@ with haskellLib;
let
# We need to build purescript with these dependencies and thus also its reverse
# dependencies to avoid version mismatches in their dependency closure.
# TODO: maybe unify with the spago overlay in configuration-nix.nix?
purescriptOverlay = self: super: {
# As of 2021-11-08, the latest release of `language-javascript` is 0.7.1.0,
# but it has a problem with parsing the `async` keyword. It doesn't allow
@@ -3258,17 +3284,22 @@ with haskellLib;
brillo-juicy = warnAfterVersion "0.2.4" (doJailbreak super.brillo-juicy);
brillo = warnAfterVersion "1.13.3" (doJailbreak super.brillo);
# Floating point precision issues. Test suite is only checked on x86_64.
# https://github.com/tweag/monad-bayes/issues/368
monad-bayes = dontCheckIf (
let
inherit (pkgs.stdenv) hostPlatform;
in
!hostPlatform.isx86_64
# Presumably because we emulate x86_64-darwin via Rosetta, x86_64-darwin
# also fails on Hydra
|| hostPlatform.isDarwin
) super.monad-bayes;
monad-bayes =
# Floating point precision issues. Test suite is only checked on x86_64.
# https://github.com/tweag/monad-bayes/issues/368
dontCheckIf
(
let
inherit (pkgs.stdenv) hostPlatform;
in
!hostPlatform.isx86_64
# Presumably because we emulate x86_64-darwin via Rosetta, x86_64-darwin
# also fails on Hydra
|| hostPlatform.isDarwin
)
# Too strict bounds on brick (<2.6), vty (<6.3)
# https://github.com/tweag/monad-bayes/issues/378
(doJailbreak super.monad-bayes);
crucible =
lib.pipe
@@ -352,18 +352,18 @@ self: super:
# the latter in the future!
cabal2nix = overrideCabal (old: {
postInstall = ''
remove-references-to -t ${self.hpack} "$out/bin/cabal2nix"
remove-references-to -t ${self.hpack} "''${!outputBin}/bin/cabal2nix"
# Note: The `data` output is needed at runtime.
remove-references-to -t ${self.distribution-nixpkgs.out} "$out/bin/hackage2nix"
remove-references-to -t ${self.distribution-nixpkgs.out} "''${!outputBin}/bin/hackage2nix"
${old.postInstall or ""}
'';
}) super.cabal2nix;
cabal2nix-unstable = overrideCabal (old: {
postInstall = ''
remove-references-to -t ${self.hpack} "$out/bin/cabal2nix"
remove-references-to -t ${self.hpack} "''${!outputBin}/bin/cabal2nix"
# Note: The `data` output is needed at runtime.
remove-references-to -t ${self.distribution-nixpkgs-unstable.out} "$out/bin/hackage2nix"
remove-references-to -t ${self.distribution-nixpkgs-unstable.out} "''${!outputBin}/bin/hackage2nix"
${old.postInstall or ""}
'';
@@ -121,7 +121,7 @@ self: super: {
tar = self.tar_0_6_3_0;
# A given major version of ghc-exactprint only supports one version of GHC.
ghc-exactprint = super.ghc-exactprint_1_6_1_3;
ghc-exactprint = dontCheck super.ghc-exactprint_1_6_1_3;
# Too strict upper bound on template-haskell
# https://github.com/mokus0/th-extras/issues/18
@@ -130,22 +130,32 @@ self: super: {
# https://github.com/kowainik/relude/issues/436
relude = dontCheck super.relude;
haddock-library = doJailbreak super.haddock-library;
apply-refact = addBuildDepend self.data-default-class super.apply-refact;
path = self.path_0_9_5;
inherit
(
let
hls_overlay = lself: lsuper: {
Cabal-syntax = lself.Cabal-syntax_3_10_3_0;
Cabal = lself.Cabal_3_10_3_0;
extensions = dontCheck (doJailbreak (lself.extensions_0_1_0_1));
};
in
lib.mapAttrs (_: pkg: doDistribute (pkg.overrideScope hls_overlay)) {
haskell-language-server = allowInconsistentDependencies super.haskell-language-server;
fourmolu = doJailbreak self.fourmolu_0_14_0_0; # ansi-terminal, Diff
haskell-language-server = allowInconsistentDependencies (
addBuildDepends [ self.retrie self.floskell ] super.haskell-language-server
);
fourmolu = doJailbreak (dontCheck self.fourmolu_0_14_0_0); # ansi-terminal, Diff
ormolu = doJailbreak self.ormolu_0_7_2_0; # ansi-terminal
hlint = self.hlint_3_6_1;
stylish-haskell = self.stylish-haskell_0_14_5_0;
retrie = doJailbreak (unmarkBroken super.retrie);
floskell = doJailbreak super.floskell;
}
)
retrie
floskell
haskell-language-server
fourmolu
ormolu
@@ -109,7 +109,6 @@ in
stm-containers = dontCheck super.stm-containers;
regex-tdfa = dontCheck super.regex-tdfa;
hiedb = dontCheck super.hiedb;
retrie = dontCheck super.retrie;
# https://github.com/kowainik/relude/issues/436
relude = dontCheck (doJailbreak super.relude);
@@ -198,8 +197,39 @@ in
# A given major version of ghc-exactprint only supports one version of GHC.
ghc-exactprint = addBuildDepend self.extra super.ghc-exactprint_1_7_1_0;
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_3_20250912;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0;
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_5_20250214;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2;
haddock-library = doJailbreak super.haddock-library;
apply-refact = addBuildDepend self.data-default-class super.apply-refact;
inherit
(
let
hls_overlay = lself: lsuper: {
Cabal-syntax = lself.Cabal-syntax_3_10_3_0;
Cabal = lself.Cabal_3_10_3_0;
extensions = dontCheck (doJailbreak lself.extensions_0_1_0_1);
};
in
lib.mapAttrs (_: pkg: doDistribute (pkg.overrideScope hls_overlay)) {
haskell-language-server = allowInconsistentDependencies (
addBuildDepends [ self.retrie self.floskell ] super.haskell-language-server
);
ormolu = doDistribute self.ormolu_0_7_4_0;
fourmolu = doDistribute (dontCheck (doJailbreak self.fourmolu_0_15_0_0));
hlint = doDistribute self.hlint_3_8;
stylish-haskell = self.stylish-haskell_0_14_6_0;
retrie = doJailbreak (unmarkBroken super.retrie);
floskell = doJailbreak super.floskell;
}
)
retrie
floskell
haskell-language-server
fourmolu
ormolu
hlint
stylish-haskell
;
}
# super.ghc is required to break infinite recursion as Nix is strict in the attrNames
//
@@ -104,6 +104,37 @@ in
# A given major version of ghc-exactprint only supports one version of GHC.
ghc-exactprint = doDistribute super.ghc-exactprint_1_8_0_0;
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_3_20250912;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0;
haddock-library = doJailbreak super.haddock-library;
apply-refact = addBuildDepend self.data-default-class super.apply-refact;
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_8_5_20250214;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_8_0_2;
inherit
(
let
hls_overlay = lself: lsuper: {
Cabal-syntax = lself.Cabal-syntax_3_10_3_0;
Cabal = lself.Cabal_3_10_3_0;
extensions = dontCheck (doJailbreak super.extensions_0_1_0_1);
};
in
lib.mapAttrs (_: pkg: doDistribute (pkg.overrideScope hls_overlay)) {
haskell-language-server = allowInconsistentDependencies (
addBuildDepends [ self.retrie self.floskell ] super.haskell-language-server
);
ormolu = doDistribute self.ormolu_0_7_4_0;
fourmolu = doDistribute (dontCheck (doJailbreak self.fourmolu_0_15_0_0));
hlint = doDistribute self.hlint_3_8;
stylish-haskell = self.stylish-haskell_0_14_6_0;
retrie = doJailbreak (unmarkBroken super.retrie);
floskell = doJailbreak super.floskell;
}
)
retrie
floskell
haskell-language-server
fourmolu
ormolu
hlint
stylish-haskell
;
}
@@ -231,7 +231,6 @@ broken-packages:
- arbor-monad-logger # failure in job https://hydra.nixos.org/build/233228659 at 2023-09-02
- arbor-monad-metric # failure in job https://hydra.nixos.org/build/233236175 at 2023-09-02
- arbor-postgres # failure in job https://hydra.nixos.org/build/233232935 at 2023-09-02
- arbtt # failure in job https://hydra.nixos.org/build/307516851 at 2025-09-19
- arch-hs # failure in job https://hydra.nixos.org/build/233225768 at 2023-09-02
- archiver # failure in job https://hydra.nixos.org/build/233245795 at 2023-09-02
- archlinux # failure in job https://hydra.nixos.org/build/233202430 at 2023-09-02
@@ -485,8 +484,6 @@ broken-packages:
- bindings-wlc # failure in job https://hydra.nixos.org/build/233332720 at 2023-09-02
- bindynamic # failure in job https://hydra.nixos.org/build/295091957 at 2025-04-22
- binembed # failure in job https://hydra.nixos.org/build/233219100 at 2023-09-02
- binrep # failure in job https://hydra.nixos.org/build/307517077 at 2025-09-19
- binrep-instances # failure in job https://hydra.nixos.org/build/295092045 at 2025-04-22
- binsm # failure in job https://hydra.nixos.org/build/233232355 at 2023-09-02
- bio # failure in job https://hydra.nixos.org/build/233225273 at 2023-09-02
- bio-sequence # failure in job https://hydra.nixos.org/build/233236140 at 2023-09-02
@@ -654,7 +651,6 @@ broken-packages:
- cabal-auto-expose # failure in job https://hydra.nixos.org/build/233195440 at 2023-09-02
- cabal-build-programs # failure in job https://hydra.nixos.org/build/257091363 at 2024-04-27
- cabal-bundle-clib # failure in job https://hydra.nixos.org/build/233199225 at 2023-09-02
- cabal-cargs # failure in job https://hydra.nixos.org/build/307517214 at 2025-09-19
- cabal-constraints # failure in job https://hydra.nixos.org/build/233214316 at 2023-09-02
- cabal-db # failure in job https://hydra.nixos.org/build/233197235 at 2023-09-02
- cabal-debian # failure in job https://hydra.nixos.org/build/233255267 at 2023-09-02
@@ -1258,7 +1254,6 @@ broken-packages:
- database-migrate # failure in job https://hydra.nixos.org/build/233201597 at 2023-09-02
- database-study # failure in job https://hydra.nixos.org/build/233222466 at 2023-09-02
- datadog # failure in job https://hydra.nixos.org/build/233191124 at 2023-09-02
- dataframe # failure in job https://hydra.nixos.org/build/307517771 at 2025-09-19
- DataIndex # failure in job https://hydra.nixos.org/build/233254506 at 2023-09-02
- datalog # failure in job https://hydra.nixos.org/build/233242707 at 2023-09-02
- datapacker # failure in job https://hydra.nixos.org/build/233206524 at 2023-09-02
@@ -1357,7 +1352,6 @@ broken-packages:
- dhall-check # failure in job https://hydra.nixos.org/build/233206425 at 2023-09-02
- dhall-csv # failure in job https://hydra.nixos.org/build/233256049 at 2023-09-02
- dhall-fly # failure in job https://hydra.nixos.org/build/233220306 at 2023-09-02
- dhall-lsp-server # failure in job https://hydra.nixos.org/build/307610458 at 2025-09-19
- dhall-recursive-adt # failure in job https://hydra.nixos.org/build/233210665 at 2023-09-02
- dhall-text # failure in job https://hydra.nixos.org/build/233253809 at 2023-09-02
- dhall-text-shell # failure in job https://hydra.nixos.org/build/244399613 at 2024-01-01
@@ -4071,7 +4065,6 @@ broken-packages:
- mollie-api-haskell # failure in job https://hydra.nixos.org/build/233200867 at 2023-09-02
- monad-atom # failure in job https://hydra.nixos.org/build/233243367 at 2023-09-02
- monad-atom-simple # failure in job https://hydra.nixos.org/build/233259038 at 2023-09-02
- monad-bayes # failure in job https://hydra.nixos.org/build/307520391 at 2025-09-19
- monad-branch # failure in job https://hydra.nixos.org/build/233251253 at 2023-09-02
- monad-choice # failure in job https://hydra.nixos.org/build/233255987 at 2023-09-02
- monad-fork # failure in job https://hydra.nixos.org/build/233206855 at 2023-09-02
@@ -4562,7 +4555,6 @@ broken-packages:
- pan-os-syslog # failure in job https://hydra.nixos.org/build/233244422 at 2023-09-02
- pandoc-citeproc # failure in job https://hydra.nixos.org/build/233198462 at 2023-09-02
- pandoc-columns # failure in job https://hydra.nixos.org/build/233234538 at 2023-09-02
- pandoc-crossref # failure in job https://hydra.nixos.org/build/307611190 at 2025-09-19
- pandoc-csv2table # failure in job https://hydra.nixos.org/build/233229925 at 2023-09-02
- pandoc-dhall-decoder # failure in job https://hydra.nixos.org/build/307611186 at 2025-09-19
- pandoc-emphasize-code # failure in job https://hydra.nixos.org/build/252733347 at 2024-03-16
@@ -4653,7 +4645,6 @@ broken-packages:
- pasta-curves # failure in job https://hydra.nixos.org/build/233196512 at 2023-09-02
- pastis # failure in job https://hydra.nixos.org/build/233218498 at 2023-09-02
- pasty # failure in job https://hydra.nixos.org/build/233251812 at 2023-09-02
- patat # failure in job https://hydra.nixos.org/build/307611198 at 2025-09-19
- patches-vector # failure in job https://hydra.nixos.org/build/233244862 at 2023-09-02
- path-formatting # failure in job https://hydra.nixos.org/build/233199358 at 2023-09-02
- path-sing # failure in job https://hydra.nixos.org/build/237234354 at 2023-10-21
@@ -5309,7 +5300,6 @@ broken-packages:
- registry-messagepack # failure in job https://hydra.nixos.org/build/303231364 at 2025-07-27
- registry-options # failure in job https://hydra.nixos.org/build/295096594 at 2025-04-22
- regress # failure in job https://hydra.nixos.org/build/233208901 at 2023-09-02
- regression-simple # failure in job https://hydra.nixos.org/build/307521504 at 2025-09-19
- regular # failure in job https://hydra.nixos.org/build/233232656 at 2023-09-02
- rehoo # failure in job https://hydra.nixos.org/build/233246417 at 2023-09-02
- rei # failure in job https://hydra.nixos.org/build/233221328 at 2023-09-02
@@ -60,8 +60,9 @@ extra-packages:
- Cabal-syntax == 3.12.*
- Cabal-syntax == 3.14.*
- Cabal-syntax == 3.16.* # version required for cabal-install and other packages
- extensions == 0.1.0.1 # 2025-09-21: needed for Cabal 3.10 (fourmolo/ormolu with ghc 9.8)
- fourmolu == 0.14.0.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
- fsnotify < 0.4 # 2024-04-22: required by spago-0.21
- fourmolu == 0.15.0.0 # 2025-09-21: for ghc-lib-parser 9.8 compat
- fuzzyset == 0.2.4 # 2023-12-20: Needed for building postgrest > 10
- ghc-exactprint == 0.6.* # 2022-12-12: needed for GHC < 9.2
- ghc-exactprint == 1.5.* # 2023-03-30: needed for GHC == 9.2
@@ -74,10 +75,10 @@ extra-packages:
- ghc-lib == 9.10.* # 2024-12-30: preserve for GHC 9.10/ghc-tags 1.9
- ghc-lib-parser == 9.2.* # 2022-02-17: preserve for GHC 8.10, 9.0
- ghc-lib-parser == 9.6.* # 2024-05-19: preserve for GHC 9.2, 9.4
- ghc-lib-parser == 9.10.* # 2024-12-26: preserve for GHC 9.6, 9.8, 9.10
- ghc-lib-parser == 9.8.* # 2024-12-26: preserve for GHC 9.6, 9.8
- ghc-lib-parser-ex == 9.2.* # 2022-07-13: preserve for GHC 8.10, 9.0
- ghc-lib-parser-ex == 9.6.* # 2024-05-19: preserve for GHC 9.2, 9.4
- ghc-lib-parser-ex == 9.10.* # 2024-12-26: preserve for GHC 9.6, 9.8, 9.10
- ghc-lib-parser-ex == 9.8.* # 2024-12-26: preserve for GHC 9.6, 9.8
- ghc-tags == 1.5.* # 2023-02-18: preserve for ghc-lib == 9.2.*
- ghc-tags == 1.7.* # 2023-02-18: preserve for ghc-lib == 9.6.*
- ghc-tags == 1.8.* # 2023-02-18: preserve for ghc-lib == 9.8.*
@@ -91,15 +92,16 @@ extra-packages:
- hasql-pool < 1.1 # 2025-01-19: Needed for building postgrest
- hasql-transaction < 1.1.1 # 2025-01-19: Needed for building postgrest
- hlint == 3.6.* # 2025-04-14: needed for hls with ghc-lib-parser 9.6
- hlint == 3.8.* # 2025-09-21: needed for hls with ghc-lib-parser 9.8
- hpack == 0.38.1 # 2025-09-18: to match exact version upstream stack-3.7.1 uses
- hspec-megaparsec == 2.2.0 # 2023-11-18: Latest version compatible with ghc 9.0
- language-javascript == 0.7.0.0 # required by purescript
- lsp < 2.5 # 2024-07-08: need for koka
- lsp == 2.1.* # 2024-02-28: need for dhall-lsp-server
- lsp-types == 2.1.* # 2024-02-28: need for dhall-lsp-server and koka
- network-run == 0.4.0 # 2024-10-20: for GHC 9.10/network == 3.1.*
- ormolu == 0.5.2.0 # 2023-08-08: preserve for ghc 9.0
- ormolu == 0.7.2.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
- ormolu == 0.7.4.0 # 2023-09-21: for ghc-lib-parser 9.8 compat
- os-string == 1.* # 2025-07-30: dummy package we need for pre os-string GHCs
- path == 0.9.5 # 2025-09-21: Pin for hls on ghc 9.4
- postgresql-binary < 0.14 # 2025-01-19: Needed for building postgrest
- primitive-unlifted == 0.1.3.1 # 2024-03-16: preserve for ghc 9.2
- retrie < 1.2.0.0 # 2022-12-30: preserve for ghc < 9.2
@@ -108,13 +110,13 @@ extra-packages:
- simple-get-opt < 0.5 # 2025-05-01: for crux-0.7.2
- stylish-haskell == 0.14.4.0 # 2022-09-19: preserve for ghc 9.0
- stylish-haskell == 0.14.5.0 # 2025-04-14: needed for hls with ghc-lib 9.6
- stylish-haskell == 0.14.6.0 # 2025-09-21: needed for hls with ghc-lib 9.8
- stylish-haskell == 0.15.0.1 # 2025-04-14: needed for hls with ghc-lib 9.10
- tar == 0.6.0.0 # 2025-02-08: last version to not require os-string (which can't be built with GHC < 9.2)
- tar == 0.6.3.0 # 2025-08-17: last version to not require file-io and directory-ospath-streaming (for GHC < 9.6)
- text-builder < 1 # 2025-08-27: Needed for building postgrest
- text-builder-dev < 0.4 # 2025-08-27: Needed for building postgrest
- text-metrics < 0.3.3 # 2025-02-08: >= 0.3.3 uses GHC2021
- versions < 6 # 2024-04-22: required by spago-0.21
- weeder == 2.3.* # 2022-05-31: preserve for GHC 9.0.2
- weeder == 2.4.* # 2023-02-02: preserve for GHC 9.2.*
# keep-sorted end
@@ -310,7 +310,6 @@ dont-distribute-packages:
- blockio
- blogination
- BlogLiterately-diagrams
- bloomfilter-blocked
- bloxorz
- blubber
- bluetile
@@ -680,6 +679,7 @@ dont-distribute-packages:
- datadog-tracing
- datafix
- dataflow
- dataframe_0_3_0_4
- datasets
- date-conversions
- dbjava
@@ -2960,7 +2960,6 @@ dont-distribute-packages:
- rfc-psql
- rfc-redis
- rfc-servant
- rhine-bayes
- rhythm-game-tutorial
- rib
- ribosome
@@ -3456,7 +3455,6 @@ dont-distribute-packages:
- tasklite
- tasklite-core
- tasty-bdd
- tasty-bench-fit
- tasty-groundhog-converters
- tasty-integrate
- tasty-jenkins-xml
@@ -1084,7 +1084,7 @@ builtins.intersectAttrs super {
addBuildTool self.buildHaskellPackages.gtk2hs-buildtools super.pango
);
spago =
spago-legacy =
let
docsSearchApp_0_0_10 = pkgs.fetchurl {
url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/docs-search-app.js";
@@ -1106,49 +1106,43 @@ builtins.intersectAttrs super {
sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
};
in
lib.pipe
(super.spago.override {
# base <4.19, text <2.1
versions = doJailbreak self.versions_5_0_5;
fsnotify = self.fsnotify_0_3_0_1;
})
[
(overrideCabal (drv: {
postUnpack = (drv.postUnpack or "") + ''
# Spago includes the following two files directly into the binary
# with Template Haskell. They are fetched at build-time from the
# `purescript-docs-search` repo above. If they cannot be fetched at
# build-time, they are pulled in from the `templates/` directory in
# the spago source.
#
# However, they are not actually available in the spago source, so they
# need to fetched with nix and put in the correct place.
# https://github.com/spacchetti/spago/issues/510
cp ${docsSearchApp_0_0_10} "$sourceRoot/templates/docs-search-app-0.0.10.js"
cp ${docsSearchApp_0_0_11} "$sourceRoot/templates/docs-search-app-0.0.11.js"
cp ${purescriptDocsSearch_0_0_10} "$sourceRoot/templates/purescript-docs-search-0.0.10"
cp ${purescriptDocsSearch_0_0_11} "$sourceRoot/templates/purescript-docs-search-0.0.11"
lib.pipe super.spago-legacy [
(overrideCabal (drv: {
postUnpack = (drv.postUnpack or "") + ''
# Spago includes the following two files directly into the binary
# with Template Haskell. They are fetched at build-time from the
# `purescript-docs-search` repo above. If they cannot be fetched at
# build-time, they are pulled in from the `templates/` directory in
# the spago source.
#
# However, they are not actually available in the spago source, so they
# need to fetched with nix and put in the correct place.
# https://github.com/spacchetti/spago/issues/510
cp ${docsSearchApp_0_0_10} "$sourceRoot/templates/docs-search-app-0.0.10.js"
cp ${docsSearchApp_0_0_11} "$sourceRoot/templates/docs-search-app-0.0.11.js"
cp ${purescriptDocsSearch_0_0_10} "$sourceRoot/templates/purescript-docs-search-0.0.10"
cp ${purescriptDocsSearch_0_0_11} "$sourceRoot/templates/purescript-docs-search-0.0.11"
# For some weird reason, on Darwin, the open(2) call to embed these files
# requires write permissions. The easiest resolution is just to permit that
# (doesn't cause any harm on other systems).
chmod u+w \
"$sourceRoot/templates/docs-search-app-0.0.10.js" \
"$sourceRoot/templates/purescript-docs-search-0.0.10" \
"$sourceRoot/templates/docs-search-app-0.0.11.js" \
"$sourceRoot/templates/purescript-docs-search-0.0.11"
'';
}))
# For some weird reason, on Darwin, the open(2) call to embed these files
# requires write permissions. The easiest resolution is just to permit that
# (doesn't cause any harm on other systems).
chmod u+w \
"$sourceRoot/templates/docs-search-app-0.0.10.js" \
"$sourceRoot/templates/purescript-docs-search-0.0.10" \
"$sourceRoot/templates/docs-search-app-0.0.11.js" \
"$sourceRoot/templates/purescript-docs-search-0.0.11"
'';
}))
# Tests require network access.
dontCheck
# Tests require network access.
dontCheck
# Overly strict upper bound on text
doJailbreak
# Overly strict upper bound on text (<1.3)
doJailbreak
# Generate shell completion for spago
(self.generateOptparseApplicativeCompletions [ "spago" ])
];
# Generate shell completion for spago
(self.generateOptparseApplicativeCompletions [ "spago" ])
];
# checks SQL statements at compile time, and so requires a running PostgreSQL
# database to run it's test suite
@@ -1878,16 +1872,23 @@ builtins.intersectAttrs super {
extensions = enableSeparateBinOutput super.extensions;
# These test cases access the network
hpack = overrideCabal (drv: {
testFlags = drv.testFlags or [ ] ++ [
"--skip"
"/Hpack.Defaults/ensureFile/with 404/does not create any files/"
"--skip"
"/Hpack.Defaults/ensureFile/downloads file if missing/"
"--skip"
"/EndToEnd/hpack/defaults/fails if defaults don't exist/"
];
}) super.hpack;
inherit
(lib.mapAttrs (
_:
overrideCabal (drv: {
testFlags = drv.testFlags or [ ] ++ [
"--skip"
"/Hpack.Defaults/ensureFile/with 404/does not create any files/"
"--skip"
"/Hpack.Defaults/ensureFile/downloads file if missing/"
"--skip"
"/EndToEnd/hpack/defaults/fails if defaults don't exist/"
];
})
) super)
hpack
hpack_0_38_1
;
doctest = overrideCabal (drv: {
testFlags = drv.testFlags or [ ] ++ [
File diff suppressed because it is too large Load Diff
@@ -45,9 +45,9 @@ self: super:
# https://github.com/channable/vaultenv/issues/1 krank:ignore-line
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
# spago(-legacy) won't be released to Hackage:
# spago-legacy won't be released to Hackage:
# https://github.com/spacchetti/spago/issues/512 krank:ignore-line
spago = self.callPackage ../tools/purescript/spago/spago.nix { };
spago-legacy = self.callPackage ../../by-name/sp/spago-legacy/spago-legacy.nix { };
# Unofficial fork until PRs are merged https://github.com/pcapriotti/optparse-applicative/pulls/roberth
# cabal2nix --maintainer roberth https://github.com/hercules-ci/optparse-applicative.git > pkgs/development/misc/haskell/hercules-ci-optparse-applicative.nix
@@ -14,9 +14,7 @@ let
[
self.ihaskell
self.ihaskell-blaze
# Doesn't work with latest ihaskell versions missing an unrelated change
# https://github.com/IHaskell/IHaskell/issues/1378
# self.ihaskell-diagrams
self.ihaskell-diagrams
]
++ packages self
);
+1
View File
@@ -2380,6 +2380,7 @@ mapAliases {
soundOfSorting = sound-of-sorting; # Added 2023-07-07
SP800-90B_EntropyAssessment = sp800-90b-entropyassessment; # Added on 2024-06-12
SPAdes = spades; # Added 2024-06-12
spago = spago-legacy; # Added 2025-09-23, pkgs.spago should become spago@next which hasn't been packaged yet
spark2014 = gnatprove; # Added 2024-02-25
space-orbit = throw "'space-orbit' has been removed because it is unmaintained; Debian upstream stopped tracking it in 2011."; # Added 2025-06-08
spatialite_gui = throw "spatialite_gui has been renamed to spatialite-gui"; # Added 2025-01-12
-2
View File
@@ -5092,8 +5092,6 @@ with pkgs;
purenix = haskell.lib.compose.justStaticExecutables haskellPackages.purenix;
spago = callPackage ../development/tools/purescript/spago { };
pulp = nodePackages.pulp;
pscid = nodePackages.pscid;
+1 -1
View File
@@ -335,7 +335,7 @@ let
shellcheck-minimal
sourceAndTags
spacecookie
spago
spago-legacy
specup
splot
stack