summaryrefslogtreecommitdiffstats
path: root/taskcluster/scripts/misc/build-mingw32-nsis.sh
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/scripts/misc/build-mingw32-nsis.sh')
-rwxr-xr-xtaskcluster/scripts/misc/build-mingw32-nsis.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/taskcluster/scripts/misc/build-mingw32-nsis.sh b/taskcluster/scripts/misc/build-mingw32-nsis.sh
new file mode 100755
index 0000000000..0c6fcca284
--- /dev/null
+++ b/taskcluster/scripts/misc/build-mingw32-nsis.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+set -x -e -v
+
+# We set the INSTALL_DIR to match the directory that it will run in exactly,
+# otherwise we get an NSIS error of the form:
+# checking for NSIS version...
+# DEBUG: Executing: `/home/worker/workspace/build/src/mingw32/
+# DEBUG: The command returned non-zero exit status 1.
+# DEBUG: Its error output was:
+# DEBUG: | Error: opening stub "/home/worker/workspace/mingw32/
+# DEBUG: | Error initalizing CEXEBuild: error setting
+# ERROR: Failed to get nsis version.
+
+INSTALL_DIR=$MOZ_FETCHES_DIR/mingw32
+
+mkdir -p $INSTALL_DIR
+
+cd $MOZ_FETCHES_DIR
+
+# As explained above, we have to build nsis to the directory it
+# will eventually be run from, which is the same place we just
+# installed our compiler. But at the end of the script we want
+# to package up what we just built. If we don't move the compiler,
+# we will package up the compiler we downloaded along with the
+# stuff we just built.
+mv mingw32 mingw32-gcc
+export PATH="$MOZ_FETCHES_DIR/mingw32-gcc/bin:$PATH"
+
+# --------------
+
+cd zlib-1.2.11
+make -f win32/Makefile.gcc PREFIX=i686-w64-mingw32-
+
+cd ../nsis-3.01-src
+patch -p1 < $GECKO_PATH/build/win32/nsis-no-insert-timestamp.patch
+# I don't know how to make the version work with the environment variables/config flags the way the author appears to
+sed -i "s/'VERSION', 'Version of NSIS', cvs_version/'VERSION', 'Version of NSIS', '3.01'/" SConstruct
+scons XGCC_W32_PREFIX=i686-w64-mingw32- ZLIB_W32=../zlib-1.2.11 SKIPUTILS="NSIS Menu" PREFIX=$INSTALL_DIR/ install
+
+# --------------
+
+cd $MOZ_FETCHES_DIR
+
+tar caf nsis.tar.xz mingw32
+
+mkdir -p $UPLOAD_DIR
+cp nsis.tar.* $UPLOAD_DIR