Skip to content

Commit 8428df4

Browse files
ttuegelrv-jenkins
andauthored
LTS Haskell 17.4
* editorconfig: Set style for Nix expressions * rematerialize.sh: Add shell inputs * LTS Haskell 17.2 * test: make golden * shell.nix: Use Cabal projects to control compiler version * Replace ghcide with haskell-language-server * LTS Haskell 17.4 Co-authored-by: rv-jenkins <[email protected]>
1 parent 79703e1 commit 8428df4

File tree

23 files changed

+927
-152
lines changed

23 files changed

+927
-152
lines changed

.editorconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@ trim_trailing_whitespace = true
77
[*.hs]
88
indent_style = space
99
indent_size = 4
10+
11+
[*.nix]
12+
indent_style = space
13+
indent_size = 2

default.nix

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,14 @@ let
7878

7979
version = project.kore.components.exes.kore-exec.version;
8080

81+
rematerialize = pkgs.writeScript "rematerialize.sh" ''
82+
#!/bin/sh
83+
${project.stack-nix.passthru.updateMaterialized}
84+
'';
85+
8186
default =
8287
{
83-
inherit pkgs project;
88+
inherit pkgs project rematerialize;
8489
cache = [
8590
project.roots
8691
(pkgs.haskell-nix.withInputs shell)

nix/ghcide.nix.d/ghcide.nix renamed to nix/ghcide.nix.d/.plan.nix/ghcide.nix

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
isLocal = true;
2525
detailLevel = "FullDetails";
2626
licenseFiles = [ "LICENSE" ];
27-
dataDir = "";
27+
dataDir = ".";
2828
dataFiles = [];
2929
extraSrcFiles = [
3030
"include/ghc-api-version.h"
@@ -298,6 +298,4 @@
298298
};
299299
};
300300
};
301-
} // rec {
302-
src = (pkgs.lib).mkDefault ./.;
303-
}
301+
} // rec { src = (pkgs.lib).mkDefault ../.; }

nix/ghcide.nix.d/.stack-to-nix.cache

Whitespace-only changes.

nix/ghcide.nix.d/default.nix

Lines changed: 400 additions & 24 deletions
Large diffs are not rendered by default.

nix/hlint.nix.d/.plan.nix/engine.nix

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{ system
2+
, compiler
3+
, flags
4+
, pkgs
5+
, hsPkgs
6+
, pkgconfPkgs
7+
, errorHandler
8+
, config
9+
, ... }:
10+
{
11+
flags = {};
12+
package = {
13+
specVersion = "1.18";
14+
identifier = { name = "engine"; version = "0.0.1"; };
15+
license = "NONE";
16+
copyright = "Neil Mitchell 2006-2018";
17+
maintainer = "Patrick Brisbin <[email protected]>";
18+
author = "Patrick Brisbin <[email protected]>";
19+
homepage = "https://github.com/ndmitchell/hlint#readme";
20+
url = "";
21+
synopsis = "Run HLint as a Code Climate engine";
22+
description = "Run HLint as a Code Climate engine";
23+
buildType = "Simple";
24+
isLocal = true;
25+
detailLevel = "FullDetails";
26+
licenseFiles = [];
27+
dataDir = ".";
28+
dataFiles = [];
29+
extraSrcFiles = [];
30+
extraTmpFiles = [];
31+
extraDocFiles = [];
32+
};
33+
components = {
34+
exes = {
35+
"engine" = {
36+
depends = [
37+
(hsPkgs."base" or (errorHandler.buildDepError "base"))
38+
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
39+
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
40+
(hsPkgs."process" or (errorHandler.buildDepError "process"))
41+
];
42+
buildable = true;
43+
mainPath = [ "Engine.hs" ];
44+
};
45+
};
46+
};
47+
} // rec { src = (pkgs.lib).mkDefault .././cc; }

