Skip to content

Commit

Permalink
Merge pull request #167031 from NixOS/haskell-updates
Browse files Browse the repository at this point in the history
haskellPackages: update stackage and hackage
  • Loading branch information
sternenseemann authored Apr 6, 2022
2 parents 6e38510 + 5eeb531 commit 5a07359
Show file tree
Hide file tree
Showing 33 changed files with 918 additions and 367 deletions.
2 changes: 1 addition & 1 deletion maintainers/scripts/haskell/merge-and-open-pr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ This PR is the regular merge of the \`haskell-updates\` branch into \`master\`.
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](https://github.com/cdepillabout/nix-haskell-updates-status).
We roughly aim to merge these \`haskell-updates\` PRs at least once every two weeks. See the @NixOS/haskell [team calendar](https://cloud.maralorn.de/apps/calendar/p/Mw5WLnzsP7fC4Zky) for who is currently in charge of this branch.
We roughly aim to merge these \`haskell-updates\` PRs at least once every two weeks. See the @NixOS/haskell [team calendar](https://cloud.maralorn.de/apps/calendar/p/H6migHmKX7xHoTFa) for who is currently in charge of this branch.
### haskellPackages Workflow Summary
Expand Down
2 changes: 1 addition & 1 deletion nixos/modules/services/misc/gitit.nix
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ let

toYesNo = b: if b then "yes" else "no";

gititShared = with cfg.haskellPackages; gitit + "/share/" + pkgs.stdenv.hostPlatform.system + "-" + ghc.name + "/" + gitit.pname + "-" + gitit.version;
gititShared = with cfg.haskellPackages; gitit + "/share/" + ghc.targetPrefix + ghc.haskellCompilerName + "/" + gitit.pname + "-" + gitit.version;

gititWithPkgs = hsPkgs: extras: hsPkgs.ghcWithPackages (self: with self; [ gitit ] ++ (extras self));

Expand Down
3 changes: 2 additions & 1 deletion pkgs/data/misc/hackage/default.nix
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Hackage database snapshot, used by maintainers/scripts/regenerate-hackage-packages.sh
# and callHackage
{ fetchurl }:
{ lib, fetchurl }:
let
pin = builtins.fromJSON (builtins.readFile ./pin.json);
in
fetchurl {
inherit (pin) url sha256;
name = "all-cabal-hashes-${lib.substring 0 7 pin.commit}.tar.gz";
passthru.updateScript = ../../../../maintainers/scripts/haskell/update-hackage.sh;
}
8 changes: 4 additions & 4 deletions pkgs/data/misc/hackage/pin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"commit": "a02557e981025a281de13f66204c2cd2e788732f",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/a02557e981025a281de13f66204c2cd2e788732f.tar.gz",
"sha256": "0c6jg9s4p65ynkkk0z6p9q4whz5hs1vmbq8zsn7pavxkzwa8ych1",
"msg": "Update from Hackage at 2022-03-30T19:23:57Z"
"commit": "e4f120f36a6e55fc2fe15c5ed774773420d38108",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/e4f120f36a6e55fc2fe15c5ed774773420d38108.tar.gz",
"sha256": "16ljr256nrlmmsll2pbnf0xk07mqbcwa9n6d0mc2j44vyb478qwl",
"msg": "Update from Hackage at 2022-04-03T10:13:27Z"
}
12 changes: 12 additions & 0 deletions pkgs/development/compilers/ghc/9.0.2.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx, xattr
, autoSignDarwinBinariesHook
, bash
, fetchpatch

, libiconv ? null, ncurses
, glibcLocales ? null
Expand Down Expand Up @@ -182,6 +183,17 @@ stdenv.mkDerivation (rec {

outputs = [ "out" "doc" ];

patches = [
# Add flag that fixes C++ exception handling; opt-in. Merged in 9.4 and 9.2.2.
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7423
(fetchpatch {
name = "ghc-9.0.2-fcompact-unwind.patch";
# Note that the test suite is not packaged.
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/c6132c782d974a7701e7f6447bdcd2bf6db4299a.patch?merge_request_iid=7423";
sha256 = "sha256-b4feGZIaKDj/UKjWTNY6/jH4s2iate0wAgMxG3rAbZI=";
})
];

postPatch = "patchShebangs .";

# GHC needs the locale configured during the Haddock phase.
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/haskell-modules/HACKING.md
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ Here are some additional tips that didn't fit in above.
[release-haskell.nix](../../top-level/release-haskell.nix).

1. Update the
[Nextcloud Calendar](https://cloud.maralorn.de/apps/calendar/p/Mw5WLnzsP7fC4Zky)
[Nextcloud Calendar](https://cloud.maralorn.de/apps/calendar/p/H6migHmKX7xHoTFa)
and work the new member into the `haskell-updates` rotation.

1. Optionally, have the new member add themselves to the Haskell
Expand Down
65 changes: 33 additions & 32 deletions pkgs/development/haskell-modules/configuration-common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -619,7 +619,7 @@ self: super: {
doCheck = false; # https://github.com/kazu-yamamoto/ghc-mod/issues/335
executableToolDepends = drv.executableToolDepends or [] ++ [pkgs.buildPackages.emacs];
postInstall = ''
local lispdir=( "$data/share/${self.ghc.name}/*/${drv.pname}-${drv.version}/elisp" )
local lispdir=( "$data/share/${self.ghc.targetPrefix}${self.ghc.haskellCompilerName}/*/${drv.pname}-${drv.version}/elisp" )
make -C $lispdir
mkdir -p $data/share/emacs/site-lisp
ln -s "$lispdir/"*.el{,c} $data/share/emacs/site-lisp/
Expand Down Expand Up @@ -654,7 +654,7 @@ self: super: {
# cannot easily byte-compile these files, unfortunately, because they
# depend on a new version of haskell-mode that we don't have yet.
postInstall = ''
local lispdir=( "$data/share/${self.ghc.name}/"*"/${drv.pname}-"*"/elisp" )
local lispdir=( "$data/share/${self.ghc.targetPrefix}${self.ghc.haskellCompilerName}/"*"/${drv.pname}-"*"/elisp" )
mkdir -p $data/share/emacs
ln -s $lispdir $data/share/emacs/site-lisp
'';
Expand All @@ -665,7 +665,7 @@ self: super: {
# We cannot easily byte-compile these files, unfortunately, because they
# depend on a new version of haskell-mode that we don't have yet.
postInstall = ''
local lispdir=( "$data/share/${self.ghc.name}/"*"/${drv.pname}-"*"/elisp" )
local lispdir=( "$data/share/${self.ghc.targetPrefix}${self.ghc.haskellCompilerName}/"*"/${drv.pname}-"*"/elisp" )
mkdir -p $data/share/emacs
ln -s $lispdir $data/share/emacs/site-lisp
'';
Expand Down Expand Up @@ -1484,35 +1484,48 @@ self: super: {

# hasura packages need some extra care
graphql-engine = overrideCabal (drv: {
patches = [ ./patches/graphql-engine-mapkeys.patch ];
patches = [
# Compat with unordered-containers >= 0.2.15.0
(fetchpatch {
name = "hasura-graphql-engine-updated-deps.patch";
url = "https://github.com/hasura/graphql-engine/commit/d50aae87a58794bc1fc66c7a60acb0c34b5e70c7.patch";
stripLen = 1;
excludes = [ "cabal.project.freeze" ];
sha256 = "0lb5l9vfynr85i9xs53w4mpgczp04ncxz7846n3y91ri34fa87v3";
})
# Compat with hashable >= 1.3.4.0
(fetchpatch {
name = "hasura-graphql-engine-hashable-1.3.4.0.patch";
url = "https://github.com/hasura/graphql-engine/commit/e48b2287315fb09005ffd52c0a686dc321171ae2.patch";
sha256 = "1jppnanmsyl8npyf59s0d8bgjy7bq50vkh5zx4888jy6jqh27jb6";
stripLen = 1;
})
# Compat with unordered-containers >= 0.2.17.0
(fetchpatch {
name = "hasura-graphql-engine-unordered-containers-0.2.17.0.patch";
url = "https://github.com/hasura/graphql-engine/commit/3a1eb3128a2ded2da7c5fef089738890828cce03.patch";
sha256 = "0vz7s8m8mjvv728vm4q0dvvrirvydaw7xks30b5ddj9f6a72a2f1";
stripLen = 1;
})
];
doHaddock = false;
version = "2.0.10";
}) (super.graphql-engine.overrideScope (self: super: {
version = "2.3.1";
}) (super.graphql-engine.override {
immortal = self.immortal_0_2_2_1;
resource-pool = self.hasura-resource-pool;
ekg-core = self.hasura-ekg-core;
ekg-json = self.hasura-ekg-json;
hspec = dontCheck self.hspec_2_9_4;
hspec-core = dontCheck self.hspec-core_2_9_4;
hspec-discover = dontCheck super.hspec-discover_2_9_4;
}));
hasura-ekg-core = doJailbreak (super.hasura-ekg-core.overrideScope (self: super: {
hspec = dontCheck self.hspec_2_9_4;
hspec-core = dontCheck self.hspec-core_2_9_4;
hspec-discover = dontCheck super.hspec-discover_2_9_4;
}));
hasura-ekg-json = super.hasura-ekg-json.overrideScope (self: super: {
ekg-core = self.hasura-ekg-core;
hspec = dontCheck self.hspec_2_9_4;
hspec-core = dontCheck self.hspec-core_2_9_4;
hspec-discover = dontCheck super.hspec-discover_2_9_4;
});
hasura-ekg-json = super.hasura-ekg-json.override {
ekg-core = self.hasura-ekg-core;
};
pg-client = overrideCabal (drv: {
librarySystemDepends = with pkgs; [ postgresql krb5.dev openssl.dev ];
# wants a running DB to check against
doCheck = false;
}) (super.pg-client.override {
resource-pool = self.hasura-resource-pool;
ekg-core = self.hasura-ekg-core;
});

# https://github.com/bos/statistics/issues/170
Expand Down Expand Up @@ -2044,18 +2057,6 @@ self: super: {
'' + (drv.postPatch or "");
}) (doJailbreak super.jsaddle);

# 2022-03-22: PR for haskell-gi-base compat https://github.com/ghcjs/jsaddle/pull/129
jsaddle-webkit2gtk =
appendPatch (
fetchpatch {
name = "haskell-gi-base-0.26-compat-patch";
url = "https://github.com/ghcjs/jsaddle/commit/c9a9ad39addea469f7e3f5bc6b1c778fefaab5d8.patch";
sha256 = "sha256-4njoOxtJH2jVqiPmW8f9hGUqpzI3yJ1XP4u85QgmvjU=";
relative = "jsaddle-webkit2gtk";
}
)
super.jsaddle-webkit2gtk;

# 2022-03-22: Jailbreak for base bound: https://github.com/reflex-frp/reflex-dom/pull/433
reflex-dom = assert super.reflex-dom.version == "0.6.1.1"; doJailbreak super.reflex-dom;

Expand Down
2 changes: 0 additions & 2 deletions pkgs/development/haskell-modules/configuration-darwin.nix
Original file line number Diff line number Diff line change
Expand Up @@ -287,8 +287,6 @@ self: super: ({
# https://github.com/fpco/unliftio/issues/87
unliftio = dontCheck super.unliftio;

# https://github.com/fpco/inline-c/issues/127
inline-c-cpp = dontCheck super.inline-c-cpp;

# https://github.com/haskell-crypto/cryptonite/issues/360
cryptonite = appendPatch ./patches/cryptonite-remove-argon2.patch super.cryptonite;
Expand Down
7 changes: 7 additions & 0 deletions pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

with haskellLib;

let
inherit (pkgs.stdenv.hostPlatform) isDarwin;
in

self: super: {

llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
Expand Down Expand Up @@ -121,4 +125,7 @@ self: super: {
] super.mysql-simple;

taffybar = markUnbroken (doDistribute super.taffybar);

# https://github.com/fpco/inline-c/issues/127 (recommend to upgrade to Nixpkgs GHC >=9.0)
inline-c-cpp = (if isDarwin then dontCheck else x: x) super.inline-c-cpp;
}
6 changes: 6 additions & 0 deletions pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

with haskellLib;

let
inherit (pkgs.stdenv.hostPlatform) isDarwin;
in

self: super: {

llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
Expand Down Expand Up @@ -104,4 +108,6 @@ self: super: {

mime-string = disableOptimization super.mime-string;

# https://github.com/fpco/inline-c/issues/127 (recommend to upgrade to Nixpkgs GHC >=9.0)
inline-c-cpp = (if isDarwin then dontCheck else x: x) super.inline-c-cpp;
}
7 changes: 7 additions & 0 deletions pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

with haskellLib;

let
inherit (pkgs.stdenv.hostPlatform) isDarwin;
in

self: super: {

llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
Expand Down Expand Up @@ -150,4 +154,7 @@ self: super: {
mysql-simple = addBuildDepends [
self.blaze-textual
] super.mysql-simple;

# https://github.com/fpco/inline-c/issues/127 (recommend to upgrade to Nixpkgs GHC >=9.0)
inline-c-cpp = (if isDarwin then dontCheck else x: x) super.inline-c-cpp;
}
10 changes: 10 additions & 0 deletions pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

with haskellLib;

let
inherit (pkgs.stdenv.hostPlatform) isDarwin;
in

self: super: {

llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
Expand Down Expand Up @@ -118,4 +122,10 @@ self: super: {
multistate = doJailbreak super.multistate;
# https://github.com/lspitzner/butcher/issues/7
butcher = doJailbreak super.butcher;

# We use a GHC patch to support the fix for https://github.com/fpco/inline-c/issues/127
# which means that the upstream cabal file isn't allowed to add the flag.
inline-c-cpp =
(if isDarwin then appendConfigureFlags ["--ghc-option=-fcompact-unwind"] else x: x)
super.inline-c-cpp;
}
9 changes: 9 additions & 0 deletions pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

with haskellLib;

let
inherit (pkgs.stdenv.hostPlatform) isDarwin;
in

self: super: {

llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
Expand Down Expand Up @@ -236,4 +240,9 @@ self: super: {
hls-retrie-plugin = null;
hls-splice-plugin = null;
}));

# https://github.com/fpco/inline-c/pull/131
inline-c-cpp =
(if isDarwin then appendConfigureFlags ["--ghc-option=-fcompact-unwind"] else x: x)
super.inline-c-cpp;
}
9 changes: 9 additions & 0 deletions pkgs/development/haskell-modules/configuration-ghc-head.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@

with haskellLib;

let
inherit (pkgs.stdenv.hostPlatform) isDarwin;
in

self: super: {

llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
Expand Down Expand Up @@ -74,4 +78,9 @@ self: super: {
# Break out of "yaml >=0.10.4.0 && <0.11": https://github.com/commercialhaskell/stack/issues/4485
stack = doJailbreak super.stack;

# https://github.com/fpco/inline-c/pull/131
# and/or https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7739
inline-c-cpp =
(if isDarwin then appendConfigureFlags ["--ghc-option=-fcompact-unwind"] else x: x)
super.inline-c-cpp;
}
2 changes: 1 addition & 1 deletion pkgs/development/haskell-modules/configuration-ghcjs.nix
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ self: super:
jailbreak-cabal alex happy gtk2hs-buildtools rehoo hoogle;

ghcjs-base = dontCheck (self.callPackage ../compilers/ghcjs/ghcjs-base.nix {
fetchgit = pkgs.buildPackages.fetchgit;
fetchFromGitHub = pkgs.buildPackages.fetchFromGitHub;
});

# GHCJS does not ship with the same core packages as GHC.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1392,6 +1392,7 @@ broken-packages:
- fast-nats
- fastpbkdf2
- FastPush
- fast-tags
- FastxPipe
- fathead-util
- fb
Expand Down Expand Up @@ -3959,6 +3960,7 @@ broken-packages:
- powerdns
- powermate
- powerpc
- powerqueue-levelmem
- pprecord
- PPrinter
- pqc
Expand Down Expand Up @@ -4705,6 +4707,7 @@ broken-packages:
- socketio
- sockets-and-pipes
- socket-sctp
- socketson
- socket-unix
- sodium
- soegtk
Expand Down Expand Up @@ -5205,6 +5208,7 @@ broken-packages:
- trial-tomland
- trigger
- trim
- tripLL
- trivia
- tropical
- true-name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,8 @@ package-maintainers:
- hercules-ci-cli
- hercules-ci-cnix-expr
- hercules-ci-cnix-store
- inline-c
- inline-c-cpp
rvl:
- taffybar
- arbtt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -928,6 +928,7 @@ dont-distribute-packages:
- cfopu
- chainweb-mining-client
- chalkboard-viewer
- chapelure
- charade
- chart-cli
- chart-svg-various
Expand Down Expand Up @@ -1354,7 +1355,6 @@ dont-distribute-packages:
- errors-ext
- ersatz-toysat
- esotericbot
- espial
- estimators
- estreps
- eternity
Expand Down Expand Up @@ -1433,6 +1433,7 @@ dont-distribute-packages:
- feed-translator
- feed2lj
- feed2twitter
- feedback
- fei-base
- fei-dataiter
- fei-datasets
Expand Down
Loading

0 comments on commit 5a07359

Please sign in to comment.