···6767 # 0.5.7 segfaults when opening the main panel with qt 5.7 and fails to compile with qt 5.8
6868 # but qt > 5.6 works when only using the native browser
6969 # https://github.com/sieren/QSyncthingTray/issues/223
7070- broken = (builtins.compareVersions qtbase.version "5.7.0" >= 0 && !preferNative);
7070+ broken = (builtins.compareVersions qtbase.version "5.7.0" >= 0 && !preferNative) || stdenv.isDarwin;
7171 };
7272}
···4545 '' else ''
4646 mv "$unpackDir" "$out"
4747 '')
4848- + extraPostFetch
4949- # Remove write permissions for files unpacked with write bits set
4848+ + ''
4949+ ${extraPostFetch}
5050+ ''
5151+ # Remove non-owner write permissions
5052 # Fixes https://github.com/NixOS/nixpkgs/issues/38649
5151- #
5252- # However, we should (for the moment) retain write permission on the directory
5353- # itself, to avoid tickling https://github.com/NixOS/nix/issues/4295 in
5454- # single-user Nix installations. This is because in sandbox mode we'll try to
5555- # move the path, and if we don't have write permissions on the directory,
5656- # then we can't update the ".." entry.
5753 + ''
5858- chmod -R a-w "$out"
5959- chmod u+w "$out"
5454+ chmod 755 "$out"
6055 '';
6156} // removeAttrs args [ "stripRoot" "extraPostFetch" ])).overrideAttrs (x: {
6257 # Hackety-hack: we actually need unzip hooks, too
···116116117117 outputs = [ "out" "doc" ];
118118119119+ patches = [
120120+ # See upstream patch at
121121+ # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
122122+ # from source distributions, the auto-generated configure script needs to be
123123+ # patched as well, therefore we use an in-tree patch instead of pulling the
124124+ # upstream patch. Don't forget to check backport status of the upstream patch
125125+ # when adding new GHC releases in nixpkgs.
126126+ ./respect-ar-path.patch
127127+ ];
128128+119129 postPatch = "patchShebangs .";
120130121131 # GHC is a bit confused on its cross terminology.
+9-1
pkgs/development/compilers/ghc/8.10.2.nix
···107107108108 outputs = [ "out" "doc" ];
109109110110- # https://gitlab.haskell.org/ghc/ghc/-/issues/18549
111110 patches = [
111111+ # See upstream patch at
112112+ # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
113113+ # from source distributions, the auto-generated configure script needs to be
114114+ # patched as well, therefore we use an in-tree patch instead of pulling the
115115+ # upstream patch. Don't forget to check backport status of the upstream patch
116116+ # when adding new GHC releases in nixpkgs.
117117+ ./respect-ar-path.patch
118118+119119+ # https://gitlab.haskell.org/ghc/ghc/-/issues/18549
112120 ./issue-18549.patch
113121 ] ++ lib.optionals stdenv.isDarwin [
114122 # Make Block.h compile with c++ compilers. Remove with the next release
+9-1
pkgs/development/compilers/ghc/8.10.3.nix
···107107108108 outputs = [ "out" "doc" ];
109109110110- patches = lib.optionals stdenv.isDarwin [
110110+ patches = [
111111+ # See upstream patch at
112112+ # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
113113+ # from source distributions, the auto-generated configure script needs to be
114114+ # patched as well, therefore we use an in-tree patch instead of pulling the
115115+ # upstream patch. Don't forget to check backport status of the upstream patch
116116+ # when adding new GHC releases in nixpkgs.
117117+ ./respect-ar-path.patch
118118+ ] ++ lib.optionals stdenv.isDarwin [
111119 # Make Block.h compile with c++ compilers. Remove with the next release
112120 (fetchpatch {
113121 url = "https://gitlab.haskell.org/ghc/ghc/-/commit/97d0b0a367e4c6a52a17c3299439ac7de129da24.patch";
+8
pkgs/development/compilers/ghc/8.6.5.nix
···110110 outputs = [ "out" "doc" ];
111111112112 patches = [
113113+ # See upstream patch at
114114+ # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
115115+ # from source distributions, the auto-generated configure script needs to be
116116+ # patched as well, therefore we use an in-tree patch instead of pulling the
117117+ # upstream patch. Don't forget to check backport status of the upstream patch
118118+ # when adding new GHC releases in nixpkgs.
119119+ ./respect-ar-path.patch
120120+113121 (fetchpatch { # https://phabricator.haskell.org/D5123
114122 url = "https://gitlab.haskell.org/ghc/ghc/-/commit/13ff0b7ced097286e0d7b054f050871effe07f86.diff";
115123 name = "D5123.diff";
+10
pkgs/development/compilers/ghc/8.8.2.nix
···111111112112 outputs = [ "out" "doc" ];
113113114114+ patches = [
115115+ # See upstream patch at
116116+ # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
117117+ # from source distributions, the auto-generated configure script needs to be
118118+ # patched as well, therefore we use an in-tree patch instead of pulling the
119119+ # upstream patch. Don't forget to check backport status of the upstream patch
120120+ # when adding new GHC releases in nixpkgs.
121121+ ./respect-ar-path.patch
122122+ ];
123123+114124 postPatch = "patchShebangs .";
115125116126 # GHC is a bit confused on its cross terminology.
+10
pkgs/development/compilers/ghc/8.8.3.nix
···116116117117 outputs = [ "out" "doc" ];
118118119119+ patches = [
120120+ # See upstream patch at
121121+ # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
122122+ # from source distributions, the auto-generated configure script needs to be
123123+ # patched as well, therefore we use an in-tree patch instead of pulling the
124124+ # upstream patch. Don't forget to check backport status of the upstream patch
125125+ # when adding new GHC releases in nixpkgs.
126126+ ./respect-ar-path.patch
127127+ ];
128128+119129 postPatch = "patchShebangs .";
120130121131 # GHC is a bit confused on its cross terminology.
+10
pkgs/development/compilers/ghc/8.8.4.nix
···116116117117 outputs = [ "out" "doc" ];
118118119119+ patches = [
120120+ # See upstream patch at
121121+ # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
122122+ # from source distributions, the auto-generated configure script needs to be
123123+ # patched as well, therefore we use an in-tree patch instead of pulling the
124124+ # upstream patch. Don't forget to check backport status of the upstream patch
125125+ # when adding new GHC releases in nixpkgs.
126126+ ./respect-ar-path.patch
127127+ ];
128128+119129 postPatch = "patchShebangs .";
120130121131 # GHC is a bit confused on its cross terminology.
···11+diff -urd a/aclocal.m4 b/aclocal.m4
22+--- a/aclocal.m4
33++++ b/aclocal.m4
44+@@ -1199,7 +1199,8 @@
55+ # thinks that target == host so it never checks the unqualified
66+ # tools for Windows. See #14274.
77+ AC_DEFUN([FP_PROG_AR],
88+-[if test -z "$fp_prog_ar"; then
99++[AC_SUBST(fp_prog_ar,$AR)
1010++if test -z "$fp_prog_ar"; then
1111+ if test "$HostOS" = "mingw32"
1212+ then
1313+ AC_PATH_PROG([fp_prog_ar], [ar])
1414+diff -urd a/configure b/configure
1515+--- a/configure
1616++++ b/configure
1717+@@ -10744,6 +10744,8 @@
1818+ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
1919+2020+2121++fp_prog_ar=$AR
2222++
2323+ if test -z "$fp_prog_ar"; then
2424+ if test "$HostOS" = "mingw32"
2525+ then
···14051405 # quickcheck-instances is only used in the tests of binary-instances.
14061406 binary-instances = dontCheck super.binary-instances;
1407140714081408- # tons of overrides for bleeding edge versions for ghcide and hls
14091409- # overriding aeson on all of them to prevent double compilations
14101410- # this shouldn‘t break anything because nearly all their reverse deps are
14111411- # in this list or marked as broken anyways
14121408 # 2020-11-19: Checks nearly fixed, but still disabled because of flaky tests:
14131409 # https://github.com/haskell/haskell-language-server/issues/610
14141410 # https://github.com/haskell/haskell-language-server/issues/611
14151415- haskell-language-server = dontCheck (super.haskell-language-server.override {
14161416- lsp-test = dontCheck self.lsp-test;
14171417- fourmolu = self.fourmolu_0_3_0_0;
14181418- });
14111411+ haskell-language-server = dontCheck super.haskell-language-server;
14121412+14191413 # 2021-01-20
14201414 # apply-refact 0.9.0.0 get's a build error with hls-hlint-plugin 0.8.0
14211415 # https://github.com/haskell/haskell-language-server/issues/1240
14221416 apply-refact = super.apply-refact_0_8_2_1;
14231423-14241424- fourmolu = dontCheck super.fourmolu;
1425141714261418 # 1. test requires internet
14271419 # 2. dependency shake-bench hasn't been published yet so we also need unmarkBroken and doDistribute
14281428- ghcide = doDistribute (unmarkBroken (dontCheck (super.ghcide_0_7_0_0.override { lsp-test = dontCheck self.lsp-test; })));
14291429- refinery = doDistribute super.refinery_0_3_0_0;
14201420+ ghcide = doDistribute (unmarkBroken (dontCheck super.ghcide));
14211421+14301422 data-tree-print = doJailbreak super.data-tree-print;
1431142314321424 # 2020-11-15: aeson 1.5.4.1 needs to new quickcheck-instances for testing
···1527151915281520 # 2020-12-05: http-client is fixed on too old version
15291521 essence-of-live-coding-warp = super.essence-of-live-coding-warp.override {
15301530- http-client = self.http-client_0_7_4;
15221522+ http-client = self.http-client_0_7_5;
15311523 };
1532152415331525 # 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27)
···94949595 # This became a core library in ghc 8.10., so we don‘t have an "exception" attribute anymore.
9696 exceptions = super.exceptions_0_10_4;
9797+9898+ # Older compilers need the latest ghc-lib to build this package.
9999+ hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib;
100100+101101+ mmorph = super.mmorph_1_1_3;
97102}
···123123 # ghc versions which don‘t match the ghc-lib-parser-ex version need the
124124 # additional dependency to compile successfully.
125125 ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;
126126+127127+ # Older compilers need the latest ghc-lib to build this package.
128128+ hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib;
129129+126130}
···659659 let
660660 # spago requires an older version of megaparsec, but it appears to work
661661 # fine with newer versions.
662662- spagoWithOverrides = doJailbreak super.spago;
662662+ spagoWithOverrides = doJailbreak (super.spago.override {
663663+ dhall = self.dhall_1_37_1;
664664+ });
663665664666 # This defines the version of the purescript-docs-search release we are using.
665667 # This is defined in the src/Spago/Prelude.hs file in the spago source.
···785787 testTarget = "unit-tests";
786788 };
787789788788- haskell-language-server = overrideCabal super.haskell-language-server (drv: {
790790+ haskell-language-server = enableCabalFlag (enableCabalFlag (overrideCabal super.haskell-language-server (drv: {
789791 postInstall = let
790792 inherit (pkgs.lib) concatStringsSep take splitString;
791793 ghc_version = self.ghc.version;
···800802 export PATH=$PATH:$PWD/dist/build/haskell-language-server:$PWD/dist/build/haskell-language-server-wrapper
801803 export HOME=$TMPDIR
802804 '';
803803- });
805805+ })) "all-plugins") "all-formatters";
804806805807 # tests depend on a specific version of solc
806808 hevm = dontCheck (doJailbreak super.hevm);
···4949 responses
5050 ];
51515252+ pythonImportsCheck = [ "slack" ];
5353+5254 meta = with lib; {
5355 description = "A client for Slack, which supports the Slack Web API and Real Time Messaging (RTM) API";
5456 homepage = "https://github.com/slackapi/python-slackclient";
···11-#!/usr/bin/env nix-shell
22-#!nix-shell -i bash -p cabal2nix jq curl
33-#
44-# This script will update the haskell-language-server derivation to the latest version using
55-# cabal2nix.
66-#
77-# Note that you should always try building haskell-language-server after updating it here, since
88-# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
99-# need to be updated/changed.
1010-#
1111-# Remember to split out different updates into multiple commits
1212-1313-set -eo pipefail
1414-1515-# This is the directory of this update.sh script.
1616-script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
1717-1818-# ===========================
1919-# HLS
2020-# ===========================
2121-2222-# hls derivation created with cabal2nix.
2323-hls_derivation_file="${script_dir}/default.nix"
2424-2525-# This is the current revision of hls in Nixpkgs.
2626-hls_old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$hls_derivation_file")"
2727-2828-# This is the latest release version of hls on GitHub.
2929-# Get all tag names, filter to the hls ones (no prefix like 'hls-plugin-api-'),
3030-# sort for the latest one and select just that
3131-hls_latest_release=$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/haskell/haskell-language-server/tags |
3232- jq --raw-output 'map(.name) | .[]' |
3333- grep '^[0-9]' |
3434- sort --version-sort |
3535- tail -n1)
3636-3737-# Use this value instead for the very latest revision
3838-# hls_head=(curl --silent "https://api.github.com/repos/haskell/haskell-language-server/commits/master" | jq '.sha' --raw-output)
3939-4040-hls_new_version=$hls_latest_release
4141-4242-echo "Updating haskell-language-server from old version $hls_old_version to new version $hls_new_version."
4343-echo "Running cabal2nix and outputting to ${hls_derivation_file}..."
4444-cabal2nix --revision "$hls_new_version" "https://github.com/haskell/haskell-language-server.git" > "$hls_derivation_file"
4545-cabal2nix --revision "$hls_new_version" --subpath plugins/tactics "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/hls-tactics-plugin.nix"
4646-for plugin in "hls-hlint-plugin" "hls-explicit-imports-plugin" "hls-retrie-plugin" "hls-class-plugin" "hls-eval-plugin"; do
4747- cabal2nix --revision "$hls_new_version" --subpath plugins/$plugin "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/$plugin.nix"
4848-done
4949-5050-echo "Finished."