nix/hlint.nix.d/hlint.nix renamed to nix/hlint.nix.d/.plan.nix/hlint.nix

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
flags = { threaded = true; gpl = true; ghc-lib = false; hsyaml = false; };
1212
package = {
1313
specVersion = "1.18";
14-
identifier = { name = "hlint"; version = "3.2"; };
14+
identifier = { name = "hlint"; version = "3.2.7"; };
1515
license = "BSD-3-Clause";
16-
copyright = "Neil Mitchell 2006-2020";
16+
copyright = "Neil Mitchell 2006-2021";
1717
maintainer = "Neil Mitchell <[email protected]>";
1818
author = "Neil Mitchell <[email protected]>";
1919
homepage = "https://github.com/ndmitchell/hlint#readme";
@@ -36,7 +36,12 @@
3636
"HLint_QuickCheck.hs"
3737
"HLint_TypeCheck.hs"
3838
];
39-
extraSrcFiles = [];
39+
extraSrcFiles = [
40+
".hlint.yaml"
41+
"data/*.hs"
42+
"data/*.yaml"
43+
"tests/*.test"
44+
];
4045
extraTmpFiles = [];
4146
extraDocFiles = [ "README.md" "CHANGES.txt" ];
4247
};
@@ -120,6 +125,7 @@
120125
"Hint/Duplicate"
121126
"Hint/Export"
122127
"Hint/Extensions"
128+
"Hint/Fixities"
123129
"Hint/Import"
124130
"Hint/Lambda"
125131
"Hint/List"
@@ -155,6 +161,4 @@
155161
};
156162
};
157163
};
158-
} // rec {
159-
src = (pkgs.lib).mkDefault ./.;
160-
}
164+
} // rec { src = (pkgs.lib).mkDefault ../.; }

nix/hlint.nix.d/.stack-to-nix.cache

Whitespace-only changes.

nix/hlint.nix.d/default.nix

