Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 10 additions & 0 deletions pkgs/development/compilers/ghc/8.10.1.nix
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,16 @@ stdenv.mkDerivation (rec {

outputs = [ "out" "doc" ];

patches = [
# See upstream patch at
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
# from source distributions, the auto-generated configure script needs to be
# patched as well, therefore we use an in-tree patch instead of pulling the
# upstream patch. Don't forget to check backport status of the upstream patch
# when adding new GHC releases in nixpkgs.
./respect-ar-path.patch
];

postPatch = "patchShebangs .";

# GHC is a bit confused on its cross terminology.
Expand Down
10 changes: 9 additions & 1 deletion pkgs/development/compilers/ghc/8.10.2.nix
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,16 @@ stdenv.mkDerivation (rec {

outputs = [ "out" "doc" ];

# https://gitlab.haskell.org/ghc/ghc/-/issues/18549
patches = [
# See upstream patch at
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
# from source distributions, the auto-generated configure script needs to be
# patched as well, therefore we use an in-tree patch instead of pulling the
# upstream patch. Don't forget to check backport status of the upstream patch
# when adding new GHC releases in nixpkgs.
./respect-ar-path.patch

# https://gitlab.haskell.org/ghc/ghc/-/issues/18549
./issue-18549.patch
] ++ lib.optionals stdenv.isDarwin [
# Make Block.h compile with c++ compilers. Remove with the next release
Expand Down
10 changes: 9 additions & 1 deletion pkgs/development/compilers/ghc/8.10.3.nix
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,15 @@ stdenv.mkDerivation (rec {

outputs = [ "out" "doc" ];

patches = lib.optionals stdenv.isDarwin [
patches = [
# See upstream patch at
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
# from source distributions, the auto-generated configure script needs to be
# patched as well, therefore we use an in-tree patch instead of pulling the
# upstream patch. Don't forget to check backport status of the upstream patch
# when adding new GHC releases in nixpkgs.
./respect-ar-path.patch
] ++ lib.optionals stdenv.isDarwin [
# Make Block.h compile with c++ compilers. Remove with the next release
(fetchpatch {
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/97d0b0a367e4c6a52a17c3299439ac7de129da24.patch";
Expand Down
8 changes: 8 additions & 0 deletions pkgs/development/compilers/ghc/8.6.5.nix
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,14 @@ stdenv.mkDerivation (rec {
outputs = [ "out" "doc" ];

patches = [
# See upstream patch at
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
# from source distributions, the auto-generated configure script needs to be
# patched as well, therefore we use an in-tree patch instead of pulling the
# upstream patch. Don't forget to check backport status of the upstream patch
# when adding new GHC releases in nixpkgs.
./respect-ar-path.patch

(fetchpatch { # https://phabricator.haskell.org/D5123
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/13ff0b7ced097286e0d7b054f050871effe07f86.diff";
name = "D5123.diff";
Expand Down
10 changes: 10 additions & 0 deletions pkgs/development/compilers/ghc/8.8.2.nix
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,16 @@ stdenv.mkDerivation (rec {

outputs = [ "out" "doc" ];

patches = [
# See upstream patch at
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
# from source distributions, the auto-generated configure script needs to be
# patched as well, therefore we use an in-tree patch instead of pulling the
# upstream patch. Don't forget to check backport status of the upstream patch
# when adding new GHC releases in nixpkgs.
./respect-ar-path.patch
];

postPatch = "patchShebangs .";

# GHC is a bit confused on its cross terminology.
Expand Down
10 changes: 10 additions & 0 deletions pkgs/development/compilers/ghc/8.8.3.nix
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,16 @@ stdenv.mkDerivation (rec {

outputs = [ "out" "doc" ];

patches = [
# See upstream patch at
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
# from source distributions, the auto-generated configure script needs to be
# patched as well, therefore we use an in-tree patch instead of pulling the
# upstream patch. Don't forget to check backport status of the upstream patch
# when adding new GHC releases in nixpkgs.
./respect-ar-path.patch
];

postPatch = "patchShebangs .";

# GHC is a bit confused on its cross terminology.
Expand Down
10 changes: 10 additions & 0 deletions pkgs/development/compilers/ghc/8.8.4.nix
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,16 @@ stdenv.mkDerivation (rec {

outputs = [ "out" "doc" ];

patches = [
# See upstream patch at
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
# from source distributions, the auto-generated configure script needs to be
# patched as well, therefore we use an in-tree patch instead of pulling the
# upstream patch. Don't forget to check backport status of the upstream patch
# when adding new GHC releases in nixpkgs.
./respect-ar-path.patch
];

postPatch = "patchShebangs .";

# GHC is a bit confused on its cross terminology.
Expand Down
6 changes: 3 additions & 3 deletions pkgs/development/compilers/ghc/9.0.1.nix
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,12 @@ let

in
stdenv.mkDerivation (rec {
version = "9.0.0.20201227";
version = "9.0.1";
name = "${targetPrefix}ghc-${version}";

src = fetchurl {
url = "https://downloads.haskell.org/ghc/9.0.1-rc1/ghc-${version}-src.tar.xz";
sha256 = "1kg227fzg9qq2p7r8xqr99vvnx7ind4clxkydikyzf3vqvaacjfy";
url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
sha256 = "1y9mi9bq76z04hmggavrn8jwi1gx92bm3zhx6z69ypq6wha068x5";
};

enableParallelBuilding = true;
Expand Down
25 changes: 25 additions & 0 deletions pkgs/development/compilers/ghc/respect-ar-path.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
diff -urd a/aclocal.m4 b/aclocal.m4
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1199,7 +1199,8 @@
# thinks that target == host so it never checks the unqualified
# tools for Windows. See #14274.
AC_DEFUN([FP_PROG_AR],
-[if test -z "$fp_prog_ar"; then
+[AC_SUBST(fp_prog_ar,$AR)
+if test -z "$fp_prog_ar"; then
if test "$HostOS" = "mingw32"
then
AC_PATH_PROG([fp_prog_ar], [ar])
diff -urd a/configure b/configure
--- a/configure
+++ b/configure
@@ -10744,6 +10744,8 @@
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'


+fp_prog_ar=$AR
+
if test -z "$fp_prog_ar"; then
if test "$HostOS" = "mingw32"
then
18 changes: 5 additions & 13 deletions pkgs/development/haskell-modules/configuration-common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1405,28 +1405,20 @@ self: super: {
# quickcheck-instances is only used in the tests of binary-instances.
binary-instances = dontCheck super.binary-instances;

# tons of overrides for bleeding edge versions for ghcide and hls
# overriding aeson on all of them to prevent double compilations
# this shouldn‘t break anything because nearly all their reverse deps are
# in this list or marked as broken anyways
# 2020-11-19: Checks nearly fixed, but still disabled because of flaky tests:
# https://github.com/haskell/haskell-language-server/issues/610
# https://github.com/haskell/haskell-language-server/issues/611
haskell-language-server = dontCheck (super.haskell-language-server.override {
lsp-test = dontCheck self.lsp-test;
fourmolu = self.fourmolu_0_3_0_0;
});
haskell-language-server = dontCheck super.haskell-language-server;

# 2021-01-20
# apply-refact 0.9.0.0 get's a build error with hls-hlint-plugin 0.8.0
# https://github.com/haskell/haskell-language-server/issues/1240
apply-refact = super.apply-refact_0_8_2_1;

fourmolu = dontCheck super.fourmolu;

# 1. test requires internet
# 2. dependency shake-bench hasn't been published yet so we also need unmarkBroken and doDistribute
ghcide = doDistribute (unmarkBroken (dontCheck (super.ghcide_0_7_0_0.override { lsp-test = dontCheck self.lsp-test; })));
refinery = doDistribute super.refinery_0_3_0_0;
ghcide = doDistribute (unmarkBroken (dontCheck super.ghcide));

data-tree-print = doJailbreak super.data-tree-print;

# 2020-11-15: aeson 1.5.4.1 needs to new quickcheck-instances for testing
Expand Down Expand Up @@ -1527,7 +1519,7 @@ self: super: {

# 2020-12-05: http-client is fixed on too old version
essence-of-live-coding-warp = super.essence-of-live-coding-warp.override {
http-client = self.http-client_0_7_4;
http-client = self.http-client_0_7_5;
};

# 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,5 +88,6 @@ self: super: {

# ghc versions prior to 8.8.x needs additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;
hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib;

}
5 changes: 5 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 @@ -94,4 +94,9 @@ self: super: {

# This became a core library in ghc 8.10., so we don‘t have an "exception" attribute anymore.
exceptions = super.exceptions_0_10_4;

# Older compilers need the latest ghc-lib to build this package.
hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib;

mmorph = super.mmorph_1_1_3;
}
4 changes: 4 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 @@ -123,4 +123,8 @@ self: super: {
# ghc versions which don‘t match the ghc-lib-parser-ex version need the
# additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;

# Older compilers need the latest ghc-lib to build this package.
hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib;

}
4 changes: 0 additions & 4 deletions pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,6 @@ self: super: {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/regex-base-0.94.0.0.patch";
sha256 = "0k5fglbl7nnhn8400c4cpnflxcbj9p3xi5prl9jfmszr31jwdy5d";
});
syb = appendPatch (dontCheck super.syb) (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/syb-0.7.1.patch";
sha256 = "1407r8xv6bfnmpbw7glfh4smi76a2fc9pkq300c3d9f575708zqr";
});

# The test suite depends on ChasingBottoms, which is broken with ghc-9.0.x.
unordered-containers = dontCheck super.unordered-containers;
Expand Down
Loading