Merge pull request #107144 from NixOS/haskell-updates

Update Haskell package set to Stackage Nightly 2020-12-14 (plus other fixes)
This commit is contained in:
Peter Simons 2020-12-18 20:45:05 +01:00 committed by GitHub
commit e0a8fe7bdf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 1780 additions and 769 deletions

View File

@ -176,9 +176,6 @@ self: super: {
# https://github.com/jputcu/serialport/issues/25
serialport = dontCheck super.serialport;
# Test suite build depends on ancient tasty 0.11.x.
cryptohash-sha512 = dontCheck super.cryptohash-sha512;
# Test suite depends on source code being available
simple-affine-space = dontCheck super.simple-affine-space;
@ -815,6 +812,12 @@ self: super: {
# Needs QuickCheck <2.10, HUnit <1.6 and base <4.10
pointfree = doJailbreak super.pointfree;
# Depends on base <4.12
# See https://github.com/haskell-hvr/cryptohash-sha512/pull/3
# , https://github.com/haskell-hvr/cryptohash-sha512/issues/4
# and https://github.com/haskell-hvr/cryptohash-sha512/pull/5
cryptohash-sha512 = doJailbreak super.cryptohash-sha512;
# Depends on tasty < 1.x, which we don't have.
cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
@ -859,6 +862,10 @@ self: super: {
snap-templates = doJailbreak super.snap-templates; # https://github.com/snapframework/snap-templates/issues/22
swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
# hledger-lib requires the latest version of pretty-simple
hledger-lib = super.hledger-lib.override { pretty-simple = self.pretty-simple_4_0_0_0; };
pretty-simple_4_0_0_0 = super.pretty-simple_4_0_0_0.overrideScope (self: super: { prettyprinter = self.prettyprinter_1_7_0; });
# 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: {
@ -889,6 +896,7 @@ self: super: {
'';
});
hledger-web = overrideCabal super.hledger-web (drv: {
preCheck = "export HOME=$TMPDIR";
postInstall = ''
for i in $(seq 1 9); do
for j in *.$i; do
@ -948,6 +956,8 @@ self: super: {
# Generate shell completion.
cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix;
niv = generateOptparseApplicativeCompletion "niv" super.niv;
ormolu = generateOptparseApplicativeCompletion "ormolu" super.ormolu;
stack = generateOptparseApplicativeCompletion "stack" super.stack;
# musl fixes
@ -1397,24 +1407,17 @@ self: super: {
# https://github.com/haskell/haskell-language-server/issues/611
haskell-language-server = dontCheck (super.haskell-language-server.override {
lsp-test = dontCheck self.lsp-test_0_11_0_7;
fourmolu = self.fourmolu_0_3_0_0;
});
fourmolu = dontCheck super.fourmolu;
ghcide = dontCheck (appendPatch super.ghcide (pkgs.fetchpatch {
# 2020-11-13: Bumping bounds via an already upstream merged change
# https://github.com/haskell/ghcide/pull/905
url = https://github.com/haskell/ghcide/commit/9b8aaf9b06846571cc0b5d46680e686e4f9153a3.patch;
sha256 = "0j8980dmvwjcs72ahq2zc14hwkyd5ybgzyy1az3zq5flp383fai6";
includes = [ "ghcide.cabal" ];
}));
# 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.override { lsp-test = dontCheck self.lsp-test_0_11_0_7; })
));
refinery = doDistribute super.refinery_0_3_0_0;
data-tree-print = doJailbreak super.data-tree-print;
# the hls brittany is objectively better, because there hasnt been a
# brittany release in a while and this version works with 8.10.
# And we need to build it anyways.
# 2020-11-15: jailbreaking because we have strict 0.4 which is to new
brittany = self.hls-brittany;
hls-brittany = dontCheck (doJailbreak super.hls-brittany);
# 2020-11-15: aeson 1.5.4.1 needs to new quickcheck-instances for testing
aeson = dontCheck super.aeson;
@ -1495,13 +1498,13 @@ self: super: {
extraPrefix = "";
includes = [ "src/Cachix/Types/Session.hs" "src/Cachix/API/Signing.hs" ];
});
cachix = appendPatch super.cachix (pkgs.fetchpatch {
cachix = generateOptparseApplicativeCompletion "cachix" (appendPatch super.cachix (pkgs.fetchpatch {
url = https://github.com/cachix/cachix/commit/bfeec151a03afad72401815fe8bbb1b0d5d63b0d.patch;
sha256 = "06jmpz8l5vh9cch5aqdbrln7bm3fghxsicwy1m93avli320kp8pp";
stripLen = 2;
extraPrefix = "";
excludes = [ "stack.yaml" "sources.json" "src/Cachix/Types/Session.hs" "src/Cachix/API/Signing.hs" "cachix-api.cabal" "workflows/test.yml" ];
});
}));
# 2020-11-23: Jailbreaking until: https://github.com/michaelt/text-pipes/pull/29
pipes-text = doJailbreak super.pipes-text;
@ -1512,7 +1515,6 @@ self: super: {
# 2020-11-23: https://github.com/cdornan/fmt/issues/30
fmt = dontCheck super.fmt;
# 2020-11-27: Tests broken
# Upstream issue: https://github.com/haskell-servant/servant-swagger/issues/129
servant-swagger = dontCheck super.servant-swagger;
@ -1520,4 +1522,23 @@ self: super: {
# 2020-11-27: cxx-options is broken in Cabal 3.2.0.0
hercules-ci-agent = addSetupDepend super.hercules-ci-agent self.Cabal_3_2_1_0;
# 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_3;
};
# 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27)
pandoc-include-code = doJailbreak super.pandoc-include-code;
# https://github.com/jgm/pandoc/issues/6961
pandoc = dontCheck super.pandoc;
# Update pandoc dependencies to fix the build.
doctemplates = self.doctemplates_0_9;
skylighting = self.skylighting_0_10_2;
skylighting-core = self.skylighting-core_0_10_2;
# https://github.com/yesodweb/yesod/issues/1714
yesod-core = dontCheck super.yesod-core;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View File

@ -76,7 +76,7 @@ default-package-overrides:
# haskell-language-server 0.5.0.0 doesn't accept newer versions
- fourmolu ==0.2.*
- refinery ==0.2.*
# Stackage Nightly 2020-12-04
# Stackage Nightly 2020-12-14
- abstract-deque ==0.3
- abstract-par ==0.3.3
- AC-Angle ==1.0
@ -292,7 +292,7 @@ default-package-overrides:
- base-compat ==0.11.2
- base-compat-batteries ==0.11.2
- basement ==0.0.11
- base-orphans ==0.8.3
- base-orphans ==0.8.4
- base-prelude ==1.4
- base-unicode-symbols ==0.2.4.2
- basic-prelude ==0.7.0
@ -332,6 +332,7 @@ default-package-overrides:
- bitset-word8 ==0.1.1.2
- bits-extra ==0.0.2.0
- bitvec ==1.0.3.0
- bitwise-enum ==1.0.0.2
- blake2 ==0.3.0
- blanks ==0.5.0
- blas-carray ==0.1.0.1
@ -367,6 +368,7 @@ default-package-overrides:
- btrfs ==0.2.0.0
- buffer-builder ==0.2.4.7
- buffer-pipe ==0.0
- bugsnag-haskell ==0.0.4.1
- bugsnag-hs ==0.2.0.3
- bugzilla-redhat ==0.3.0
- burrito ==1.2.0.0
@ -391,7 +393,7 @@ default-package-overrides:
- bzlib ==0.5.1.0
- bzlib-conduit ==0.3.0.2
- c14n ==0.1.0.1
- c2hs ==0.28.6
- c2hs ==0.28.7
- cabal-debian ==5.1
- cabal-doctest ==1.0.8
- cabal-file ==0.1.1
@ -440,7 +442,7 @@ default-package-overrides:
- checkers ==0.5.6
- checksum ==0.0
- chimera ==0.3.1.0
- chiphunk ==0.1.2.1
- chiphunk ==0.1.4.0
- choice ==0.2.2
- chronologique ==0.3.1.3
- chronos ==1.1.1
@ -462,6 +464,7 @@ default-package-overrides:
- Clipboard ==2.3.2.0
- clock ==0.8
- clock-extras ==0.1.0.2
- closed ==0.2.0.1
- clumpiness ==0.17.0.2
- ClustalParser ==1.3.0
- cmark ==0.6
@ -649,11 +652,11 @@ default-package-overrides:
- deriving-aeson ==0.2.6
- deriving-compat ==0.5.10
- derulo ==1.0.9
- dhall ==1.36.0
- dhall-bash ==1.0.34
- dhall-json ==1.7.3
- dhall-lsp-server ==1.0.11
- dhall-yaml ==1.2.3
- dhall ==1.37.0
- dhall-bash ==1.0.35
- dhall-json ==1.7.4
- dhall-lsp-server ==1.0.12
- dhall-yaml ==1.2.4
- diagrams-solve ==0.1.2
- dialogflow-fulfillment ==0.1.1.3
- di-core ==1.0.4
@ -743,6 +746,7 @@ default-package-overrides:
- enumset ==0.0.5
- enum-subset-generate ==0.1.0.0
- envelope ==0.2.2.0
- envparse ==0.4.1
- envy ==2.1.0.0
- epub-metadata ==4.5
- eq ==4.2.1
@ -750,6 +754,8 @@ default-package-overrides:
- equational-reasoning ==0.6.0.3
- equivalence ==0.3.5
- erf ==2.0.0.0
- error-or ==0.1.1.0
- error-or-utils ==0.1.1
- errors ==2.3.0
- errors-ext ==0.4.2
- ersatz ==0.4.8
@ -835,7 +841,7 @@ default-package-overrides:
- fmlist ==0.9.4
- fmt ==0.6.1.2
- fn ==0.3.0.2
- focus ==1.0.1.4
- focus ==1.0.2
- focuslist ==0.1.0.2
- foldable1 ==0.1.0.0
- fold-debounce ==0.2.0.9
@ -990,7 +996,7 @@ default-package-overrides:
- gravatar ==0.8.0
- groom ==0.1.2.1
- group-by-date ==0.1.0.3
- groups ==0.5
- groups ==0.5.2
- gtk-sni-tray ==0.1.6.0
- gtk-strut ==0.1.3.0
- guarded-allocation ==0.0.1
@ -1098,7 +1104,7 @@ default-package-overrides:
- hourglass ==0.2.12
- hourglass-orphans ==0.1.0.0
- hp2pretty ==0.9
- hpack ==0.34.2
- hpack ==0.34.3
- hpack-dhall ==0.5.2
- hpc-codecov ==0.2.0.0
- hpc-lcov ==1.0.1
@ -1166,7 +1172,7 @@ default-package-overrides:
- http-client-overrides ==0.1.1.0
- http-client-tls ==0.3.5.3
- http-common ==0.8.2.1
- http-conduit ==2.3.7.3
- http-conduit ==2.3.7.4
- http-date ==0.0.10
- http-directory ==0.1.8
- http-download ==0.2.0.0
@ -1239,6 +1245,7 @@ default-package-overrides:
- Imlib ==0.1.2
- immortal ==0.3
- immortal-queue ==0.1.0.1
- inbox ==0.1.0
- include-file ==0.1.0.4
- incremental-parser ==0.5
- indents ==0.5.0.1
@ -1444,7 +1451,7 @@ default-package-overrides:
- markdown ==0.1.17.4
- markdown-unlit ==0.5.0
- markov-chain ==0.0.3.4
- massiv ==0.5.7.0
- massiv ==0.5.8.0
- massiv-io ==0.4.0.0
- massiv-test ==0.1.5
- mathexpr ==0.3.0.0
@ -1510,6 +1517,7 @@ default-package-overrides:
- mmorph ==1.1.3
- mnist-idx ==0.1.2.8
- mockery ==0.3.5
- mock-time ==0.1.0
- mod ==0.1.2.0
- model ==0.5
- modern-uri ==0.3.3.0
@ -1524,10 +1532,10 @@ default-package-overrides:
- monadlist ==0.0.2
- monad-logger ==0.3.36
- monad-logger-json ==0.1.0.0
- monad-logger-prefix ==0.1.11
- monad-logger-prefix ==0.1.12
- monad-loops ==0.4.3
- monad-memo ==0.5.3
- monad-metrics ==0.2.1.4
- monad-metrics ==0.2.2.0
- monad-par ==0.3.5
- monad-parallel ==0.7.2.3
- monad-par-extras ==0.3.3
@ -1657,7 +1665,7 @@ default-package-overrides:
- oo-prototypes ==0.1.0.0
- opaleye ==0.7.1.0
- OpenAL ==1.7.0.5
- openapi3 ==3.0.0.1
- openapi3 ==3.0.1.0
- open-browser ==0.2.1.0
- openexr-write ==0.1.0.2
- OpenGL ==3.0.3.0
@ -1707,7 +1715,7 @@ default-package-overrides:
- partial-handler ==1.0.3
- partial-isomorphisms ==0.2.2.1
- partial-semigroup ==0.5.1.8
- password ==2.0.1.1
- password ==2.1.0.0
- password-instances ==2.0.0.1
- path ==0.7.0
- path-binary-instance ==0.1.0.1
@ -1736,6 +1744,7 @@ default-package-overrides:
- persistable-types-HDBC-pg ==0.0.3.5
- persistent ==2.10.5.3
- persistent-documentation ==0.1.0.2
- persistent-mtl ==0.2.0.0
- persistent-mysql ==2.10.2.3
- persistent-pagination ==0.1.1.2
- persistent-postgresql ==2.10.1.2
@ -1748,6 +1757,7 @@ default-package-overrides:
- pg-transact ==0.3.1.1
- phantom-state ==0.2.1.2
- pid1 ==0.1.2.0
- pinboard ==0.10.2.0
- pipes ==4.3.14
- pipes-aeson ==0.4.1.8
- pipes-attoparsec ==0.5.1.5
@ -1954,7 +1964,7 @@ default-package-overrides:
- relude ==0.7.0.0
- renderable ==0.2.0.1
- replace-attoparsec ==1.4.2.0
- replace-megaparsec ==1.4.3.0
- replace-megaparsec ==1.4.4.0
- repline ==0.4.0.0
- req ==3.8.0
- req-conduit ==1.0.0
@ -2067,7 +2077,7 @@ default-package-overrides:
- servant-swagger ==1.1.10
- servant-swagger-ui ==0.3.4.3.37.2
- servant-swagger-ui-core ==0.3.4
- serverless-haskell ==0.12.4
- serverless-haskell ==0.12.5
- serversession ==1.0.1
- serversession-frontend-wai ==1.0
- ses-html ==0.4.0.0
@ -2195,7 +2205,7 @@ default-package-overrides:
- streaming-bytestring ==0.2.0
- streaming-commons ==0.2.2.1
- streams ==3.3
- strict ==0.4
- strict ==0.4.0.1
- strict-concurrency ==0.2.4.3
- strict-list ==0.1.5
- strict-tuple ==0.1.4
@ -2239,6 +2249,7 @@ default-package-overrides:
- system-filepath ==0.4.14
- system-info ==0.5.1
- tabular ==0.2.2.8
- taffybar ==3.2.3
- tagchup ==0.4.1.1
- tagged ==0.8.6
- tagged-binary ==0.2.0.1
@ -2314,7 +2325,7 @@ default-package-overrides:
- text-zipper ==0.10.1
- tfp ==1.0.1.1
- tf-random ==0.5
- th-abstraction ==0.4.0.0
- th-abstraction ==0.4.1.0
- th-bang-compat ==0.0.1.0
- th-compat ==0.1
- th-constraint-compat ==0.0.1.0
@ -2348,7 +2359,7 @@ default-package-overrides:
- thyme ==0.3.5.5
- tidal ==1.6.1
- tile ==0.3.0.0
- time-compat ==1.9.4
- time-compat ==1.9.5
- timeit ==2.0
- timelens ==0.2.0.2
- time-lens ==0.4.0.2
@ -2459,7 +2470,7 @@ default-package-overrides:
- unordered-containers ==0.2.13.0
- unsafe ==0.0
- urbit-hob ==0.3.3
- uri-bytestring ==0.3.2.2
- uri-bytestring ==0.3.3.0
- uri-bytestring-aeson ==0.1.0.8
- uri-encode ==1.5.0.7
- url ==2.1.3
@ -2489,7 +2500,7 @@ default-package-overrides:
- vault ==0.3.1.4
- vec ==0.3
- vector ==0.12.1.2
- vector-algorithms ==0.8.0.3
- vector-algorithms ==0.8.0.4
- vector-binary-instances ==0.2.5.1
- vector-buffer ==0.4.1
- vector-builder ==0.3.8
@ -2497,7 +2508,7 @@ default-package-overrides:
- vector-instances ==3.4
- vector-mmap ==0.0.3
- vector-rotcev ==0.1.0.0
- vector-sized ==1.4.2
- vector-sized ==1.4.3
- vector-space ==0.16
- vector-split ==1.0.0.2
- vector-th-unbox ==0.2.1.7
@ -2516,7 +2527,7 @@ default-package-overrides:
- wai-cors ==0.2.7
- wai-enforce-https ==0.0.2.1
- wai-eventsource ==3.0.0
- wai-extra ==3.1.3
- wai-extra ==3.1.4.1
- wai-feature-flags ==0.1.0.1
- wai-handler-launch ==3.0.3.1
- wai-logger ==2.3.6
@ -2543,7 +2554,7 @@ default-package-overrides:
- webex-teams-pipes ==0.2.0.1
- webgear-server ==0.2.0
- webrtc-vad ==0.1.0.3
- websockets ==0.12.7.1
- websockets ==0.12.7.2
- websockets-snap ==0.10.3.1
- weigh ==0.0.16
- wide-word ==0.1.1.1
@ -2551,7 +2562,7 @@ default-package-overrides:
- Win32 ==2.6.1.0
- Win32-notify ==0.3.0.3
- windns ==0.1.0.1
- witch ==0.0.0.3
- witch ==0.0.0.4
- witherable-class ==0
- within ==0.2.0.1
- with-location ==0.1.0
@ -2616,6 +2627,8 @@ default-package-overrides:
- yesod-form ==1.6.7
- yesod-gitrev ==0.2.1
- yesod-newsfeed ==1.7.0.0
- yesod-page-cursor ==2.0.0.0
- yesod-paginator ==1.1.1.0
- yesod-persistent ==1.6.0.5
- yesod-sitemap ==1.6.0
- yesod-static ==1.6.1.0
@ -3392,6 +3405,7 @@ broken-packages:
- bbi
- BCMtools
- bcp47
- bcp47-orphans
- bdcs
- bdcs-api
- bdd
@ -3642,9 +3656,7 @@ broken-packages:
- broker-haskell
- bronyradiogermany-common
- bronyradiogermany-streaming
- brotli
- brotli-conduit
- brotli-streams
- browscap
- bsd-sysctl
- bson
@ -4223,6 +4235,7 @@ broken-packages:
- cookies
- coordinate
- copilot
- copilot-c99
- copilot-cbmc
- copilot-language
- copilot-libraries
@ -4312,7 +4325,6 @@ broken-packages:
- cryptocipher
- cryptocompare
- cryptoconditions
- cryptohash-sha512
- cryptoids
- cryptoids-class
- cryptoids-types
@ -4927,7 +4939,6 @@ broken-packages:
- EsounD
- espial
- ess
- essence-of-live-coding-warp
- estimators
- EstProgress
- estreps
@ -6390,7 +6401,6 @@ broken-packages:
- hlrdb
- hlrdb-core
- hls
- hls-brittany
- hlwm
- hly
- hmark
@ -6440,7 +6450,6 @@ broken-packages:
- hogre
- hogre-examples
- hois
- hoist-error
- hol
- hold-em
- hole
@ -8508,7 +8517,6 @@ broken-packages:
- pandoc-filter-graphviz
- pandoc-filter-indent
- pandoc-include
- pandoc-include-code
- pandoc-japanese-filters
- pandoc-lens
- pandoc-markdown-ghci-filter
@ -8858,6 +8866,7 @@ broken-packages:
- postgresql-syntax
- postgresql-tx-query
- postgresql-tx-squeal
- postgresql-tx-squeal-compat-simple
- postgresql-typed-lifted
- postgrest
- postgrest-ws
@ -10446,6 +10455,7 @@ broken-packages:
- tds
- TeaHS
- teams
- techlab
- teeth
- telegram
- telegram-api

File diff suppressed because it is too large Load Diff

View File

@ -414,13 +414,13 @@ rec {
*/
generateOptparseApplicativeCompletion = exeName: pkg: overrideCabal pkg (drv: {
postInstall = (drv.postInstall or "") + ''
bashCompDir="$out/share/bash-completion/completions"
zshCompDir="$out/share/zsh/vendor-completions"
fishCompDir="$out/share/fish/vendor_completions.d"
bashCompDir="''${!outputBin}/share/bash-completion/completions"
zshCompDir="''${!outputBin}/share/zsh/vendor-completions"
fishCompDir="''${!outputBin}/share/fish/vendor_completions.d"
mkdir -p "$bashCompDir" "$zshCompDir" "$fishCompDir"
"$out/bin/${exeName}" --bash-completion-script "$out/bin/${exeName}" >"$bashCompDir/${exeName}"
"$out/bin/${exeName}" --zsh-completion-script "$out/bin/${exeName}" >"$zshCompDir/_${exeName}"
"$out/bin/${exeName}" --fish-completion-script "$out/bin/${exeName}" >"$fishCompDir/${exeName}.fish"
"''${!outputBin}/bin/${exeName}" --bash-completion-script "''${!outputBin}/bin/${exeName}" >"$bashCompDir/${exeName}"
"''${!outputBin}/bin/${exeName}" --zsh-completion-script "''${!outputBin}/bin/${exeName}" >"$zshCompDir/_${exeName}"
"''${!outputBin}/bin/${exeName}" --fish-completion-script "''${!outputBin}/bin/${exeName}" >"$fishCompDir/${exeName}.fish"
# Sanity check
grep -F ${exeName} <$bashCompDir/${exeName} >/dev/null || {

View File

@ -19,9 +19,10 @@ self: super: {
# 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-brittany = self.callPackage ../tools/haskell/haskell-language-server/hls-brittany.nix { };
hls-hlint-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-hlint-plugin.nix { };
hls-tactics-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-tactics-plugin.nix { };
hls-explicit-imports-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix { };
hls-retrie-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-retrie-plugin.nix { };
nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { };

View File

@ -2,39 +2,39 @@
, bytestring, containers, data-default, deepseq, directory, extra
, fetchgit, filepath, floskell, fourmolu, ghc, ghc-boot-th
, ghc-paths, ghcide, gitrev, hashable, haskell-lsp, hie-bios
, hls-hlint-plugin, hls-plugin-api, hls-tactics-plugin, hslogger
, hspec, hspec-core, lens, lsp-test, mtl, optparse-applicative
, optparse-simple, ormolu, process, regex-tdfa, retrie
, safe-exceptions, shake, stdenv, stm, stylish-haskell, tasty
, tasty-ant-xml, tasty-expected-failure, tasty-golden, tasty-hunit
, tasty-rerun, temporary, text, time, transformers
, unordered-containers, yaml
, hls-explicit-imports-plugin, hls-hlint-plugin, hls-plugin-api
, hls-retrie-plugin, hls-tactics-plugin, hslogger, hspec
, hspec-core, lens, lsp-test, mtl, 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
, temporary, text, time, transformers, unordered-containers, yaml
}:
mkDerivation {
pname = "haskell-language-server";
version = "0.6.0.0";
version = "0.7.1.0";
src = fetchgit {
url = "https://github.com/haskell/haskell-language-server.git";
sha256 = "027fq6752024wzzq9izsilm5lkq9gmpxf82rixbimbijw0yk4pwj";
rev = "372a12e797069dc3ac4fa33dcaabe3b992999d7c";
sha256 = "0gkzvjx4dgf53yicinqjshlj80gznx5khb62i7g3kqjr85iy0raa";
rev = "e4f677e1780fe85a02b99a09404a0a3c3ab5ce7c";
fetchSubmodules = true;
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
base containers data-default directory extra filepath ghc ghcide
gitrev haskell-lsp hie-bios hls-plugin-api hslogger
optparse-applicative optparse-simple process text
unordered-containers
gitrev haskell-lsp hls-plugin-api hslogger optparse-applicative
optparse-simple process shake text unordered-containers
];
executableHaskellDepends = [
aeson base binary brittany bytestring containers deepseq directory
extra filepath floskell fourmolu ghc ghc-boot-th ghc-paths ghcide
gitrev hashable haskell-lsp hie-bios hls-hlint-plugin
hls-plugin-api hls-tactics-plugin hslogger lens mtl
optparse-applicative optparse-simple ormolu process regex-tdfa
retrie safe-exceptions shake stylish-haskell temporary text time
transformers unordered-containers
gitrev hashable haskell-lsp hie-bios hls-explicit-imports-plugin
hls-hlint-plugin hls-plugin-api hls-retrie-plugin
hls-tactics-plugin hslogger lens mtl optparse-applicative
optparse-simple ormolu process regex-tdfa safe-exceptions shake
stylish-haskell temporary text time transformers
unordered-containers
];
testHaskellDepends = [
aeson base blaze-markup bytestring containers data-default

View File

@ -1,36 +0,0 @@
{ mkDerivation, aeson, base, butcher, bytestring, cmdargs
, containers, czipwith, data-tree-print, deepseq, directory, extra
, fetchgit, filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths
, hspec, monad-memo, mtl, multistate, parsec, pretty, random, safe
, semigroups, stdenv, strict, syb, text, transformers, uniplate
, unsafe, yaml
}:
mkDerivation {
pname = "brittany";
version = "0.12.1.1";
src = fetchgit {
url = "https://github.com/bubba/brittany";
sha256 = "1rkk09f8750qykrmkqfqbh44dbx1p8aq1caznxxlw8zqfvx39cxl";
rev = "c59655f10d5ad295c2481537fc8abf0a297d9d1c";
fetchSubmodules = true;
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson base butcher bytestring cmdargs containers czipwith
data-tree-print deepseq directory extra filepath ghc ghc-boot-th
ghc-exactprint ghc-paths monad-memo mtl multistate pretty random
safe semigroups strict syb text transformers uniplate unsafe yaml
];
executableHaskellDepends = [ base ];
testHaskellDepends = [
aeson base butcher bytestring cmdargs containers czipwith
data-tree-print deepseq directory extra filepath ghc ghc-boot-th
ghc-exactprint ghc-paths hspec monad-memo mtl multistate parsec
pretty safe semigroups strict syb text transformers uniplate unsafe
yaml
];
homepage = "https://github.com/lspitzner/brittany/";
description = "Haskell source code formatter";
license = stdenv.lib.licenses.agpl3;
}

View File

@ -0,0 +1,21 @@
{ mkDerivation, aeson, base, containers, deepseq, fetchgit, ghc
, ghcide, haskell-lsp-types, hls-plugin-api, shake, stdenv, text
, unordered-containers
}:
mkDerivation {
pname = "hls-explicit-imports-plugin";
version = "0.1.0.0";
src = fetchgit {
url = "https://github.com/haskell/haskell-language-server.git";
sha256 = "0gkzvjx4dgf53yicinqjshlj80gznx5khb62i7g3kqjr85iy0raa";
rev = "e4f677e1780fe85a02b99a09404a0a3c3ab5ce7c";
fetchSubmodules = true;
};
postUnpack = "sourceRoot+=/plugins/hls-explicit-imports-plugin; echo source root reset to $sourceRoot";
libraryHaskellDepends = [
aeson base containers deepseq ghc ghcide haskell-lsp-types
hls-plugin-api shake text unordered-containers
];
description = "Explicit imports plugin for Haskell Language Server";
license = stdenv.lib.licenses.asl20;
}

View File

@ -10,8 +10,8 @@ mkDerivation {
version = "0.1.0.0";
src = fetchgit {
url = "https://github.com/haskell/haskell-language-server.git";
sha256 = "027fq6752024wzzq9izsilm5lkq9gmpxf82rixbimbijw0yk4pwj";
rev = "372a12e797069dc3ac4fa33dcaabe3b992999d7c";
sha256 = "0gkzvjx4dgf53yicinqjshlj80gznx5khb62i7g3kqjr85iy0raa";
rev = "e4f677e1780fe85a02b99a09404a0a3c3ab5ce7c";
fetchSubmodules = true;
};
postUnpack = "sourceRoot+=/plugins/hls-hlint-plugin; echo source root reset to $sourceRoot";

View File

@ -0,0 +1,23 @@
{ mkDerivation, aeson, base, containers, deepseq, directory, extra
, fetchgit, ghc, ghcide, hashable, haskell-lsp, haskell-lsp-types
, hls-plugin-api, retrie, safe-exceptions, shake, stdenv, text
, transformers, unordered-containers
}:
mkDerivation {
pname = "hls-retrie-plugin";
version = "0.1.0.0";
src = fetchgit {
url = "https://github.com/haskell/haskell-language-server.git";
sha256 = "0gkzvjx4dgf53yicinqjshlj80gznx5khb62i7g3kqjr85iy0raa";
rev = "e4f677e1780fe85a02b99a09404a0a3c3ab5ce7c";
fetchSubmodules = true;
};
postUnpack = "sourceRoot+=/plugins/hls-retrie-plugin; echo source root reset to $sourceRoot";
libraryHaskellDepends = [
aeson base containers deepseq directory extra ghc ghcide hashable
haskell-lsp haskell-lsp-types hls-plugin-api retrie safe-exceptions
shake text transformers unordered-containers
];
description = "Retrie integration plugin for Haskell Language Server";
license = stdenv.lib.licenses.asl20;
}

View File

@ -1,8 +1,8 @@
{ mkDerivation, aeson, base, checkers, containers, deepseq
, directory, extra, fetchgit, filepath, fingertree, generic-lens
, ghc, ghc-boot-th, ghc-exactprint, ghc-source-gen, ghcide
, haskell-lsp, hie-bios, hls-plugin-api, hspec, lens, mtl
, QuickCheck, refinery, retrie, shake, stdenv, syb, text
, haskell-lsp, hie-bios, hls-plugin-api, hspec, hspec-discover
, lens, mtl, QuickCheck, refinery, retrie, shake, stdenv, syb, text
, transformers
}:
mkDerivation {
@ -10,8 +10,8 @@ mkDerivation {
version = "0.5.1.0";
src = fetchgit {
url = "https://github.com/haskell/haskell-language-server.git";
sha256 = "027fq6752024wzzq9izsilm5lkq9gmpxf82rixbimbijw0yk4pwj";
rev = "372a12e797069dc3ac4fa33dcaabe3b992999d7c";
sha256 = "0gkzvjx4dgf53yicinqjshlj80gznx5khb62i7g3kqjr85iy0raa";
rev = "e4f677e1780fe85a02b99a09404a0a3c3ab5ce7c";
fetchSubmodules = true;
};
postUnpack = "sourceRoot+=/plugins/tactics; echo source root reset to $sourceRoot";
@ -25,8 +25,8 @@ mkDerivation {
base checkers containers ghc hie-bios hls-plugin-api hspec mtl
QuickCheck
];
homepage = "https://github.com/isovector/hls-tactics-plugin#readme";
description = "LSP server for GHC";
testToolDepends = [ hspec-discover ];
description = "Tactics plugin for Haskell Language Server";
license = "unknown";
hydraPlatforms = stdenv.lib.platforms.none;
}

View File

@ -15,23 +15,6 @@ set -eo pipefail
# This is the directory of this update.sh script.
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# ===========================
# HLS maintainer's Brittany fork
# ===========================
# brittany derivation created with cabal2nix.
brittany_derivation_file="${script_dir}/hls-brittany.nix"
# This is the current revision of the brittany fork in Nixpkgs.
brittany_old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$brittany_derivation_file")"
brittany_new_version=$(curl --silent "https://api.github.com/repos/bubba/brittany/commits/ghc-8.10.1" | jq '.sha' --raw-output)
echo "Updating haskell-language-server's brittany from old version $brittany_old_version to new version $brittany_new_version."
echo "Running cabal2nix and outputting to ${brittany_derivation_file}..."
cabal2nix --revision "$brittany_new_version" "https://github.com/bubba/brittany" > "$brittany_derivation_file"
# ===========================
# HLS
# ===========================
@ -43,7 +26,18 @@ hls_derivation_file="${script_dir}/default.nix"
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)
# Get all tag names, filter to the hls ones (no prefix like 'hls-plugin-api-'),
# sort for the latest one and select just that
hls_latest_release=$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/haskell/haskell-language-server/tags |
jq --raw-output 'map(.name) | .[]' |
grep '^[0-9]' |
sort --version-sort |
tail -n1)
# Use this value instead for the very latest revision
# hls_head=(curl --silent "https://api.github.com/repos/haskell/haskell-language-server/commits/master" | jq '.sha' --raw-output)
hls_new_version=$hls_latest_release
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}..."
@ -51,5 +45,7 @@ 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"
cabal2nix --revision "$hls_new_version" --subpath plugins/tactics "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/hls-tactics-plugin.nix"
cabal2nix --revision "$hls_new_version" --subpath plugins/hls-hlint-plugin "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/hls-hlint-plugin.nix"
cabal2nix --revision "$hls_new_version" --subpath plugins/hls-explicit-imports-plugin "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/hls-explicit-imports-plugin.nix"
cabal2nix --revision "$hls_new_version" --subpath plugins/hls-retrie-plugin "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/hls-retrie-plugin.nix"
echo "Finished."

View File

@ -8,30 +8,6 @@ in
configureFlags = drv.configureFlags or [] ++ ["-fembed_data_files"];
buildDepends = drv.buildDepends or [] ++ [haskellPackages.file-embed];
buildTools = (drv.buildTools or []) ++ [ removeReferencesTo ];
patches = (drv.patches or []) ++ [
# Add xmlns to top-level tags in Docbook, required for nixpkgs manual.
# https://github.com/jgm/pandoc/pull/6923
(fetchpatch {
url = "https://github.com/jgm/pandoc/commit/6f35600204132c5a0907bb7cccb2e10ffb27506a.patch";
sha256 = "gRUqc4YG4lZdCZn21fPmlcrFyZ3/VlDx71lU8GMuGSs=";
})
# Generate admonitions in DocBook, required for nixpkgs manual.
# https://github.com/jgm/pandoc/pull/6922
(fetchpatch {
url = "https://github.com/jgm/pandoc/commit/dc6856530c2cb6ca58ed82721ab895b86cfe0c1c.patch";
sha256 = "EdsUDlHzsfRscXBR4EP2Z5ZEz+NfrmFHnV7c1hJczio=";
})
# Use correct id attributes in DocBook, required for nixpkgs manual.
(fetchpatch {
url = "https://github.com/jgm/pandoc/commit/16ef87745702f69d5aa948fbe6d2101577dee8f4.patch";
sha256 = "WyWTqrO6hGsMgJ7o7QL1BNvhkm0yIO1XJOcfPBDy6ag=";
})
# Allow using admonition titles from Markdown in DocBook.
(fetchpatch {
url = "https://github.com/jgm/pandoc/commit/70c7c5703afcbd1cbf2a80c2be515e038abcd419.patch";
sha256 = "2kHQ1qy/UdDi/chwCBvMjAPA/XFH42vWFCjR46Jgt6M=";
})
];
})).overrideAttrs (drv: {
# These libraries are still referenced, because they generate