Commit Graph

155 Commits

Author SHA1 Message Date
sternenseemann
7c8c63e3eb haskellPackages.language-haskell-extract: unify overrides
All versions have this patch that conditionally enables support for
template-haskell >= 2.16, so we can fold them into one.
2024-01-06 18:33:37 +01:00
Sergei Trofimovich
cba7eafc01 haskell.compiler.ghcjs: expose llvmPackages attribute via passthru
Files like `pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix`
assume `ghc` always has an `llvmPackages` attribue. Let's expose `null`
value from `ghcjs` to allow it's propagation.

This fixes package evaluation for `ghcjs` packages.
2024-01-04 00:34:19 +01:00
maralorn
119323d46c Merge branch 'master' into haskell-updates 2024-01-01 17:43:12 +01:00
Sergei Trofimovich
e649d53618 haskell.packages.ghc810: drop unevaluatable packages
`haskell.packages.ghc810` has a few packages that fails to evaluate by
referring non-existent attributes. This turns evaluation attempts into
unrecoverable errors.

Before the change an attempt to instantiate all `ghc810` packages failed
as:

    $ nix-instantiate --strict --eval --expr 'with import ./. {}; lib.mapAttrs (n: v: builtins.tryEval (lib.isDerivation v)) haskell.packages.ghc810'
    error:
       error: attribute 'stylish-haskell_0_14_3_0' missing
       at pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix:114:33:

          113|   hlint = self.hlint_3_4_1;
          114|   stylish-haskell = doJailbreak self.stylish-haskell_0_14_3_0;
             |                                 ^
          115|
       Did you mean stylish-haskell_0_14_4_0?

The change drops overrides that refer non-existent packages.
2024-01-01 14:14:56 +00:00
maralorn
91065f31dd
Merge pull request #275606 from sternenseemann/misc-release-haskell
haskell: fixes for the benefit of the haskell-updates jobset
2024-01-01 14:19:00 +01:00
sternenseemann
21acd3b787 haskell.packages.*.{terminfo,xhtml}: allow builds on Hydra for cross
We have some jobs that hit this case in release-haskell.nix, but they
are not actually created, since we forgot to relax hydraPlatforms…
2023-12-20 10:50:28 +01:00
Naïm Favier
b11a691235
haskell.packages.ghc810.http-types: disable checks 2023-12-09 15:04:20 +01:00
Dennis Gosnell
c7b024e05e
haskell.packages.ghc810.text-metrics: jailbreak because of overly-strict bounds 2023-11-11 11:23:51 +09:00
maralorn
00c05bbc65
haskell.packages.ghc810.haskell-language-server: Remove 2023-10-06 17:54:23 +02:00
maralorn
3ced05d8b7
haskell.packages.ghc810.haskell-language-server: Fix build 2023-08-22 01:51:25 +02:00
sternenseemann
9dc1cb39a3 haskell.packages.ghc8107.ghc-lib{,-parser}: reflect hackage updates 2023-08-17 11:13:13 +02:00
sternenseemann
c24a28822e haskell.packages.ghc8107.ghc-lib: downgrade to 9.2.*
ghc-lib >= 9.4 won't compile with GHC 8.10 anymore, so we'll use the
newest version that still works (we used ghc-lib == 9.2.* with Stackage
LTS 20 as well).
2023-08-17 09:31:56 +02:00
sternenseemann
4f88c9d750 haskell.packages.*.weeder: provide algebraic-graphs < 0.7 if needed
weeder has no actively maintained support for older GHC versions, so we
need to partially restore historic install-plans when it is affected by
breaking changes in other libraries than GHC.
2023-08-14 10:58:24 +02:00
maralorn
d58ec5127e
haskell.packages.ghc810.haskell-language-server: Fix build 2023-08-09 00:20:35 +02:00
sternenseemann
227a57329f haskell.packages.ghc8107.ghc-lib-parser: lift lower base bound 2023-07-30 22:19:53 +02:00
sternenseemann
0b4156230b haskell.packages.*.ghc-source-gen: shuffle broken flags around
ghc-source-gen being broken is the norm now, as it only supports
GHC < 9.4. To keep tabs on it still (it is required for HLS some of the
time), we add it to release-haskell.nix.
2023-07-25 13:01:20 +02:00
sternenseemann
500b36d057 all-cabal-hashes: 2023-07-19T20:56:38Z -> 2023-07-24T19:28:29Z
The main motivation for this is that the latest versions of hspec-core
and hspec-expectations got out of sync due to an unlucky timing on the
hackage snapshot update. As a consequence, we weren't able to build
cabal-install in some package sets. Additionally, this brings a version
of futhark that can be built with the lsp version we ship.

This commit has been generated by maintainers/scripts/haskell/update-hackage.sh
and maintainers/scripts/haskell/regenerate-hackage-packages.nix.

Additional changes:

* Adapt to new xhtml version (still doesn't match the version normally
  shipped by the respective GHC as a core library).

