haskellPackages: stackage LTS 23.24 -> LTS 23.27#424162
haskellPackages: stackage LTS 23.24 -> LTS 23.27#424162sternenseemann merged 87 commits intostagingfrom
Conversation
…ing for windows Fixes error: `could not execute: /bin/false`
This package doesn't build its executables (json2yaml, yaml2json) by default, see snoyberg/yaml#194.
Rather than traversing the entire haskell package set, let's just explicitly list the amazonka packages. This should improve eval times somewhat, since the haskell package set is large, and hasPrefix is surprisingly expensive, as each call checks that the needle is not a path.
haskell.packages.ghc912.hpack: 0.38.0 -> 0.38.1
Some packages in Hackage apparently now declare cabal-version: 3.12, so let's bump cabal2nix-unstable to the latest Cabal version we ship. We should probably do this for pkgs.cabal2nix as well, but I'm not sure how to it exactly.
This allows other scripts to detect whether anything changed without resorting to git-diff(1): If nothing changed, stdout will be empty (i.e. we now enforce that other messages go to stderr). To make sure that this behavior is retained in the future, the scripts' behavior is briefly documented in the files' header.
The “This commit was generated by …” message is very wordy and often exceeds 72 characters which is a good (loose) target for wrapping lines in commit messages.
Calling git commit with --edit here, allows the user to rephrase the very nondescript default message, in doing so e.g. clarifying why the regeneration was necessary etc. This should hopefully encourage better commit mesages.
Currently, every package set consists of three commits, generated by update-hackage.sh, update-stackage.sh and regenerate-hackage-packages.sh, respectively. This is suboptimal, as it necessarly causes intermediate states of Nixpkgs where the generated hackage-packages.nix and all-cabal-hasehs and/or the hackage2nix configuration files are out of sync. Ideally, running regenerate-hackage-packages.sh is a no-op for every Nixpkgs revision. This is achieved by adding a wrapper script, update-package-set.sh, which runs the individual moving parts and commits the result.
all-cabal-hashes: 2025-06-01T18:10:16Z -> 2025-07-07T21:33:55Z (generated by maintainers/scripts/haskell/update-package-set.sh)
Upstream Hackage and Stackage LTS have corrected the faulty bounds.
We keep using LLVM 20, though, since LLVM 21 is still just a release candidate on our branch and llvm-ffi doesn't yet supported a released LLVM 21, just the git version. We can use the older version by passing a specific cabal flag. The evaluation warning reminding us to upgrade now also checks whether LLVM is a release candidate before triggering.
|
I think Failures:
libraries/process/System/Process/Common.hs:239:16:
1) Cabal.Options.replOnlyOptions is the set of options that are unique to 'cabal repl'
uncaught exception: IOException of type NoSuchThing
cabal: readCreateProcess: posix_spawnp: does not exist (No such file or directory)
To rerun use: --match "/Cabal.Options/replOnlyOptions/is the set of options that are unique to 'cabal repl'/" --seed 465951121
libraries/process/System/Process/Common.hs:239:16:
2) Cabal.Options.rejectUnsupportedOptions produces error messages that are consistent with 'cabal repl'
uncaught exception: IOException of type NoSuchThing
cabal: rawSystem: posix_spawnp: does not exist (No such file or directory)
To rerun use: --match "/Cabal.Options/rejectUnsupportedOptions/produces error messages that are consistent with 'cabal repl'/" --seed 465951121
libraries/process/System/Process/Common.hs:239:16:
3) Cabal.Options.rejectUnsupportedOptions, with --list-options, lists supported command-line options
uncaught exception: IOException of type NoSuchThing
cabal: readCreateProcess: posix_spawnp: does not exist (No such file or directory)
To rerun use: --match "/Cabal.Options/rejectUnsupportedOptions/with --list-options/lists supported command-line options/" --seed 465951121
libraries/process/System/Process/Common.hs:239:16:
4) Cabal.Paths.paths returns the path to 'ghc'
uncaught exception: IOException of type NoSuchThing
cabal: readCreateProcess: posix_spawnp: does not exist (No such file or directory)
To rerun use: --match "/Cabal.Paths/paths/returns the path to 'ghc'/" --seed 465951121
libraries/process/System/Process/Common.hs:239:16:
5) Cabal.Paths.paths returns the path to 'ghc-pkg'
uncaught exception: IOException of type NoSuchThing
cabal: readCreateProcess: posix_spawnp: does not exist (No such file or directory)
To rerun use: --match "/Cabal.Paths/paths/returns the path to 'ghc-pkg'/" --seed 465951121
libraries/process/System/Process/Common.hs:239:16:
6) Cabal.Paths.paths returns the path to Cabal's cache directory
uncaught exception: IOException of type NoSuchThing
cabal: readCreateProcess: posix_spawnp: does not exist (No such file or directory)
To rerun use: --match "/Cabal.Paths/paths/returns the path to Cabal's cache directory/" --seed 465951121
libraries/process/System/Process/Common.hs:239:16:
7) Cabal.ReplOptions.options is the list of documented 'repl' options
uncaught exception: IOException of type NoSuchThing
cabal: readCreateProcess: posix_spawnp: does not exist (No such file or directory)
To rerun use: --match "/Cabal.ReplOptions/options/is the list of documented 'repl' options/" --seed 465951121
libraries/process/System/Process/Common.hs:239:16:
8) Cabal.ReplOptions.options is consistent with 'cabal repl --list-options'
uncaught exception: IOException of type NoSuchThing
cabal: readCreateProcess: posix_spawnp: does not exist (No such file or directory)
To rerun use: --match "/Cabal.ReplOptions/options/is consistent with 'cabal repl --list-options'/" --seed 465951121
Randomized with seed 465951121
Finished in 19.4124 seconds
207 examples, 8 failures
Test suite spec: FAIL
Test suite logged to: dist/test/doctest-0.24.2-spec.log
0 of 1 test suites (0 of 1 test cases) passed. |
ghcide doesn't support hiedb >= 0.7 in any released version yet. Even though support for hiedb >= 0.7 is desireable (since it fixes some bugs), it looks a little risky. It's probably better to wait for the next release of ghcide. See - haskell/haskell-language-server@0a9b1cb - haskell/haskell-language-server@f43d811
vcr needs GHC2021 and there is probably no point patching this out. It is a little annoying since we probably skip the tests of hpack that need vcr anyways (since they access the network), but we'll live.
If I try building with any later version, the build fails. I think it's to do with Cabal versions. This is the output of building '/nix/store/f8prms55xb75wvw67nm7x65lbgahlypv-oama-0.20.2.drv'...
Running phase: setupCompilerEnvironmentPhase
Build with /nix/store/h9hjxz6fw5wxksamwn1d4mfac7q3yxx2-ghc-9.2.8.
Running phase: unpackPhase
unpacking source archive /nix/store/2rsiarvjbavbp536wsnr7xl09rrm92v0-oama-bbe5a6d
source root is oama-bbe5a6d
Running phase: patchPhase
Running phase: compileBuildDriverPhase
setupCompileFlags: -package-db=/build/tmp.EWNh3Q0DnA/setup-package.conf.d -threaded
[1 of 1] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.EWNh3Q0DnA/Main.o )
Linking Setup ...
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
configureFlags: --verbose --prefix=/nix/store/9ghjcn9h7ligl175zmgdbi7w90zprhdi-oama-0.20.2 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.EWNh3Q0DnA/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --disable-library-profiling --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --extra-lib-dirs=/nix/store/sbjkm6a7p6f97xqgy4i83rdi1q71nxcz-ncurses-6.5/lib --extra-lib-dirs=/nix/store/v4vqyvb5gq799b1v3qf5lyyij7pnjfiz-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/b3fnpzhiqz05x68kmar2av1n5ma5s316-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/pi0qlx5s0ij1v76jl4dlzjccxcxzw56i-numactl-2.0.18/lib
Using Parsec parser
Warning: oama.cabal:0:0: Unsupported cabal-version 3.12. See
https://github.com/haskell/cabal/issues/4899.
Setup: Failed parsing "./oama.cabal". |
|
@AidaGol GHC 9.2 is much older than GHC 9.12, you may want to try GHC 9.8 which is the current default version, for example. |
ghc-hie has test targets for testing against a list of GHC versions. We could in theory enable the test for the currently available GHC (it succeeds), but it seems like hspecs pattern matching is not powerful enough for this (with tasty you could probably do it).
Oh, how embarrassing. My brain was in decimal mode, not versioning mode. 🤦 Once again, with building '/nix/store/9gv1qjfawgygwsqmw9pnml3gk9v4m1y8-oama-0.20.2.drv'...
Running phase: setupCompilerEnvironmentPhase
Build with /nix/store/gvjpcpd0kfa5b7wsc2ad6rsk75kk1g38-ghc-9.8.4.
Running phase: unpackPhase
unpacking source archive /nix/store/2rsiarvjbavbp536wsnr7xl09rrm92v0-oama-bbe5a6d
source root is oama-bbe5a6d
Running phase: patchPhase
Running phase: compileBuildDriverPhase
setupCompileFlags: -package-db=/build/tmp.Zu4NU6dTGz/setup-package.conf.d -threaded
[1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.Zu4NU6dTGz/Main.o )
[2 of 2] Linking Setup
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
configureFlags: --verbose --prefix=/nix/store/m31b1x27i007qb0gyw1fl951y1vlp1w8-oama-0.20.2 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.Zu4NU6dTGz/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --disable-library-profiling --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --extra-lib-dirs=/nix/store/sbjkm6a7p6f97xqgy4i83rdi1q71nxcz-ncurses-6.5/lib --extra-lib-dirs=/nix/store/v4vqyvb5gq799b1v3qf5lyyij7pnjfiz-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/n5fkds5i1pzcbv85x4v89hdlbx2l9kwz-elfutils-0.193/lib --extra-lib-dirs=/nix/store/b3fnpzhiqz05x68kmar2av1n5ma5s316-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/pi0qlx5s0ij1v76jl4dlzjccxcxzw56i-numactl-2.0.18/lib
Using Parsec parser
Warning: oama.cabal:0:0: Unsupported cabal-version 3.12. See
https://github.com/haskell/cabal/issues/4899.
CallStack (from HasCallStack):
withMetadata, called at libraries/Cabal/Cabal/src/Distribution/Simple/Utils.hs:368:14 in Cabal-3.10.3.0-73f4:Distribution.Simple.Utils
Error: Setup: Failed parsing "./oama.cabal". |
|
@aidalgol Okay. In principle, you can provide a newer version of Cabal for Setup.hs via |
Based on <https://hydra.nixos.org/eval/1817170> (8076d01), fetched at 2025-07-27 19:26 UTC. (generated by maintainers/scripts/haskell/mark-broken.sh)
Co-authored-by: sternenseemann <sternenseemann@systemli.org>
This Merge
This PR is the regular merge of the
haskell-updatesbranch intostaging.This branch is being continually built and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates. You may be able to find an up-to-date Hydra build report at cdepillabout/nix-haskell-updates-status.
We roughly aim to merge these
haskell-updatesPRs at least once every two weeks. See the @NixOS/haskell team calendar for who is currently in charge of this branch.haskellPackages Workflow Summary
Our workflow is currently described in
pkgs/development/haskell-modules/HACKING.md.The short version is this:
haskell-updates(normally at the beginning of a merge window).haskell-updatesintostagingevery two weeks.mergeablejob is succeeding on hydra.maintainedpackage is still broken at the time of merge, we will only merge if the maintainer has been pinged 7 days in advance. (If you care about a Haskell package, become a maintainer!)More information about Haskell packages in nixpkgs can be found in the nixpkgs manual.
This is the follow-up to #413046. Come to #haskell:nixos.org if you have any questions.