You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Specify a variant binary distribution of GHC to use. Known values:
621
+
Specify a variant binary distribution of GHC to use. Known values:
622
622
623
623
* `standard`: This is the default, uses the standard GHC binary distribution
624
624
* `integersimple`: Use a GHC bindist that uses
@@ -636,52 +636,139 @@ This option is incompatible with `system-ghc: true`.
636
636
637
637
Specify a specialized architecture bindist to use. Normally this is
638
638
determined automatically, but you can override the autodetected value here.
639
-
Possible arguments include `standard`, `gmp4`, `tinfo6`, and `nopie`.
639
+
Possible arguments include `standard`, `gmp4`, `nopie`, `tinfo6`,
640
+
`tinfo6-nopie`, `ncurses6`, and `integersimple`.
640
641
641
-
### setup-info-locations
642
+
### setup-info
642
643
643
-
(Since 2.3)
644
+
(Since 0.1.5)
645
+
646
+
The `setup-info` dictionary specifies download locations for tools to be
647
+
installed during set-up, such as GHC or, on Windows, 7z and MSYS2. The
648
+
dictionary maps `('Tool', 'Platform', 'Version')` to the location where it can
649
+
be obtained. For example, mapping `(GHC, 64-bit Windows, 9.2.3)` to the URL
650
+
hosting the archive file for GHC's installation.
644
651
645
-
Possible usages of this config are:
646
-
1. Using `stack` offline or behind a firewall
647
-
2. Extending the tools known to `stack` such as cutting-edge versions of `ghc` or builds for custom linux distributions.
652
+
Possible usages of this configuration option are:
648
653
649
-
The `setup-info` dictionary specifies locations for installation of Haskell-related tooling - it maps `(Tool, Platform, Version)` to the location where it can be obtained, such as `(GHC, Windows64, 8.6.5)` to the url hosting the `*.tar.xz` for GHC's installation.
654
+
1. Using Stack offline or behind a firewall.
655
+
2. Extending the tools known to Stack, such as cutting-edge versions of GHC or
656
+
builds for custom Linux distributions (for use with the
657
+
[ghc-variant](#ghc-variant) option).
650
658
651
-
By default, it's obtained from [stack-setup-2.yaml](https://github.com/commercialhaskell/stackage-content/raw/master/stack/stack-setup-2.yaml).
from being consulted as a fallback. If, however, you need to **replace** the
722
+
default `setup-info` dictionary, use the following:
723
+
724
+
```yaml
725
+
setup-info-locations: []
726
+
```
727
+
### setup-info-locations
657
728
658
-
The first location which specifies the location of a tool `(Tool, Platform, Version)` takes precedence, so one can extend the default tools with a fallback to the default `setup-info` location:
729
+
(Since 2.3)
730
+
731
+
By way of introduction, see the [`setup-info`](#setup-info) option. This option
732
+
specifies the location(s) of `setup-info` dictionaries.
733
+
734
+
The first location which provides a dictionary that specifies the location of a
735
+
tool - `('Tool', 'Platform', 'Version')` - takes precedence. For example, you
736
+
can extend the default tools, with a fallback to the default `setup-info`
The default `setup-info` location is included only if no locations in the `setup-info-locations` config or the `--setup-info-yaml` command line argument were specified.
749
+
Stack only refers to the default `setup-info` location if no locations are
750
+
specified in the `setup-info-locations` configuration or on the command line
751
+
using the `--setup-info-yaml` option.
752
+
753
+
For example, both of the following will cause `stack setup` not to consult the
754
+
default `setup-info` location:
670
755
671
-
Thus the following will cause `stack setup` not to consult github for the `setup-info`:
672
756
```yaml
673
757
setup-info-locations:
674
758
- C:/stack-offline/my-stack-setup.yaml
675
759
```
760
+
and
676
761
677
762
```yaml
678
763
setup-info-locations: []
679
764
```
680
765
681
-
Relative paths are resolved relative to the `stack.yaml` file - either in the local project or the global `stack.yaml` in the stack directory.
766
+
Relative paths are resolved relative to the `stack.yaml` file (either the one in
767
+
the local project or the global `stack.yaml`).
682
768
683
-
Relative paths may also be used inside paths to tool installs - such as for ghc or 7z, which allows vendoring the tools inside a monorepo.
684
-
For example:
769
+
Relative paths may also be used for the installation paths to tools (such as GHC
770
+
or 7z). This allows vendoring the tools inside a monorepo (a single respository
771
+
storing many projects). For example:
685
772
686
773
Directory structure:
687
774
```
@@ -690,7 +777,7 @@ Directory structure:
690
777
- my-stack-setup.yaml
691
778
- 7z.exe
692
779
- 7z.dll
693
-
- ghc-8.2.2.tar.xz
780
+
- ghc-9.2.3.tar.xz
694
781
- stack.yaml
695
782
```
696
783
@@ -703,42 +790,15 @@ setup-info-locations:
703
790
In `installs/my-stack-setup.yaml`:
704
791
```yaml
705
792
sevenzexe-info:
706
-
url: "installs/7z.exe"
793
+
url: "installs/7z.exe"
707
794
708
795
sevenzdll-info:
709
-
url: "installs/7z.dll"
796
+
url: "installs/7z.dll"
710
797
711
798
ghc:
712
-
windows64:
713
-
8.2.2:
714
-
url: "installs/ghc-8.2.2.tar.xz"
715
-
```
716
-
717
-
### setup-info
718
-
719
-
(Since 0.1.5)
720
-
721
-
Allows augmenting from where tools like GHC and MSYS2 (on Windows) are
722
-
downloaded. Most useful for specifying locations of custom GHC binary
723
-
distributions (for use with the [ghc-variant](#ghc-variant) option).
724
-
725
-
The format of this field is the same as in the default [stack-setup-2.yaml](https://github.com/commercialhaskell/stackage-content/raw/master/stack/stack-setup-2.yaml):
This configuration **adds** the specified setup info metadata to the default;
736
-
Specifying this config **does not** prevent the default `stack-setup-2.yaml` from being consulted as a fallback.
737
-
738
-
If you need to **replace** the default setup-info, add the following:
739
-
740
-
```yaml
741
-
setup-info-locations: []
799
+
windows64:
800
+
9.2.3:
801
+
url: "installs/ghc-9.2.3.tar.xz"
742
802
```
743
803
744
804
### pvp-bounds
@@ -1197,5 +1257,4 @@ has the following effect:
1197
1257
1198
1258
This field is convenient in setups that restrict access to GitHub, for instance closed corporate setups. In this setting, it is common for the development environment to have general access to the internet, but not for testing/building environments. To avoid the firewall, one can run a local snapshots mirror and then use a custom `snapshot-location-base` in the closed environments only.
0 commit comments