|
5 | 5 | Stack is configured by the content of YAML files. Some Stack operations can also |
6 | 6 | be customised by the use of scripts. |
7 | 7 |
|
| 8 | +!!! note |
| 9 | + |
| 10 | + A Haskell package is an organised collection of Haskell code and related |
| 11 | + files. It is described by a Cabal file or a `package.yaml` file (which can |
| 12 | + be used to generate a Cabal file). The package description is itself part of |
| 13 | + the package. Its file is located in the root directory of a local package. |
| 14 | + |
| 15 | + A Stack project is a local directory that contains a Stack project-level |
| 16 | + configuration file (`stack.yaml`). A project may relate to more than one |
| 17 | + local package. A single-package project's directory will usually also be the |
| 18 | + package's root directory. |
| 19 | + |
8 | 20 | ## YAML configuration |
9 | 21 |
|
10 | 22 | Stack's YAML configuration options break down into |
@@ -69,12 +81,6 @@ Cabal file (named `<package_name>.cabal`), see the |
69 | 81 | Project-specific configuration options are valid only in a project-level |
70 | 82 | configuration file (`stack.yaml`). |
71 | 83 |
|
72 | | -!!! note |
73 | | - |
74 | | - We define **project** to mean a directory that contains a `stack.yaml` |
75 | | - file, which specifies how to build a set of packages. We define **package** to |
76 | | - be a package with a Cabal file or an Hpack `package.yaml` file. |
77 | | - |
78 | 84 | In your project-specific options, you specify both **which local packages** to |
79 | 85 | build and **which dependencies to use** when building these packages. Unlike the |
80 | 86 | user's local packages, these dependencies aren't built by default. They only get |
@@ -269,11 +275,14 @@ drop-packages: |
269 | 275 |
|
270 | 276 | !!! info |
271 | 277 |
|
272 | | - In older snapshots, it used to be handy to drop Cabal for reasons listed in |
273 | | - Stackage issue |
274 | | - [#4425](https://github.com/commercialhaskell/stackage/issues/4425). However, |
275 | | - since around February 2020 (LTS-14.27 and nightly-2020-02-08), Cabal is not |
276 | | - directly included in snapshots, so dropping Cabal no longer has any effect. |
| 278 | + Stackage snapshots LTS Haskell 14.27 (GHC 8.6.5) and earlier, and Nightly |
| 279 | + 2022-02-08 (GHC 8.8.2) and earlier, included directly the `Cabal` package. |
| 280 | + Later snapshots do not include directly that package (which is a GHC boot |
| 281 | + package). |
| 282 | + |
| 283 | + For the older Stackage snapshots, it could be handy to drop the |
| 284 | + snapshot-specified `Cabal` package, to avoid building that version of the |
| 285 | + package. For the later snapshots, there is no package version to drop. |
277 | 286 |
|
278 | 287 | ### user-message |
279 | 288 |
|
|
0 commit comments