Skip to content

Commit

Permalink
Merge pull request #6452 from commercialhaskell/lts-22.7
Browse files Browse the repository at this point in the history
Bump Stack to GHC 9.6.4/lts-22.7
  • Loading branch information
mpilgrem authored Jan 20, 2024
2 parents 42588b2 + 968c10e commit d29cfee
Show file tree
Hide file tree
Showing 128 changed files with 191 additions and 191 deletions.
4 changes: 2 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"build": {
"dockerfile": "GHC.Dockerfile",
"args": {
"GHC_VERSION": "9.6.3",
"HLS_VERSION": "2.5.0.0",
"GHC_VERSION": "9.6.4",
"HLS_VERSION": "2.6.0.0",
"USE_ZSH_FOR_ROOT": "unset-to-use-ash",
"SET_LANG": "C.UTF-8",
"SET_TZ": ""
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ jobs:
include:
- os: ubuntu-latest
release-args: "--alpine"
cache-bust: "2023-10-11"
cache-bust: "2024-01-20"
- os: windows-latest
release-args: ""
cache-bust: "13"
cache-bust: "2024-01-20"
- os: macos-latest
release-args: ""
cache-bust: "23"
cache-bust: "2024-01-20"
steps:
- name: Clone project
uses: actions/checkout@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
run: |
git clone https://github.com/kowainik/stan.git
cd stan
stack --compiler ghc-9.6.3 --local-bin-path ../.bin install
stack --compiler ghc-9.6.4 --local-bin-path ../.bin install
cd ..
- name: Generate .hie for analysis
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -606,7 +606,7 @@ for each file.

[Stan](https://hackage.haskell.org/package/stan) is a Haskell static analysis
tool. As of `stan-0.1.0.1`, it supports GHC >= 9.6.3 and Stack is built with
GHC 9.6.3. The tool is configured by the contents of the `.stan.toml` file.
GHC 9.6.4. The tool is configured by the contents of the `.stan.toml` file.

This workflow will run if:

Expand Down
2 changes: 1 addition & 1 deletion ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Other enhancements:
`notify-if-cabal-untested` keys are introduced, to allow the notification to
be muted if unwanted.
* The compiler version is included in Stack's build message (e.g.
`stack> build (lib + exe + test) with ghc-9.6.3`).
`stack> build (lib + exe + test) with ghc-9.6.4`).
* Add flag `--candidate` to Stack's `unpack` command, to allow package
candidates to be unpacked locally.
* Stack will notify the user if a specified architecture value is unknown to
Expand Down
2 changes: 1 addition & 1 deletion cabal.config
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ constraints:
, transformers-base ==0.4.6
, transformers-compat ==0.7.2
, typed-process ==0.2.11.1
, unix ==2.8.1.0
, unix ==2.8.4.0
, unix-compat ==0.7.1
, unix-time ==0.4.11
, unliftio ==0.2.25.0
Expand Down
4 changes: 2 additions & 2 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
-- specified by the snapshot specifed in Stack's project-level YAML
-- configuration file (`stack.yaml`). The relevant version of GHC can be
-- confirmed by reviewing the snapshot on Stackage. For example, at:
-- https://www.stackage.org/lts-22.6/cabal.config.
-- https://www.stackage.org/lts-22.7/cabal.config.
--
with-compiler: ghc-9.6.3
with-compiler: ghc-9.6.4
import: cabal.config
packages: .
10 changes: 5 additions & 5 deletions doc/GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,8 +255,8 @@ packages:

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

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

* The appropriate resolver value (`resolver: lts-22.6`, as is currently the
* The appropriate resolver value (`resolver: lts-22.7`, as is currently the
latest LTS)
* The GHC version used
* A full list of all packages available in this snapshot
Expand All @@ -522,7 +522,7 @@ towards by default as well).

## Resolvers and changing your compiler version

Let's explore package sets a bit further. Instead of `lts-22.6`, let's change
Let's explore package sets a bit further. Instead of `lts-22.7`, let's change
our `stack.yaml` file to use the
[latest nightly](https://www.stackage.org/nightly). Right now, this is currently
2023-09-24 - please see the resolver from the link above to get the latest.
Expand Down Expand Up @@ -1340,7 +1340,7 @@ yields output like:

~~~text
Run from outside a project, using implicit global project config
Using latest snapshot resolver: lts-22.6
Using latest snapshot resolver: lts-22.7
Writing global (non-project-specific) config file to: /home/michael/.stack/global/stack.yaml
Note: You can change the snapshot via the resolver field there.
I installed the stm package via --package stm
Expand Down
6 changes: 3 additions & 3 deletions doc/Stack_and_VS_Code.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,9 @@ enabled). For further information about these options, see the `install-ghc`

For this workaround to work, each time that a resolver is used that references a
different version of GHC, then GHCup must be used to install it (if GHCup has
not already installed that version). For example, to use `resolver: lts-22.6`
(GHC 9.6.3), the command `ghcup install ghc 9.6.3` must have been used to
install GHC 9.6.3. That may be a minor inconvenience for some people, as one the
not already installed that version). For example, to use `resolver: lts-22.7`
(GHC 9.6.4), the command `ghcup install ghc 9.6.4` must have been used to
install GHC 9.6.4. That may be a minor inconvenience for some people, as one the
primary benefits of Stack over other Haskell build tools has been that Stack
automatically ensures that the necessary version of GHC is available.

