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,110 +636,176 @@ 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)
644
645
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.
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.
648
651
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.
652
+
Possible usages of this configuration option are:
650
653
651
-
By default, it's obtained from [stack-setup-2.yaml](https://github.com/commercialhaskell/stackage-content/raw/master/stack/stack-setup-2.yaml).
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
2. `--setup-info-yaml` command line arguments - urls or paths, multiple locations may be specified.
656
-
3. `setup-info-locations` yaml configuration - urls or paths
657
663
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:
664
+
1. `setup-info` in the YAML configuration - inline configuration
665
+
2. `--setup-info-yaml` command line arguments - URLs or paths. Multiple
666
+
locations may be specified.
667
+
3. `setup-info-locations` in the YAML configuration - URLs or paths. See further
668
+
below.
669
+
670
+
The format of this field is the same as in the default
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.
751
+
Stack only refers to the default `setup-info` location if no locations are
752
+
specified in the `setup-info-locations` configuration or on the command line
753
+
using the `--setup-info-yaml` option.
670
754
671
-
Thus the following will cause `stack setup` not to consult github for the `setup-info`:
672
-
```yaml
755
+
For example, both of the following will cause `stack setup` not to consult the
756
+
default `setup-info` location:
757
+
758
+
~~~yaml
673
759
setup-info-locations:
674
760
- C:/stack-offline/my-stack-setup.yaml
675
-
```
761
+
~~~
676
762
677
-
```yaml
763
+
and
764
+
765
+
~~~yaml
678
766
setup-info-locations: []
679
-
```
767
+
~~~
680
768
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.
769
+
Relative paths are resolved relative to the `stack.yaml` file (either the one in
770
+
the local project or the global `stack.yaml`).
682
771
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:
772
+
Relative paths may also be used for the installation paths to tools (such as GHC
773
+
or 7z). This allows vendoring the tools inside a monorepo (a single respository
774
+
storing many projects). For example:
685
775
686
776
Directory structure:
687
-
```
777
+
778
+
~~~
688
779
- src/
689
780
- installs/
690
781
- my-stack-setup.yaml
691
782
- 7z.exe
692
783
- 7z.dll
693
-
- ghc-8.2.2.tar.xz
784
+
- ghc-9.2.3.tar.xz
694
785
- stack.yaml
695
-
```
786
+
~~~
696
787
697
788
In the project's `stack.yaml`:
698
-
```yaml
789
+
790
+
~~~yaml
699
791
setup-info-locations:
700
792
- installs/my-stack-setup.yaml
701
-
```
793
+
~~~
702
794
703
795
In `installs/my-stack-setup.yaml`:
704
-
```yaml
796
+
797
+
~~~yaml
705
798
sevenzexe-info:
706
-
url: "installs/7z.exe"
799
+
url: "installs/7z.exe"
707
800
708
801
sevenzdll-info:
709
-
url: "installs/7z.dll"
802
+
url: "installs/7z.dll"
710
803
711
804
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):
0 commit comments