Lines changed: 192 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,204 @@
11
{
2+
pkgs = hackage:
3+
{
4+
packages = {
5+
"ghc-lib-parser-ex".revision = (((hackage."ghc-lib-parser-ex")."8.10.0.19").revisions).default;
6+
"ghc-lib-parser-ex".flags.auto = true;
7+
"ghc-lib-parser-ex".flags.no-ghc-lib = false;
8+
"ghc".revision = (((hackage."ghc")."8.10.4").revisions).default;
9+
"exceptions".revision = (((hackage."exceptions")."0.10.4").revisions).default;
10+
"refact".revision = (((hackage."refact")."0.3.0.2").revisions).default;
11+
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
12+
"ghc-boot".revision = (((hackage."ghc-boot")."8.10.4").revisions).default;
13+
"ghc-prim".revision = (((hackage."ghc-prim")."0.6.1").revisions).default;
14+
"utf8-string".revision = (((hackage."utf8-string")."1.0.2").revisions).default;
15+
"polyparse".revision = (((hackage."polyparse")."1.13").revisions).default;
16+
"bifunctors".revision = (((hackage."bifunctors")."5.5.10").revisions).default;
17+
"bifunctors".flags.semigroups = true;
18+
"bifunctors".flags.tagged = true;
19+
"extra".revision = (((hackage."extra")."1.7.9").revisions).default;
20+
"split".revision = (((hackage."split")."0.2.3.4").revisions).default;
21+
"data-fix".revision = (((hackage."data-fix")."0.3.1").revisions).default;
22+
"stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
23+
"base-compat-batteries".revision = (((hackage."base-compat-batteries")."0.11.2").revisions).default;
24+
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
25+
"ghc-heap".revision = (((hackage."ghc-heap")."8.10.4").revisions).default;
26+
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
27+
"rts".revision = (((hackage."rts")."1.0").revisions).default;
28+
"cmdargs".revision = (((hackage."cmdargs")."0.10.20").revisions).default;
29+
"cmdargs".flags.testprog = false;
30+
"cmdargs".flags.quotation = true;
31+
"ghci".revision = (((hackage."ghci")."8.10.4").revisions).default;
32+
"clock".revision = (((hackage."clock")."0.8.2").revisions).default;
33+
"clock".flags.llvm = false;
34+
"syb".revision = (((hackage."syb")."0.7.2.1").revisions).default;
35+
"distributive".revision = (((hackage."distributive")."0.6.2.1").revisions).default;
36+
"distributive".flags.semigroups = true;
37+
"distributive".flags.tagged = true;
38+
"hscolour".revision = (((hackage."hscolour")."1.24.4").revisions).default;
39+
"scientific".revision = (((hackage."scientific")."0.3.6.2").revisions).default;
40+
"scientific".flags.integer-simple = false;
41+
"scientific".flags.bytestring-builder = false;
42+
"deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
43+
"random".revision = (((hackage."random")."1.2.0").revisions).default;
44+
"uuid-types".revision = (((hackage."uuid-types")."1.0.3").revisions).default;
45+
"splitmix".revision = (((hackage."splitmix")."0.1.0.3").revisions).default;
46+
"splitmix".flags.optimised-mixer = false;
47+
"dlist".revision = (((hackage."dlist")."1.0").revisions).default;
48+
"dlist".flags.werror = false;
49+
"conduit".revision = (((hackage."conduit")."1.3.4").revisions).default;
50+
"data-default".revision = (((hackage."data-default")."0.7.1.1").revisions).default;
51+
"data-default-instances-old-locale".revision = (((hackage."data-default-instances-old-locale")."0.0.1").revisions).default;
52+
"uniplate".revision = (((hackage."uniplate")."1.6.13").revisions).default;
53+
"directory".revision = (((hackage."directory")."1.3.6.0").revisions).default;
54+
"yaml".revision = (((hackage."yaml")."0.11.5.0").revisions).default;
55+
"yaml".flags.no-exe = true;
56+
"yaml".flags.no-examples = true;
57+
"transformers-compat".revision = (((hackage."transformers-compat")."0.6.6").revisions).default;
58+
"transformers-compat".flags.five = false;
59+
"transformers-compat".flags.generic-deriving = true;
60+
"transformers-compat".flags.two = false;
61+
"transformers-compat".flags.five-three = true;
62+
"transformers-compat".flags.mtl = true;
63+
"transformers-compat".flags.four = false;
64+
"transformers-compat".flags.three = false;
65+
"template-haskell".revision = (((hackage."template-haskell")."2.16.0.0").revisions).default;
66+
"mono-traversable".revision = (((hackage."mono-traversable")."1.0.15.1").revisions).default;
67+
"vector".revision = (((hackage."vector")."0.12.2.0").revisions).default;
68+
"vector".flags.unsafechecks = false;
69+
"vector".flags.internalchecks = false;
70+
"vector".flags.wall = false;
71+
"vector".flags.boundschecks = true;
72+
"primitive".revision = (((hackage."primitive")."0.7.1.0").revisions).default;
73+
"base-compat".revision = (((hackage."base-compat")."0.11.2").revisions).default;
74+
"time-compat".revision = (((hackage."time-compat")."1.9.5").revisions).default;
75+
"time-compat".flags.old-locale = false;
76+
"ansi-terminal".revision = (((hackage."ansi-terminal")."0.11").revisions).default;
77+
"ansi-terminal".flags.example = false;
78+
"tagged".revision = (((hackage."tagged")."0.8.6.1").revisions).default;
79+
"tagged".flags.transformers = true;
80+
"tagged".flags.deepseq = true;
81+
"unliftio-core".revision = (((hackage."unliftio-core")."0.2.0.1").revisions).default;
82+
"containers".revision = (((hackage."containers")."0.6.2.1").revisions).default;
83+
"integer-logarithms".revision = (((hackage."integer-logarithms")."1.0.3.1").revisions).default;
84+
"integer-logarithms".flags.check-bounds = false;
85+
"integer-logarithms".flags.integer-gmp = true;
86+
"these".revision = (((hackage."these")."1.1.1.1").revisions).default;
87+
"these".flags.assoc = true;
88+
"bytestring".revision = (((hackage."bytestring")."0.10.12.0").revisions).default;
89+
"old-locale".revision = (((hackage."old-locale")."1.0.0.7").revisions).default;
90+
"data-default-instances-dlist".revision = (((hackage."data-default-instances-dlist")."0.0.1").revisions).default;
91+
"indexed-traversable".revision = (((hackage."indexed-traversable")."0.1.1").revisions).default;
92+
"text".revision = (((hackage."text")."1.2.4.1").revisions).default;
93+
"assoc".revision = (((hackage."assoc")."1.0.2").revisions).default;
94+
"unordered-containers".revision = (((hackage."unordered-containers")."0.2.13.0").revisions).default;
95+
"unordered-containers".flags.debug = false;
96+
"base".revision = (((hackage."base")."4.14.1.0").revisions).default;
97+
"comonad".revision = (((hackage."comonad")."5.0.8").revisions).default;
98+
"comonad".flags.indexed-traversable = true;
99+
"comonad".flags.distributive = true;
100+
"comonad".flags.containers = true;
101+
"time".revision = (((hackage."time")."1.9.3").revisions).default;
102+
"data-default-class".revision = (((hackage."data-default-class")."0.1.2.0").revisions).default;
103+
"terminfo".revision = (((hackage."terminfo")."0.4.1.4").revisions).default;
104+
"vector-algorithms".revision = (((hackage."vector-algorithms")."0.8.0.4").revisions).default;
105+
"vector-algorithms".flags.unsafechecks = false;
106+
"vector-algorithms".flags.internalchecks = false;
107+
"vector-algorithms".flags.llvm = false;
108+
"vector-algorithms".flags.boundschecks = true;
109+
"vector-algorithms".flags.bench = true;
110+
"vector-algorithms".flags.properties = true;
111+
"cpphs".revision = (((hackage."cpphs")."1.20.9.1").revisions).default;
112+
"cpphs".flags.old-locale = false;
113+
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
114+
"hashable".revision = (((hackage."hashable")."1.3.0.0").revisions).default;
115+
"hashable".flags.sse2 = true;
116+
"hashable".flags.integer-gmp = true;
117+
"hashable".flags.sse41 = false;
118+
"hashable".flags.examples = false;
119+
"data-default-instances-containers".revision = (((hackage."data-default-instances-containers")."0.0.1").revisions).default;
120+
"attoparsec".revision = (((hackage."attoparsec")."0.13.2.4").revisions).default;
121+
"attoparsec".flags.developer = false;
122+
"colour".revision = (((hackage."colour")."2.3.5").revisions).default;
123+
"file-embed".revision = (((hackage."file-embed")."0.0.13.0").revisions).default;
124+
"strict".revision = (((hackage."strict")."0.4.0.1").revisions).default;
125+
"strict".flags.assoc = true;
126+
"hpc".revision = (((hackage."hpc")."0.6.1.0").revisions).default;
127+
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
128+
"process".revision = (((hackage."process")."1.6.9.0").revisions).default;
129+
"filepattern".revision = (((hackage."filepattern")."0.1.2").revisions).default;
130+
"libyaml".revision = (((hackage."libyaml")."0.1.2").revisions).default;
131+
"libyaml".flags.system-libyaml = false;
132+
"libyaml".flags.no-unicode = false;
133+
"resourcet".revision = (((hackage."resourcet")."1.2.4.2").revisions).default;
134+
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
135+
"aeson".revision = (((hackage."aeson")."1.5.5.1").revisions).default;
136+
"aeson".flags.cffi = false;
137+
"aeson".flags.fast = false;
138+
"aeson".flags.bytestring-builder = false;
139+
"aeson".flags.developer = false;
140+
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.10.4").revisions).default;
141+
"base-orphans".revision = (((hackage."base-orphans")."0.8.4").revisions).default;
142+
"th-abstraction".revision = (((hackage."th-abstraction")."0.4.2.0").revisions).default;
143+
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
144+
"integer-gmp".revision = (((hackage."integer-gmp")."1.0.3.0").revisions).default;
145+
};
146+
compiler = {
147+
version = "8.10.4";
148+
nix-name = "ghc8104";
149+
packages = {
150+
"ghc" = "8.10.4";
151+
"exceptions" = "0.10.4";
152+
"binary" = "0.8.8.0";
153+
"ghc-boot" = "8.10.4";
154+
"ghc-prim" = "0.6.1";
155+
"stm" = "2.5.0.0";
156+
"unix" = "2.7.2.2";
157+
"ghc-heap" = "8.10.4";
158+
"mtl" = "2.2.2";
159+
"rts" = "1.0";
160+
"ghci" = "8.10.4";
161+
"deepseq" = "1.4.4.0";
162+
"directory" = "1.3.6.0";
163+
"template-haskell" = "2.16.0.0";
164+
"containers" = "0.6.2.1";
165+
"bytestring" = "0.10.12.0";
166+
"text" = "1.2.4.1";
167+
"base" = "4.14.1.0";
168+
"time" = "1.9.3";
169+
"terminfo" = "0.4.1.4";
170+
"transformers" = "0.5.6.2";
171+
"hpc" = "0.6.1.0";
172+
"filepath" = "1.4.2.1";
173+
"process" = "1.6.9.0";
174+
"pretty" = "1.1.3.6";
175+
"ghc-boot-th" = "8.10.4";
176+
"array" = "0.5.4.0";
177+
"integer-gmp" = "1.0.3.0";
178+
};
179+
};
180+
};
2181
extras = hackage:
3182
{
4183
packages = {
5-
"ghc-lib-parser" = (((hackage.ghc-lib-parser)."8.10.2.20200808").revisions).default;
6-
"ghc-lib-parser-ex" = (((hackage.ghc-lib-parser-ex)."8.10.0.16").revisions).default;
7-
"extra" = (((hackage.extra)."1.7.3").revisions).default;
8-
"apply-refact" = (((hackage.apply-refact)."0.8.2.0").revisions).default;
9-
"ghc-exactprint" = (((hackage.ghc-exactprint)."0.6.3.1").revisions).default;
10-
"optparse-applicative" = (((hackage.optparse-applicative)."0.15.1.0").revisions).default;
11-
hlint = ./hlint.nix;
184+
hlint = ./.plan.nix/hlint.nix;
185+
engine = ./.plan.nix/engine.nix;
12186
};
13187
};
14-
resolver = "lts-14.20";
15188
modules = [
16189
({ lib, ... }:
17-
{ packages = {}; })
18-
{
19-
packages = {
20-
"$locals" = {
21-
package = {
22-
ghcOptions = "-ddump-to-file -ddump-hi -Werror=unused-imports -Werror=unused-top-binds -Werror=orphans";
190+
{
191+
packages = {
192+
"hlint" = {
193+
flags = {
194+
"gpl" = lib.mkOverride 900 true;
195+
"threaded" = lib.mkOverride 900 true;
196+
"hsyaml" = lib.mkOverride 900 false;
197+
"ghc-lib" = lib.mkOverride 900 false;
198+
};
23199
};
200+
"engine" = { flags = {}; };
24201
};
25-
};
26-
}
202+
})
27203
];
28204
}

nix/hpack.nix.d/.plan.nix/hpack.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
isLocal = true;
2525
detailLevel = "FullDetails";
2626
licenseFiles = [];
27-
dataDir = "";
27+
dataDir = ".";
2828
dataFiles = [];
2929
extraSrcFiles = [ "CHANGELOG.md" ];
3030
extraTmpFiles = [];
@@ -133,7 +133,7 @@
133133
(hsPkgs."yaml" or (errorHandler.buildDepError "yaml"))
134134
];
135135
build-tools = [
136-
(hsPkgs.buildPackages.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover")))
136+
(hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover")))
137137
];
138138
buildable = true;
139139
modules = [ "Paths_hpack" ];

0 commit comments

Comments
 (0)