haskell-language-server: add brittany fork

This commit is contained in:
galagora
2020-09-11 14:10:19 +03:00
parent 0e8da16ac7
commit e9b791e6a0
4 changed files with 59 additions and 2 deletions

View File

@@ -0,0 +1,36 @@
{ 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

@@ -7,6 +7,8 @@
# 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.
#
# Remember to split out different updates into multiple commits
set -eo pipefail
@@ -31,6 +33,22 @@ echo "Running cabal2nix and outputting to ${ghcide_derivation_file}..."
cabal2nix --revision "$ghcide_new_version" "https://github.com/haskell/ghcide" > "$ghcide_derivation_file"
# ===========================
# 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