Test suite depends on an old version of base16-bytestring (but has not
set up constraints for it). Can't be bothered to add an old version of
it, let's just disable the test suite for now. This should fix itself
sooner or later.
This commit has been generated by maintainers/scripts/haskell/update-hackage.sh
Additional changes:
* haskellPackages.distribution-nixpkgs: allow 1.6.0
* haskellPackages: regenerate using
`maintainers/scripts/haskell/regenerate-hackage-packages.sh`.
* no released version of hackage2nix does support distribution-nixpkgs yet.
* hackage-db 2.1.2 fixes an annoying bug introduced in 2.1.1 and also supports
Cabal 3.4: https://github.com/NixOS/cabal2nix/issues/501
1.1.0.0 brings us compatibility with opaleye >= 7.3.0.0, so we can get
rid of the old version as well. tmp-postgres was incorrectly marked as
broken (maybe due to a flaky failure) and can be unmarked.
These were blocked due to mutual desigion during me<>`sternenseemann`
discussion.
https://github.com/haskell-nix/hnix/issues/952
In short:
I shipped my own work (to support GHC 9.0) in the 0.5 releases of
`hnix-store-{core,remote}`.
These packages are really used only by `hnix` itself, and instead of maintaining
them in Nixpkgs & reacting on `hnix` release, we decided to hold them back &
switch to these versions when `hnix` provides support for them.
I just (today) released `hnix` 0.14 & it requires `hnix-store-{core,remote}`
0.5.
If you would look at dependency tree:
https://packdeps.haskellers.com/reverse/hnix-store-corehttps://packdeps.haskellers.com/reverse/hnix-store-remote
It shows that `hnix` currently is the only alive use of these projects.
The source tarball now has DOS line endings for some reason, requiring
the use of dos2unix. Also needs a jailbreak since the template-haskell
bound has become too strict.
stackage LTS 18 luckily updated haskell-gi and related libraries to
0.25, so we can remove a lot of overrides. I also unrestricted some of
them in configuration-hackage2nix/main.yml and removed the overrides
updating them in configuration-common.nix (I guess the person doing
the upgrades thought those libraries were also in stackage).
stackage has updated to dhall 1.39, so we can update these as well:
haskellPackages.dhall-openapi: 1.0.0 -> 1.0.1
haskellPackages.dhall-nix: 1.1.20 -> 1.1.21
hnix 0.13.* doesn't support hnix-store-* >= 0.5 yet, pending some
refactors to get GHC 9.0.x support working. Until that happens,
we downgrade hnix-store-* since nothing needs the new version yet.
https://github.com/haskell-nix/hnix/issues/952
Stackage Nighly recently upgraded their version of hackage-db from 2.1.0
to 2.1.1. 2.1.1 had a compatibility fix for Cabal 3.4 [1]. However it
did not increase the version bound on Cabal nor fails to compile with
Cabal 3.2, so Stackage was able to update it.
Unfortunately hackage-db with Cabal 3.2 causes observable issues [2]
in cabal2nix, so we need to downgrade it for all compilers that still
ship a Cabal version < 3.4.
Also ideally we should update the constraints for hackage-db 2.1.0 and
hackage-db 2.1.1 on hackage. See also [3].
[1]: https://github.com/peti/hackage-db/pull/12
[2]: https://github.com/NixOS/cabal2nix/issues/501
[3]: https://github.com/peti/hackage-db/pull/14
While diagrams-lib 1.4.4 doesn't per se require us to update any
diagrams lib to 1.5.0 it would require monoid-extras 0.6 which would
force us to update diagrams-core to 1.5.0, thus breaking
haskellPackages.diagrams.
Since we can just keep the patch we fetch and downgrade to 1.4.3, we
can continue sitting out the slow update cycle of the diagrams universe.
This reverts commit 52d69816b0.
Unfortunately there is no way to update to monoid-extras 0.6 yet without
marking some packages as broken. The issue is that not all diagrams*
packages have had an update adding support for GHC 9.x yet (which would
also include monoid-extras 0.6 support). The only alternative to pinning
diagrams* and monoid-extras would be to have mismatched versions between
them which always causes issues with haskellPackages.diagrams.
Note that this commit re-introduces some build failures which are to be
fixed in a follow-up commit.
Seems like the monoid-extras situation wasn't as bad as I thought and
some new releases in the meantime make every diagrams package we had
working previously work again.
* haskellPackages.monoid-extras: 0.5.1 -> 0.6
* haskellPackages.diagrams-lib: remove now unnecessary patch
* haskellPackages.namespace: jailbreak to build with new monoid-extras
The build fails due to the usage of unportable glibc functions. Since
there is probably little interest in bustle on darwin, there is no real
value in attempting to patch this.
diagrams-core has adjusted to the Optional deprecation and monoid-extras
0.6, but the rest of the diagrams-* libraries haven't yet. Until that
happens we also need to pin it to an older version.
* charsetdetect: dependency library which is vendored fails with a cpp
failure on aarch64. Could probably theoretically support aarch64, but
doesn't in practice.
* persist-state: aarch64 (no UNALIGNED_MEMORY) and armv7l (32 bit) fail
in cpp.
The diagrams libraries universe still uses monoid-extras 0.5.1 and build
failures start cropping up when upgrading it. Since no other packages I
am aware of use this, we can pin it to 0.5.1 which still uses Option
instead of Maybe (the former of which is deprecated).
Patching this seems like a lot of work that'd break other stuff because
Option is seemingly part of the public API. Let's hope they sort all of
that out themselves before base 4.15 comes around in our main package
set.
Compilation failures are related to GHC updates and other issues which
have been resolved on the package's development repository, but not yet
released. Fetching two patches resolves the problems which is probably a
midterm solution since the repository hasn't seen any activity this year
yet.
We split configuration-hackage2nix.yaml into multiple files. We bump
cabal2nix-unstable to get support for multiple config files in
hackage2nix.
* The file main.yaml is only supposed to be edited by humans.
* The file stackage.yaml is only supposed to be updated by the
update-stackage.sh
* The file broken.yaml can be edited by humans, but probably future
helpers will want to insert broken packages into this file based on
hydra reports.
* The file transitive-broken.yaml is newly introduced to be generated
by regenerate-transitive-broken-packages.sh
regenerate-transitive-broken-packages.sh makes a nix query (in
transitive-broken-packages.nix) which evaluates all haskellPackages
once with and once without "allowBroken" this way it get's a list of
packages which are broken by some transitive dependency, but does not
disable packages which have eval errors not caused by a broken package.