Files
2022-06-07 09:47:33 +02:00

60 lines
2.4 KiB
Makefile

# Note: Built for execution in container .github/actions/build-nsis
STARTURL ?= https://updates.safing.io/latest/windows_amd64/start/portmaster-start.exe
MAKENSIS ?= makensis
WINEPREFIX ?=
all: portmaster-uninstaller.exe portmaster-installer.exe
prepare-wine:
wget -O /tmp/nsis-installer.exe https://downloads.sourceforge.net/project/nsis/NSIS%203/3.08/nsis-3.08-setup.exe\?ts\=gAAAAABhgOi_QwQAJSZpPpH77UeO42NdRuMrbb9gHArOw_q1xuPE-qVke0568R-KvtJXhFvZ6Z142oyJlQYiDDLQtylZsOvtAw%3D%3D\&r\=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fnsis%2Ffiles%2FNSIS%25203%2F3.08%2Fnsis-3.08-setup.exe%2Fdownload%3Fuse_mirror%3Dnav%26download%3D
WINEPREFIX=$(shell pwd)/.wine wine /tmp/nsis-installer.exe
@echo "run: 'export WINEPREFIX=$(shell pwd)/.wine'"
wine-setup:
ifeq (,$(findstring $(shell pwd),$(WINEPREFIX)))
which sudo && sudo chown -R $$(id -u):$$(id -g) $(WINEPREFIX) || true
endif
portmaster-start.exe:
echo Downloading portmaster-start.exe
curl --fail --user-agent GitHub -o portmaster-start.exe $(STARTURL)
portmaster-uninstaller.exe: wine-setup portmaster-installer.nsi install_summary.nsh install_finish.nsh
$(MAKENSIS) -DUNINSTALLER portmaster-installer.nsi
wine ./uninstaller_pkg.exe
ifdef SIGN
@echo -e "If wanted, sign now (on Windows) using:\nsign.bat portmaster-uninstaller.exe\npress enter to continue"
@read x
endif
install_summary.nsh: install_summary.rtf
echo -n '$${NSD_SetText} $$0 "' > install_summary.nsh
perl -p -e 's/\r?\n/\$$\\r\$$\\n/' install_summary.rtf >> install_summary.nsh
echo '"' >> install_summary.nsh
install_finish.nsh: install_finish.rtf
echo -n '$${NSD_SetText} $$0 "' > install_finish.nsh
perl -p -e 's/\r?\n/\$$\\r\$$\\n/' install_finish.rtf >> install_finish.nsh
echo '"' >> install_finish.nsh
portmaster-installer.exe: wine-setup portmaster-start.exe portmaster-installer.nsi portmaster-uninstaller.exe install_summary.nsh install_finish.nsh
$(MAKENSIS) -DINSTALLER -DPRODUCTION portmaster-installer.nsi #Production enables good compression (takes longer)
ifdef SIGN
@echo -e "If wanted, sign now (on Windows) using:\nsign.bat portmaster-installer.exe\npress enter to continue"
@read x
endif
test: portmaster-installer.exe
mkdir -p /tmp/test-wine
rm -rf /tmp/test-wine/prefix || true
WINEPREFIX=/tmp/test-wine/prefix wine ./portmaster-installer.exe
clean:
rm -f portmaster-uninstaller.exe
rm -f uninstaller_pkg.exe
rm -f portmaster-installer.exe
rm -f install_summary.nsh
rm -f install_finish.nsh
rm -rf portmaster-start.exe