Skip to content

Commit 32e849e

Browse files
committed
Re #6160 Move Stack on to GHC 9.2.8
1 parent 1f7d629 commit 32e849e

File tree

121 files changed

+189
-186
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+189
-186
lines changed

.github/workflows/integration-tests.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ on:
1616
env:
1717
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1818

19-
# As of 16 June 2023, ubuntu-latest, windows-latest and macos-latest come
20-
# with Stack 2.11.1 and GHC 9.6.2. windows-latest comes with NSIS 3.08, for
21-
# which the default value of the 'Unicode' installer attribute is 'true'.
22-
# However, that is not the 'large strings' build of NSIS and creates installers
23-
# that corrupt the PATH environment variable if the default string length of
24-
# 1024 characters is exceeded.
19+
# As of 8 August 2023, ubuntu-latest, windows-latest and macos-latest come
20+
# with Stack 2.11.1 (2.9.3 on macos-latest) and GHC 9.6.2. windows-latest comes
21+
# with NSIS 3.08, for which the default value of the 'Unicode' installer
22+
# attribute is 'true'. However, that is not the 'large strings' build of NSIS
23+
# and creates installers that corrupt the PATH environment variable if the
24+
# default string length of 1024 characters is exceeded.
2525

2626
jobs:
2727
integration-tests:

