Skip to content

Commit b9f1c21

Browse files
authored
Merge pull request #5750 from commercialhaskell/stable
Stable
2 parents 75f3170 + 32f6be0 commit b9f1c21

File tree

1 file changed

+25
-17
lines changed

1 file changed

+25
-17
lines changed

doc/developing_on_windows.md

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,31 @@
11
<div class="hidden-warning"><a href="https://docs.haskellstack.org/"><img src="https://cdn.jsdelivr.net/gh/commercialhaskell/stack/doc/img/hidden-warning.svg"></a></div>
22

3-
# Developing on windows #
4-
5-
On Windows, Stack comes with an installation of
6-
[MSYS2](https://www.msys2.org/). MSYS2 will be used by Stack to
7-
provide a unix-like shell for Stack. This may be necessary for installing some Haskell packages, such as those which use `configure` scripts.
8-
No
9-
matter which terminal you choose (cmd.exe, powershell, git bash or any
10-
other) you can use this environment too by executing all programs
11-
through `stack exec -- program`. This is especially useful if your
3+
# Developing on Windows #
4+
5+
On Windows, Stack comes with an installation of [MSYS2](https://www.msys2.org/).
6+
MSYS2 will be used by Stack to provide a Unix-like shell and environment for
7+
Stack. This may be necessary for installing some Haskell packages, such as those
8+
which use `configure` scripts. No matter which terminal software you choose
9+
(Windows Terminal, Console Windows Host, Command Prompt, PowerShell, Git bash or
10+
any other) you can use this environment too by executing all programs through
11+
`stack exec -- <program_name>`. This is especially useful if your
1212
project needs some additional tools during the build phase.
1313

14-
Executables and libraries can be installed with Pacman. All tools can
15-
be found [in the package
16-
list](https://github.com/msys2/msys2/wiki/Packages). A [list of
17-
commands](https://github.com/msys2/msys2/wiki/Using-packages) that
18-
work with Pacman is also available. Just remember that
19-
pacman&mdash;like all other tools&mdash;should be started with `stack
20-
exec -- pacman`.
14+
Executables and libraries can be installed with the MSYS2 package manager
15+
`pacman`. All tools can be found in the
16+
[package list](https://github.com/msys2/msys2/wiki/Packages). A [list of
17+
commands](https://github.com/msys2/msys2/wiki/Using-packages) that work with
18+
`pacman` is also available. Just remember that `pacman` &mdash; like all other
19+
tools &mdash; should be started with `stack exec -- pacman`.
20+
21+
The Stack-supplied MSYS2 can itself be updated with the Stack-supplied `pacman`.
22+
See the MSYS2 guide ['III. Updating packages'](https://www.msys2.org/wiki/MSYS2-installation/). If the Stack-supplied `pacman` has a version that is
23+
5.0.1.6403 or greater (see `stack exec -- pacman --version`) then the command to
24+
update is simply:
25+
26+
stack exec -- pacman -Syuu
27+
28+
This command may need to be run more than once, until everything is reported by `pacman` as 'up to date' and 'nothing to do'.
2129

2230
## Setup.hs ##
2331

@@ -27,7 +35,7 @@ with `stack exec --` within the custom `Setup.hs` file.
2735

2836
## Pacman packages to install for common Haskell packages ##
2937

30-
The following lists Pacman packages known to allow the installation of
38+
The following lists MSYS2 packages known to allow the installation of
3139
some common Haskell packages on Windows. Feel free to submit
3240
additional entries via a pull request.
3341

0 commit comments

Comments
 (0)