Expand Down
28 changes: 14 additions & 14 deletions doc/custom_snapshot.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ available in snapshots to ensure reproducibility.
snapshot specification.

~~~yaml
resolver: lts-22.6 # Inherits GHC version and package set
compiler: ghc-9.6.2 # Overwrites GHC version in the resolver, optional
resolver: lts-22.7 # Inherits GHC version and package set
compiler: ghc-9.6.3 # Overwrites GHC version in the resolver, optional

# Additional packages, follows extra-deps syntax
packages:
Expand Down Expand Up @@ -61,35 +61,35 @@ custom snapshot, due to Stack sharing snapshot packages whenever possible.

### Overriding the compiler

The following snapshot specification will be identical to `lts-22.6`, but
instead use `ghc-9.6.2` instead of `ghc-9.6.3`:
The following snapshot specification will be identical to `lts-22.7`, but
instead use `ghc-9.6.3` instead of `ghc-9.6.4`:

~~~yaml
resolver: lts-22.6
compiler: ghc-9.6.2
resolver: lts-22.7
compiler: ghc-9.6.3
~~~

### Dropping packages

The following snapshot specification will be identical to `lts-22.6`, but
The following snapshot specification will be identical to `lts-22.7`, but
without the `text` package in our snapshot. Removing this package will cause all
the packages that depend on `text` to be unbuildable, but they will still be
present in the snapshot.

~~~yaml
resolver: lts-22.6
resolver: lts-22.7
drop-packages:
- text
~~~

### Hiding packages

The following snapshot specification will be identical to `lts-22.6`, but the
The following snapshot specification will be identical to `lts-22.7`, but the
`text` package will be hidden when registering. This will affect, for example,
the import parser in the script command.