* Adapt to new versions of hspec* and pandoc
2023-07-25 02:21:57 +02:00
sternenseemann
08aba29186 haskellPackages.base-compat{,batteries}: 0.12.2 -> 0.12.3
Building base-compat-batteries-0.12.2 against OneTuple == 0.4.* as we do
for GHC < 9.0 could lead to confusing results for users of
Data.Tuple.Compat. Thankfully upstream has provided a solution they are
satisfied with and released it as 0.12.3 to which we preemptively
upgrade (but it should enter Stackage LTS 21 soon enough)

See https://github.com/haskell-compat/base-compat/pull/92.

This reverts commit 54ebdad42d.
2023-07-12 14:51:11 +02:00
sternenseemann
54ebdad42d haskell.packages.{ghc88,ghc810}.base-compat-batteries: loosen OneTuple bound
Loosening the bound seems easier than downgrading OneTuple in these package sets.
See also the linked issue.
2023-07-02 14:22:20 +02:00
sternenseemann
6cc8bbe4b6 haskell.packages.{ghc88,ghc810}.OneTuple: depend on foldable1-classes-compat
For GHC >= 9.0, foldable1-classes-compat is a test only dependency. For GHC < 9.0,
OneTuple also depends on it. It is important to add it to the library's build
depends as well, so it gets propagated properly to builds of packages that depend
on base-compat-batteries (or foldable1-classes-compat will appear as broken to
Cabal).
2023-07-02 14:22:20 +02:00
sternenseemann
f50da30a5d haskell.packages.*.system-cxx-std-lib: make sure attr always exists
GHC 9.4 introduced a virtual package for linking against the C++
standard library. Since some packages depend on it when configured with
GHC 9.4 (as hackage2nix does), we need to make sure the attribute exists
or some packages will fail to evaluate. The may still build, even though
there is no shim for lower GHC versions (as far as I know).
2023-07-01 19:31:29 +02:00
sternenseemann
babf4f9327 haskell.packages.*.hashable: provide data-array-byte for GHC < 9.4
This dependency is no longer necessary for GHC >= 9.4, but we need to
make it available for GHC < 9.4.
2023-07-01 13:57:38 +02:00
sternenseemann
4c2f247e11 haskell.packages.*.Cabal-syntax: expose dummy packages for GHC < 9.4
Before Cabal >= 3.8, Cabal-syntax did not exist, but there is a dummy
package Cabal-syntax-3.6.0.0 which can be used to prevent the constraint
solver from picking mutually incompatible versions of Cabal and
Cabal-syntax. Since we are now solving flags with Cabal >= 3.8, many
packages have a dependency on Cabal-syntax they did not have before,
requiring us to have a matching attribute in every package set. Using
the dummy package is the safest solution, although it is not required in
every case.

Fixes eval of jailbreak-cabal for GHC < 9.4.
2023-07-01 13:17:43 +02:00
sternenseemann
5a86855e00 haskell.packages.*: reflect terminfo update for cross compilation
terminfo had a new release on hackage and we only ship the latest
version currently, so every GHC gets the newest version. Whether this is
correct, is another question, occurs to me – we'll have to look into
whether we should fix this at some point.
2023-03-02 13:58:51 +01:00
sternenseemann
bdbfe10efb haskell.packages.*.cabal-install{,-solver}: unify overrides
Since the overrides are practically the same for all but the latest GHC
version, we can move the override into configuration-common.nix and rely
on a few conditionals in the overlay assembly — and end up with less
copying around!
2023-02-18 21:55:25 +01:00
sternenseemann
2e9ff9aa98 haskell.packages.*.ghc-tags: pick compatible version
Since there is probably more movement going forward, testing this on
Hydra for multiple GHC versions seems sensible.
2023-02-18 20:16:36 +01:00
Jason Yundt
b1bb9bb6c8 treewide: fix backwards smart apostrophes
According to the Unicode Standard, you should use U+2019 RIGHT SINGLE
QUOTATION MARK for apostrophes [1]. Before this change, some of the text
in this repo would use U+2018 LEFT SINGLE QUOTATION MARKs instead.