.github/workflows/unit-tests.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ on:
99
- rc/**
1010
workflow_dispatch:
1111

12-
# As of 22 May 2023, ubuntu-latest, windows-latest and macos-latest come
13-
# with Stack 2.9.3 and GHC 9.6.1.
12+
# As of 9 August 2023, ubuntu-latest, windows-latest and macos-latest come
13+
# with Stack 2.11.1 (2.9.3 on macos-latest) and GHC 9.6.2.
1414

1515
jobs:
1616
pedantic:

cabal.project

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
-- specified by the snapshot specifed in Stack's project-level YAML
3434
-- configuration file (`stack.yaml`). The relevant version of GHC can be
3535
-- confirmed by reviewing the snapshot on Stackage. For example, at:
36-
-- https://www.stackage.org/lts-20.23/cabal.config.
36+
-- https://www.stackage.org/lts-20.26/cabal.config.
3737
--
38-
with-compiler: ghc-9.2.7
38+
with-compiler: ghc-9.2.8
3939
import: cabal.config
4040
packages: .

doc/GUIDE.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -248,15 +248,15 @@ this:
248248

249249
~~~yaml
250250
resolver:
251-
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/19.yaml
251+
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/26.yaml
252252
packages:
253253
- .
254254
~~~
255255

256256
The value of the `resolver` key tells Stack *how* to build your package: which
257257
GHC version to use, versions of package dependencies, and so on. Our value here
258-
says to use [LTS Haskell 20.23](https://www.stackage.org/lts-20.23), which
259-
implies GHC 9.2.7 (which is why `stack build` installs that version of GHC if it
258+
says to use [LTS Haskell 20.26](https://www.stackage.org/lts-20.26), which
259+
implies GHC 9.2.8 (which is why `stack build` installs that version of GHC if it
260260
is not already available to Stack). There are a number of values you can use for
261261
`resolver`, which we'll cover later.
262262

@@ -503,7 +503,7 @@ also known as *snapshots*. We mentioned the LTS resolvers, and you can get quite
503503
a bit of information about it at
504504
[https://www.stackage.org/lts](https://www.stackage.org/lts), including:
505505

506-
* The appropriate resolver value (`resolver: lts-20.23`, as is currently the
506+
* The appropriate resolver value (`resolver: lts-20.26`, as is currently the
507507
latest LTS)
508508
* The GHC version used
509509
* A full list of all packages available in this snapshot
@@ -522,7 +522,7 @@ towards by default as well).
522522

523523
## Resolvers and changing your compiler version
524524

525-
Let's explore package sets a bit further. Instead of `lts-20.23`, let's change
525+
Let's explore package sets a bit further. Instead of `lts-20.26`, let's change
526526
our `stack.yaml` file to use the
527527
[latest nightly](https://www.stackage.org/nightly). Right now, this is currently
528528
2023-05-26 - please see the resolver from the link above to get the latest.
@@ -1340,7 +1340,7 @@ yields output like:
13401340

13411341
~~~text
13421342
Run from outside a project, using implicit global project config
1343-
Using latest snapshot resolver: lts-20.23
1343+
Using latest snapshot resolver: lts-20.26
13441344
Writing global (non-project-specific) config file to: /home/michael/.stack/global/stack.yaml
13451345
Note: You can change the snapshot via the resolver field there.
13461346
I installed the stm package via --package stm

doc/Stack_and_VS_Code.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ enabled). For further information about these options, see the `install-ghc`
7575

7676
For this workaround to work, each time that a resolver is used that references a
7777
different version of GHC, then GHCup must be used to install it (if GHCup has
78-
not already installed that version). For example, to use `resolver: lts-20.23`
79-
(GHC 9.2.7), the command `ghcup install ghc 9.2.7` must have been used to
80-
install GHC 9.2.7. That may be a minor inconvenience for some people, as one the
78+
not already installed that version). For example, to use `resolver: lts-20.26`
79+
(GHC 9.2.8), the command `ghcup install ghc 9.2.8` must have been used to
80+
install GHC 9.2.8. That may be a minor inconvenience for some people, as one the
8181
primary benefits of Stack over other Haskell build tools has been that Stack
8282
automatically ensures that the necessary version of GHC is available.
8383

doc/custom_snapshot.md

+17-17
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ available in snapshots to ensure reproducibility.
1717
snapshot specification.
1818

1919
~~~yaml
20-
resolver: lts-20.23 # Inherits GHC version and package set
21-
compiler: ghc-9.6.1 # Overwrites GHC version in the resolver, optional
20+
resolver: lts-20.26 # Inherits GHC version and package set
21+
compiler: ghc-9.6.2 # Overwrites GHC version in the resolver, optional
2222

2323
# Additional packages, follows extra-deps syntax
2424
packages:
@@ -61,35 +61,35 @@ custom snapshot, due to Stack sharing snapshot packages whenever possible.
6161

6262
### Overriding the compiler
6363

64-
The following snapshot specification will be identical to `lts-20.23`, but instead
65-
use `ghc-9.2.6` instead of `ghc-9.2.7`:
64+
The following snapshot specification will be identical to `lts-20.26`, but
65+
instead use `ghc-9.2.7` instead of `ghc-9.2.8`:
6666

6767
~~~yaml
68-
resolver: lts-20.23
69-
compiler: ghc-9.2.6
68+
resolver: lts-20.26
69+
compiler: ghc-9.2.7
7070
~~~
7171

7272
### Dropping packages
7373

74-
The following snapshot specification will be identical to `lts-20.23`, but without
75-
the `text` package in our snapshot. Removing this package will cause all the
76-
packages that depend on `text` to be unbuildable, but they will still be present
77-
in the snapshot.
74+
The following snapshot specification will be identical to `lts-20.26`, but
75+
without the `text` package in our snapshot. Removing this package will cause all
76+
the packages that depend on `text` to be unbuildable, but they will still be
77+
present in the snapshot.
7878

7979
~~~yaml
80-
resolver: lts-20.23
80+
resolver: lts-20.26
8181
drop-packages:
8282
- text
8383
~~~
8484

8585
### Hiding packages
8686

87-
The following snapshot specification will be identical to `lts-20.23`, but the
87+
The following snapshot specification will be identical to `lts-20.26`, but the
8888
`text` package will be hidden when registering. This will affect, for example,
8989
the import parser in the script command.
9090

9191
~~~yaml
92-
resolver: lts-20.23
92+
resolver: lts-20.26
9393
hidden:
9494
- text
9595
~~~
@@ -99,11 +99,11 @@ hidden:
9999
In order to specify GHC options for a package, you use the same syntax as the
100100
[ghc-options](yaml_configuration.md#ghc-options) key for build configuration.
101101

102-
The following snapshot specification will be identical to `lts-20.23`, but
102+
The following snapshot specification will be identical to `lts-20.26`, but
103103
provides `-O1` as a ghc-option for `text`:
104104

105105
~~~yaml
106-
resolver: lts-20.23
106+
resolver: lts-20.26
107107
packages:
108108
- text-1.2.5.0
109109
ghc-options:
@@ -122,11 +122,11 @@ packages in the `packages` list, rather than all packages in the snapshot.
122122

123123
In order to specify Cabal flags for a package, you use the same syntax as the
124124
[flags](yaml_configuration.md#flags) key for build configuration. The
125-
following snapshot specification will be identical to `lts-20.23`, but
125+
following snapshot specification will be identical to `lts-20.26`, but
126126
it enables the `developer` Cabal flag:
127127

128128
~~~yaml
129-
resolver: lts-20.23
129+
resolver: lts-20.26
130130
packages:
131131
- text-1.2.5.0
132132
flags:

doc/faq.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ here is to be as helpful and concise as possible.
99
## What version of GHC is used when I run something like `stack ghci`?
1010

1111
The version of GHC, as well as which packages can be installed, are specified by
12-
the _resolver_. This may be something like `lts-20.23`, which is from
12+
the _resolver_. This may be something like `lts-20.26`, which is from
1313
[Stackage](https://www.stackage.org/). The [user's guide](GUIDE.md) discusses
1414
the resolver in more detail.
1515

@@ -76,7 +76,7 @@ You can make tweaks to a snapshot by modifying the `extra-deps` configuration
7676
value in your `stack.yaml` file, e.g.:
7777

7878
~~~yaml
79-
resolver: lts-20.23
79+
resolver: lts-20.26
8080
packages:
8181
- .
8282
extra-deps:
@@ -91,7 +91,7 @@ Add it to the
9191
directory where your `stack.yaml` file lives, e.g.
9292

9393
~~~yaml
94-
resolver: lts-20.23
94+
resolver: lts-20.26
9595
packages:
9696
- .
9797
extra-deps:

doc/list_command.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,17 @@ Package index cache populated
4141
Error: [S-4926]
4242
- Could not find package paltry on Hackage. Perhaps you meant: retry, path, pantry, pretty, pasty, xattr, alloy, para, pappy, alure
4343
44-
stack --resolver lts-20.23 list base unix Win32 acme-missiles pantry
44+
stack --resolver lts-20.26 list base unix Win32 acme-missiles pantry
4545
Error: [S-4926]
4646
- Package does not appear in snapshot: base
4747
- Package does not appear in snapshot: unix
4848
- Package does not appear in snapshot: acme-missiles
4949
50-
stack --resolver lts-20.23 list Win32 pantry
50+
stack --resolver lts-20.26 list Win32 pantry
5151
Win32-2.12.0.1
5252
pantry-0.5.7
5353
54-
stack --resolver lts-20.23 list
54+
stack --resolver lts-20.26 list
5555
AC-Angle-1.0
5656
ALUT-2.4.0.3
5757
...

doc/script_command.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ configuration files (global and project-level). A snapshot must be specified on
1818
the command line (with the `--resolver` option). For example:
1919

2020
~~~text
21-
stack script --resolver lts-20.23 MyScript.hs
21+
stack script --resolver lts-20.26 MyScript.hs
2222
~~~
2323

2424
The `stack script` command behaves as if the `--install-ghc` flag had been
@@ -100,7 +100,7 @@ main = do
100100
can be compiled and run, with arguments, with:
101101

102102
~~~text
103-
stack --resolver lts-20.23 script --package acme-missiles --compile MyScript.hs -- "Don't panic!" "Duck and cover!"
103+
stack --resolver lts-20.26 script --package acme-missiles --compile MyScript.hs -- "Don't panic!" "Duck and cover!"
104104
~~~
105105

106106
All the compilation outputs (like `Main.hi`, `Main.o`, and the executable

doc/scripts.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ An example will be easiest to understand. Consider the Haskell source file
1919

2020
~~~haskell
2121
#!/usr/bin/env stack
22-
-- stack script --resolver lts-20.23 --package turtle
22+
-- stack script --resolver lts-20.26 --package turtle
2323
{-# LANGUAGE OverloadedStrings #-}
2424
import Turtle (echo)
2525
main = echo "Hello World!"
@@ -78,10 +78,10 @@ able to reuse everything already built).
7878

7979
The second line of the source code is the Stack interpreter options comment. In
8080
this example, it specifies the `stack script` command with the options of a
81-
LTS Haskell 20.23 snapshot (`--resolver lts-20.23`) and ensuring the
81+
LTS Haskell 20.26 snapshot (`--resolver lts-20.26`) and ensuring the
8282
[`turtle` package](https://hackage.haskell.org/package/turtle) is available
8383
(`--package turtle`). The version of the package will be that in the specified
84-
snapshot (`lts-20.23` provides `turtle-1.5.25`).
84+
snapshot (`lts-20.26` provides `turtle-1.5.25`).
8585

8686
## Arguments and interpreter options and arguments
8787

@@ -116,7 +116,7 @@ For example, the command `stack MyScript.hs arg1 arg2` with `MyScript.hs`:
116116
~~~haskell
117117
#!/usr/bin/env stack
118118
{- stack script
119-
--resolver lts-20.23
119+
--resolver lts-20.26
120120
--
121121
+RTS -s -RTS
122122
-}
@@ -132,7 +132,7 @@ main = do
132132
is equivalent to the following command at the command line:
133133

134134
~~~text
135-
stack script --resolver lts-20.23 -- MyScript.hs arg1 arg2 +RTS -s -RTS
135+
stack script --resolver lts-20.26 -- MyScript.hs arg1 arg2 +RTS -s -RTS
136136
~~~
137137

138138
where `+RTS -s -RTS` are some of GHC's
@@ -161,7 +161,7 @@ space separated list. For example:
161161
~~~haskell
162162
#!/usr/bin/env stack
163163
{- stack script
164-
--resolver lts-20.23
164+
--resolver lts-20.26
165165
--package turtle
166166
--package "stm async"
167167
--package http-client,http-conduit
@@ -191,7 +191,7 @@ which makes use of the joke package
191191

192192
~~~haskell
193193
{- stack script
194-
--resolver lts-20.23
194+
--resolver lts-20.26
195195
--package acme-missiles
196196
-}
197197
import Acme.Missiles (launchMissiles)
@@ -202,7 +202,7 @@ main = launchMissiles
202202

203203
The command `stack --script-no-run-compile Script.hs` then behaves as if the
204204
command
205-
`stack script --resolver lts-20.23 --package acme-missiles --no-run --compile -- Script.hs`
205+
`stack script --resolver lts-20.26 --package acme-missiles --no-run --compile -- Script.hs`
206206
had been given. `Script.hs` is compiled (without optimisation) and the resulting
207207
executable is not run: no missiles are launched in the process!
208208

@@ -239,7 +239,7 @@ example with `runghc`:
239239
{- stack
240240
runghc
241241
--install-ghc
242-
--resolver lts-20.23
242+
--resolver lts-20.26
243243
--package base
244244
--package turtle
245245
--
@@ -262,7 +262,7 @@ it. Here is an example:
262262
{- stack
263263
exec ghci
264264
--install-ghc
265-
--resolver lts-20.23
265+
--resolver lts-20.26
266266
--package turtle
267267
-}
268268
~~~

doc/stack_yaml_vs_cabal_package_file.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ requires that you have chosen a specific version for each package available.
6464

6565
The most common means by which this set of packages is defined is via a
6666
snapshot provided by Stackage. For example, if you go to the page
67-
<https://www.stackage.org/lts-20.23>, you will see a list of 3,051 packages at
68-
specific version numbers. When you then specify `resolver: lts-20.23`, you're
67+
<https://www.stackage.org/lts-20.26>, you will see a list of 3,055 packages at
68+
specific version numbers. When you then specify `resolver: lts-20.26`, you're
6969
telling Stack to use those package versions in resolving dependencies down to
7070
specific versions of packages.
7171

doc/yaml_configuration.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,10 @@ installation, and various settings like build flags. It is called a resolver
9696
since a snapshot states how dependencies are resolved. There are currently
9797
four resolver types:
9898

99-
* LTS Haskell snapshots, e.g. `resolver: lts-20.23`
100-
* Stackage Nightly snapshots, e.g. `resolver: nightly-2023-05-05`
99+
* LTS Haskell snapshots, e.g. `resolver: lts-20.26`
100+
* Stackage Nightly snapshots, e.g. `resolver: nightly-2023-08-06`
101101
* No snapshot, just use packages shipped with the compiler. For GHC this looks
102-
like `resolver: ghc-9.6.1`
102+
like `resolver: ghc-9.6.2`
103103
* Custom snapshot, via a URL or relative file path. For further information, see
104104
the [Pantry](pantry.md) documentation.
105105

@@ -528,12 +528,12 @@ Command line equivalent (takes precedence): `--compiler` option
528528

529529
Overrides the compiler version in the resolver. Note that the `compiler-check`
530530
flag also applies to the version numbers. This uses the same syntax as compiler
531-
resolvers like `ghc-9.6.1`. This can be used to override the
531+
resolvers like `ghc-9.6.2`. This can be used to override the
532532
compiler for a Stackage snapshot, like this:
533533

534534
~~~yaml
535-
resolver: lts-20.23
536-
compiler: ghc-9.6.1
535+
resolver: lts-20.26
536+
compiler: ghc-9.6.2
537537
compiler-check: match-exact
538538
~~~
539539

0 commit comments

Comments
 (0)