nixpkgs:trunk also builds aarch64-darwin these days, so this forces our
hand a little bit. We can still refuse to care about failures _too_
much, but at least we will stop merging as big a rebuilds as we are
currently.
- Christmas is over!
- Upstream has changed the name of the target triplet used for the JS
backend from js-unknown-ghcjs to javascript-unknown-ghcjs, since Cabal
calls the architecture "javascript":
6636b67023
Since the triplet is made up anyways, i.e. autoconf does not support
it and Rust uses different triplets for its emscripten backends, we'll
just change it as well.
- Upstream fixed the problem with ar(1) being invoked incorrectly by stage0:
e987e345c8
aarch64-linux will continue failing unless we find another solution.
For x86_64-darwin we won't learn anything by it being a constaint star
in our build failure reports.
These packages are not really used by anything anymore (except dovetail
which has not been working (ever?)). As they now choke on the
base-compat version we ship, we'll mark them as broken.
purescript now requires at least GHC 9.2 to be built due to the use of
OverloadedRecordDot. Consequently `haskellPackages.purescript` is marked
as broken. After eliminating the test dependency on the broken
utf8-light in language-javascript_0_7_0_0 we can build and test
purescript in the 9.2.4 package set.
This change introduces some actual overrides in
configuration-ghc-9.4.x.nix (based on the ones for 9.2) with the aim of
getting a basic 9.4 package set up. In particular the following
“interesting” packages are working:
* hpack
* hoogle
* cabal2nix
* cabal-install
You can get a better overview by looking at the overrides and the
versionedCompilerJobs in release-haskell.nix. Next obvious steps would
be working towards basic HLS support, but it seems that basically none
of the plugins are working so far. Big blockers here:
* https://github.com/alanz/ghc-exactprint/issues/114
* https://github.com/ndmitchell/hlint/issues/1413
* https://github.com/haskell/haskell-language-server/issues/3190
We ourselves have some churn to take care of and should try to release
the changes in https://github.com/NixOS/cabal2nix/pull/571 soon.
Co-authored-by: Rebecca Turner <rbt@sent.as>
Co-authored-by: sternenseemann <sternenseemann@systemli.org>
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.
Although purescript-{cst,ast} don't depend on purescript, it's important
that they use the same dependencies as the latter, so packages that
depend on more than one of them at the same time work, like e.g.
purenix (which is broken at the moment because it doesn't support
purescript 0.15).
After a dependency got unbroken recently, only a patch for LTS 18 which
is now part of the release needed cleaning up and aeson 1.5.* and
corresponding bower-json version to be provided.
the `lhs2tex` tool is a “commonly” used tool in academia to typeset
certain papers, and it would be prudent to have it available outside the
`haskellPackages` namespace, and also made available on the caches.
Also added to release-haskell.nix, and made myself the maintainer.
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.
* Test the default pkgsStatic.haskellPackages set, as it should be
working properly now.
* Instead of GHC 8.10.7 which hasn't gotten some workarounds applied,
test GHC 9.2.2 additionally which should work as well as GHC 9.0.
* Test building an actual executable, cabal2nix.
* Simplify aggregate job definition.
* Make sure GHC 9.2 lens gets built on Hydra.
By telling Hydra where to look explicitly, it can be instrumented
to build the boot ghcjs which is only about 300MB. This saves at
least some time compiling for users and will also provide some
eval CI automatically.
rustc fails to build on x86_64-darwin on the M1 builders Hydra uses.
Since GHC depends on rustc (sphinx -> cryptography -> GHC), the entire
darwin package set is broken at the moment, cluttering build reports
etc.
Expose from haskell.packages.ghc921 (which is the only GHC version that
can build it easily atm) and additionally install man page, language
guide and code examples.
GHC 9.2.1 has grown beyond being a release candidate for quite some time
now, so let's also adjust the released shortcut in the jobset
definition. ghc-api-compat and haskell-language-server still don't
support 9.2.1, however.
haskell.packages.ghc921.bsb-http-chunked: disable doctest suite
This package's doctest suite is invoked in a weird way apparently which
makes it fail to typecheck with GHC 9.2.1.
mach-o executables we produce in writers are not always fully valid for
some reason. In normal derivation this is fixed in fixupPhase and we can
replicate this behavior here easily.
Resolves#132660.
* haskell.packages.ghc884.ghc-api-compat needed us to re-add the 8.6
version of the package.
* haskell.packages.ghc901.ghc-api-compat now points to the newly
released 9.0.1 version of the package.
* haskell.packages.ghc8107.ghc-api-compat now correctly points to
ghc-api-compat 8.10.7.
GHC 9.2.1 is still unsupported (which is to be expected, with it
being a release candidate).
To make sure everything stays working we'll build ghc-api-compat as part
of versionedCompilerJobs.
The only big change is required for darwin since GHC 8.10.5 now
runs xattr in the install phase on darwin:
* 11e1dcde0d
* ec451cac39
Unfortunately, it uses the host /usr/bin/xattr by default which is
present in the build due to a lack of sandboxing on darwin. That xattr
version however still requires Python 2.7 whereas Python 3.8 is in PATH
in our build. We solve this by setting the XATTR environment variable.
We can't use python3Packages.xattr since GHC expects Apple's fork of
xattr which provides some extra flags to utilize.
Co-authored-by: Cheng Shao <cheng.shao@tweag.io>
The statically-linked Haskell packages on Darwin are not currently
working because libiconv is not building statically on Darwin.
The statically-linked Haskell packages on aarch64 are timing out on Hydra.
Since the agda compiler is updated via haskellPackages.Agda, we are
quite likely to cause regressions in agdaPackages when the language is
changed via compiler updates. Thus we should build agdaPackages (which
is very small) as part of the haskell-updates jobset and track if
basic agda functionality (compiler and standard library) is working.