From 61a6317a5f460ec4ca30d8170c1d7e09e7ecfb2e Mon Sep 17 00:00:00 2001 From: Bert van der Weerd Date: Sun, 25 Sep 2022 17:04:14 +0200 Subject: [PATCH] added linux and linux-mar folders --- linux-mar/Makefile | 89 ++++++++++ linux-mar/assets/artifacts.mk | 11 ++ linux-mar/assets/banner.bmp | Bin 0 -> 154542 bytes linux-mar/assets/fix-l10n-package-cmd.patch | 20 +++ linux-mar/assets/librewolf.ico | Bin 0 -> 32038 bytes linux-mar/assets/mozconfig | 71 ++++++++ linux-mar/assets/tryfix-reslink-fail.patch | 13 ++ linux/Makefile | 89 ++++++++++ linux/assets/artifacts.mk | 43 +++++ linux/assets/banner.bmp | Bin 0 -> 154542 bytes linux/assets/fix-l10n-package-cmd.patch | 20 +++ linux/assets/librewolf.ico | Bin 0 -> 32038 bytes linux/assets/mozconfig | 71 ++++++++ linux/assets/setup.nsi | 176 ++++++++++++++++++++ linux/assets/tryfix-reslink-fail.patch | 13 ++ 15 files changed, 616 insertions(+) create mode 100644 linux-mar/Makefile create mode 100644 linux-mar/assets/artifacts.mk create mode 100644 linux-mar/assets/banner.bmp create mode 100644 linux-mar/assets/fix-l10n-package-cmd.patch create mode 100644 linux-mar/assets/librewolf.ico create mode 100644 linux-mar/assets/mozconfig create mode 100644 linux-mar/assets/tryfix-reslink-fail.patch create mode 100644 linux/Makefile create mode 100644 linux/assets/artifacts.mk create mode 100644 linux/assets/banner.bmp create mode 100644 linux/assets/fix-l10n-package-cmd.patch create mode 100644 linux/assets/librewolf.ico create mode 100644 linux/assets/mozconfig create mode 100644 linux/assets/setup.nsi create mode 100644 linux/assets/tryfix-reslink-fail.patch diff --git a/linux-mar/Makefile b/linux-mar/Makefile new file mode 100644 index 0000000..691ca2d --- /dev/null +++ b/linux-mar/Makefile @@ -0,0 +1,89 @@ +.PHONY : help all clean build artifacts dir bootstrap winsdk setup-debian setup-fedora veryclean + +version:=$(shell cat version) +release:=$(shell cat release) +source_release:=$(shell cat source_release) +full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)") +mozbuild=~/.mozbuild + +help : + + @echo "use: make [help] [all] [clean] [build] [package] [artifacts]" + @echo "" + @echo " all - Build librewolf and it's windows artifacts." + @echo " build - Perform './mach build' on the extracted tarball." + @echo " package - multilocale package." + @echo " artifacts - Create the setup.exe and the portable.zip." + @echo "" + @echo " clean - Remove output files and temporary files." + @echo " veryclean - Remove even more stuff." + @echo " dir - just extract and patch the LW tarball." + @echo " bootstrap - try to set up the build environment." + @echo " setup-debian, setup-fedora - needed packages." + @echo "" + +all : build package artifacts + +clean : + rm -rf librewolf-$(full_version) work + +veryclean : clean + rm -rf firefox-$(full_version).en-US.win64.zip librewolf-$(full_version).en-US.win64-setup.exe librewolf-$(full_version).en-US.win64-portable.zip + + +build : dir + (cd librewolf-$(full_version) && ./mach build) + +package : dir +# (cd librewolf-$(full_version) && ./mach package) + ( cd librewolf-$(full_version) && echo 'Packaging... (output hidden)' && \ + cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales >/dev/null ) + +dir : librewolf-$(full_version) +librewolf-$(full_version) : librewolf-$(full_version).source.tar.gz + rm -rf $@ + tar xf $< + cp -v assets/mozconfig librewolf-$(full_version) + (cd librewolf-$(full_version) && patch -p1 -i ../assets/tryfix-reslink-fail.patch) + (cd librewolf-$(full_version) && patch -p1 -i ../assets/fix-l10n-package-cmd.patch) + +winsdk : $(mozbuild)/vs.tar.zst + (mkdir -p $(mozbuild)/win-cross && cd $(mozbuild)/win-cross && rm -rf vs && tar xf ../vs.tar.zst) +$(mozbuild)/vs.tar.zst : # cache this file + (cd librewolf-$(full_version) && ./mach python --virtualenv build build/vs/pack_vs.py build/vs/vs2019.yaml -o $(mozbuild)/vs.tar.zst) + +bootstrap : dir winsdk + (cd librewolf-$(full_version) && ./mach --no-interactive bootstrap --application-choice=browser) + ~/.cargo/bin/rustup target add x86_64-pc-windows-msvc + ( export t=$$(pwd)/librewolf-$(full_version) && \ + cd $(mozbuild) && \ + $$t/mach artifact toolchain --from-build linux64-binutils && \ + $$t/mach artifact toolchain --from-build linux64-cbindgen && \ + $$t/mach artifact toolchain --from-build linux64-clang && \ + $$t/mach artifact toolchain --from-build linux64-dump_syms && \ + $$t/mach artifact toolchain --from-build linux64-liblowercase && \ + $$t/mach artifact toolchain --from-build linux64-nasm && \ + $$t/mach artifact toolchain --from-build linux64-node && \ + $$t/mach artifact toolchain --from-build linux64-rust-cross && \ + $$t/mach artifact toolchain --from-build linux64-winchecksec && \ + $$t/mach artifact toolchain --from-build linux64-wine && \ + $$t/mach artifact toolchain --from-build nsis && \ + $$t/mach artifact toolchain --from-build sysroot-x86_64-linux-gnu && \ + true ) + +setup-debian : + apt-get -y install mercurial python3 python3-dev python3-pip curl wget dpkg-sig msitools p7zip-full upx-ucl libssl-dev zstd + +setup-fedora : + dnf -y install python3 curl wget zstd python3-devel python3-pip mercurial msitools p7zip upx openssl-devel + +# +# Build the artifacts in a seperate Makefile +# + +librewolf-$(full_version).en-US.win64.zip : # build stage output artifact + cp -v librewolf-$(full_version)/obj-x86_64-pc-mingw32/dist/firefox-$(version)-$(source_release).en-US.win64.zip . +artifacts : librewolf-$(full_version).en-US.win64.zip + ${MAKE} -f assets/artifacts.mk artifacts + + diff --git a/linux-mar/assets/artifacts.mk b/linux-mar/assets/artifacts.mk new file mode 100644 index 0000000..6efb6f5 --- /dev/null +++ b/linux-mar/assets/artifacts.mk @@ -0,0 +1,11 @@ +.PHONY: artifacts + +version:=$(shell cat version) +release:=$(shell cat release) +source_release:=$(shell cat source_release) +full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)") +mozbuild=~/.mozbuild + +incoming_artifact=librewolf-$(full_version).en-US.win64.zip + +artifacts : diff --git a/linux-mar/assets/banner.bmp b/linux-mar/assets/banner.bmp new file mode 100644 index 0000000000000000000000000000000000000000..05fda40b27db5620b47b8a50d79582de81537a09 GIT binary patch literal 154542 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 literal 0 HcmV?d00001 diff --git a/linux-mar/assets/fix-l10n-package-cmd.patch b/linux-mar/assets/fix-l10n-package-cmd.patch new file mode 100644 index 0000000..b6b66ec --- /dev/null +++ b/linux-mar/assets/fix-l10n-package-cmd.patch @@ -0,0 +1,20 @@ +diff --git a/python/mozbuild/mozbuild/mach_commands.py b/python/mozbuild/mozbuild/mach_commands.py +index 10d7a8f..610a4fa 100644 +--- a/python/mozbuild/mozbuild/mach_commands.py ++++ b/python/mozbuild/mozbuild/mach_commands.py +@@ -2457,6 +2457,7 @@ def package_l10n(command_context, verbose=False, locales=[]): + ) + command_context.run_process( + [ ++ "python3", + mozpath.join(command_context.topsrcdir, "mach"), + "build", + "chrome-{}".format(locale), +@@ -2476,6 +2477,7 @@ def package_l10n(command_context, verbose=False, locales=[]): + ) + command_context.run_process( + [ ++ "python3", + mozpath.join(command_context.topsrcdir, "mach"), + "android", + "assemble-app", diff --git a/linux-mar/assets/librewolf.ico b/linux-mar/assets/librewolf.ico new file mode 100644 index 0000000000000000000000000000000000000000..30a72f168d8f1cb8689dc7913bc42c7ce70a4f92 GIT binary patch literal 32038 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 literal 0 HcmV?d00001 diff --git a/linux-mar/assets/mozconfig b/linux-mar/assets/mozconfig new file mode 100644 index 0000000..9f72d31 --- /dev/null +++ b/linux-mar/assets/mozconfig @@ -0,0 +1,71 @@ +# mozconfig - crosscompile from Linux to Windows + +export MOZBUILD=$HOME/.mozbuild +export WINDOWSSDKDIR="$MOZBUILD/win-cross/vs/windows kits/10" +ac_add_options --target=x86_64-pc-mingw32 +mk_add_options "export LD_PRELOAD=$MOZBUILD/liblowercase/liblowercase.so" +mk_add_options "export LOWERCASE_DIRS=$MOZBUILD/win-cross" + +EXTRA_PATH="$MOZBUILD/win-cross/vs/vc/tools/msvc/14.29.30133/bin/hostx64/x64:" +mk_add_options "export PATH=$EXTRA_PATH$PATH" + +export CC="$MOZBUILD/clang/bin/clang-cl" +export CXX="$MOZBUILD/clang/bin/clang-cl" +export HOST_CC="$MOZBUILD/clang/bin/clang" +export HOST_CXX="$MOZBUILD/clang/bin/clang++" + +export WINE="$MOZBUILD/wine/bin/wine64" + +### +# TODO : fixme +# + +ac_add_options --without-wasm-sandboxed-libraries + +### +# old config settings +# + +ac_add_options --enable-application=browser + +ac_add_options --allow-addon-sideload +ac_add_options --disable-crashreporter +ac_add_options --disable-debug +ac_add_options --disable-default-browser-agent +ac_add_options --disable-tests +ac_add_options --disable-updater +ac_add_options --enable-hardening +ac_add_options --enable-optimize +ac_add_options --enable-release +ac_add_options --enable-rust-simd + +ac_add_options --with-app-name=librewolf +ac_add_options --with-branding=browser/branding/librewolf + +ac_add_options --with-unsigned-addon-scopes=app,system + +# see issue # https://gitlab.com/librewolf-community/browser/arch/-/issues/49 +export MOZ_REQUIRE_SIGNING= + +mk_add_options MOZ_CRASHREPORTER=0 +mk_add_options MOZ_DATA_REPORTING=0 +mk_add_options MOZ_NORMANTY=0 +mk_add_options MOZ_SERVICES_HEALTHREPORT=0 +mk_add_options MOZ_TELEMETRY_REPORTING=0 + +# +# windows specific. +# +# - no need to specify wasi sdk folder +# + +ac_add_options --disable-maintenance-service +ac_add_options --enable-strip + +# needed for windows/mac auto update ONLY. it's a security risk so other OSses don't need it +# https://firefox-source-docs.mozilla.org/taskcluster/setting-up-an-update-server.html + +#ac_add_options --disable-verify-mar + +# Internationalization +ac_add_options --with-l10n-base=$(pwd)/browser/locales/l10n diff --git a/linux-mar/assets/tryfix-reslink-fail.patch b/linux-mar/assets/tryfix-reslink-fail.patch new file mode 100644 index 0000000..c8a4270 --- /dev/null +++ b/linux-mar/assets/tryfix-reslink-fail.patch @@ -0,0 +1,13 @@ +diff --git a/browser/app/splash.rc b/browser/app/splash.rc +index 259a806..78cd58e 100644 +--- a/browser/app/splash.rc ++++ b/browser/app/splash.rc +@@ -12,7 +12,7 @@ IDI_APPLICATION ICON FIREFOX_ICO + IDI_NEWWINDOW ICON NEWWINDOW_ICO + IDI_NEWTAB ICON NEWTAB_ICO + IDI_PBMODE ICON PBMODE_ICO +-IDI_DOCUMENT_PDF ICON DOCUMENT_PDF_ICO ++IDI_DOCUMENT_PDF ICON DOCUMENT_ICO + + STRINGTABLE DISCARDABLE + BEGIN diff --git a/linux/Makefile b/linux/Makefile new file mode 100644 index 0000000..ddf85c4 --- /dev/null +++ b/linux/Makefile @@ -0,0 +1,89 @@ +.PHONY : help all clean build artifacts dir bootstrap winsdk setup-debian setup-fedora veryclean + +version:=$(shell cat version) +release:=$(shell cat release) +source_release:=$(shell cat source_release) +full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)") +mozbuild=~/.mozbuild + +help : + + @echo "use: make [help] [all] [clean] [build] [package] [artifacts]" + @echo "" + @echo " all - Build librewolf and it's windows artifacts." + @echo " build - Perform './mach build' on the extracted tarball." + @echo " package - multilocale package." + @echo " artifacts - Create the setup.exe and the portable.zip." + @echo "" + @echo " clean - Remove output files and temporary files." + @echo " veryclean - Remove even more stuff." + @echo " dir - just extract and patch the LW tarball." + @echo " bootstrap - try to set up the build environment." + @echo " setup-debian, setup-fedora - needed packages." + @echo "" + +all : build package artifacts + +clean : + rm -rf librewolf-$(full_version) work + +veryclean : clean + rm -rf firefox-$(full_version).en-US.win64.zip librewolf-$(full_version).en-US.win64-setup.exe librewolf-$(full_version).en-US.win64-portable.zip + + +build : dir + (cd librewolf-$(full_version) && ./mach build) + +package : dir +# (cd librewolf-$(full_version) && ./mach package) + ( cd librewolf-$(full_version) && echo 'Packaging... (output hidden)' && \ + cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales >/dev/null ) + +dir : librewolf-$(full_version) +librewolf-$(full_version) : librewolf-$(full_version).source.tar.gz + rm -rf $@ + tar xf $< + cp -v assets/mozconfig librewolf-$(full_version) + (cd librewolf-$(full_version) && patch -p1 -i ../assets/tryfix-reslink-fail.patch) + (cd librewolf-$(full_version) && patch -p1 -i ../assets/fix-l10n-package-cmd.patch) + +winsdk : $(mozbuild)/vs.tar.zst + (mkdir -p $(mozbuild)/win-cross && cd $(mozbuild)/win-cross && rm -rf vs && tar xf ../vs.tar.zst) +$(mozbuild)/vs.tar.zst : # cache this file + (cd librewolf-$(full_version) && ./mach python --virtualenv build build/vs/pack_vs.py build/vs/vs2019.yaml -o $(mozbuild)/vs.tar.zst) + +bootstrap : dir winsdk + (cd librewolf-$(full_version) && ./mach --no-interactive bootstrap --application-choice=browser) + ~/.cargo/bin/rustup target add x86_64-pc-windows-msvc + ( export t=$$(pwd)/librewolf-$(full_version) && \ + cd $(mozbuild) && \ + $$t/mach artifact toolchain --from-build linux64-binutils && \ + $$t/mach artifact toolchain --from-build linux64-cbindgen && \ + $$t/mach artifact toolchain --from-build linux64-clang && \ + $$t/mach artifact toolchain --from-build linux64-dump_syms && \ + $$t/mach artifact toolchain --from-build linux64-liblowercase && \ + $$t/mach artifact toolchain --from-build linux64-nasm && \ + $$t/mach artifact toolchain --from-build linux64-node && \ + $$t/mach artifact toolchain --from-build linux64-rust-cross && \ + $$t/mach artifact toolchain --from-build linux64-winchecksec && \ + $$t/mach artifact toolchain --from-build linux64-wine && \ + $$t/mach artifact toolchain --from-build nsis && \ + $$t/mach artifact toolchain --from-build sysroot-x86_64-linux-gnu && \ + true ) + +setup-debian : + apt-get -y install mercurial python3 python3-dev python3-pip curl wget dpkg-sig msitools p7zip-full upx-ucl libssl-dev zstd + +setup-fedora : + dnf -y install python3 curl wget zstd python3-devel python3-pip mercurial msitools p7zip upx openssl-devel + +# +# Build the artifacts in a seperate Makefile +# + +firefox-$(full_version).en-US.win64.zip : # build stage output artifact + cp -v librewolf-$(full_version)/obj-x86_64-pc-mingw32/dist/firefox-$(version)-$(source_release).en-US.win64.zip . +artifacts : firefox-$(full_version).en-US.win64.zip + ${MAKE} -f assets/artifacts.mk artifacts + + diff --git a/linux/assets/artifacts.mk b/linux/assets/artifacts.mk new file mode 100644 index 0000000..bf85eb1 --- /dev/null +++ b/linux/assets/artifacts.mk @@ -0,0 +1,43 @@ +.PHONY: artifacts + +version:=$(shell cat version) +release:=$(shell cat release) +source_release:=$(shell cat source_release) +full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)") +mozbuild=~/.mozbuild + +incoming_artifact=firefox-$(full_version).en-US.win64.zip +setupname=librewolf-$(full_version).en-US.win64-setup.exe +zipname=librewolf-$(full_version).en-US.win64-portable.zip + +artifacts : + +# this section makes the work/librewolf folder + ( rm -rf work && mkdir work ) + ( cd work && unzip -q ../$(incoming_artifact) ) + mv work/firefox work/librewolf + mv work/librewolf/firefox.exe work/librewolf/librewolf.exe + cp assets/librewolf.ico work/librewolf +# this section makes the setup.exe + mkdir work/x86-ansi + wget -q -O ./work/x86-ansi/nsProcess.dll "https://shorsh.de/upload/2y9p/nsProcess.dll" + wget -q -O ./work/vc_redist.x64.exe "https://aka.ms/vs/17/release/vc_redist.x64.exe" + sed "s/pkg_version/$(full_version)/g" < assets/setup.nsi > work/tmp.nsi + cp assets/librewolf.ico work + cp assets/banner.bmp work + ( cd work && $(mozbuild)/nsis/bin/makensis -V1 tmp.nsi ) + rm -rf work/tmp.nsi work/librewolf.ico work/banner.bmp work/x86-ansi vc_redist.x64.exe + mv work/$(setupname) . +# this section makes the portable.zip + rm -rf work/librewolf-$(full_version) + mkdir -p work/librewolf-$(full_version)/Profiles/Default + mkdir -p work/librewolf-$(full_version)/LibreWolf + cp -r work/librewolf/* work/librewolf-$(full_version)/LibreWolf + ( cd work && git clone "https://github.com/ltGuillaume/LibreWolf-Portable" ) + cp work/LibreWolf-Portable/LibreWolf-Portable.* work/LibreWolf-Portable/*.exe work/librewolf-$(full_version) + wget -q -O work/ahk.zip "https://www.autohotkey.com/download/ahk.zip" + ( mkdir work/ahk && cd work/ahk && unzip -q ../ahk.zip ) + ( cd work/librewolf-$(full_version) && wine64 ../ahk/Compiler/Ahk2Exe.exe /in LibreWolf-Portable.ahk /icon LibreWolf-Portable.ico ) + ( cd work/librewolf-$(full_version) && rm -f LibreWolf-Portable.ahk LibreWolf-Portable.ico dejsonlz4.exe jsonlz4.exe ) + rm -f $(zipname) + ( cd work && zip -qr9 ../$(zipname) librewolf-$(full_version) ) diff --git a/linux/assets/banner.bmp b/linux/assets/banner.bmp new file mode 100644 index 0000000000000000000000000000000000000000..05fda40b27db5620b47b8a50d79582de81537a09 GIT binary patch literal 154542 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 literal 0 HcmV?d00001 diff --git a/linux/assets/fix-l10n-package-cmd.patch b/linux/assets/fix-l10n-package-cmd.patch new file mode 100644 index 0000000..b6b66ec --- /dev/null +++ b/linux/assets/fix-l10n-package-cmd.patch @@ -0,0 +1,20 @@ +diff --git a/python/mozbuild/mozbuild/mach_commands.py b/python/mozbuild/mozbuild/mach_commands.py +index 10d7a8f..610a4fa 100644 +--- a/python/mozbuild/mozbuild/mach_commands.py ++++ b/python/mozbuild/mozbuild/mach_commands.py +@@ -2457,6 +2457,7 @@ def package_l10n(command_context, verbose=False, locales=[]): + ) + command_context.run_process( + [ ++ "python3", + mozpath.join(command_context.topsrcdir, "mach"), + "build", + "chrome-{}".format(locale), +@@ -2476,6 +2477,7 @@ def package_l10n(command_context, verbose=False, locales=[]): + ) + command_context.run_process( + [ ++ "python3", + mozpath.join(command_context.topsrcdir, "mach"), + "android", + "assemble-app", diff --git a/linux/assets/librewolf.ico b/linux/assets/librewolf.ico new file mode 100644 index 0000000000000000000000000000000000000000..30a72f168d8f1cb8689dc7913bc42c7ce70a4f92 GIT binary patch literal 32038 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 literal 0 HcmV?d00001 diff --git a/linux/assets/mozconfig b/linux/assets/mozconfig new file mode 100644 index 0000000..dd6e07b --- /dev/null +++ b/linux/assets/mozconfig @@ -0,0 +1,71 @@ +# mozconfig - crosscompile from Linux to Windows + +export MOZBUILD=$HOME/.mozbuild +export WINDOWSSDKDIR="$MOZBUILD/win-cross/vs/windows kits/10" +ac_add_options --target=x86_64-pc-mingw32 +mk_add_options "export LD_PRELOAD=$MOZBUILD/liblowercase/liblowercase.so" +mk_add_options "export LOWERCASE_DIRS=$MOZBUILD/win-cross" + +EXTRA_PATH="$MOZBUILD/win-cross/vs/vc/tools/msvc/14.29.30133/bin/hostx64/x64:" +mk_add_options "export PATH=$EXTRA_PATH$PATH" + +export CC="$MOZBUILD/clang/bin/clang-cl" +export CXX="$MOZBUILD/clang/bin/clang-cl" +export HOST_CC="$MOZBUILD/clang/bin/clang" +export HOST_CXX="$MOZBUILD/clang/bin/clang++" + +export WINE="$MOZBUILD/wine/bin/wine64" + +### +# TODO : fixme +# + +ac_add_options --without-wasm-sandboxed-libraries + +### +# old config settings +# + +ac_add_options --enable-application=browser + +ac_add_options --allow-addon-sideload +ac_add_options --disable-crashreporter +ac_add_options --disable-debug +ac_add_options --disable-default-browser-agent +ac_add_options --disable-tests +ac_add_options --disable-updater +ac_add_options --enable-hardening +ac_add_options --enable-optimize +ac_add_options --enable-release +ac_add_options --enable-rust-simd + +ac_add_options --with-app-name=firefox +ac_add_options --with-branding=browser/branding/librewolf + +ac_add_options --with-unsigned-addon-scopes=app,system + +# see issue # https://gitlab.com/librewolf-community/browser/arch/-/issues/49 +export MOZ_REQUIRE_SIGNING= + +mk_add_options MOZ_CRASHREPORTER=0 +mk_add_options MOZ_DATA_REPORTING=0 +mk_add_options MOZ_NORMANTY=0 +mk_add_options MOZ_SERVICES_HEALTHREPORT=0 +mk_add_options MOZ_TELEMETRY_REPORTING=0 + +# +# windows specific. +# +# - no need to specify wasi sdk folder +# + +ac_add_options --disable-maintenance-service +ac_add_options --enable-strip + +# needed for windows/mac auto update ONLY. it's a security risk so other OSses don't need it +# https://firefox-source-docs.mozilla.org/taskcluster/setting-up-an-update-server.html + +#ac_add_options --disable-verify-mar + +# Internationalization +ac_add_options --with-l10n-base=$(pwd)/browser/locales/l10n diff --git a/linux/assets/setup.nsi b/linux/assets/setup.nsi new file mode 100644 index 0000000..beaf800 --- /dev/null +++ b/linux/assets/setup.nsi @@ -0,0 +1,176 @@ +!include "MUI2.nsh" +!include "LogicLib.nsh" +!addplugindir . +!addplugindir x86-ansi + +!define APPNAME "LibreWolf" +!define PROGNAME "librewolf" +!define EXECUTABLE "${PROGNAME}.exe" +!define PROG_VERSION "pkg_version" +!define COMPANYNAME "LibreWolf" +!define ESTIMATED_SIZE 190000 +!define MUI_ICON "librewolf.ico" +!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp" + +Name "${APPNAME}" +OutFile "${PROGNAME}-${PROG_VERSION}.en-US.win64-setup.exe" +InstallDirRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "InstallLocation" +InstallDir $PROGRAMFILES64\${APPNAME} +RequestExecutionLevel admin + +# Pages + +!define MUI_ABORTWARNING + +!define MUI_WELCOMEPAGE_TITLE "Welcome to the LibreWolf Setup" +!define MUI_WELCOMEPAGE_TEXT "This setup will guide you through the installation of LibreWolf.$\r$\n$\r$\n\ +If you don't have it installed already, this will also install the latest Visual C++ Redistributable.$\r$\n$\r$\n\ +Click Next to continue." +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +!insertmacro MUI_LANGUAGE "English" + +Section + + # Make sure LibreWolf is closed before the installation + nsProcess::_FindProcess "${EXECUTABLE}" + Pop $R0 + ${If} $R0 = 0 + IfSilent 0 +4 + DetailPrint "${APPNAME} is still running, aborting because of silent install." + SetErrorlevel 2 + Abort + + DetailPrint "${APPNAME} is still running" + MessageBox MB_OKCANCEL "LibreWolf is still running and has to be closed for the setup to continue." IDOK continue IDCANCEL break +break: + SetErrorlevel 1 + Abort +continue: + DetailPrint "Closing ${APPNAME} gracefully..." + nsProcess::_CloseProcess "${EXECUTABLE}" + Pop $R0 + Sleep 2000 + nsProcess::_FindProcess "${EXECUTABLE}" + Pop $R0 + ${If} $R0 = 0 + DetailPrint "Failed to close ${APPNAME}, killing it..." + nsProcess::_KillProcess "${EXECUTABLE}" + Sleep 2000 + nsProcess::_FindProcess "${EXECUTABLE}" + Pop $R0 + ${If} $R0 = 0 + DetailPrint "Failed to kill ${APPNAME}, aborting" + MessageBox MB_ICONSTOP "LibreWolf is still running and can't be closed by the installer. Please close it manually and try again." + SetErrorlevel 2 + Abort + ${EndIf} + ${EndIf} + ${EndIf} + + # Install Visual C++ Redistributable (only if not silent) + IfSilent +4 0 + InitPluginsDir + File /oname=$PLUGINSDIR\vc_redist.x64.exe vc_redist.x64.exe + ExecWait "$PLUGINSDIR\vc_redist.x64.exe /install /quiet /norestart" + + # Copy files + SetOutPath $INSTDIR + File /r librewolf\*.* + + # Start Menu + createDirectory "$SMPROGRAMS\${COMPANYNAME}" + createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" "$INSTDIR\${PROGNAME}.exe" "" "$INSTDIR\${MUI_ICON}" + createShortCut "$SMPROGRAMS\${COMPANYNAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "" + + # Uninstaller + writeUninstaller "$INSTDIR\uninstall.exe" + + # Registry information for add/remove programs + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayName" "${APPNAME}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayIcon" "$\"$INSTDIR\${MUI_ICON}$\"" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "Publisher" "${COMPANYNAME}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayVersion" "${PROG_VERSION}" + # There is no option for modifying or repairing the install + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoModify" 1 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoRepair" 1 + # Set the INSTALLSIZE constant (!defined at the top of this script) so Add/Remove Programs can accurately report the size + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "EstimatedSize" ${ESTIMATED_SIZE} + + + # + # Registry information to let Windows pick us up in the list of available browsers + # + + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf" "" "LibreWolf" + + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationDescription" "LibreWolf" + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationIcon" "$INSTDIR\librewolf.exe,0" + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationName" "LibreWolf" + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\FileAssociations" ".htm" "LibreWolfHTM" + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\FileAssociations" ".html" "LibreWolfHTM" + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\FileAssociations" ".pdf" "LibreWolfHTM" + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\Startmenu" "StartMenuInternet" "LibreWolf" + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\URLAssociations" "http" "LibreWolfHTM" + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\URLAssociations" "https" "LibreWolfHTM" + + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\DefaultIcon" "" "$INSTDIR\librewolf.exe,0" + WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\shell\open\command" "" "$INSTDIR\librewolf.exe" + + WriteRegStr HKLM "Software\RegisteredApplications" "LibreWolf" "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" + + WriteRegStr HKLM "Software\Classes\LibreWolfHTM" "" "LibreWolf Handler" + WriteRegStr HKLM "Software\Classes\LibreWolfHTM" "AppUserModelId" "LibreWolf" + WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "AppUserModelId" "LibreWolf" + WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationIcon" "$INSTDIR\librewolf.exe,0" + WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationName" "LibreWolf" + WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationDescription" "Start the LibreWolf Browser" + WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationCompany" "LibreWolf Community" + WriteRegStr HKLM "Software\Classes\LibreWolfHTM\DefaultIcon" "" "$INSTDIR\librewolf.exe,0" + WriteRegStr HKLM "Software\Classes\LibreWolfHTM\shell\open\command" "" "$\"$INSTDIR\librewolf.exe$\" -osint -url $\"%1$\"" + +SectionEnd + + +# Uninstaller +section "Uninstall" + + # Kill LibreWolf if it is still running + nsProcess::_FindProcess "${EXECUTABLE}" + Pop $R0 + ${If} $R0 = 0 + DetailPrint "${APPNAME} is still running, killing it..." + nsProcess::_KillProcess "${EXECUTABLE}" + Sleep 2000 + ${EndIf} + + # Remove Start Menu launcher + delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" + delete "$SMPROGRAMS\${COMPANYNAME}\Uninstall.lnk" + # Try to remove the Start Menu folder - this will only happen if it is empty + rmDir "$SMPROGRAMS\${COMPANYNAME}" + + # Remove files + rmDir /r $INSTDIR + + # Remove uninstaller information from the registry + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" + + # + # Windows default browser integration + # + + DeleteRegKey HKLM "Software\Clients\StartMenuInternet\LibreWolf" + DeleteRegKey HKLM "Software\RegisteredApplications" + DeleteRegKey HKLM "Software\Classes\LibreWolfHTM" + +sectionEnd diff --git a/linux/assets/tryfix-reslink-fail.patch b/linux/assets/tryfix-reslink-fail.patch new file mode 100644 index 0000000..c8a4270 --- /dev/null +++ b/linux/assets/tryfix-reslink-fail.patch @@ -0,0 +1,13 @@ +diff --git a/browser/app/splash.rc b/browser/app/splash.rc +index 259a806..78cd58e 100644 +--- a/browser/app/splash.rc ++++ b/browser/app/splash.rc +@@ -12,7 +12,7 @@ IDI_APPLICATION ICON FIREFOX_ICO + IDI_NEWWINDOW ICON NEWWINDOW_ICO + IDI_NEWTAB ICON NEWTAB_ICO + IDI_PBMODE ICON PBMODE_ICO +-IDI_DOCUMENT_PDF ICON DOCUMENT_PDF_ICO ++IDI_DOCUMENT_PDF ICON DOCUMENT_ICO + + STRINGTABLE DISCARDABLE + BEGIN