Merge pull request #91759 from NixOS/haskell-updates

Update Haskell package set to LTS 16.3 (plus other fixes)
This commit is contained in:
Peter Simons 2020-07-03 21:29:53 +02:00 committed by GitHub
commit f614e5006f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 2158 additions and 1477 deletions

View file

@ -1,6 +1,6 @@
{ fetchurl }:
fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/711b59b900ee0b267ebb86e41dbc83ad7fb69629.tar.gz";
sha256 = "0vfg5pilhqi59826iciz15bmylhfdlxmmkps7samzbilsf21j0sy";
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/ccbc2765586cc6f71894919f1f096714ca6ae453.tar.gz";
sha256 = "001crq0myhn0bvyrbl10i8hski6z2a0hg9ij4plbjgvl5cldkzji";
}

View file

@ -62,10 +62,6 @@ self: super: {
mysql-simple = dontCheck super.mysql-simple;
mysql-haskell = dontCheck super.mysql-haskell;
# Tests failing, fixed once 0.8.0 is in stackage
# https://gitlab.com/twittner/zeromq-haskell/issues/63
zeromq4-haskell = dontCheck super.zeromq4-haskell;
# The Hackage tarball is purposefully broken, because it's not intended to be, like, useful.
# https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/
git-annex = (overrideSrc super.git-annex {
@ -73,7 +69,7 @@ self: super: {
name = "git-annex-${super.git-annex.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + super.git-annex.version;
sha256 = "0adw72lw3ygls87w6i7hirf26gz991dkm992jb5f0h5nvy6d44pl";
sha256 = "1b5lb1h7pqfhmp54zzwha17ms20xvxai1dl7s6787m9asli4q406";
};
}).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@ -121,7 +117,6 @@ self: super: {
});
# The Haddock phase fails for one reason or another.
bytestring-progress = dontHaddock super.bytestring-progress;
deepseq-magic = dontHaddock super.deepseq-magic;
feldspar-signal = dontHaddock super.feldspar-signal; # https://github.com/markus-git/feldspar-signal/issues/1
hoodle-core = dontHaddock super.hoodle-core;
@ -175,9 +170,6 @@ self: super: {
# Test suite depends on source code being available
simple-affine-space = dontCheck super.simple-affine-space;
# https://github.com/kazu-yamamoto/simple-sendfile/issues/17
simple-sendfile = dontCheck super.simple-sendfile;
# Fails no apparent reason. Upstream has been notified by e-mail.
assertions = dontCheck super.assertions;
@ -185,9 +177,7 @@ self: super: {
cmaes = dontCheck super.cmaes; # http://hydra.cryp.to/build/498725/log/raw
dbmigrations = dontCheck super.dbmigrations;
filestore = dontCheck super.filestore;
getopt-generics = dontCheck super.getopt-generics;
graceful = dontCheck super.graceful;
Hclip = dontCheck super.Hclip;
HList = dontCheck super.HList;
ide-backend = dontCheck super.ide-backend;
marquise = dontCheck super.marquise; # https://github.com/anchor/marquise/issues/69
@ -244,7 +234,6 @@ self: super: {
bloodhound = dontCheck super.bloodhound;
buildwrapper = dontCheck super.buildwrapper;
burst-detection = dontCheck super.burst-detection; # http://hydra.cryp.to/build/496948/log/raw
cabal-bounds = dontCheck super.cabal-bounds; # http://hydra.cryp.to/build/496935/nixlog/1/raw
cabal-meta = dontCheck super.cabal-meta; # http://hydra.cryp.to/build/497892/log/raw
camfort = dontCheck super.camfort;
cjk = dontCheck super.cjk;
@ -315,7 +304,6 @@ self: super: {
language-slice = dontCheck super.language-slice;
ldap-client = dontCheck super.ldap-client;
lensref = dontCheck super.lensref;
lucid = dontCheck super.lucid; #https://github.com/chrisdone/lucid/issues/25
lvmrun = disableHardening (dontCheck super.lvmrun) ["format"];
matplotlib = dontCheck super.matplotlib;
memcache = dontCheck super.memcache;
@ -445,7 +433,7 @@ self: super: {
# https://github.com/junjihashimoto/test-sandbox-compose/issues/2
test-sandbox-compose = dontCheck super.test-sandbox-compose;
# https://github.com/tych0/xcffib/issues/37
# Waiting on language-python 0.5.8 https://github.com/bjpop/language-python/issues/60
xcffib = dontCheck super.xcffib;
# https://github.com/afcowie/locators/issues/1
@ -486,21 +474,12 @@ self: super: {
then self.buildHaskellPackages.tasty-discover
else dontCheck super.tasty-discover);
# generic-deriving bound is too tight
# aeson 1.4.6.0 needs Diff 0.4.0 to do tests but nixpkgs is still at 0.3.4
# https://github.com/bos/aeson/issues/740
aeson = dontCheck (doJailbreak super.aeson);
# containers >=0.4 && <0.6 is too tight
# https://github.com/RaphaelJ/friday/issues/34
# Waiting on https://github.com/RaphaelJ/friday/pull/36
friday = doJailbreak super.friday;
# Won't compile with recent versions of QuickCheck.
inilist = dontCheck super.inilist;
# Doesn't accept recent versions of 'base' or QuickCheck.
MissingH = dontCheck (doJailbreak super.MissingH);
# https://github.com/yaccz/saturnin/issues/3
Saturnin = dontCheck super.Saturnin;
@ -513,12 +492,6 @@ self: super: {
# https://github.com/alphaHeavy/lzma-enumerator/issues/3
lzma-enumerator = dontCheck super.lzma-enumerator;
# https://github.com/haskell-hvr/lzma/issues/14
lzma = dontCheck super.lzma;
# https://github.com/BNFC/bnfc/issues/140
BNFC = dontCheck super.BNFC;
# FPCO's fork of Cabal won't succeed its test suite.
Cabal-ide-backend = dontCheck super.Cabal-ide-backend;
@ -533,21 +506,12 @@ self: super: {
inline-c-win32 = dontDistribute super.inline-c-win32;
Southpaw = dontDistribute super.Southpaw;
# https://github.com/yesodweb/serversession/issues/1
serversession = dontCheck super.serversession;
# Hydra no longer allows building texlive packages.
lhs2tex = dontDistribute super.lhs2tex;
# https://ghc.haskell.org/trac/ghc/ticket/9825
vimus = overrideCabal super.vimus (drv: { broken = pkgs.stdenv.isLinux && pkgs.stdenv.isi686; });
# https://github.com/hspec/mockery/issues/6
mockery = overrideCabal super.mockery (drv: { preCheck = "export TRAVIS=true"; });
# https://github.com/alphaHeavy/lzma-conduit/issues/5
lzma-conduit = dontCheck super.lzma-conduit;
# https://github.com/kazu-yamamoto/logger/issues/42
logger = dontCheck super.logger;
@ -578,9 +542,6 @@ self: super: {
sha256 = "13g462qmj8c7if797gnyvf8h0cddmm3xy0pjldw48w8f8sr4qsj0";
});
# https://github.com/athanclark/sets/issues/2
sets = dontCheck super.sets;
# Install icons, metadata and cli program.
bustle = overrideCabal super.bustle (drv: {
buildDepends = [ pkgs.libpcap ];
@ -664,9 +625,6 @@ self: super: {
# https://github.com/pxqr/base32-bytestring/issues/4
base32-bytestring = dontCheck super.base32-bytestring;
# https://github.com/goldfirere/singletons/issues/122
singletons = dontCheck super.singletons;
# Djinn's last release was 2014, incompatible with Semigroup-Monoid Proposal
# https://github.com/augustss/djinn/pull/8
djinn = appendPatch super.djinn (pkgs.fetchpatch {
@ -677,9 +635,6 @@ self: super: {
# We cannot build this package w/o the C library from <http://www.phash.org/>.
phash = markBroken super.phash;
# We get lots of strange compiler errors during the test suite run.
jsaddle = dontCheck super.jsaddle;
# https://github.com/Philonous/hs-stun/pull/1
# Remove if a version > 0.1.0.1 ever gets released.
stunclient = overrideCabal super.stunclient (drv: {
@ -691,9 +646,6 @@ self: super: {
# The standard libraries are compiled separately.
idris = generateOptparseApplicativeCompletion "idris" (dontCheck super.idris);
# https://github.com/bos/math-functions/issues/25
math-functions = dontCheck super.math-functions;
# build servant docs from the repository
servant =
let
@ -731,10 +683,6 @@ self: super: {
# https://github.com/bmillwood/applicative-quoters/issues/6
applicative-quoters = doJailbreak super.applicative-quoters;
# https://github.com/roelvandijk/terminal-progress-bar/issues/13
# Still needed because of HUnit < 1.6
terminal-progress-bar = doJailbreak super.terminal-progress-bar;
# https://hydra.nixos.org/build/42769611/nixlog/1/raw
# note: the library is unmaintained, no upstream issue
dataenc = doJailbreak super.dataenc;
@ -757,39 +705,17 @@ self: super: {
# No upstream issue tracker
hspec-expectations-pretty-diff = dontCheck super.hspec-expectations-pretty-diff;
# https://github.com/basvandijk/lifted-base/issues/34
# Still needed as HUnit < 1.5
lifted-base = doJailbreak super.lifted-base;
# Don't depend on chell-quickcheck, which doesn't compile due to restricting
# QuickCheck to versions ">=2.3 && <2.9".
system-filepath = dontCheck super.system-filepath;
# https://github.com/basvandijk/case-insensitive/issues/24
# Still needed as HUnit < 1.6
case-insensitive = doJailbreak super.case-insensitive;
# https://github.com/hvr/uuid/issues/28
uuid-types = doJailbreak super.uuid-types;
uuid = doJailbreak super.uuid;
# https://github.com/ekmett/lens/issues/713
lens = disableCabalFlag super.lens "test-doctests";
# https://github.com/haskell/fgl/issues/60
# Needed for QuickCheck < 2.10
fgl = dontCheck super.fgl;
fgl-arbitrary = doJailbreak super.fgl-arbitrary;
# The tests spuriously fail
libmpd = dontCheck super.libmpd;
# https://github.com/dan-t/cabal-lenses/issues/6
cabal-lenses = doJailbreak super.cabal-lenses;
# https://github.com/fizruk/http-api-data/issues/49
http-api-data = dontCheck super.http-api-data;
# https://github.com/diagrams/diagrams-lib/issues/288
diagrams-lib = overrideCabal super.diagrams-lib (drv: { doCheck = !pkgs.stdenv.isi686; });
@ -819,9 +745,6 @@ self: super: {
digestive-functors-blaze = doJailbreak super.digestive-functors-blaze;
digestive-functors = doJailbreak super.digestive-functors;
# missing dependencies: doctest ==0.12.*
html-entities = doJailbreak super.html-entities;
# https://github.com/takano-akio/filelock/issues/5
filelock = dontCheck super.filelock;
@ -841,8 +764,7 @@ self: super: {
grakn = dontCheck (doJailbreak super.grakn);
# test suite requires git and does a bunch of git operations
# doJailbreak because of hardcoded time, seems to be fixed upstream
restless-git = dontCheck (doJailbreak super.restless-git);
restless-git = dontCheck super.restless-git;
# Depends on broken fluid.
fluid-idl-http-client = markBroken super.fluid-idl-http-client;
@ -859,20 +781,18 @@ self: super: {
# Needs QuickCheck <2.10, which we don't have.
edit-distance = doJailbreak super.edit-distance;
blaze-markup = doJailbreak super.blaze-markup;
blaze-html = doJailbreak super.blaze-html;
attoparsec = dontCheck super.attoparsec; # 1 out of 67 tests fails
int-cast = doJailbreak super.int-cast;
nix-derivation = doJailbreak super.nix-derivation;
# Needs QuickCheck <2.10, HUnit <1.6 and base <4.10
pointfree = doJailbreak super.pointfree;
# Depends on tasty < 1.x, which we don't have.
cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
# Needs tasty-quickcheck ==0.8.*, which we don't have.
cryptohash-sha256 = dontCheck super.cryptohash-sha256;
cryptohash-sha1 = doJailbreak super.cryptohash-sha1;
cryptohash-md5 = doJailbreak super.cryptohash-md5;
text-short = doJailbreak super.text-short;
gitHUD = dontCheck super.gitHUD;
githud = dontCheck super.githud;
@ -880,7 +800,6 @@ self: super: {
config-ini = dontCheck super.config-ini;
# doctest >=0.9 && <0.12
genvalidity-property = doJailbreak super.genvalidity-property;
path = dontCheck super.path;
# Test suite fails due to trying to create directories
@ -911,12 +830,6 @@ self: super: {
in doJailbreak (f super.servant-docs); # jailbreak tasty < 1.2 until servant-docs > 0.11.3 is on hackage.
swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
# requires a release including https://github.com/haskell-servant/servant-swagger/commit/249530d9f85fe76dfb18b100542f75a27e6a3079
servant-swagger = dontCheck super.servant-swagger;
# Tries to read a file it is not allowed to in the test suite
load-env = dontCheck super.load-env;
# Copy hledger man pages from data directory into the proper place. This code
# should be moved into the cabal2nix generator.
hledger = overrideCabal super.hledger (drv: {
@ -959,18 +872,8 @@ self: super: {
'';
});
# https://github.com/haskell-rewriting/term-rewriting/pull/15
# remove on next hackage update
term-rewriting = doJailbreak super.term-rewriting;
# https://github.com/GaloisInc/pure-zlib/pull/11
pure-zlib = doJailbreak super.pure-zlib;
# https://github.com/strake/lenz-template.hs/pull/2
lenz-template = doJailbreak super.lenz-template;
# https://github.com/haskell-hvr/resolv/pull/6
resolv = dontCheck super.resolv;
resolv_0_1_1_2 = dontCheck super.resolv_0_1_1_2;
# spdx 0.2.2.0 needs older tasty
@ -989,29 +892,18 @@ self: super: {
# Compiles some C++ source which requires these headers
VulkanMemoryAllocator = addExtraLibrary super.VulkanMemoryAllocator pkgs.vulkan-headers;
# # Builds only with the latest version of indexed-list-literals.
# vector-sized_1_0_3_0 = super.vector-sized_1_0_3_0.override {
# indexed-list-literals = self.indexed-list-literals_0_2_1_1;
# };
# https://github.com/dmwit/encoding/pull/3
encoding = doJailbreak (appendPatch super.encoding ./patches/encoding-Cabal-2.0.patch);
# Work around overspecified constraint on github ==0.18.
github-backup = doJailbreak super.github-backup;
# Test suite depends on old QuickCheck 2.10.x.
cassava = dontCheck super.cassava;
# Test suite depends on cabal-install
doctest = dontCheck super.doctest;
# https://github.com/haskell-servant/servant-auth/issues/113
servant-auth-client = dontCheck super.servant-auth-client;
# Test has either build errors or fails anyway, depending on the compiler.
vector-algorithms = dontCheck super.vector-algorithms;
# 2020-06-04: HACK: dontCheck - The test suite attempts to use the network.
# Should be solved when: https://github.com/dhall-lang/dhall-haskell/issues/1837
dhall = (generateOptparseApplicativeCompletion "dhall" (dontCheck super.dhall)).override { repline = self.repline_0_3_0_0; };
@ -1050,9 +942,6 @@ self: super: {
sha256 = "056rk58v9h114mjx62f41x971xn9p3nhsazcf9zrcyxh1ymrdm8j";
});
# needed because of testing-feat >=0.4.0.2 && <1.1
language-ecmascript = doJailbreak super.language-ecmascript;
# sexpr is old, broken and has no issue-tracker. Let's fix it the best we can.
sexpr =
appendPatch (overrideCabal super.sexpr (drv: {
@ -1063,9 +952,6 @@ self: super: {
# https://github.com/haskell/hoopl/issues/50
hoopl = dontCheck super.hoopl;
# https://github.com/snapframework/xmlhtml/pull/37
xmlhtml = doJailbreak super.xmlhtml;
purescript =
let
purescriptWithOverrides = super.purescript.override {
@ -1101,12 +987,8 @@ self: super: {
# });
libnix = dontCheck super.libnix;
# 2020-06-23: NOTE: > 0.33 => rm 464.patch: https://github.com/jaor/xmobar/issues/466
# dontCheck: The test suite tries to mess with ALSA, which doesn't work in the build sandbox.
xmobar = appendPatch (dontCheck super.xmobar) (pkgs.fetchpatch {
url = "https://github.com/jaor/xmobar/pull/464.patch";
sha256 = "0y1dd878yzy1cx0cjj0ijd3dmywr7jdmk68vxdjimxzblrdw1al6";
});
xmobar = dontCheck super.xmobar;
# https://github.com/mgajda/json-autotype/issues/25
json-autotype = dontCheck super.json-autotype;
@ -1124,14 +1006,6 @@ self: super: {
})];
});
# Remove unecessary constraint:
# https://github.com/haskell-infra/hackage-trustees/issues/258
data-accessor-template = overrideCabal super.data-accessor-template (drv: {
postPatch = ''
sed -i 's#template-haskell >=2.11 && <2.15#template-haskell#' data-accessor-template.cabal
'';
});
# 2020-06-05: HACK: In Nixpkgs currently this is
# old pandoc version 2.7.4 to current 2.9.2.1,
# test suite failures: https://github.com/jgm/pandoc/issues/5582
@ -1169,9 +1043,6 @@ self: super: {
# Test suite won't link for no apparent reason.
constraints-deriving = dontCheck super.constraints-deriving;
# QuickCheck >=2.3 && <2.13, hspec >=2.1 && <2.7
graphviz = dontCheck super.graphviz;
# https://github.com/elliottt/hsopenid/issues/15
openid = markBroken super.openid;
@ -1184,10 +1055,6 @@ self: super: {
'';
});
# The doctests in universum-1.5.0 are broken. The doctests in versions of universum after
# 1.5.0 should be fixed, so this should be able to be removed.
universum = dontCheck super.universum;
# https://github.com/erikd/hjsmin/issues/32
hjsmin = dontCheck super.hjsmin;
@ -1206,9 +1073,6 @@ self: super: {
# upstream issue: https://github.com/vmchale/atspkg/issues/12
language-ats = dontCheck super.language-ats;
# https://github.com/Happstack/web-routes-th/pull/3
web-routes-th = doJailbreak super.web-routes-th;
# Remove for hail > 0.2.0.0
hail = overrideCabal super.hail (drv: {
patches = [
@ -1230,9 +1094,6 @@ self: super: {
# https://github.com/kazu-yamamoto/dns/issues/150
dns = dontCheck super.dns;
# Support recent versions of fast-logger.
spacecookie = doJailbreak super.spacecookie;
# apply patches from https://github.com/snapframework/snap-server/pull/126
# manually until they are accepted upstream
snap-server = overrideCabal super.snap-server (drv: {
@ -1254,9 +1115,6 @@ self: super: {
# https://github.com/haskell-servant/servant-ekg/issues/15
servant-ekg = doJailbreak super.servant-ekg;
# krank-0.1.0 does not accept PyF-0.9.0.0.
krank = doJailbreak super.krank;
# the test suite has an overly tight restriction on doctest
# See https://github.com/ekmett/perhaps/pull/5
perhaps = doJailbreak super.perhaps;
@ -1280,9 +1138,6 @@ self: super: {
'';
});
# Unnecessary upper bound on vector <0.12.1
bitwise-enum = doJailbreak super.bitwise-enum;
# This breaks because of version bounds, but compiles and runs fine.
# Last commit is 5 years ago, so we likely won't get upstream fixed soon.
# https://bitbucket.org/rvlm/hakyll-contrib-hyphenation/src/master/
@ -1309,9 +1164,6 @@ self: super: {
# gitit is unbroken in the latest release
gitit = markUnbroken super.gitit;
# haskell-ci-0.8 needs cabal-install-parsers ==0.1, but we have 0.2.
haskell-ci = doJailbreak super.haskell-ci;
# Test suite requires database
persistent-mysql = dontCheck super.persistent-mysql;
persistent-postgresql = dontCheck super.persistent-postgresql;
@ -1481,7 +1333,56 @@ self: super: {
# See: https://github.com/robstewart57/rdf4h/issues/39
rdf4h = dontCheck super.rdf4h;
# hasn't bumped upper bounds
# test fails: "floskell-test: styles/base.md: openBinaryFile: does not exist (No such file or directory)"
# https://github.com/ennocramer/floskell/issues/48
floskell = dontCheck (doJailbreak super.floskell);
# hasn't bumped upper bounds
# test fails because of a "Warning: Unused LANGUAGE pragma"
# https://github.com/ennocramer/monad-dijkstra/issues/4
monad-dijkstra = dontCheck (doJailbreak super.monad-dijkstra);
# haskell-language-server uses its own fork of ghcide
# Test disabled: it seems to freeze (is it just that it takes a long time ?)
hls-ghcide =
dontCheck (
overrideCabal super.hls-ghcide
(old: {
# The integration test run by lsp-test requires the executable to be in the PATH
preCheck = ''
export PATH=$PATH:dist/build/ghcide
'';
})
);
haskell-language-server = (overrideCabal super.haskell-language-server
(old: {
# The integration test run by lsp-test requires the executable to be in the PATH
preCheck = ''
export PATH=$PATH:dist/build/haskell-language-server
'';
# test needs the git tool
testToolDepends = old.testToolDepends
++ [ pkgs.git ];
})).override {
# use a fork of ghcide
ghcide = self.hls-ghcide;
# use specific version
ormolu = super.ormolu_0_0_5_0;
};
# https://github.com/kowainik/policeman/issues/57
policeman = doJailbreak super.policeman;
# 2020-06-29: These three packages have bumped their dependencies for haskell-gi and haskell-gi-base beyond stack-lts.
# Choosing a jailbreak, because a version override would rebuild most of the glibverse and the packages still build with the older version.
gi-javascriptcore =
# Remove these jailbreaks, when assert fails.
assert (pkgs.lib.versionOlder super.haskell-gi-base.version "0.24");
doJailbreak super.gi-javascriptcore;
gi-soup = doJailbreak super.gi-soup;
gi-webkit2 = doJailbreak super.gi-webkit2;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View file

@ -61,28 +61,10 @@ self: super: {
haddock-library = self.haddock-library_1_9_0;
# Jailbreak to fix the build.
async = doJailbreak super.async;
base-noprelude = doJailbreak super.base-noprelude;
ChasingBottoms = doJailbreak super.ChasingBottoms;
ed25519 = doJailbreak super.ed25519;
email-validate = doJailbreak super.email-validate; # https://github.com/Porges/email-validate-hs/issues/51
feed = doJailbreak super.feed; # https://github.com/bergmark/feed/issues/48
hashable = doJailbreak super.hashable;
pandoc = doJailbreak super.pandoc;
parallel = doJailbreak super.parallel;
regex-base = doJailbreak super.regex-base;
regex-compat = doJailbreak super.regex-compat;
regex-pcre-builtin = doJailbreak super.regex-pcre-builtin;
regex-posix = doJailbreak super.regex-posix;
regex-tdfa = doJailbreak super.regex-tdfa;
split = doJailbreak super.split;
system-fileio = doJailbreak super.system-fileio;
tar = doJailbreak super.tar;
tasty-expected-failure = doJailbreak super.tasty-expected-failure;
tasty-rerun = doJailbreak super.tasty-rerun; # https://github.com/ocharles/tasty-rerun/issues/18
unliftio-core = doJailbreak super.unliftio-core;
vector = doJailbreak super.vector;
zlib = doJailbreak super.zlib;
# Use the latest version to fix the build.
lens = self.lens_4_19_2;
@ -99,13 +81,8 @@ self: super: {
ghc-lib-parser-ex = super.ghc-lib-parser-ex.override { ghc-lib-parser = null; };
# Jailbreak to fix the build.
aeson-diff = doJailbreak super.aeson-diff;
brick = doJailbreak super.brick;
cabal-plan = doJailbreak super.cabal-plan;
cborg = doJailbreak super.cborg;
cborg-json = doJailbreak super.cborg-json;
exact-pi = doJailbreak super.exact-pi;
relude = dontCheck (doJailbreak super.relude);
serialise = doJailbreak super.serialise;
setlocale = doJailbreak super.setlocale;
shellmet = doJailbreak super.shellmet;

View file

@ -54,7 +54,6 @@ self: super: {
async = doJailbreak super.async;
ChasingBottoms = doJailbreak super.ChasingBottoms;
chell = doJailbreak super.chell;
cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
Diff = dontCheck super.Diff;
doctest = doJailbreak super.doctest;
hashable = doJailbreak super.hashable;

View file

@ -67,14 +67,12 @@ core-packages:
# comment saying "# LTS Haskell x.y". Any changes after that commend will be
# lost the next time `update-stackage.sh` runs.
default-package-overrides:
# Newer versions have test suite failures.
- git-annex < 8.20200522
# This was only intended for ghc-7.0.4, and has very old deps, one hidden behind a flag
- MissingH ==1.4.2.0
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and
# not yet available in Nixpkgs
- gi-gdkx11 < 4
# LTS Haskell 16.2
# LTS Haskell 16.3
- abstract-deque ==0.3
- abstract-par ==0.3.3
- AC-Angle ==1.0
@ -281,7 +279,7 @@ default-package-overrides:
- base32-lens ==0.1.0.0
- base32string ==0.9.1
- base58string ==0.10.0
- base64 ==0.4.2
- base64 ==0.4.2.1
- base64-bytestring ==1.0.0.3
- base64-bytestring-type ==1.0.1
- base64-lens ==0.3.0
@ -387,7 +385,7 @@ default-package-overrides:
- cabal-appimage ==0.3.0.0
- cabal-debian ==5.0.2
- cabal-doctest ==1.0.8
- cabal-rpm ==2.0.5.1
- cabal-rpm ==2.0.6
- cache ==0.1.3.0
- cacophony ==0.10.1
- calendar-recycling ==0.0.0.1
@ -423,7 +421,7 @@ default-package-overrides:
- Chart ==1.9.3
- Chart-diagrams ==1.9.3
- chaselev-deque ==0.5.0.5
- ChasingBottoms ==1.3.1.8
- ChasingBottoms ==1.3.1.9
- cheapskate ==0.1.1.2
- cheapskate-highlight ==0.1.0.0
- cheapskate-lucid ==0.1.0.0
@ -449,7 +447,7 @@ default-package-overrides:
- classy-prelude-yesod ==1.5.0
- clay ==0.13.3
- clientsession ==0.9.1.2
- climb ==0.3.1
- climb ==0.3.3
- Clipboard ==2.3.2.0
- clock ==0.8
- clock-extras ==0.1.0.2
@ -612,7 +610,7 @@ default-package-overrides:
- dataurl ==0.1.0.0
- DAV ==1.3.4
- DBFunctor ==0.1.1.1
- dbus ==1.2.15.1
- dbus ==1.2.16
- dbus-hslogger ==0.1.0.1
- debian ==4.0.2
- debian-build ==0.10.2.0
@ -623,7 +621,7 @@ default-package-overrides:
- deepseq-generics ==0.2.0.0
- deepseq-instances ==0.1.0.1
- deferred-folds ==0.9.10.1
- dejafu ==2.3.0.0
- dejafu ==2.3.0.1
- dense-linear-algebra ==0.1.0.0
- depq ==0.4.1.0
- deque ==0.4.3
@ -679,7 +677,7 @@ default-package-overrides:
- double-conversion ==2.0.2.0
- download ==0.3.2.7
- drinkery ==0.4
- dsp ==0.2.5
- dsp ==0.2.5.1
- dual ==0.1.1.1
- dual-tree ==0.2.2.1
- dublincore-xml-conduit ==0.1.0.2
@ -735,7 +733,7 @@ default-package-overrides:
- errors ==2.3.0
- errors-ext ==0.4.2
- ersatz ==0.4.8
- esqueleto ==3.3.3.0
- esqueleto ==3.3.3.2
- essence-of-live-coding ==0.1.0.3
- essence-of-live-coding-gloss ==0.1.0.3
- essence-of-live-coding-pulse ==0.1.0.3
@ -817,7 +815,7 @@ default-package-overrides:
- focuslist ==0.1.0.2
- foldable1 ==0.1.0.0
- fold-debounce ==0.2.0.9
- fold-debounce-conduit ==0.2.0.4
- fold-debounce-conduit ==0.2.0.5
- foldl ==1.4.6
- folds ==0.7.5
- follow-file ==0.0.3
@ -916,7 +914,7 @@ default-package-overrides:
- ghc-typelits-extra ==0.4
- ghc-typelits-knownnat ==0.7.2
- ghc-typelits-natnormalise ==0.7.2
- ghc-typelits-presburger ==0.3.0.0
- ghc-typelits-presburger ==0.3.0.1
- ghost-buster ==0.1.1.0
- gi-atk ==2.0.21
- gi-cairo ==1.0.23
@ -962,9 +960,9 @@ default-package-overrides:
- graphviz ==2999.20.0.4
- graph-wrapper ==0.2.6.0
- gravatar ==0.8.0
- greskell ==1.1.0.2
- greskell-core ==0.1.3.4
- greskell-websocket ==0.1.2.3
- greskell ==1.1.0.3
- greskell-core ==0.1.3.5
- greskell-websocket ==0.1.2.4
- groom ==0.1.2.1
- group-by-date ==0.1.0.3
- groups ==0.4.1.0
@ -1025,7 +1023,7 @@ default-package-overrides:
- hebrew-time ==0.1.2
- hedgehog ==1.0.2
- hedgehog-corpus ==0.2.0
- hedgehog-fakedata ==0.0.1.2
- hedgehog-fakedata ==0.0.1.3
- hedgehog-fn ==1.0
- hedgehog-quickcheck ==0.1.1
- hedis ==0.12.13
@ -1039,7 +1037,7 @@ default-package-overrides:
- hformat ==0.3.3.1
- hfsevents ==0.1.6
- hidapi ==0.1.5
- hie-bios ==0.5.0
- hie-bios ==0.5.1
- hi-file-parser ==0.1.0.0
- higher-leveldb ==0.5.0.2
- highlighting-kate ==0.6.4
@ -1110,7 +1108,7 @@ default-package-overrides:
- hspec-leancheck ==0.0.4
- hspec-megaparsec ==2.1.0
- hspec-meta ==2.6.0
- hspec-need-env ==0.1.0.4
- hspec-need-env ==0.1.0.5
- hspec-parsec ==0
- hspec-smallcheck ==0.5.2
- hspec-tables ==0.0.1
@ -1241,7 +1239,7 @@ default-package-overrides:
- io-streams-haproxy ==1.0.1.0
- ip6addr ==1.0.1
- iproute ==1.7.9
- IPv6Addr ==1.1.4
- IPv6Addr ==1.1.5
- ipynb ==0.1.0.1
- ipython-kernel ==0.10.2.0
- irc ==0.6.1.0
@ -1344,7 +1342,7 @@ default-package-overrides:
- lifted-base ==0.2.3.12
- lift-generics ==0.1.3
- line ==4.0.1
- linear ==1.21
- linear ==1.21.1
- linenoise ==0.3.2
- linux-file-extents ==0.2.0.0
- linux-namespaces ==0.1.3.0
@ -1390,9 +1388,9 @@ default-package-overrides:
- markdown ==0.1.17.4
- markdown-unlit ==0.5.0
- markov-chain ==0.0.3.4
- massiv ==0.5.2.0
- massiv ==0.5.3.1
- massiv-io ==0.2.1.0
- massiv-test ==0.1.3
- massiv-test ==0.1.3.1
- mathexpr ==0.3.0.0
- math-extras ==0.1.1.0
- math-functions ==0.3.4.0
@ -1440,7 +1438,7 @@ default-package-overrides:
- minimorph ==0.2.2.0
- minio-hs ==1.5.2
- miniutter ==0.5.1.0
- min-max-pqueue ==0.1.0.1
- min-max-pqueue ==0.1.0.2
- mintty ==0.1.2
- miso ==1.6.0.0
- missing-foreign ==0.1.1
@ -1478,7 +1476,7 @@ default-package-overrides:
- monad-peel ==0.2.1.2
- monad-products ==4.0.1
- MonadPrompt ==1.0.0.5
- MonadRandom ==0.5.1.2
- MonadRandom ==0.5.2
- monad-resumption ==0.1.4.0
- monad-skeleton ==0.1.5
- monad-st ==0.2.4.1
@ -1570,7 +1568,7 @@ default-package-overrides:
- nsis ==0.3.3
- numbers ==3000.2.0.2
- numeric-extras ==0.1
- numeric-prelude ==0.4.3.1
- numeric-prelude ==0.4.3.2
- numhask ==0.4.0
- NumInstances ==1.4
- numtype-dk ==0.5.0.2
@ -1616,14 +1614,14 @@ default-package-overrides:
- optparse-simple ==0.1.1.2
- optparse-text ==0.1.1.0
- ordered-containers ==0.2.2
- ormolu ==0.1.0.0
- ormolu ==0.1.2.0
- overhang ==1.0.0
- packcheck ==0.5.1
- pager ==0.1.1.0
- pagination ==0.2.1
- pagure-cli ==0.2
- pandoc ==2.9.2.1
- pandoc-citeproc ==0.17
- pandoc-citeproc ==0.17.0.1
- pandoc-csv2table ==1.0.8
- pandoc-plot ==0.6.1.0
- pandoc-pyplot ==2.3.0.1
@ -1651,7 +1649,7 @@ default-package-overrides:
- path-io ==1.6.0
- path-pieces ==0.2.1
- path-text-utf8 ==0.0.1.6
- pathtype ==0.8.1
- pathtype ==0.8.1.1
- pathwalk ==0.3.1.2
- pattern-arrows ==0.0.2
- pcg-random ==0.1.3.6
@ -1780,7 +1778,7 @@ default-package-overrides:
- pureMD5 ==2.1.3
- purescript-bridge ==0.14.0.0
- pushbullet-types ==0.4.1.0
- pusher-http-haskell ==1.5.1.13
- pusher-http-haskell ==1.5.1.14
- pvar ==0.2.0.0
- PyF ==0.9.0.1
- qchas ==1.1.0.1
@ -1799,7 +1797,7 @@ default-package-overrides:
- quickcheck-simple ==0.1.1.1
- quickcheck-special ==0.1.0.6
- quickcheck-text ==0.1.2.1
- quickcheck-transformer ==0.3.1
- quickcheck-transformer ==0.3.1.1
- quickcheck-unicode ==1.0.1.0
- quiet ==0.2
- radius ==0.6.1.0
@ -1876,7 +1874,7 @@ default-package-overrides:
- rerebase ==1.6.1
- resolv ==0.1.2.0
- resource-pool ==0.2.3.2
- resourcet ==1.2.4.1
- resourcet ==1.2.4.2
- result ==0.2.6.0
- rethinkdb-client-driver ==0.0.25
- retry ==0.8.1.2
@ -1922,7 +1920,7 @@ default-package-overrides:
- scalpel-core ==0.6.2
- scanf ==0.1.0.0
- scanner ==0.3.1
- scheduler ==1.4.2.2
- scheduler ==1.4.2.3
- scientific ==0.3.6.2
- scotty ==0.11.6
- scrypt ==0.5.0
@ -2024,7 +2022,7 @@ default-package-overrides:
- singleton-bool ==0.1.5
- singleton-nats ==0.4.5
- singletons ==2.6
- singletons-presburger ==0.3.0.0
- singletons-presburger ==0.3.0.1
- siphash ==1.0.3
- sitemap-gen ==0.1.0.0
- size-based ==0.1.2.0
@ -2074,7 +2072,7 @@ default-package-overrides:
- squeather ==0.4.0.0
- srcloc ==0.5.1.2
- stache ==2.1.1
- stackcollapse-ghc ==0.0.1
- stackcollapse-ghc ==0.0.1.1
- stack-templatizer ==0.1.0.2
- starter ==0.3.0
- stateref ==0.3
@ -2094,7 +2092,7 @@ default-package-overrides:
- storable-complex ==0.2.3.0
- storable-record ==0.0.5
- storable-tuple ==0.0.3.3
- storablevector ==0.2.13
- storablevector ==0.2.13.1
- stratosphere ==0.53.0
- streaming ==0.2.3.0
- streaming-bytestring ==0.1.6
@ -2134,7 +2132,7 @@ default-package-overrides:
- svg-tree ==0.6.2.4
- swagger ==0.3.0
- swagger2 ==2.5
- swish ==0.10.0.3
- swish ==0.10.0.4
- syb ==0.7.1
- symbol ==0.2.4
- symengine ==0.1.2.0
@ -2160,7 +2158,7 @@ default-package-overrides:
- tardis ==0.4.1.0
- tasty ==1.2.3
- tasty-ant-xml ==1.1.6
- tasty-dejafu ==2.0.0.4
- tasty-dejafu ==2.0.0.5
- tasty-discover ==4.2.1
- tasty-expected-failure ==0.11.1.2
- tasty-golden ==2.3.3.2
@ -2421,7 +2419,7 @@ default-package-overrides:
- wai-session ==0.3.3
- wai-slack-middleware ==0.2.0
- wai-websockets ==3.0.1.2
- warp ==3.3.12
- warp ==3.3.13
- warp-tls ==3.2.12
- warp-tls-uid ==0.2.0.6
- wave ==0.2.0
@ -2436,8 +2434,8 @@ default-package-overrides:
- weigh ==0.0.16
- wide-word ==0.1.1.1
- wikicfp-scraper ==0.1.0.11
- wild-bind ==0.1.2.5
- wild-bind-x11 ==0.2.0.9
- wild-bind ==0.1.2.6
- wild-bind-x11 ==0.2.0.10
- Win32 ==2.6.1.0
- Win32-notify ==0.3.0.3
- windns ==0.1.0.1
@ -2454,7 +2452,7 @@ default-package-overrides:
- word8 ==0.1.3
- word-trie ==0.3.0
- word-wrap ==0.4.1
- world-peace ==1.0.1.0
- world-peace ==1.0.2.0
- wrap ==0.0.0
- wreq ==0.5.3.2
- writer-cps-exceptions ==0.1.0.1
@ -2499,7 +2497,7 @@ default-package-overrides:
- xxhash-ffi ==0.2.0.0
- yaml ==0.11.4.0
- yamlparse-applicative ==0.1.0.1
- yesod ==1.6.0.1
- yesod ==1.6.0.2
- yesod-auth ==1.6.10
- yesod-auth-fb ==1.10.1
- yesod-auth-hashdb ==1.7.1.2
@ -2514,7 +2512,7 @@ default-package-overrides:
- yesod-recaptcha2 ==1.0.0
- yesod-sitemap ==1.6.0
- yesod-static ==1.6.0.1
- yesod-test ==1.6.9.1
- yesod-test ==1.6.10
- yesod-websockets ==0.3.0.2
- yes-precure5-command ==5.5.3
- yi-rope ==0.11
@ -2586,6 +2584,7 @@ extra-packages:
- mtl-prelude < 2 # required for to build postgrest on mtl 2.1.x platforms
- network == 2.6.3.1 # newer versions don't compile with GHC 7.4.x and below
- network == 3.0.* # required by network-bsd, HTTP, and many others (2019-04-30)
- ormolu == 0.0.5.0 # required by haskell-language-server
- pantry == 0.2.0.0 # required by stack-2.1.3.1
- parallel == 3.2.0.3 # newer versions don't work with GHC 6.12.3
- patience ^>= 0.1 # required by chell-0.4.x
@ -2685,11 +2684,12 @@ package-maintainers:
sorki:
- cayene-lpp
- data-stm32
# - gcodehs
- gcodehs
- nix-derivation
- nix-narinfo
- ttn
# - ttn-client
- update-nix-fetchgit
- zre
unsupported-platforms:
@ -3216,6 +3216,7 @@ broken-packages:
- azubi
- azure-acs
- azure-email
- azure-functions-worker
- azure-service-api
- azure-servicebus
- azurify
@ -3577,7 +3578,6 @@ broken-packages:
- c10k
- c2ats
- cabal-audit
- cabal-bounds
- cabal-bundle-clib
- cabal-cache
- cabal-cargs
@ -3594,7 +3594,6 @@ broken-packages:
- cabal-install-bundle
- cabal-install-ghc72
- cabal-install-ghc74
- cabal-lenses
- cabal-meta
- cabal-mon
- cabal-nirvana
@ -4989,7 +4988,6 @@ broken-packages:
- flite
- float-binstring
- floating-bits
- floskell
- flow-er
- flow2dot
- flowdock
@ -5171,7 +5169,6 @@ broken-packages:
- gas
- gbu
- gc-monitoring-wai
- gcodehs
- gconf
- gdax
- gdiff-ig
@ -7700,7 +7697,6 @@ broken-packages:
- monad-atom
- monad-atom-simple
- monad-branch
- monad-dijkstra
- monad-exception
- monad-finally
- monad-fork
@ -10564,7 +10560,6 @@ broken-packages:
- unused
- uom-plugin
- up
- update-nix-fetchgit
- Updater
- uploadcare
- upskirt

File diff suppressed because it is too large Load diff

View file

@ -16,4 +16,9 @@ self: super: {
# spago is not released to Hackage.
# https://github.com/spacchetti/spago/issues/512
spago = self.callPackage ../tools/purescript/spago/spago.nix { };
# HLS and its fork of ghcide that it uses
# both are auto-generated by pkgs/development/tools/haskell/haskell-language-server/update.sh
haskell-language-server = self.callPackage ../tools/haskell/haskell-language-server { };
hls-ghcide = self.callPackage ../tools/haskell/haskell-language-server/hls-ghcide.nix { };
}

View file

@ -0,0 +1,49 @@
{ mkDerivation, aeson, async, base, base16-bytestring, binary
, blaze-markup, brittany, bytestring, Cabal, cabal-helper
, containers, cryptohash-sha1, data-default, deepseq, Diff
, directory, extra, fetchgit, filepath, floskell, ghc, ghc-check
, ghc-paths, ghcide, gitrev, hashable, haskell-lsp
, haskell-lsp-types, hie-bios, hslogger, hspec, hspec-core
, hspec-expectations, lens, lsp-test, optparse-applicative
, optparse-simple, ormolu, process, regex-tdfa, safe-exceptions
, shake, stdenv, stm, stylish-haskell, tasty, tasty-ant-xml
, tasty-expected-failure, tasty-golden, tasty-hunit, tasty-rerun
, text, time, transformers, unix, unordered-containers, yaml
}:
mkDerivation {
pname = "haskell-language-server";
version = "0.1.0.0";
src = fetchgit {
url = "https://github.com/haskell/haskell-language-server.git";
sha256 = "092i32kc9dakl6cg1dpckrb87g4k8s4w1nvrs5x85n9ncgkpqk25";
rev = "2a192db290bfe8640dafb6c1d650a0815e70d966";
fetchSubmodules = true;
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson base binary brittany bytestring Cabal cabal-helper containers
data-default deepseq Diff directory extra filepath floskell ghc
ghcide gitrev hashable haskell-lsp hie-bios hslogger lens
optparse-simple ormolu process regex-tdfa shake stylish-haskell
text transformers unix unordered-containers
];
executableHaskellDepends = [
aeson async base base16-bytestring binary bytestring containers
cryptohash-sha1 data-default deepseq directory extra filepath ghc
ghc-check ghc-paths ghcide gitrev hashable haskell-lsp hie-bios
hslogger optparse-applicative process safe-exceptions shake text
time unordered-containers
];
testHaskellDepends = [
aeson base blaze-markup bytestring containers data-default
directory filepath haskell-lsp haskell-lsp-types hie-bios hslogger
hspec hspec-core hspec-expectations lens lsp-test stm tasty
tasty-ant-xml tasty-expected-failure tasty-golden tasty-hunit
tasty-rerun text unordered-containers yaml
];
testToolDepends = [ ghcide ];
homepage = "https://github.com/haskell/haskell-language-server#readme";
description = "LSP server for GHC";
license = stdenv.lib.licenses.asl20;
}

View file

@ -0,0 +1,58 @@
{ mkDerivation, aeson, array, async, base, base16-bytestring
, binary, bytestring, Chart, Chart-diagrams, containers
, cryptohash-sha1, data-default, deepseq, diagrams, diagrams-svg
, directory, extra, fetchgit, filepath, fuzzy, ghc, ghc-boot
, ghc-boot-th, ghc-check, ghc-paths, ghc-typelits-knownnat, gitrev
, haddock-library, hashable, haskell-lsp, haskell-lsp-types
, hie-bios, hslogger, lens, lsp-test, mtl, network-uri
, opentelemetry, optparse-applicative, parser-combinators
, prettyprinter, prettyprinter-ansi-terminal, process, QuickCheck
, quickcheck-instances, regex-tdfa, rope-utf16-splay
, safe-exceptions, shake, sorted-list, stdenv, stm, syb, tasty
, tasty-expected-failure, tasty-hunit, tasty-quickcheck
, tasty-rerun, text, time, transformers, unix, unordered-containers
, utf8-string, yaml
}:
mkDerivation {
pname = "ghcide";
version = "0.2.0";
src = fetchgit {
url = "https://github.com/wz1000/ghcide";
sha256 = "0rifbrfvbgv7szgwc5apzb0i5fbkr2spzqvwg5kzng5b4zrf9a9d";
rev = "cc09b6d4cf03efa645c682347c62850c2291be25";
fetchSubmodules = true;
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson array async base binary bytestring containers data-default
deepseq directory extra filepath fuzzy ghc ghc-boot ghc-boot-th
haddock-library hashable haskell-lsp haskell-lsp-types hslogger mtl
network-uri opentelemetry prettyprinter prettyprinter-ansi-terminal
regex-tdfa rope-utf16-splay safe-exceptions shake sorted-list stm
syb text time transformers unix unordered-containers utf8-string
];
executableHaskellDepends = [
aeson async base base16-bytestring binary bytestring containers
cryptohash-sha1 data-default deepseq directory extra filepath ghc
ghc-check ghc-paths gitrev hashable haskell-lsp haskell-lsp-types
hie-bios hslogger optparse-applicative safe-exceptions shake text
time unordered-containers
];
testHaskellDepends = [
aeson base bytestring containers directory extra filepath ghc
ghc-typelits-knownnat haddock-library haskell-lsp haskell-lsp-types
lens lsp-test network-uri optparse-applicative parser-combinators
process QuickCheck quickcheck-instances rope-utf16-splay
safe-exceptions shake tasty tasty-expected-failure tasty-hunit
tasty-quickcheck tasty-rerun text
];
benchmarkHaskellDepends = [
aeson base bytestring Chart Chart-diagrams containers diagrams
diagrams-svg directory extra filepath lsp-test optparse-applicative
parser-combinators process safe-exceptions shake text yaml
];
homepage = "https://github.com/digital-asset/ghcide#readme";
description = "The core of an IDE";
license = stdenv.lib.licenses.asl20;
}

View file

@ -0,0 +1,53 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p cabal2nix jq curl
#
# This script will update the haskell-language-server derivation to the latest version using
# cabal2nix.
#
# Note that you should always try building haskell-language-server after updating it here, since
# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
# need to be updated/changed.
set -eo pipefail
# This is the directory of this update.sh script.
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# ===========================
# ghcide fork on https://github.com/wz1000/ghcide
# ===========================
# ghcide derivation created with cabal2nix.
ghcide_derivation_file="${script_dir}/hls-ghcide.nix"
# This is the current revision of hls in Nixpkgs.
ghcide_old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$ghcide_derivation_file")"
# This is the revision of ghcide used by hls on GitHub.
ghcide_new_version=$(curl --silent "https://api.github.com/repos/haskell/haskell-language-server/contents/ghcide" | jq '.sha' --raw-output)
echo "Updating haskell-language-server from old version $ghcide_old_version to new version $ghcide_new_version."
echo "Running cabal2nix and outputting to ${ghcide_derivation_file}..."
cabal2nix --revision "$ghcide_new_version" "https://github.com/wz1000/ghcide" > "$ghcide_derivation_file"
# ===========================
# HLS
# ===========================
# hls derivation created with cabal2nix.
hls_derivation_file="${script_dir}/default.nix"
# This is the current revision of hls in Nixpkgs.
hls_old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$hls_derivation_file")"
# This is the latest release version of hls on GitHub.
hls_new_version=$(curl --silent "https://api.github.com/repos/haskell/haskell-language-server/commits/master" | jq '.sha' --raw-output)
echo "Updating haskell-language-server from old version $hls_old_version to new version $hls_new_version."
echo "Running cabal2nix and outputting to ${hls_derivation_file}..."
cabal2nix --revision "$hls_new_version" "https://github.com/haskell/haskell-language-server.git" > "$hls_derivation_file"
echo "Finished."