diff --git a/.gitignore b/.gitignore index 1929584..6580505 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ megabar.patch remove_addons.patch unity-menubar.patch mozconfig +Makefile +librewolf \ No newline at end of file diff --git a/build.sh b/build.sh index 70a8914..f071bc3 100644 --- a/build.sh +++ b/build.sh @@ -154,7 +154,7 @@ installer_win() { # there is just too much garbage in this installer function to # have it all here.. - . ../installer_win + . ../installer_win.sh cd .. } @@ -194,6 +194,10 @@ fi if (( done_something == 0 )); then - echo "Usage: $0 fetch | prepare | build | package | installer_win" + fetch + prepare + build + package + installer_win exit fi diff --git a/installer_win b/installer_win deleted file mode 100644 index 9a917ff..0000000 --- a/installer_win +++ /dev/null @@ -1,11 +0,0 @@ -# apply the LibreWolf settings -cp -rv ../settings/* obj-x86_64-pc-mingw32/dist/librewolf - -# recreate the zip file.. -cd obj-x86_64-pc-mingw32/dist -rm -f librewolf-$pkgver.en-US.win64.txt librewolf-$pkgver.en-US.win64.zip -zip -r9 librewolf-$pkgver.en-US.win64.zip librewolf -/c/mozilla-source/Git/usr/bin/sha256sum.exe librewolf-$pkgver.en-US.win64.zip > librewolf-$pkgver.en-US.win64.zip.sha256sum -rm -f ../../../librewolf-$pkgver.en-US.win64.zip* -cp librewolf-$pkgver.en-US.win64.zip* ../../.. -cd ../.. diff --git a/installer_win.sh b/installer_win.sh new file mode 100644 index 0000000..ede8372 --- /dev/null +++ b/installer_win.sh @@ -0,0 +1,24 @@ +# apply the LibreWolf settings +cp -rv ../settings/* obj-x86_64-pc-mingw32/dist/librewolf + +# recreate the zip file.. + +cd obj-x86_64-pc-mingw32/dist +# clean garbage files +rm -rf librewolf/uninstall librewolf/maintenanceservice* librewolf/pingsender.exe +# be sure to remove the previous zip file.. +rm -f librewolf-$pkgver.en-US.win64.txt librewolf-$pkgver.en-US.win64.zip +zip -r9 librewolf-$pkgver.en-US.win64.zip librewolf +/c/mozilla-source/Git/usr/bin/sha256sum.exe librewolf-$pkgver.en-US.win64.zip > librewolf-$pkgver.en-US.win64.zip.sha256sum +# copy the resulting zip file +rm -vf ../../../librewolf-$pkgver.en-US.win64.zip* +cp -v librewolf-$pkgver.en-US.win64.zip* ../../.. +cd ../.. + +# now to try to make the installer +pushd .. +rm -vrf librewolf +unzip librewolf-$pkgver.en-US.win64.zip +cp -v missing_branding_files/firefox.ico librewolf/librewolf.ico +makensis-3.01.exe librewolf.nsi +popd diff --git a/librewolf.nsi b/librewolf.nsi new file mode 100644 index 0000000..ff1e667 --- /dev/null +++ b/librewolf.nsi @@ -0,0 +1,81 @@ +# +# Change these values to fit your application... +# + +!define APPNAME "LibreWolf" # Full app name, like: Gtk+ 2.0 Hello World +!define PROGNAME "librewolf" # executable name, like: gtk2hello +!define PROG_VERSION "85.0" # the program version, like: 0.3.0 +!define ICON_NAME "librewolf.ico" # filename of icon to use for this app, this file should be in src/ +!define COMPANYNAME "LibreWolf" # Your name, or company (or just the program name) +!define ESTIMATED_SIZE 190000 # Estimated size (in KB) of installed program for use in "add or remove programs" / 190 MB + +# +# The actual installer/uninstaller, you should not need to change much here below +# + +Name "${PROGNAME}" +OutFile "${PROGNAME}-${PROG_VERSION}.en-US.win64-setup.exe" +InstallDir $PROGRAMFILES64\${APPNAME} +RequestExecutionLevel admin + +Page directory +Page instfiles + +function .onInit + setShellVarContext all +functionEnd + +Section "${PROGNAME}" + + # Copy files + SetOutPath $INSTDIR + File /r librewolf\*.* + + # Start Menu + createDirectory "$SMPROGRAMS\${COMPANYNAME}" + createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" "$INSTDIR\${PROGNAME}.exe" "" "$INSTDIR\${ICON_NAME}" + + # 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\${ICON_NAME}$\"" + 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} + +SectionEnd + +# Before uninstall, ask for confirmation +function un.onInit + SetShellVarContext all + + #Verify the uninstaller - last chance to back out + MessageBox MB_OKCANCEL "Permanantly remove ${APPNAME}?" IDOK next + Abort + next: +functionEnd + +# Uninstaller +section "uninstall" + + # Remove Start Menu launcher + delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.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}" + +sectionEnd diff --git a/missing_branding_files/firefox.ico b/missing_branding_files/firefox.ico new file mode 100644 index 0000000..30a72f1 Binary files /dev/null and b/missing_branding_files/firefox.ico differ