|
16 | 16 | env:
|
17 | 17 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
18 | 18 |
|
19 |
| -# As of 5 May 2023, ubuntu-latest, windows-latest and macos-latest come |
20 |
| -# with Stack 2.9.3 and GHC 9.6.1. windows-latest comes with NSIS 3.08, for which |
21 |
| -# the default value of the 'Unicode' installer attribute is 'true'. |
| 19 | +# As of 16 June 2023, ubuntu-latest, windows-latest and macos-latest come |
| 20 | +# with Stack 2.11.1 and GHC 9.6.2. windows-latest comes with NSIS 3.08, for |
| 21 | +# which the default value of the 'Unicode' installer attribute is 'true'. |
| 22 | +# However, that is not the 'large strings' build of NSIS and creates installers |
| 23 | +# that corrupt the PATH environment variable if the default string length of |
| 24 | +# 1024 characters is exceeded. |
22 | 25 |
|
23 | 26 | jobs:
|
24 | 27 | integration-tests:
|
@@ -103,6 +106,20 @@ jobs:
|
103 | 106 | EOF
|
104 | 107 | fi
|
105 | 108 |
|
| 109 | + # Updates NSIS 3.08 to a 'large strings' build of the same tool. See |
| 110 | + # https://nsis.sourceforge.io/Special_Builds. |
| 111 | + if [[ "${{ matrix.os }}" == "windows-latest" ]] |
| 112 | + then |
| 113 | + # wget is not available but the Stack-supplied MSYS2 will provide it |
| 114 | + stack exec -- wget -O nsis-3.08-strlen_8192.zip https://downloads.sourceforge.net/nsis/NSIS%203/3.08/nsis-3.08-strlen_8192.zip |
| 115 | + 7z x -aoa -o"/c/Program Files (x86)/NSIS" nsis-3.08-strlen_8192.zip |
| 116 | + # Clean up |
| 117 | + rm nsis-3.08-strlen_8192.zip |
| 118 | + makensis -VERSION && echo |
| 119 | + # Should include defined symbol NSIS_MAX_STRLEN=8192 |
| 120 | + makensis -HDRINFO |
| 121 | + fi |
| 122 | +
|
106 | 123 | # In case GHCup hooks have been created, remove them
|
107 | 124 | if [ -d $(stack path --stack-root)/hooks ]
|
108 | 125 | then
|
|
0 commit comments