Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump stack.yaml to lts-22.43 #6662

Merged
merged 1 commit into from
Dec 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -348,10 +348,10 @@ compatibility with a range of versions of GHC that a library package (such as
Stack aims to depend on well-known packages. The specific versions on which it
depends at any time are specified by `package.yaml` and `stack.yaml`. It does
not aim to be compatible with more than one version of the `Cabal` package at
any time. At the time of writing (september 2024) the package versions are
primarily ones in Stackage snapshot LTS Haskell 22.28 (for GHC 9.6.6), together
with extra-deps to depend on the latest version of `hpack`, `pantry`, `tar`,
`tls` and `crypton-connection`.
any time. At the time of writing (December 2024) the package versions are
primarily ones in Stackage snapshot LTS Haskell 22.43 (for GHC 9.6.6), together
with extra-deps to depend on the latest versions of `crypton-connection`,
`hpack`, `pantry`, `tar` and `tls`.

A Stack executable makes use of Cabal (the library) through a small 'Setup'
executable that it compiles from Haskell source code. The executable compiles
Expand Down
2 changes: 1 addition & 1 deletion cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
-- 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.28/cabal.config.
-- https://www.stackage.org/lts-22.43/cabal.config.
--
with-compiler: ghc-9.6.6
import: cabal.config
Expand Down
6 changes: 3 additions & 3 deletions doc/commands/list_command.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,17 @@ Error: [S-4926]
pantry, pretty, pasty, xattr, alloy, para, pappy, alure, polar and
factory.

stack --snapshot lts-22.28 list base unix Win32 acme-missiles pantry
stack --snapshot lts-22.43 list base unix Win32 acme-missiles pantry
Error: [S-4926]
* Package does not appear in snapshot (directly or indirectly): acme-missiles.

stack --snapshot lts-22.28 list base unix Win32 pantry
stack --snapshot lts-22.43 list base unix Win32 pantry
base-4.18.2.1
unix-2.8.4.0
Win32-2.13.3.0
pantry-0.9.3.2

stack --snapshot lts-22.28 list
stack --snapshot lts-22.43 list
AC-Angle-1.0
ALUT-2.4.0.3
...
Expand Down
8 changes: 4 additions & 4 deletions doc/commands/script_command.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ A snapshot must be specified on the command line, using the `--snapshot` option.
For example:

~~~text
stack script --snapshot lts-22.28 MyScript.hs
stack script --snapshot lts-22.43 MyScript.hs
~~~

A package version can be added to the snapshot on the command line with the
Expand Down Expand Up @@ -187,7 +187,7 @@ main = do
can be compiled and run, with arguments, with:

~~~text
stack --snapshot lts-22.28 script --package acme-missiles --compile MyScript.hs -- "Don't panic!" "Duck and cover!"
stack --snapshot lts-22.43 script --package acme-missiles --compile MyScript.hs -- "Don't panic!" "Duck and cover!"
~~~

`acme-missiles-0.3` (the most recent version in the package index) will be used.
Expand All @@ -207,7 +207,7 @@ snapshot as an extra-dep. The `stack script` command is specified using Stack's

~~~haskell
{- stack script
-- snapshot lts-22.28
-- snapshot lts-22.43
-- extra-dep acme-missiles-0.2
-- package acme-missiles
-}
Expand Down Expand Up @@ -309,7 +309,7 @@ A Haskell source file `MyScript.hs`, as follows:

~~~haskell
{- stack script
--snapshot lts-22.28
--snapshot lts-22.43
-}

{-# LANGUAGE OverloadedStrings #-}
Expand Down
2 changes: 1 addition & 1 deletion doc/configure/yaml/non-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ snapshots like `ghc-9.6.6`. This can be used to override the compiler for a
Stackage snapshot, like this:

~~~yaml
snapshot: lts-22.28
snapshot: lts-22.43
compiler: ghc-9.6.5
compiler-check: match-exact
~~~
Expand Down
2 changes: 1 addition & 1 deletion doc/topics/Stack_and_VS_Code.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ VS Code with the 'Haskell' extension can be configured in a number of ways:

Each time that a snapshot 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 `snapshot: lts-22.28`
installed that version). For example, to use `snapshot: lts-22.43`
(GHC 9.6.6), the command `ghcup install ghc 9.6.6` must have been used
to install GHC 9.6.6. That may be a minor inconvenience for some people,
as one the primary benefits of Stack over other tools for building
Expand Down
22 changes: 11 additions & 11 deletions doc/topics/custom_snapshot.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ available in snapshots to ensure reproducibility.
for snapshot specification.

~~~yaml
snapshot: lts-22.28 # Inherits GHC version and package set
snapshot: lts-22.43 # Inherits GHC version and package set
compiler: ghc-9.6.5 # Overwrites GHC version in the snapshot, optional

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

### Overriding the compiler

The following snapshot specification will be identical to `lts-22.28`, but
The following snapshot specification will be identical to `lts-22.43`, but
instead use `ghc-9.6.5` instead of `ghc-9.6.6`:

~~~yaml
snapshot: lts-22.28
snapshot: lts-22.43
compiler: ghc-9.6.5
~~~

### Dropping packages

The following snapshot specification will be identical to `lts-22.28`, but
The following snapshot specification will be identical to `lts-22.43`, 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
snapshot: lts-22.28
snapshot: lts-22.43
drop-packages:
- text
~~~

### Hiding packages

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

~~~yaml
snapshot: lts-22.28
snapshot: lts-22.43
hidden:
- text
~~~
Expand All @@ -101,11 +101,11 @@ In order to specify GHC options for a package, you use the same syntax as the
[ghc-options](../configure/yaml/non-project.md#ghc-options) key for build
configuration.

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

~~~yaml
snapshot: lts-22.28
snapshot: lts-22.43
packages:
- text-2.0.2
ghc-options:
Expand All @@ -124,11 +124,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](../configure/yaml/project.md#flags) key for build configuration. The
following snapshot specification will be identical to `lts-22.28`, but
following snapshot specification will be identical to `lts-22.43`, but
it enables the `developer` Cabal flag:

~~~yaml
snapshot: lts-22.28
snapshot: lts-22.43
packages:
- text-2.0.2
flags:
Expand Down
4 changes: 2 additions & 2 deletions doc/topics/haskell_and_c_code.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ executables:

The project's `stack.yaml` file only needs to identify a snapshot:
~~~yaml
snapshot: lts-22.28 # GHC 9.6.6
snapshot: lts-22.43 # GHC 9.6.6
~~~

This example project can be built with Stack in the normal way (`stack build`),
Expand Down Expand Up @@ -220,7 +220,7 @@ The `include-dirs` key will cause the specified directory (again,

The project's `stack.yaml` file only needs to identify a snapshot:
~~~yaml
snapshot: lts-22.28 # GHC 9.6.6
snapshot: lts-22.43 # GHC 9.6.6
~~~

This example project can be built with Stack in the normal way (`stack build`),
Expand Down
22 changes: 11 additions & 11 deletions doc/topics/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 --snapshot lts-22.28 --package turtle
-- stack script --snapshot lts-22.43 --package turtle
{-# LANGUAGE OverloadedStrings #-}
import Turtle (echo)
main = echo "Hello World!"
Expand Down Expand Up @@ -78,11 +78,11 @@ 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`](../commands/script_command.md)
command with the options of a LTS Haskell 22.28 snapshot
(`--snapshot lts-22.28`) and ensuring the
command with the options of a LTS Haskell 22.43 snapshot
(`--snapshot lts-22.43`) and ensuring the
[`turtle`](https://hackage.haskell.org/package/turtle) package is available
(`--package turtle`). The version of the package will be that in the specified
snapshot (`lts-22.28` provides `turtle-1.6.2`).
snapshot (`lts-22.43` provides `turtle-1.6.2`).

## Arguments and interpreter options and arguments

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

~~~text
stack script --snapshot lts-22.28 -- MyScript.hs arg1 arg2 +RTS -s -RTS
stack script --snapshot lts-22.43 -- MyScript.hs arg1 arg2 +RTS -s -RTS
~~~

where `+RTS -s -RTS` are some of GHC's
Expand Down Expand Up @@ -162,7 +162,7 @@ options, or by providing a comma or space separated list. For example:
~~~haskell
#!/usr/bin/env stack
{- stack script
--snapshot lts-22.28
--snapshot lts-22.43
--package turtle
--package "stm async"
--package http-client,http-conduit
Expand Down Expand Up @@ -207,7 +207,7 @@ which makes use of the joke package

~~~haskell
{- stack script
--snapshot lts-22.28
--snapshot lts-22.43
--package acme-missiles
-}
import Acme.Missiles (launchMissiles)
Expand All @@ -218,7 +218,7 @@ main = launchMissiles

The command `stack --script-no-run-compile Script.hs` then behaves as if the
command
`stack script --snapshot lts-22.28 --package acme-missiles --no-run --compile -- Script.hs`
`stack script --snapshot lts-22.43 --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 @@ -260,7 +260,7 @@ those curious, here is an example with
{- stack
runghc
--install-ghc
--snapshot lts-22.28
--snapshot lts-22.43
--package base
--package turtle
--
Expand All @@ -284,7 +284,7 @@ it. Here is an example:
{- stack
exec ghci
--install-ghc
--snapshot lts-22.28
--snapshot lts-22.43
--package turtle
-}
~~~
6 changes: 3 additions & 3 deletions doc/topics/stack_yaml_vs_cabal_package_file.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ 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.28>, you will see a list of 3,373 packages at
specific version numbers. When you then specify `snapshot: lts-22.28` or,
alternatively, `resolver: lts-22.28`, you're telling Stack to use those package
<https://www.stackage.org/lts-22.43>, you will see a list of 3,378 packages at
specific version numbers. When you then specify `snapshot: lts-22.43` or,
alternatively, `resolver: lts-22.43`, you're telling Stack to use those package
versions in resolving dependencies down to specific versions of packages.

Sometimes a snapshot doesn't have all of the packages that you want. Or you want
Expand Down
2 changes: 1 addition & 1 deletion etc/scripts/build-stack-installer.hs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{- stack script
--resolver lts-22.28
--resolver lts-22.43
--install-ghc
--package nsis
-}
Expand Down
4 changes: 2 additions & 2 deletions etc/scripts/release-linux-aarch64.hs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{- stack script
--resolver lts-22.28
--resolver lts-22.43
--ghc-options -Wall
-}

-- As no packages are specified in the `stack script` command in the Stack
-- interpreter options comment, Stack deduces the required packages from the
-- module imports, being: Cabal, base, bytestring, directory, extra, process,
-- shake, tar, zip-archive and zlib. These are either GHC boot packages or in
-- the snapshot. Stackage LTS Haskell 22.28 does not include boot packages
-- the snapshot. Stackage LTS Haskell 22.43 does not include boot packages
-- directly. As GHC 9.6.6 boot packages Cabal and Cabal-syntax expose modules
-- with the same names, the language extension PackageImports is required.

Expand Down
4 changes: 2 additions & 2 deletions etc/scripts/release.hs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{- stack script
--resolver lts-22.28
--resolver lts-22.43
--ghc-options -Wall
-}

-- As no packages are specified in the `stack script` command in the Stack
-- interpreter options comment, Stack deduces the required packages from the
-- module imports, being: Cabal, base, bytestring, directory, extra, process,
-- shake, tar, zip-archive and zlib. These are either GHC boot packages or in
-- the snapshot. Stackage LTS Haskell 22.28 does not include boot packages
-- the snapshot. Stackage LTS Haskell 22.43 does not include boot packages
-- directly. As GHC 9.6.6 boot packages Cabal and Cabal-syntax expose modules
-- with the same names, the language extension PackageImports is required.

Expand Down
4 changes: 2 additions & 2 deletions src/Stack/Init.hs
Original file line number Diff line number Diff line change
Expand Up @@ -431,8 +431,8 @@ renderStackYaml p ignoredPackages dupPackages =
, "A snapshot resolver dictates the compiler version and the set of packages"
, "to be used for project dependencies. For example:"
, ""
, "snapshot: lts-22.28"
, "snapshot: nightly-2024-07-05"
, "snapshot: lts-22.43"
, "snapshot: nightly-2024-12-07"
, "snapshot: ghc-9.6.6"
, ""
, "The location of a snapshot can be provided as a file or url. Stack assumes"
Expand Down
16 changes: 6 additions & 10 deletions stack.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
snapshot: lts-22.28 # GHC 9.6.6
snapshot: lts-22.43 # GHC 9.6.6

extra-deps:
# lts-22.28 provides crypton-connection-0.3.2
# lts-22.43 provides crypton-connection-0.3.2
- crypton-connection-0.4.1@sha256:a03dabfac16fcc58b4089c2f75ad1e97fc71c4a44f3aeb790db65cebb9ebd1d0,1590
# lts-22.28 provides hi-file-parser-0.1.6.0
- hi-file-parser-0.1.7.0@sha256:6cb54bc4bcc07c3b4c7b5dca73bc81e6b052636dc212eb6791608e70aab1ddfe,3012
# lts-22.28 provides hpack-0.36.0
# lts-22.43 provides hpack-0.36.1
- hpack-0.37.0@sha256:b7c91b0416a55c134172a9fd9a02f3815ba68c4b92cca4e320c36906d5e970e0,5187
# lts-22.28 provides pantry-0.9.3.2.
# lts-22.43 provides pantry-0.9.3.2.
- pantry-0.10.0@sha256:d13f99099753b0acf0695a00dc4d82f2671d3c604161d169ac0fc8fcf3004dec,7912
# lts-22.28 provides static-bytes-0.1.0
- static-bytes-0.1.1@sha256:e090886a4752a816cfff7ccb2c51c533cc8e39ec2d27e485427577fc92d9e9f9,1627
# lts-22.28 provides tar-0.5.1.1, which does not support Unicode filenames:
# lts-22.43 provides tar-0.5.1.1, which does not support Unicode filenames:
- tar-0.6.2.0@sha256:619828cae098a7b6deeb0316e12f55011101d88f756787ed024ceedb81cf1eba,4576
# lts-22.28 provides tls-1.8.0
# lts-22.43 provides tls-1.8.0
- tls-2.1.0@sha256:39f9a6183a6dafc3365e99f4f3b99a55154f8a3a3114d9475459a066f56a3a32,6173

docker:
Expand Down
Loading
Loading