[1]: https://www.unicode.org/versions/Unicode15.0.0/ch06.pdf#G12411
2023-02-06 07:24:42 -05:00
maralorn
7bc38b9128 haskell.packages.ghc810.haskell-language-server: Fix eval 2022-12-30 23:29:47 +01:00
maralorn
8c4865a950 haskell-modules/configuration-ghc-*.nix: Remove trailing whitespaces 2022-12-30 18:04:51 +01:00
maralorn
3b14e60bab haskell-language-server: Fix build for 1.9.0.0 for all ghc versions 2022-12-30 17:21:48 +01:00
sternenseemann
e238c3fdaa haskell.packages.*.binary-orphans: provide OneTuple when necessary
The binary-orphans dependency on OneTuple is only activated if GHC < 9.2
which means hackage2nix won't emit this dependency anymore.
2022-12-28 14:10:41 +01:00
maralorn
e897471eee ghc-api-compat: unmarkBroken on older ghcs 2022-12-24 18:28:23 +01:00
maralorn
65d6fc555b haskell-language-server: Enable reenable dependencies for older ghcs 2022-12-24 17:46:42 +01:00
sternenseemann
d4d50ffc5c haskell.packages.ghc8107.cabal-install: fix build 2022-12-23 01:14:47 +01:00
maralorn
ad0d7cf936 haskell.packages.ghc810.haskell-language-server: Fix build 2022-12-17 02:06:57 +01:00
Dennis Gosnell
c63bff0622
haskell.packages.ghc810.hashable: add build depend on base-orphans 2022-11-26 02:03:23 -05:00
sternenseemann
2fccb31598 haskell.packages.ghc8{8,10}.base-compat-batteries: add missing dep 2022-11-22 18:12:03 +01:00
sternenseemann
270246ddd9 haskellPackages: adapt to process 1.6.15.0 -> 1.6.16.0 2022-10-27 22:11:24 +02:00
sternenseemann
ac1f1ad0e0 haskell: support cross in generateOptparseApplicativeCompletions
Deprecate haskell.lib{,.compose}.generateOptparseApplicativeCompletion*
in favor of the newly added
haskell.packages.*.generateOptparseApplicativeCompletions (plural!)
which takes into account whether we are cross-compiling or not. If we
are, generating completions is disabled, since we can't execute software
built for a different platform.

The move is necessary, so we can receive the /same/ stdenv as the
package we are overriding in order to accurately check whether we can
execute produced binaries.

Resolves #174040.
Resolves #49648.
2022-10-07 00:37:53 +02:00
maralorn
7c2fda45cc haskell-language-server: 1.7.0.0 -> 1.8.0.0 2022-09-21 05:23:07 +02:00
sternenseemann
56a86997c4 haskell.packages.ghc{8107,884}.megaparsec: ignore base lower bound 2022-09-17 13:13:01 +02:00
sternenseemann
f6b35ce8e3 haskellPackages.cabal-install-solver: allow building directly
This is a dependency of cabal-install and builds by virtue of its
overrideScope. We also want to make sure it builds independently, so
that it doesn't get marked as broken at the very least.
2022-08-27 10:02:59 +02:00
sternenseemann
4ad395f0c9 cabal-install: adapt to changes for 3.8.1.0
https://github.com/haskell/cabal/blob/cabal-install-v3.8.1.0/release-notes/cabal-install-3.8.1.0.md
2022-08-20 12:48:04 +02:00
Stefan Matting
dc594280fd haskell-language-server: fix with ghc-lib >= 9.0 and ghc <= 8.10.7
This cherry-picks the relevant changes from
https://github.com/haskell/haskell-language-server/pull/2854 into the
8.10.x version of hls-hlint-plugin, as suggested in
https://github.com/NixOS/nixpkgs/issues/168064#issuecomment-1146691884

Co-Authored-By: Florian Klink <flokli@flokli.de>
2022-08-18 17:02:16 +02:00
maralorn
dd6432a863
Merge pull request #182873 from sternenseemann/terminfo-cross
haskellPackages.terminfo: not a core pkg if cross compiling
2022-07-26 11:25:03 +02:00
Malte Brandy
0620844136 haskellPackages.regex-tdfa: Disable disfunctional tests for older ghcs 2022-07-26 11:15:03 +02:00
sternenseemann
f39aee2d8b haskellPackages.terminfo: not a core pkg if cross compiling
GHC's cross build flavours disable the terminfo package, so it will
never be included if we are cross-compiling – setting it to null thus
breaks all builds depending on the package.

To fix this problem, we use the versioned attribute generated by
hackage2nix, just like we do for xhtml.

Closes #182785.
2022-07-25 23:42:29 +02:00
sternenseemann
813f8b5efb haskellPackages: xhtml is not bundled if haddock is disabled
The xhtml library is only built as part of the GHC build process if GHC
is disabled. This means that no GHC cross compiler has xhtml bundled,
since haddock can't be built if GHC is a cross compiler (see relevant
notes in the GHC nix expressions). This means that all packages
depending on xhtml would currently fail to build when cross-compiled, as
haskellPackages would assume it'd be provided by GHC. This is fixed by
this commit.

pkgsStatic hits this case, so we test compilation of xhtml for these
package sets which will remind us to update the attribute name whenever
its version changes.
2022-04-29 15:27:02 +02:00
sternenseemann
b42bd1a3d2 haskell.packages.ghc8107.spectacle: mark as unbroken
Closes #135145.

GHC >= 9.0 is unsupported at this moment (same goes for 8.8.4):
https://github.com/awakesecurity/spectacle/issues/49
2022-04-29 10:45:33 +02:00
sternenseemann
caa10b0bee haskell.packages.ghc8{84,107}.universe-base: provide OneTuple
universe-base conditionally depends on OneTuple for GHC < 9.0 which we
need to manually reflect via these overrides.
2022-04-26 19:22:43 +02:00