Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

haskellPackages: update stackage and hackage #167031

Merged
merged 23 commits into from
Apr 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
383fbfa
ghcWithPackages: use packageCfgDir over ghc.name where appropriate
sternenseemann Mar 31, 2022
78a93b5
haskellPackages.mkDerivation: get ghclibdir via haskellCompilerName
sternenseemann Mar 31, 2022
456faf7
ghcWithPackages: use haskellCompilerName for ghclibdir
sternenseemann Mar 31, 2022
6016ed5
treewide: replace uses of ghc.name to find packages' datadir
sternenseemann Mar 31, 2022
76be6ea
haskell.compiler.ghc902: Backport -fcompact-unwind
roberth Mar 31, 2022
1d3b238
all-cabal-hashes: Set name
roberth Mar 31, 2022
517cb71
haskellPackages.inline-c-cpp: Fix tests on darwin
roberth Dec 24, 2021
35f137e
haskellPackages.inline-c{,-cpp}: Add myself as maintainer
roberth Apr 1, 2022
f513fcc
all-cabal-hashes: 2022-03-30T19:23:57Z -> 2022-04-03T10:13:27Z
maralorn Apr 3, 2022
ae349e3
haskellPackages: regenerate package set based on current config
maralorn Apr 3, 2022
038d0d8
Merge pull request #166571 from hercules-ci/ghc902-backport-compact-u…
sternenseemann Apr 3, 2022
103d171
Merge pull request #166548 from sternenseemann/fix-ghclibdir-computation
sternenseemann Apr 3, 2022
820408b
Merge pull request #166598 from hercules-ci/all-cabal-hashes-name
sternenseemann Apr 3, 2022
f553614
haskellPackages.graphql-engine: 2.0.10 -> 2.3.1
sternenseemann Mar 15, 2022
493d651
Merge master into haskell-updates
github-actions[bot] Apr 4, 2022
f10066e
haskellPackages.jsaddle-webkit2gtk: remove obsolete patch
maralorn Apr 4, 2022
789aea7
Merge master into haskell-updates
github-actions[bot] Apr 5, 2022
2e8743b
haskell: update link to calendar for maintainer rotation
cdepillabout Apr 5, 2022
a964dca
haskell.compiler.ghcjs: pass fetchFromGitHub to ghcjs-base
sternenseemann Apr 5, 2022
fb2fc3b
Merge remote-tracking branch 'origin/master' into haskell-updates
sternenseemann Apr 5, 2022
42ec765
Merge master into haskell-updates
github-actions[bot] Apr 6, 2022
09c8dff
haskellPackages: mark builds failing on hydra as broken
sternenseemann Apr 6, 2022
5eeb531
Merge remote-tracking branch 'origin/master' into haskell-updates
sternenseemann Apr 6, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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