Skip to content

Commit

Permalink
Fix #6383 Move Stack on to GHC 9.6.3/LTS 22.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mpilgrem committed Dec 16, 2023
1 parent 18e6200 commit 9773ab2
Show file tree
Hide file tree
Showing 128 changed files with 253 additions and 395 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"build": {
"dockerfile": "GHC.Dockerfile",
"args": {
"GHC_VERSION": "9.4.8",
"GHC_VERSION": "9.6.3",
"HLS_VERSION": "2.5.0.0",
"USE_ZSH_FOR_ROOT": "unset-to-use-ash",
"SET_LANG": "C.UTF-8",
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ on:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

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

jobs:
integration-tests:
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.4.8 --local-bin-path ../.bin install
stack --compiler ghc-9.6.3 --local-bin-path ../.bin install
cd ..
- name: Generate .hie for analysis
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
- rc/**
workflow_dispatch:

# As of 21 August 2023, ubuntu-latest, windows-latest and macos-latest come
# with Stack 2.11.1 (2.9.3 on macos-latest) and GHC 9.6.2.
# As of 16 December 2023, ubuntu-latest, windows-latest and macos-latest come
# with Stack 2.13.1 and GHC 9.8.1.

jobs:
pedantic:
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,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.4.8. The tool is configured by the contents of the `.stan.toml` file.
GHC 9.6.3. 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 @@ -62,7 +62,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.4.8`).
`stack> build (lib + exe + test) with ghc-9.6.3`).
* Add flag `--candidate` to Stack's `unpack` command, to allow package
candidates to be unpacked locally.

Expand Down
82 changes: 41 additions & 41 deletions cabal.config
Original file line number Diff line number Diff line change
@@ -1,42 +1,42 @@
constraints:
, Cabal ==3.8.1.0
, Cabal-syntax ==3.8.1.0
, Cabal ==3.10.1.0
, Cabal-syntax ==3.10.1.0
, Glob ==0.10.2
, OneTuple ==0.4.1.1
, QuickCheck ==2.14.3
, StateVar ==1.2.2
, Win32 ==2.12.0.1
, Win32 ==2.13.3.0
, aeson ==2.1.2.1
, aeson-warning-parser ==0.1.0
, aeson-warning-parser ==0.1.1
, annotated-wl-pprint ==0.7.0
, ansi-terminal ==1.0
, ansi-terminal-types ==0.11.5
, appar ==0.1.8
, array ==0.5.4.0
, array ==0.5.5.0
, asn1-encoding ==0.9.6
, asn1-parse ==0.9.5
, asn1-types ==0.3.4
, assoc ==1.1
, async ==2.2.4
, async ==2.2.5
, attoparsec ==0.14.4
, attoparsec-aeson ==2.1.0.0
, attoparsec-iso8601 ==1.1.0.0
, attoparsec-iso8601 ==1.1.0.1
, auto-update ==0.1.6
, base ==4.17.2.1
, base-compat ==0.12.3
, base-compat-batteries ==0.12.3
, base ==4.18.1.0
, base-compat ==0.13.1
, base-compat-batteries ==0.13.1
, base-orphans ==0.9.1
, base16-bytestring ==1.0.2.0
, base64-bytestring ==1.2.1.0
, basement ==0.0.16
, bifunctors ==5.5.15
, bifunctors ==5.6.1
, binary ==0.8.9.1
, bitvec ==1.1.5.0
, blaze-builder ==0.4.2.3
, blaze-html ==0.9.1.2
, blaze-markup ==0.8.3.0
, byteorder ==1.0.4
, bytestring ==0.11.5.3
, bytestring ==0.11.5.2
, casa-client ==0.0.2
, casa-types ==0.0.2
, case-insensitive ==1.2.1.0
Expand All @@ -53,7 +53,7 @@ constraints:
, contravariant ==1.5.5
, cookie ==0.4.6
, cryptohash-sha256 ==0.11.102.1
, crypton ==0.33
, crypton ==0.34
, crypton-conduit ==0.2.3
, crypton-connection ==0.3.1
, crypton-x509 ==1.7.6
Expand All @@ -62,53 +62,53 @@ constraints:
, crypton-x509-validation ==1.6.12
, data-default-class ==0.1.2.0
, data-fix ==0.3.2
, deepseq ==1.4.8.0
, digest ==0.0.1.7
, directory ==1.3.7.1
, deepseq ==1.4.8.1
, digest ==0.0.2.0
, directory ==1.3.8.1
, distributive ==0.6.2.1
, dlist ==1.0
, easy-file ==0.2.5
, echo ==0.1.4
, ed25519 ==0.0.5.0
, exceptions ==0.10.5
, exceptions ==0.10.7
, extra ==1.7.14
, fast-logger ==3.2.2
, file-embed ==0.0.15.0
, filelock ==0.1.1.7
, filepath ==1.4.2.2
, foldable1-classes-compat ==0.1
, filepath ==1.4.100.4
, fsnotify ==0.4.1.0
, generic-deriving ==1.14.5
, generically ==0.1.1
, ghc-bignum ==1.3
, ghc-boot ==9.4.8
, ghc-boot-th ==9.4.8
, ghc-prim ==0.9.1
, ghc-boot ==9.6.3
, ghc-boot-th ==9.6.3
, ghc-prim ==0.10.0
, githash ==0.1.7.0
, hackage-security ==0.6.2.3
, hashable ==1.4.3.0
, hi-file-parser ==0.1.6.0
, hinotify ==0.4.1
, hourglass ==0.2.12
, hpack ==0.36.0
, hpc ==0.6.1.0
, http-api-data ==0.5
, hpc ==0.6.2.0
, http-api-data ==0.5.1
, http-client ==0.7.15
, http-client-tls ==0.3.6.3
, http-conduit ==2.3.8.1
, http-conduit ==2.3.8.3
, http-download ==0.2.1.0
, http-types ==0.12.3
, http-types ==0.12.4
, indexed-traversable ==0.1.3
, indexed-traversable-instances ==0.1.1.2
, infer-license ==0.2.0
, integer-conversion ==0.1.0.1
, integer-gmp ==1.1
, integer-logarithms ==1.0.3.1
, iproute ==1.7.12
, libyaml ==0.1.2
, lift-type ==0.1.1.1
, lifted-base ==0.2.3.12
, lukko ==0.1.1.3
, megaparsec ==9.3.1
, megaparsec ==9.5.0
, memory ==0.18.0
, microlens ==0.4.13.1
, microlens-mtl ==0.2.0.3
Expand All @@ -119,26 +119,26 @@ constraints:
, monad-logger ==0.3.40
, monad-loops ==0.4.3
, mono-traversable ==1.0.15.3
, mtl ==2.2.2
, mtl ==2.3.1
, mtl-compat ==0.2.2
, mustache ==2.4.2
, neat-interpolation ==0.5.1.4
, network ==3.1.4.0
, network-uri ==2.6.4.2
, old-locale ==1.0.0.7
, old-time ==1.1.0.3
, old-time ==1.1.0.4
, open-browser ==0.2.1.0
, optparse-applicative ==0.18.1.0
, optparse-simple ==0.1.1.4
, pantry ==0.9.3
, pantry ==0.9.3.1
, parsec ==3.1.16.1
, parser-combinators ==1.3.0
, path ==0.9.5
, path-io ==1.8.1
, path-pieces ==0.2.1
, pem ==0.2.4
, persistent ==2.14.6.0
, persistent-sqlite ==2.13.2.0
, persistent-sqlite ==2.13.3.0
, persistent-template ==2.12.0.0
, pretty ==1.1.3.6
, prettyprinter ==1.7.1
Expand All @@ -148,7 +148,7 @@ constraints:
, project-template ==0.2.1.0
, random ==1.2.1.1
, resource-pool ==0.4.0.0
, resourcet ==1.2.6
, resourcet ==1.3.0
, retry ==0.9.3.1
, rio ==0.1.22.0
, rio-orphans ==0.1.2.0
Expand All @@ -158,39 +158,39 @@ constraints:
, safe-exceptions ==0.1.7.4
, scientific ==0.3.7.0
, semialign ==1.3
, semigroupoids ==5.3.7
, semigroupoids ==6.0.0.1
, silently ==1.2.5.3
, socks ==0.6.1
, split ==0.2.3.5
, split ==0.2.4
, splitmix ==0.1.0.5
, stack ==2.14.0
, static-bytes ==0.1.0
, stm ==2.5.1.0
, stm-chans ==3.0.0.9
, streaming-commons ==0.2.2.6
, strict ==0.5
, tagged ==0.8.7
, tagged ==0.8.8
, tar ==0.5.1.1
, tar-conduit ==0.4.0
, template-haskell ==2.19.0.0
, template-haskell ==2.20.0.0
, temporary ==1.3
, text ==2.0.2
, text-metrics ==0.3.2
, text-short ==0.1.5
, th-abstraction ==0.4.5.0
, th-abstraction ==0.5.0.0
, th-compat ==0.1.4
, th-lift ==0.8.4
, th-lift-instances ==0.1.20
, these ==1.2
, time ==1.12.2
, time-compat ==1.9.6.1
, tls ==1.9.0
, transformers ==0.5.6.2
, tls ==1.8.0
, transformers ==0.6.1.0
, transformers-base ==0.4.6
, transformers-compat ==0.7.2
, typed-process ==0.2.11.1
, unix ==2.7.3
, unix-compat ==0.7
, unix ==2.8.1.0
, unix-compat ==0.7.1
, unix-time ==0.4.11
, unliftio ==0.2.25.0
, unliftio-core ==0.2.1.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-21.22/cabal.config.
-- https://www.stackage.org/lts-22.0/cabal.config.
--
with-compiler: ghc-9.4.8
with-compiler: ghc-9.6.3
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 21.22](https://www.stackage.org/lts-21.22), which
implies GHC 9.4.8 (which is why `stack build` installs that version of GHC if it
says to use [LTS Haskell 22.0](https://www.stackage.org/lts-22.0), which
implies GHC 9.6.3 (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-21.22`, as is currently the
* The appropriate resolver value (`resolver: lts-22.0`, 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-21.22`, let's change
Let's explore package sets a bit further. Instead of `lts-22.0`, 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-21.22
Using latest snapshot resolver: lts-22.0
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-21.22`
(GHC 9.4.8), the command `ghcup install ghc 9.4.8` must have been used to
install GHC 9.4.8. That may be a minor inconvenience for some people, as one the
not already installed that version). For example, to use `resolver: lts-22.0`
(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
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
Loading

0 comments on commit 9773ab2

Please sign in to comment.