Skip to content

Commit f80735d

Browse files
committed
Re #6156 Use NSIS 3.08 'large strings' build
1 parent 0d47315 commit f80735d

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

.github/workflows/integration-tests.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@ on:
1616
env:
1717
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1818

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.
2225

2326
jobs:
2427
integration-tests:
@@ -103,6 +106,17 @@ jobs:
103106
EOF
104107
fi
105108
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+
curl --location --remote-name https://downloads.sourceforge.net/nsis/NSIS%203/3.08/nsis-3.08-strlen_8192.zip
114+
7z x -aoa -o"/c/Program Files (x86)/NSIS" nsis-3.08-strlen_8192.zip
115+
makensis -VERSION
116+
# Should include defined symbol NSIS_MAX_STRLEN=8192
117+
makensis -HDRINFO
118+
fi
119+
106120
# In case GHCup hooks have been created, remove them
107121
if [ -d $(stack path --stack-root)/hooks ]
108122
then

0 commit comments

Comments
 (0)