~~~yaml
resolver: lts-22.6
resolver: lts-22.7
hidden:
- text
~~~
Expand All @@ -99,11 +99,11 @@ hidden:
In order to specify GHC options for a package, you use the same syntax as the
[ghc-options](yaml_configuration.md#ghc-options) key for build configuration.

The following snapshot specification will be identical to `lts-22.6`, but
The following snapshot specification will be identical to `lts-22.7`, but
provides `-O1` as a ghc-option for `text`:

~~~yaml
resolver: lts-22.6
resolver: lts-22.7
packages:
- text-2.0.2
ghc-options:
Expand All @@ -122,11 +122,11 @@ packages in the `packages` list, rather than all packages in the snapshot.

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

~~~yaml
resolver: lts-22.6
resolver: lts-22.7
packages:
- text-2.0.2
flags:
Expand Down
6 changes: 3 additions & 3 deletions doc/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ here is to be as helpful and concise as possible.
## What version of GHC is used when I run something like `stack ghci`?

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

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

~~~yaml
resolver: lts-22.6
resolver: lts-22.7
packages:
- .
extra-deps:
Expand All @@ -91,7 +91,7 @@ Add it to the
directory where your `stack.yaml` file lives, e.g.

~~~yaml
resolver: lts-22.6
resolver: lts-22.7
packages:
- .
extra-deps:
Expand Down
6 changes: 3 additions & 3 deletions doc/list_command.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,17 @@ Error: [S-4926]
pantry, pretty, pasty, xattr, alloy, para, pappy, alure, polar and
factory.
stack --resolver lts-22.6 list base unix Win32 acme-missiles pantry
stack --resolver lts-22.7 list base unix Win32 acme-missiles pantry
Error: [S-4926]
* Package does not appear in snapshot: base.
* Package does not appear in snapshot: unix.
* Package does not appear in snapshot: Win32.
* Package does not appear in snapshot: acme-missiles.
stack --resolver lts-22.6 list pantry
stack --resolver lts-22.7 list pantry
pantry-0.9.3.1
stack --resolver lts-22.6 list
stack --resolver lts-22.7 list
AC-Angle-1.0
ALUT-2.4.0.3
...
Expand Down
4 changes: 2 additions & 2 deletions doc/script_command.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ configuration files (global and project-level). A snapshot must be specified on
the command line (with the `--resolver` option). For example:

~~~text
stack script --resolver lts-22.6 MyScript.hs
stack script --resolver lts-22.7 MyScript.hs
~~~

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

~~~text
stack --resolver lts-22.6 script --package acme-missiles --compile MyScript.hs -- "Don't panic!" "Duck and cover!"
stack --resolver lts-22.7 script --package acme-missiles --compile MyScript.hs -- "Don't panic!" "Duck and cover!"
~~~

All the compilation outputs (like `Main.hi`, `Main.o`, and the executable
Expand Down
20 changes: 10 additions & 10 deletions doc/scripts.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ An example will be easiest to understand. Consider the Haskell source file

~~~haskell
#!/usr/bin/env stack
-- stack script --resolver lts-22.6 --package turtle
-- stack script --resolver lts-22.7 --package turtle
{-# LANGUAGE OverloadedStrings #-}
import Turtle (echo)
main = echo "Hello World!"
Expand Down Expand Up @@ -78,10 +78,10 @@ able to reuse everything already built).

The second line of the source code is the Stack interpreter options comment. In
this example, it specifies the `stack script` command with the options of a
LTS Haskell 22.6 snapshot (`--resolver lts-22.6`) and ensuring the
LTS Haskell 22.7 snapshot (`--resolver lts-22.7`) and ensuring the
[`turtle` package](https://hackage.haskell.org/package/turtle) is available
(`--package turtle`). The version of the package will be that in the specified
snapshot (`lts-22.6` provides `turtle-1.6.2`).
snapshot (`lts-22.7` provides `turtle-1.6.2`).

## Arguments and interpreter options and arguments

Expand Down Expand Up @@ -116,7 +116,7 @@ For example, the command `stack MyScript.hs arg1 arg2` with `MyScript.hs`:
~~~haskell
#!/usr/bin/env stack
{- stack script
--resolver lts-22.6
--resolver lts-22.7
--
+RTS -s -RTS
-}
Expand All @@ -132,7 +132,7 @@ main = do
is equivalent to the following command at the command line:

~~~text
stack script --resolver lts-22.6 -- MyScript.hs arg1 arg2 +RTS -s -RTS
stack script --resolver lts-22.7 -- MyScript.hs arg1 arg2 +RTS -s -RTS
~~~

where `+RTS -s -RTS` are some of GHC's
Expand Down Expand Up @@ -161,7 +161,7 @@ space separated list. For example:
~~~haskell
#!/usr/bin/env stack
{- stack script
--resolver lts-22.6
--resolver lts-22.7
--package turtle
--package "stm async"
--package http-client,http-conduit
Expand Down Expand Up @@ -191,7 +191,7 @@ which makes use of the joke package

~~~haskell
{- stack script
--resolver lts-22.6
--resolver lts-22.7
--package acme-missiles
-}
import Acme.Missiles (launchMissiles)
Expand All @@ -202,7 +202,7 @@ main = launchMissiles

The command `stack --script-no-run-compile Script.hs` then behaves as if the
command
`stack script --resolver lts-22.6 --package acme-missiles --no-run --compile -- Script.hs`
`stack script --resolver lts-22.7 --package acme-missiles --no-run --compile -- Script.hs`
had been given. `Script.hs` is compiled (without optimisation) and the resulting
executable is not run: no missiles are launched in the process!

Expand Down Expand Up @@ -239,7 +239,7 @@ example with `runghc`:
{- stack
runghc
--install-ghc
--resolver lts-22.6
--resolver lts-22.7
--package base
--package turtle
--
Expand All @@ -262,7 +262,7 @@ it. Here is an example:
{- stack
exec ghci
--install-ghc
--resolver lts-22.6
--resolver lts-22.7
--package turtle
-}
~~~
4 changes: 2 additions & 2 deletions doc/stack_yaml_vs_cabal_package_file.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ requires that you have chosen a specific version for each package available.

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

Expand Down
10 changes: 5 additions & 5 deletions doc/yaml_configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,10 @@ installation, and various settings like build flags. It is called a resolver
since a snapshot states how dependencies are resolved. There are currently
four resolver types:

* LTS Haskell snapshots, e.g. `resolver: lts-22.6`
* LTS Haskell snapshots, e.g. `resolver: lts-22.7`
* Stackage Nightly snapshots, e.g. `resolver: nightly-2023-12-16`
* No snapshot, just use packages shipped with the compiler. For GHC this looks
like `resolver: ghc-9.6.3`
like `resolver: ghc-9.6.4`
* Custom snapshot, via a URL or relative file path. For further information, see
the [Pantry](pantry.md) documentation.

Expand Down Expand Up @@ -645,12 +645,12 @@ Command line equivalent (takes precedence): `--compiler` option

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

~~~yaml
resolver: lts-22.6
compiler: ghc-9.6.2
resolver: lts-22.7
compiler: ghc-9.6.3
compiler-check: match-exact
~~~

Expand Down
Loading

0 comments on commit d29cfee

Please sign in to comment.