Compare commits

...

165 commits

Author SHA1 Message Date
Bert van der Weerd
5cc029bd41
Update file README.md 2023-04-30 15:00:06 +02:00
Bert van der Weerd
9f347e1fa9
Update file README.md 2023-04-30 14:22:40 +02:00
stanzabird
531d6d5d8a Update file README.md 2023-04-30 12:19:55 +00:00
Bert van der Weerd
264e65b71a
Thu Apr 20 10:55:46 AM CEST 2023 2023-04-20 10:55:46 +02:00
Bert van der Weerd
855ab1b658
archived attic/librewolf-portable 2023-04-20 10:53:50 +02:00
Bert van der Weerd
9ff7404248
Thu Apr 20 10:51:12 AM CEST 2023 2023-04-20 10:51:12 +02:00
Bert van der Weerd
b8eb667f83
big cleanup 2023-04-20 10:49:40 +02:00
Bert van der Weerd
36da860f4b
Thu Apr 20 10:25:52 AM CEST 2023 2023-04-20 10:25:52 +02:00
Bert van der Weerd
69ef35c946
Thu Apr 20 10:25:43 AM CEST 2023 2023-04-20 10:25:43 +02:00
Guillaume
dafc371cf5 Update README.md to correct the information about the AutoHotkey scripts (LW Portable and WinUpdater) 2023-04-11 20:16:28 +00:00
Bert van der Weerd
70b155aca4
Fri Feb 24 07:29:33 PM CET 2023 2023-02-24 19:29:33 +01:00
Bert van der Weerd
7cc528056c
Fri Feb 24 07:24:59 PM CET 2023 2023-02-24 19:24:59 +01:00
Bert van der Weerd
c3af9a1a70
Fri Feb 24 06:50:08 PM CET 2023 2023-02-24 18:50:09 +01:00
Bert van der Weerd
38cb5b9e02
Fri Feb 24 06:14:14 PM CET 2023 2023-02-24 18:14:14 +01:00
Bert van der Weerd
b799f288ea
Fri Feb 24 05:48:01 PM CET 2023 2023-02-24 17:48:01 +01:00
Bert van der Weerd
d3e0b0661f
Fri Feb 24 05:24:46 PM CET 2023 2023-02-24 17:24:46 +01:00
Bert van der Weerd
0bd5407d46
Fri Feb 24 02:27:47 PM CET 2023 2023-02-24 14:27:47 +01:00
Bert van der Weerd
420f1540b7
Fri Feb 24 02:19:53 PM CET 2023 2023-02-24 14:19:53 +01:00
Bert van der Weerd
5fd44e22af
now using ohfp package method with curl 2023-02-18 22:00:00 +01:00
Bert van der Weerd
b3b007f171
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2023-02-17 19:56:00 +01:00
Bert van der Weerd
f4d764eb5e
fixups and winbuild/version update to v110.0-1 2023-02-17 19:55:52 +01:00
Bert van der Weerd
59547ac198 this builds for v110.0-1 2023-02-17 13:46:39 +01:00
Bert van der Weerd
1838a4cb18 fix 2023-02-17 10:23:03 +01:00
Bert van der Weerd
33336b6ac7
Fri Feb 17 10:14:49 AM CET 2023 2023-02-17 10:14:49 +01:00
Bert van der Weerd
5f1dfb584c
Fri Feb 17 09:26:49 AM CET 2023 2023-02-17 09:26:49 +01:00
Bert van der Weerd
a58e35af23
building natively under arch also fails 2023-02-17 08:54:13 +01:00
stanzabird
89efcf05ac fix 2023-02-16 21:03:05 +00:00
stanzabird
367b8a539c Update file Makefile 2023-02-16 21:02:29 +00:00
Bert van der Weerd
578c8fc99f
Thu Feb 16 09:50:45 PM CET 2023 2023-02-16 21:50:45 +01:00
stanzabird
bab3935d59 Update file Dockerfile 2023-02-16 20:38:47 +00:00
stanzabird
3ddf557f91 Update file Dockerfile 2023-02-16 20:32:37 +00:00
Bert van der Weerd
0fb55b6836
Thu Feb 16 09:26:41 PM CET 2023 2023-02-16 21:26:41 +01:00
stanzabird
70f74b8551 Update file Dockerfile 2023-02-16 20:08:28 +00:00
33821c6166
Revert all the stuff I changed 2023-02-16 11:11:34 +01:00
bbd7554753
Revert "test"
This reverts commit dd67d03258.
2023-02-16 00:44:01 +01:00
dd67d03258
test 2023-02-16 00:34:33 +01:00
654646ef5b
fix another lowercase path 2023-02-16 00:22:48 +01:00
98975b69ff
test 2023-02-16 00:12:29 +01:00
eeac2ffed7
fix (maybe) 2023-02-15 23:39:32 +01:00
8e3c9ccd09
linux64-liblowercase doesn't seem to be needed anymore 2023-02-15 18:41:34 +01:00
88bd02314a
fix download link 2023-02-15 18:28:21 +01:00
bbb00255ea
testing 2023-02-15 18:25:49 +01:00
Bert van der Weerd
5111065312
added buildsymbols target to resolve issue windows#217 2023-02-13 10:40:46 +01:00
Bert van der Weerd
8da4524d85
moved some more stuff to the target 2023-02-11 11:36:11 +01:00
Bert van der Weerd
746d573cf3
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2023-02-11 11:27:04 +01:00
Bert van der Weerd
e35f1aad69
first try on the ahk-tools 2023-02-11 11:26:56 +01:00
stanzabird
8fea42eb78 Added ahk-tools section 2023-02-11 10:19:23 +00:00
Bert van der Weerd
c8db5e4845
Thu Feb 9 12:08:09 AM CET 2023 2023-02-09 00:08:09 +01:00
Bert van der Weerd
f891157b95
fix merge conflict 2023-02-08 07:48:56 +01:00
Bert van der Weerd
dbb4d7ba66
lets no longer ignore the exit code from wineconsole and see if that improves the error log 2023-02-08 07:46:07 +01:00
stanzabird
7195223960 tryiing with curses backend 2023-02-08 04:51:28 +00:00
stanzabird
f3a1a4faa2 let's not check for executables 2023-02-07 22:01:06 +00:00
stanzabird
adfc097a38 remove win62 wine config dir 2023-02-07 21:07:32 +00:00
Bert van der Weerd
93965f80c8
Tue Feb 7 08:40:20 PM CET 2023 2023-02-07 20:40:20 +01:00
Bert van der Weerd
920e8cb424
Tue Feb 7 06:41:53 PM CET 2023 2023-02-07 18:41:53 +01:00
Bert van der Weerd
fca838f507
added check for existence of autohotkey executables 2023-02-07 15:11:12 +01:00
Bert van der Weerd
2f61f8e9e2
Tue Feb 7 02:39:05 PM CET 2023 2023-02-07 14:39:05 +01:00
Bert van der Weerd
8f61f1a1fb
removed icon parameters 2023-02-05 16:07:19 +01:00
Bert van der Weerd
91b0eaf892
just ignore wineconsole exit status for now 2023-02-04 12:59:25 +01:00
Bert van der Weerd
5086a71785
removed .ini from the portable zip 2023-02-03 16:53:16 +01:00
Bert van der Weerd
b10bbadf70
wine32 - 2023-02-03 11:42:26 +01:00
Bert van der Weerd
8e14a9f643
bump to v109.0-1 2023-01-17 14:25:04 +01:00
Bert van der Weerd
d70d906de8
added LibreWolf-WinUpdater.ini file to prevent update on first run 2023-01-17 13:01:32 +01:00
Bert van der Weerd
bc0c65f3df
Mon Jan 16 12:00:44 PM CET 2023 2023-01-16 12:00:44 +01:00
Bert van der Weerd
4c20e73711
Mon Jan 16 11:57:55 AM CET 2023 2023-01-16 11:57:55 +01:00
Bert van der Weerd
4b82f6e8d0
bump to upstream 108.0.2 2023-01-11 21:09:40 +01:00
Bert van der Weerd
e35068cf3d
Sun 18 Dec 2022 10:02:23 AM CET 2022-12-18 10:02:23 +01:00
Bert van der Weerd
45fe3129c9
Wed 14 Dec 2022 06:24:24 PM CET 2022-12-14 18:24:24 +01:00
Bert van der Weerd
ae482c3f6b
Sat 03 Dec 2022 04:48:05 PM CET 2022-12-03 16:48:05 +01:00
Bert van der Weerd
b48bef9ac5
bump to version 197.0-1 2022-11-18 09:46:45 +01:00
Bert van der Weerd
3118747d0b
bump to version 106.0.5-1 2022-11-05 16:13:10 +01:00
Bert van der Weerd
11864a2395
bump to version 106.0.4-1 2022-11-03 16:32:12 +01:00
Bert van der Weerd
705ec64d29
bump version v106.0.3-1 2022-11-01 10:36:20 +01:00
Bert van der Weerd
d276dc33d7
bump to 106.0.2 2022-10-30 15:22:43 +01:00
Bert van der Weerd
d19a684f80
remove testing flags 2022-10-22 14:34:33 +02:00
Bert van der Weerd
2001f3ddfd
testing 2022-10-21 18:40:01 +02:00
Bert van der Weerd
d74f63ae74
bump v106.0.1-1 2022-10-21 13:44:21 +02:00
Bert van der Weerd
27095a380e
add git pull command 2022-10-21 01:25:55 +02:00
Bert van der Weerd
1eae334021
using mozilla widl 2022-10-21 00:48:12 +02:00
Bert van der Weerd
2fee2fff19
now showing progress when downloading source tarball 2022-10-21 00:01:57 +02:00
Bert van der Weerd
aeb599e6a0
trying widl (emilio hint) 2022-10-20 23:54:11 +02:00
Bert van der Weerd
adce09fbe2
bump winbuild version 2022-10-20 23:33:24 +02:00
Bert van der Weerd
ea4a8b3243
revert debug build parameters 2022-10-09 12:42:19 +02:00
Bert van der Weerd
785e3a241d
debug CI 2022-10-09 11:23:53 +02:00
Bert van der Weerd
95045ac69a
removed --disable-verify-mar 2022-10-08 16:22:01 +02:00
Bert van der Weerd
67e8a14fd9
testing 2022-10-08 15:59:23 +02:00
Bert van der Weerd
c66ce4d63f
bump version to v105.0.3-1 2022-10-08 12:38:41 +02:00
Bert van der Weerd
0842264966
now the builds are in windows/winbuild 2022-10-07 20:49:51 +02:00
Bert van der Weerd
245ddc0d62
moved windows stuff to winbuild folder 2022-10-07 20:48:22 +02:00
Bert van der Weerd
266894f2f3
added docker related commands 2022-10-07 20:45:05 +02:00
Bert van der Weerd
b622286893
re-enable ac_add_options --disable_updater due to url-star-icon disappearing 2022-10-07 14:13:32 +02:00
Bert van der Weerd
8ca4ad7f31
bump version v105.0.2 2022-10-05 12:07:15 +02:00
Bert van der Weerd
af49869667
ditch this option 2022-10-01 15:30:53 +02:00
Bert van der Weerd
1b63561748
clean up linux*/assets/mozconifg 2022-10-01 15:17:38 +02:00
stanzabird
0bb1c40bdf fix unclear plugin distinction 2022-10-01 12:51:11 +00:00
Bert van der Weerd
cbae6e21a6
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2022-09-29 21:45:51 +02:00
Bert van der Weerd
72873723de
added .gitlab-ci.yaml for creating win64 branch 2022-09-29 21:45:42 +02:00
stanzabird
5125126dea Update linux-mar/assets/mozconfig 2022-09-29 00:08:05 +00:00
Bert van der Weerd
7e713025d6
improved tickets section 2022-09-28 23:09:39 +02:00
Bert van der Weerd
4225d3d785
removed uploading a release section 2022-09-28 23:00:21 +02:00
Bert van der Weerd
4a9aa95fd4
improved windows native section 2022-09-28 22:44:15 +02:00
Bert van der Weerd
6a06c9132a
cosmetics 2022-09-28 22:36:40 +02:00
Bert van der Weerd
1e05a22c03
moved all use-related stuff to the top 2022-09-28 21:59:06 +02:00
Bert van der Weerd
925db910be
removed community links 2022-09-28 21:54:07 +02:00
Bert van der Weerd
2232157ddf
more emphasis on auto-update plugins 2022-09-28 21:52:06 +02:00
Bert van der Weerd
95c8967a9c
depricate windows native builds 2022-09-28 21:42:00 +02:00
Bert van der Weerd
745124c791
remove help wanted section 2022-09-28 21:38:06 +02:00
Bert van der Weerd
75b604d472
bigger download link 2022-09-28 21:35:25 +02:00
Bert van der Weerd
d6b50bebf4
added blurb on Linux builds 2022-09-28 21:34:27 +02:00
Bert van der Weerd
445e09979e
adding --no-interactive when running mach to create vs tarball 2022-09-28 17:26:15 +02:00
Bert van der Weerd
50a02d8e11
added #244 to windows script 2022-09-27 09:30:12 +02:00
Bert van der Weerd
67b8a5b60d
fix typo 2022-09-27 09:23:15 +02:00
Bert van der Weerd
31fb023542
windows issue #244 2022-09-27 09:20:43 +02:00
Bert van der Weerd
bfcc829d87
added missing newline 2022-09-26 00:00:06 +02:00
Bert van der Weerd
f18a0b2393
fixed veryclean target 2022-09-25 23:54:40 +02:00
Bert van der Weerd
3c8a6d50dd
now also cleaning linux subfolders 2022-09-25 23:51:56 +02:00
Bert van der Weerd
d7f10406da
fixing mar artifact name 2022-09-25 23:42:01 +02:00
Bert van der Weerd
f84c661e1d
added wine package (for now) 2022-09-25 22:53:59 +02:00
Bert van der Weerd
78dcebb1eb
added wine as a dependency (for now) 2022-09-25 21:15:25 +02:00
Bert van der Weerd
dd49760cef
--disable-verify-mar 2022-09-25 21:10:28 +02:00
Bert van der Weerd
e4d87bb6ea
adding fetch target 2022-09-25 20:55:32 +02:00
Bert van der Weerd
61a6317a5f
added linux and linux-mar folders 2022-09-25 17:04:14 +02:00
Bert van der Weerd
7d48baebb8
v105.0.1-1 2022-09-24 09:32:14 +02:00
Bert van der Weerd
eb1a66e6bc
this stuff is missing from the theming 2022-09-23 13:52:48 +02:00
stanzabird
6ff3a792ef Update version 2022-09-22 14:07:21 +00:00
Bert van der Weerd
9a89e389fd
v104.0.2 2022-09-07 22:30:03 +02:00
stanzabird
0eefddf0f8 Update version 2022-08-27 10:26:53 +00:00
Bert van der Weerd
ea58161133
Changed README 2022-08-19 22:07:55 +02:00
Bert van der Weerd
37b33ea0ca
update to v103.0.2-1 2022-08-10 13:01:59 +02:00
Bert van der Weerd
c267440255
v103.0.1-2 2022-08-08 21:58:20 +02:00
Bert van der Weerd
19e72e78e8
prepare for v103.0.1-2 2022-08-08 21:45:34 +02:00
Bert van der Weerd
0df1ee885f
PWD on windows should not use cygwin paths 2022-08-08 21:29:36 +02:00
Bert van der Weerd
2976003f98
bump version for testing choco 2022-08-08 21:24:37 +02:00
Bert van der Weerd
df807b3ce7
restored absolute path to $PWD 2022-08-07 18:26:26 +02:00
Bert van der Weerd
6775213808
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2022-08-06 13:44:46 +02:00
Bert van der Weerd
15b76dfd61
removed chunk 3 2022-08-06 13:44:38 +02:00
stanzabird
90edceead9 Update source_release, version 2022-08-05 11:24:33 +00:00
Malte Jürgens
fb6eb3ab72 fix nsProcess issue 2022-07-31 18:11:35 +02:00
Malte Jürgens
34803dbebd revert changes 2022-07-31 18:11:15 +02:00
Bert van der Weerd
6e9b4c57c4
Sun 31 Jul 2022 09:34:39 AM CEST 2022-07-31 09:34:39 +02:00
Bert van der Weerd
a1339e613d
Sun 31 Jul 2022 08:27:08 AM CEST 2022-07-31 08:27:08 +02:00
Bert van der Weerd
7d208db7c4
Sat 30 Jul 2022 08:35:21 PM CEST 2022-07-30 20:35:21 +02:00
Bert van der Weerd
48b0e79d5b
v103.0-2 2022-07-28 22:54:53 +02:00
Bert van der Weerd
7e8675b828
Mon 25 Jul 2022 06:35:20 PM CEST 2022-07-25 18:35:20 +02:00
Bert van der Weerd
769f6c26f2
we dont need this anymore. revisit this later to set the right CONFIG[] 2022-07-25 18:13:59 +02:00
stanzabird
ee7cc19c6f Update version 2022-07-25 15:47:45 +00:00
stanzabird
a876d0cef6 Update README.md 2022-07-15 16:13:55 +00:00
Bert van der Weerd
f66f6f861d
v102.0.1-1 2022-07-09 12:00:32 +02:00
stanzabird
83b4c6db4d Update source_release 2022-07-01 16:10:44 +00:00
stanzabird
c41441bdbe Update version 2022-06-29 20:04:08 +00:00
Bert van der Weerd
f52a636d2d
fix l10n patch 2022-06-10 14:34:04 +02:00
Bert van der Weerd
350fba377c
v101.0.1-1 2022-06-09 23:18:27 +02:00
Bert van der Weerd
975d085961
v101.0-2 2022-06-01 17:48:54 +02:00
Bert van der Weerd
8c702fbdc5
v101.0-1 2022-06-01 14:43:01 +02:00
6b786547d9
fix NSIS welcome page strings 2022-05-31 16:20:42 +02:00
eb5236f6f2
Include Visual C++ Redistributable in Installer 2022-05-31 16:07:50 +02:00
Bert van der Weerd
e1f03e41f7
removed do_zip and added gpg signatures 2022-05-28 00:09:01 +02:00
Bert van der Weerd
e0081cf49e
added patch to allow l10n to run on windows 2022-05-25 13:53:01 +02:00
Bert van der Weerd
9709e3f62f
doing langpacks before the mk.py subcommand 2022-05-23 12:09:10 +02:00
stanzabird
5a14f06435 Update Makefile 2022-05-21 10:41:40 +00:00
stanzabird
430cda40b1 Update Makefile 2022-05-21 10:34:56 +00:00
stanzabird
762ee08b19 Update version 2022-05-21 09:02:24 +00:00
Bert van der Weerd
488bfd740d
v100.0.1-1 2022-05-15 10:24:56 +02:00
Bert van der Weerd
42b6233c55
removed MACH_USE_SYSTEM_PYTHON=1 2022-05-07 18:59:43 +02:00
Bert van der Weerd
35998e2a84
bugfxies 2022-05-06 18:34:18 +02:00
34 changed files with 17 additions and 1677 deletions

23
.gitignore vendored
View file

@ -1,23 +0,0 @@
__pycache__
/.vs
/firefox-*
/librewolf
/mozilla-unified
/tor-browser
/gecko-dev
/bootstrap.py
/mozconfig
/dist
/tmp.nsi
/tmp-permissive.nsi
/tmp-strict.nsi
/__pycache__
/sha256sums.txt
/upload.txt
build_tag
/docker/librewolf/debian10/deb/artifacts
/docker/librewolf/debian11/deb/artifacts
/docker/librewolf/fedora34/rpm/artifacts
/docker/librewolf/mint20/deb/artifacts
/docker/librewolf/ubuntu20/deb/artifacts
/docker/*.log

View file

@ -1,61 +0,0 @@
.PHONY : help all clean veryclean fetch build artifacts update full-mar serve-mar langpacks
help :
@echo "Use: make [all] [clean] [veryclean] [check] ..."
@echo ""
@echo " all - Build librewolf and it's windows artifacts."
@echo " clean - Remove output files and temporary files."
@echo " veryclean - Like 'clean', but also remove all downloaded files."
@echo " update - update 'version' and 'source_release' files."
@echo " full-mar - create mar setup file, and update.xml."
@echo " serve-mar - serve the update files"
@echo " langpacks - build language packs."
@echo ""
@echo " fetch - Fetch the latest librewolf source."
@echo " build - Perform './mach build && ./mach package' on it."
@echo " debug - Perform a debug build with different 'mozconfig'."
@echo " artifacts - Create the setup.exe and the portable.zip."
@echo ""
@echo "Note: to upload, after artifacts, into the windows repo, use:"
@echo ""
@echo " python3 mk.py upload <token>"
@echo ""
all : fetch build artifacts
clean :
rm -rf work
veryclean : clean
rm -f librewolf-$(shell cat version)*.en-US.win64* sha256sums.txt upload.txt firefox-$(shell cat version)*.en-US.win64.zip firefox-$(shell cat version)*.en-US.win64.installer.exe
rm -rf librewolf-$(shell cat version)-$(shell cat source_release)
rm -f librewolf-$(shell cat version)-*.source.tar.gz*
update :
@echo "Fetching from gitlab.."
@wget -q -O version "https://gitlab.com/librewolf-community/browser/source/-/raw/main/version"
@wget -q -O source_release "https://gitlab.com/librewolf-community/browser/source/-/raw/main/release"
@echo ""
@echo Version: $(shell cat version)-$(shell cat source_release)
@echo Windows release version: $(shell cat release)
fetch :
python3 mk.py fetch
build :
python3 mk.py build
debug :
python3 mk.py build-debug
artifacts :
python3 mk.py artifacts
full-mar :
python3 mk.py full-mar
serve-mar :
(cd librewolf-$(shell cat version)-$(shell cat source_release)/MAR && python3 -m http.server 8000)
langpacks :
(cd librewolf-$(shell cat version)-$(shell cat source_release) && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales)

View file

@ -1,57 +1,30 @@
# LibreWolf for windows # LibreWolf Issue Tracker & Update Tools 🚀
* **[download latest release](https://gitlab.com/librewolf-community/browser/windows/-/releases)** Welcome to the **LibreWolf for Windows** repository! This repository is now dedicated to the **Issue Tracker**. Submit your issues and get the latest updates on LibreWolf for Windows.
* Visit [the FAQ](https://librewolf.net/docs/faq/).
* Install via _[chocolatey](https://community.chocolatey.org/packages/librewolf)_: `choco install librewolf`
* or install via _[scoop](https://scoop.sh)_: `scoop bucket add extras`, then `scoop install librewolf`
* or install via _winget_: `winget install librewolf`
* **If your LibreWolf crashes on startup**, you're probably missing the right [Visual C++ Runtime](https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0). You'll want the _Visual Studio 2015, 2017 and 2019_ version for **x64**, which would be **[this file](https://aka.ms/vs/16/release/vc_redist.x64.exe)**.
* The latest type of **.zip files** allows for a user profile inside the extracted folder. It is _self-contained_ and runs on removable storage.
# Where to submit tickets To download the latest release, visit the [official LibreWolf release page](https://gitlab.com/librewolf-community/browser/bsys6/-/releases). For installation options, check out the [FAQ](https://librewolf.net/docs/faq/).
* For all **about:config** and **librewolf.cfg** issues, go here: [[settings repository](https://gitlab.com/librewolf-community/settings/-/issues)]. ## Update Tools 🛠️
* For _all other issues_ and **setup/install** issues, go here: [[issues for windows repository](https://gitlab.com/librewolf-community/browser/windows/-/issues)].
# Community links Stay secure and up-to-date with these LibreWolf update tools:
* [[reddit](https://www.reddit.com/r/LibreWolf/)] - [r/LibreWolf](https://www.reddit.com/r/LibreWolf/) 😺
* [[gitter](https://gitter.im/librewolf-community/librewolf)], and the same room on [matrix](https://app.element.io/#/room/#librewolf-community_librewolf:gitter.im) (element.io).
* The install instructions for Windows on [librewolf.net](https://librewolf.net/installation/windows/).
# Community contributions 1. **LibreWolf WinUpdater**: Kudos to @ltguillaume for this [automatic updater](https://codeberg.org/ltguillaume/librewolf-winupdater) that can be set up to update LibreWolf automatically or run manually.
* Defkev created a LibreWolf updater plugin, which can be found [here](https://addons.mozilla.org/en-US/firefox/addon/librewolf-updater/). 2. **LibreWolf Update Checker Extension**: Created by Defkev, this [extension](https://addons.mozilla.org/en-US/firefox/addon/librewolf-updater/) will notify you when an update is available and guide you to the download link.
* Guillaume created a windows updater script for the Task Scheduler. it can be found [here](https://github.com/ltGuillaume/LibreWolf-WinUpdater).
# Compiling the windows version > Please note: The *updater* can _install_ updates automatically, while the *extension* can only _check_ for updates.
This segment is for people who want to build LibreWolf for themselves. The build of the LibreWolf source tarball is in public CI, so you can use that. Given that you have followed the steps in the Mozilla setup guide: ## LibreWolf for Windows 🖥️
* [Building Firefox On Windows](https://firefox-source-docs.mozilla.org/setup/windows_build.html) - LibreWolf supports multiple UI languages, available in settings.
- The latest **-portable.zip** release is self-contained and can be run on removable storage.
Once that works, you can check out and compile LibreWolf like this: ## Issue Tracker 🎫
``` - For issues with Settings or Advanced Settings (`about:config`), submit them to the [settings repository](https://gitlab.com/librewolf-community/settings/-/issues).
git clone https://gitlab.com/librewolf-community/browser/windows.git - For other issues, such as crashes/theme/graphics/speed problems, submit them to [issues for windows repository](https://gitlab.com/librewolf-community/browser/windows/-/issues).
cd windows
make fetch build
```
Currently a bug in `./mach package` makes this build fail, but it did produce the distribution .zip file that we're after. So after this, you can just: ## Building from Source 🏗️
``` - Our `bsys` build system supports cross-compiling from Linux to Windows. Building the Windows version from within Windows is not tested yet.
make artifacts - The build system can be found here: [bsys6](https://gitlab.com/librewolf-community/browser/bsys6).
```
This will produce the -setup.exe and portable .zip. Have fun!
# Uploading a release
To actually submit these artifacts to the Windows repository as release files, use:
```
python3 mk.py upload <token>
```
This would involve having a valid token, ofcourse, but also something more: [Git for Windows](https://git-scm.com/). From this package, we only need `sha256sum.exe` to calculate our checksums. Mozilla provides only `md5sum.exe` in their very old version of the mingw tools. Simply installing Git won't be enough to get `sha256sum.exe` in our path, the `C:\mozilla-build\start-shell.bat` file needs a little tweak at line 55, to read:
```
SET "PATH=%PATH%;!GITDIR!;c:\Program Files\Git\usr\bin"
```
This should put `sha256sum.exe` in your path.

View file

@ -1,136 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@namespace html "http://www.w3.org/1999/xhtml";
#aboutDialog {
width: 620px;
/* Set an explicit line-height to avoid discrepancies in 'auto' spacing
across screens with different device DPI, which may cause font metrics
to round differently. */
line-height: 1.5;
}
#rightBox {
background-image: url("chrome://branding/content/about-wordmark.svg");
background-repeat: no-repeat;
background-size: 288px auto;
/* padding-top creates room for the wordmark */
padding-top: 38px;
margin-top: 20px;
}
#rightBox:-moz-locale-dir(rtl) {
background-position: 100% 0;
}
#bottomBox {
padding: 15px 10px 0;
height: 52px;
}
#release {
font-weight: bold;
font-size: 125%;
margin-top: 10px;
margin-inline-start: 0;
}
#version {
font-weight: bold;
margin-inline-start: 0;
user-select: text;
-moz-user-focus: normal;
cursor: text;
}
#version.update {
font-weight: normal;
}
#distribution,
#distributionId {
display: none;
margin-block: 0;
}
.text-blurb {
margin-bottom: 10px;
margin-inline-start: 0;
padding-inline-start: 0;
}
#updateDeck > *:not(.selected) {
visibility: hidden;
}
#updateButton,
#updateDeck > hbox > label {
margin-inline-start: 0;
padding-inline-start: 0;
}
.update-throbber {
width: 16px;
min-height: 16px;
margin-inline-end: 3px;
}
html|img.update-throbber {
vertical-align: middle;
}
image.update-throbber {
list-style-image: url("chrome://global/skin/icons/loading.png");
}
@media (min-resolution: 1.1dppx) {
.update-throbber {
list-style-image: url("chrome://global/skin/icons/loading@2x.png");
}
}
description > .text-link {
margin: 0;
padding: 0;
}
#submit-feedback {
margin-inline-start: .9em;
}
.bottom-link {
text-align: center;
margin: 0 40px;
}
#currentChannel {
margin: 0;
padding: 0;
font-weight: bold;
}
#updateBox {
line-height: normal;
}
#icons > .icon {
-moz-context-properties: fill;
margin: 5px;
width: 16px;
height: 16px;
}
#icons:not(.checkingForUpdates, .downloading, .applying, .restarting) > .update-throbber,
#icons:not(.noUpdatesFound) > .noUpdatesFound,
#icons:not(.apply) > .apply {
display: none;
}
#icons > .noUpdatesFound {
fill: #30e60b;
}
#icons > .apply {
fill: white;
}

View file

@ -1,121 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
/* import-globals-from aboutDialog-appUpdater.js */
// Services = object with smart getters for common XPCOM services
var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
var { AppConstants } = ChromeUtils.import(
"resource://gre/modules/AppConstants.jsm"
);
if (AppConstants.MOZ_UPDATER) {
Services.scriptloader.loadSubScript(
"chrome://browser/content/aboutDialog-appUpdater.js",
this
);
}
async function init(aEvent) {
if (aEvent.target != document) {
return;
}
let defaults = Services.prefs.getDefaultBranch(null);
let distroId = defaults.getCharPref("distribution.id", "");
if (distroId) {
let distroAbout = defaults.getStringPref("distribution.about", "");
// If there is about text, we always show it.
if (distroAbout) {
let distroField = document.getElementById("distribution");
distroField.value = distroAbout;
distroField.style.display = "block";
}
// If it's not a mozilla distribution, show the rest,
// unless about text exists, then we always show.
if (!distroId.startsWith("mozilla-") || distroAbout) {
let distroVersion = defaults.getCharPref("distribution.version", "");
if (distroVersion) {
distroId += " - " + distroVersion;
}
let distroIdField = document.getElementById("distributionId");
distroIdField.value = distroId;
distroIdField.style.display = "block";
}
}
// Include the build ID and display warning if this is an "a#" (nightly or aurora) build
let versionId = "aboutDialog-version";
let versionAttributes = {
version: AppConstants.MOZ_APP_VERSION_DISPLAY,
bits: Services.appinfo.is64Bit ? 64 : 32,
};
let version = Services.appinfo.version;
if (/a\d+$/.test(version)) {
versionId = "aboutDialog-version-nightly";
let buildID = Services.appinfo.appBuildID;
let year = buildID.slice(0, 4);
let month = buildID.slice(4, 6);
let day = buildID.slice(6, 8);
versionAttributes.isodate = `${year}-${month}-${day}`;
document.getElementById("experimental").hidden = false;
document.getElementById("communityDesc").hidden = true;
}
// Use Fluent arguments for append version and the architecture of the build
let versionField = document.getElementById("version");
document.l10n.setAttributes(versionField, versionId, versionAttributes);
await document.l10n.translateElements([versionField]);
// Show a release notes link if we have a URL.
let relNotesLink = document.getElementById("releasenotes");
let relNotesPrefType = Services.prefs.getPrefType(
"app.releaseNotesURL.aboutDialog"
);
if (relNotesPrefType != Services.prefs.PREF_INVALID) {
let relNotesURL = Services.urlFormatter.formatURLPref(
"app.releaseNotesURL.aboutDialog"
);
if (relNotesURL != "about:blank") {
relNotesLink.href = relNotesURL;
relNotesLink.hidden = false;
}
}
if (AppConstants.MOZ_UPDATER) {
gAppUpdater = new appUpdater({ buttonAutoFocus: true });
let channelLabel = document.getElementById("currentChannel");
let currentChannelText = document.getElementById("currentChannelText");
channelLabel.value = UpdateUtils.UpdateChannel;
let hasWinPackageId = false;
try {
hasWinPackageId = Services.sysinfo.getProperty("hasWinPackageId");
} catch (_ex) {
// The hasWinPackageId property doesn't exist; assume it should be false.
}
if (/^release($|\-)/.test(channelLabel.value) || hasWinPackageId) {
currentChannelText.hidden = true;
}
}
if (AppConstants.IS_ESR) {
document.getElementById("release").hidden = false;
}
window.sizeToContent();
if (AppConstants.platform == "macosx") {
window.moveTo(
screen.availWidth / 2 - window.outerWidth / 2,
screen.availHeight / 5
);
}
}

View file

@ -1,168 +0,0 @@
<?xml version="1.0"?> <!-- -*- Mode: HTML -*- -->
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/aboutDialog.css" type="text/css"?>
<?xml-stylesheet href="chrome://branding/content/aboutDialog.css" type="text/css"?>
<window xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
id="aboutDialog"
windowtype="Browser:About"
onload="init(event);"
#ifdef MOZ_UPDATER
onunload="onUnload(event);"
#endif
#ifdef XP_MACOSX
inwindowmenu="false"
#else
data-l10n-id="aboutDialog-title"
#endif
role="dialog"
aria-describedby="version distribution distributionId communityDesc contributeDesc trademark"
>
#ifdef XP_MACOSX
#include macWindow.inc.xhtml
#else
<script src="chrome://browser/content/utilityOverlay.js"/>
#endif
<linkset>
<html:link rel="localization" href="branding/brand.ftl"/>
<html:link rel="localization" href="browser/aboutDialog.ftl"/>
</linkset>
<script src="chrome://browser/content/aboutDialog.js"/>
<vbox id="aboutDialogContainer">
<hbox id="clientBox">
<vbox id="leftBox" flex="1"/>
<vbox id="rightBox" flex="1">
<label id="release" hidden="true">
<!-- This string is explicitly not translated -->
Extended Support Release
</label>
#ifndef MOZ_UPDATER
<!-- This HBOX is duplicated below with class="update" -->
<hbox align="baseline">
<label id="version"/>
<label id="releasenotes" is="text-link" hidden="true" data-l10n-id="releaseNotes-link"/>
</hbox>
#endif
<label id="distribution" class="text-blurb"/>
<label id="distributionId" class="text-blurb"/>
<vbox id="detailsBox">
<hbox id="updateBox">
#ifdef MOZ_UPDATER
<html:div id="icons">
<html:img class="icon update-throbber" src="chrome://global/skin/icons/loading.png" role="presentation"/>
<html:img class="icon noUpdatesFound" src="chrome://global/skin/icons/check.svg" role="presentation"/>
<html:img class="icon apply" src="chrome://global/skin/icons/reload.svg" role="presentation"/>
</html:div>
<vbox>
<stack id="updateDeck" orient="vertical">
<hbox id="checkForUpdates" align="center">
<button id="checkForUpdatesButton" align="start"
data-l10n-id="update-checkForUpdatesButton"
oncommand="gAppUpdater.checkForUpdates();"/>
<spacer flex="1"/>
</hbox>
<hbox id="downloadAndInstall" align="center">
<button id="downloadAndInstallButton" align="start"
oncommand="gAppUpdater.startDownload();"/>
<!-- label and accesskey will be filled by JS -->
<spacer flex="1"/>
</hbox>
<hbox id="apply" align="center">
<button id="updateButton" align="start"
data-l10n-id="update-updateButton"
oncommand="gAppUpdater.buttonRestartAfterDownload();"/>
<spacer flex="1"/>
</hbox>
<hbox id="checkingForUpdates" align="center">
<label data-l10n-id="update-checkingForUpdates"/>
</hbox>
<hbox id="downloading" data-l10n-id="update-downloading-message" align="center">
<label id="downloadStatus" data-l10n-name="download-status"/>
</hbox>
<hbox id="applying" align="center">
<label data-l10n-id="update-applying"/>
</hbox>
<hbox id="downloadFailed" align="center" data-l10n-id="update-failed">
<label id="failedLink" is="text-link" data-l10n-name="failed-link"/>
</hbox>
<hbox id="policyDisabled" align="center">
<label data-l10n-id="update-adminDisabled"/>
</hbox>
<hbox id="noUpdatesFound" align="center">
<label data-l10n-id="update-noUpdatesFound"/>
</hbox>
<hbox id="otherInstanceHandlingUpdates" align="center">
<label data-l10n-id="update-otherInstanceHandlingUpdates"/>
</hbox>
<hbox id="manualUpdate" align="center" data-l10n-id="update-manual">
<label id="manualLink" is="text-link" data-l10n-name="manual-link"/>
</hbox>
<hbox id="unsupportedSystem" align="center" data-l10n-id="update-unsupported">
<label id="unsupportedLink" is="text-link" data-l10n-name="unsupported-link"/>
</hbox>
<hbox id="restarting" align="center">
<label data-l10n-id="update-restarting"/>
</hbox>
</stack>
<!-- This HBOX is duplicated above without class="update" -->
<hbox align="baseline">
<label id="version" class="update"/>
<label id="releasenotes" is="text-link" hidden="true" data-l10n-id="releaseNotes-link"/>
</hbox>
<description class="text-blurb">
<label is="text-link" onclick="openHelpLink('firefox-help')" data-l10n-id="aboutdialog-help-user"/>
<label id="submit-feedback" is="text-link" onclick="openFeedbackPage()" data-l10n-id="aboutdialog-submit-feedback"/>
</description>
</vbox>
#endif
</hbox>
#ifdef MOZ_UPDATER
<description class="text-blurb" id="currentChannelText" data-l10n-id="channel-description">
<label id="currentChannel" data-l10n-name="current-channel"/>
</description>
#endif
<vbox id="experimental" hidden="true">
<description class="text-blurb" id="warningDesc" data-l10n-id="warningDesc-version"></description>
<description class="text-blurb" id="communityExperimentalDesc" data-l10n-id="community-exp">
<label is="text-link" href="https://www.mozilla.org/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-name="community-exp-mozillaLink"/>
<label is="text-link" useoriginprincipal="true" href="about:credits" data-l10n-name="community-exp-creditsLink"/>
</description>
</vbox>
<description class="text-blurb" id="communityDesc" data-l10n-id="community-2">
<label is="text-link" href="https://www.mozilla.org/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-name="community-mozillaLink"/>
<label is="text-link" useoriginprincipal="true" href="about:credits" data-l10n-name="community-creditsLink"/>
</description>
<description class="text-blurb" id="contributeDesc" data-l10n-id="helpus">
<label is="text-link" href="https://donate.mozilla.org/?utm_source=firefox&#38;utm_medium=referral&#38;utm_campaign=firefox_about&#38;utm_content=firefox_about" data-l10n-name="helpus-donateLink"/>
<label is="text-link" href="https://www.mozilla.org/contribute/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-name="helpus-getInvolvedLink"/>
</description>
</vbox>
</vbox>
</hbox>
<vbox id="bottomBox">
<hbox pack="center">
<label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:license" data-l10n-id="bottomLinks-license"/>
<label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:rights" data-l10n-id="bottomLinks-rights"/>
<label is="text-link" class="bottom-link" href="https://www.mozilla.org/privacy/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-id="bottomLinks-privacy"/>
</hbox>
<description id="trademark" data-l10n-id="trademarkInfo"></description>
</vbox>
</vbox>
<keyset>
<key keycode="VK_ESCAPE" oncommand="window.close();"/>
</keyset>
</window>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

View file

@ -1,26 +0,0 @@
diff --git a/toolkit/components/maintenanceservice/moz.build b/toolkit/components/maintenanceservice/moz.build
index a4dae3f..312873c 100644
--- a/toolkit/components/maintenanceservice/moz.build
+++ b/toolkit/components/maintenanceservice/moz.build
@@ -18,7 +18,7 @@ USE_LIBS += [
]
# For debugging purposes only
-# DEFINES['DISABLE_UPDATER_AUTHENTICODE_CHECK'] = True
+DEFINES['DISABLE_UPDATER_AUTHENTICODE_CHECK'] = True
DEFINES["UNICODE"] = True
DEFINES["_UNICODE"] = True
diff --git a/toolkit/mozapps/update/tests/moz.build b/toolkit/mozapps/update/tests/moz.build
index 1a52a88..59d100c 100644
--- a/toolkit/mozapps/update/tests/moz.build
+++ b/toolkit/mozapps/update/tests/moz.build
@@ -59,7 +59,7 @@ if CONFIG["MOZ_MAINTENANCE_SERVICE"]:
DEFINES["MOZ_MAINTENANCE_SERVICE"] = CONFIG["MOZ_MAINTENANCE_SERVICE"]
# For debugging purposes only
-# DEFINES['DISABLE_UPDATER_AUTHENTICODE_CHECK'] = True
+DEFINES['DISABLE_UPDATER_AUTHENTICODE_CHECK'] = True
if CONFIG["CC_TYPE"] == "clang-cl":
WIN32_EXE_LDFLAGS += ["-ENTRY:wmainCRTStartup"]

View file

@ -1,3 +0,0 @@
librewolf-portable.aps
.vs
x64

View file

@ -1,3 +0,0 @@
# librewolf-portable
Execute librewolf.exe -profile Profiles\Default

View file

@ -1,30 +0,0 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by librewolf-portable.rc
#define IDS_APP_TITLE 103
#define IDR_MAINFRAME 128
#define IDD_LIBREWOLFPORTABLE_DIALOG 102
#define IDD_ABOUTBOX 103
#define IDM_ABOUT 104
#define IDM_EXIT 105
#define IDI_LIBREWOLFPORTABLE 107
#define IDI_SMALL 108
#define IDC_LIBREWOLFPORTABLE 109
#define IDC_MYICON 2
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 130
#define _APS_NEXT_RESOURCE_VALUE 129
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 110
#endif
#endif

View file

@ -1 +0,0 @@
msbuild /t:Clean,Build /p:Configuration=Release

View file

@ -1,64 +0,0 @@
// librewolf-portable.cpp : Run librewolf.exe with -profile parameter.
//
#include <windows.h>
int
fileExists(TCHAR* file)
{
WIN32_FIND_DATA FindFileData;
HANDLE handle = FindFirstFile(file, &FindFileData);
int found = (handle != INVALID_HANDLE_VALUE);
if (found)
FindClose(handle);
return found;
}
int APIENTRY
wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow)
{
//https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd
constexpr DWORD max_path = 32767;
static TCHAR path[max_path], dir[max_path], exe[max_path], cmdline[max_path];
GetModuleFileName(NULL, path, max_path);
*wcsrchr(path,L'\\') = L'\0';
wcscpy_s(dir, path);
wcscat_s(dir, L"\\Profiles\\Default");
wcscpy_s(exe, path);
wcscat_s(exe, L"\\librewolf.exe");
if (!fileExists(exe)) {
wcscpy_s(exe, path);
wcscat_s(exe, L"\\LibreWolf\\librewolf.exe");
if (!fileExists(exe)) {
MessageBox(NULL, L"Can\'t find librewolf.exe in the current or LibreWolf folder.", path, MB_OK);
return 1;
}
}
wsprintf(cmdline, L"\"%s\" -profile \"%s\" %s", exe, dir, lpCmdLine);
STARTUPINFOW siStartupInfo;
PROCESS_INFORMATION piProcessInfo;
memset(&siStartupInfo, 0, sizeof(siStartupInfo));
memset(&piProcessInfo, 0, sizeof(piProcessInfo));
siStartupInfo.cb = sizeof(siStartupInfo);
if (!CreateProcess(exe, cmdline, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &siStartupInfo, &piProcessInfo))
{
DWORD i = GetLastError();
wsprintf(dir, L"CreateProcess() failed with error %i", i);
MessageBox(NULL, dir, L"librewolf-portable", MB_OK);
return 1;
}
CloseHandle(piProcessInfo.hProcess);
CloseHandle(piProcessInfo.hThread);
return 0;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View file

@ -1,31 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31424.327
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "librewolf-portable", "librewolf-portable.vcxproj", "{363A5584-2FEA-46A3-A52B-7254D932AABA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Debug|x64.ActiveCfg = Debug|x64
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Debug|x64.Build.0 = Debug|x64
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Debug|x86.ActiveCfg = Debug|Win32
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Debug|x86.Build.0 = Debug|Win32
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Release|x64.ActiveCfg = Release|x64
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Release|x64.Build.0 = Release|x64
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Release|x86.ActiveCfg = Release|Win32
{363A5584-2FEA-46A3-A52B-7254D932AABA}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {968E3E1E-9A31-4937-A7E9-FF45C074E14E}
EndGlobalSection
EndGlobal

View file

@ -1,160 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{363a5584-2fea-46a3-a52b-7254d932aaba}</ProjectGuid>
<RootNamespace>librewolfportable</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="framework.h" />
<ClInclude Include="librewolf-portable.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="librewolf-portable.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="librewolf-portable.rc" />
</ItemGroup>
<ItemGroup>
<Image Include="librewolf-portable.ico" />
<Image Include="small.ico" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -1,49 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="framework.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="targetver.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="librewolf-portable.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="librewolf-portable.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="librewolf-portable.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<Image Include="small.ico">
<Filter>Resource Files</Filter>
</Image>
<Image Include="librewolf-portable.ico">
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
</Project>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View file

@ -1,6 +0,0 @@
#pragma once
// // Including SDKDDKVer.h defines the highest available Windows platform.
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
#include <SDKDDKVer.h>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View file

@ -1,43 +0,0 @@
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

View file

@ -1,6 +0,0 @@
ac_add_options --enable-application=browser
ac_add_options --enable-debug
#ac_add_options --with-app-name=librewolf
ac_add_options --with-branding=browser/branding/librewolf

View file

@ -1,11 +0,0 @@
################
# build 32-bit version..
#ac_add_options --target=x86_64-pc-mingw32
ac_add_options --target=i686-pc-mingw32
#ac_add_options --enable-bootstrap
ac_add_options --without-wasm-sandboxed-libraries
# currently fails on <stdatomic.h> when building..
#def deps_win32():
# exec('rustup target add i686-pc-windows-msvc')
#

View file

@ -1,15 +0,0 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 4daacdb..8edd77f 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -397,8 +397,8 @@ bin/libfreebl_64int_3.so
; [MaintenanceService]
;
#ifdef MOZ_MAINTENANCE_SERVICE
-@BINPATH@/maintenanceservice.exe
-@BINPATH@/maintenanceservice_installer.exe
+;@BINPATH@/maintenanceservice.exe
+;@BINPATH@/maintenanceservice_installer.exe
#endif
; [Crash Reporter]

View file

@ -1,166 +0,0 @@
!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
!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}
# 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

View file

@ -1,50 +0,0 @@
import os,sys,subprocess,os.path
bash_loc = 'c:/mozilla-build/msys/bin/bash.exe'
do_zip = False
# native()/bash()/exec() utility functions
def native(cmd,do_print=True):
sys.stdout.flush()
if do_print:
print(cmd)
sys.stdout.flush()
retval = os.system(cmd)
if retval != 0:
sys.exit(retval)
def bash(cmd,do_print=True):
tmp = []
tmp += [bash_loc, '-c', cmd]
sys.stdout.flush()
if do_print:
print(cmd)
sys.stdout.flush()
retval = subprocess.run(tmp).returncode
if retval != 0:
sys.exit(retval)
def exec(cmd,do_print=True):
_native = False
if not os.path.isfile(bash_loc):
_native = True
if _native:
return native(cmd,do_print)
return bash(cmd,do_print)
def patch(patchfile):
cmd = "patch -p1 -i {}".format(patchfile)
sys.stdout.flush()
print("\n*** -> {}".format(cmd))
sys.stdout.flush()
retval = os.system(cmd)
if retval != 0:
sys.stdout.flush()
print("fatal error: patch '{}' failed".format(patchfile))
sys.stdout.flush()
sys.exit(retval)

View file

@ -1,11 +0,0 @@
--- browser/app/splash.rc~ 2022-04-29 00:02:33 +0200
+++ browser/app/splash.rc 2022-05-04 14:30:43 +0200
@@ -12,7 +12,7 @@
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

View file

@ -1,142 +0,0 @@
#!/usr/bin/env python3
import os
import sys
import optparse
import subprocess,os.path
parser = optparse.OptionParser()
parser.add_option('-n', '--no-execute', dest='no_execute', default=False, action="store_true")
options, remainder = parser.parse_args()
bash_loc = 'c:/mozilla-build/msys/bin/bash.exe'
# native()/bash()/exec() utility functions
def native(cmd,exit_on_fail = True,do_print=True):
sys.stdout.flush()
if do_print:
print(cmd)
sys.stdout.flush()
retval = os.system(cmd)
if retval != 0 and exit_on_fail:
sys.exit(retval)
return retval
def bash(cmd,exit_on_fail = True,do_print=True):
tmp = []
tmp += [bash_loc, '-c', cmd]
sys.stdout.flush()
if do_print:
print(cmd)
sys.stdout.flush()
retval = subprocess.run(tmp).returncode
if retval != 0 and exit_on_fail:
sys.exit(retval)
return retval
def exec(cmd,exit_on_fail = True, do_print=True):
_native = False
if not os.path.isfile(bash_loc):
_native = True
if _native:
return native(cmd,exit_on_fail,do_print)
return bash(cmd,exit_on_fail,do_print)
#
#
#def exec(cmd, exit_on_fail = True, do_print = True):
# if cmd != '':
# if do_print:
# print(cmd)
# if not options.no_execute:
# retval = os.system(cmd)
# if retval != 0 and exit_on_fail:
# print("fatal error: command '{}' failed".format(cmd))
# sys.exit(1)
# return retval
# return None
#
#
def get_version_from_file(version_filename = './version'):
with open(version_filename) as f:
lines = f.readlines()
if len(lines) != 1:
sys.stderr.write('error: ./version contains too many lines.')
os.exit(1)
return lines[0].strip()
return None
def make_version_string(major,minor,patch):
if patch == 0:
return '{}.{}'.format(major,minor)
else:
return '{}.{}.{}'.format(major,minor,patch)
def firefox_release_url(ver):
return 'https://archive.mozilla.org/pub/firefox/releases/{}/source/firefox-{}.source.tar.xz'.format(ver, ver)
def check_url_exists(url):
i = exec('wget --spider {} 2>/dev/null'.format(url), do_print=False, exit_on_fail=False)
if i == 0:
return True
else:
return False
#
# main script
#
base_version = get_version_from_file()
# split base_version into major.minor.patch
split_version = base_version.split(sep='.')
if len(split_version) > 3 or len(split_version) < 1:
sys.stderr.write('error: ./version file contains invalid version number')
sys.exit(1)
elif len(split_version) == 1:
major = int(split_version[0])
minor = 0
patch = 0
elif len(split_version) == 2:
major = int(split_version[0])
minor = int(split_version[1])
patch = 0
elif len(split_version) == 3:
major = int(split_version[0])
minor = int(split_version[1])
patch = int(split_version[2])
# now check if this version exists with Mozilla
if not check_url_exists(firefox_release_url(make_version_string(major,minor,patch))):
sys.stderr.write('error: The current version is unavailable.\n')
sys.exit(1)
# Check for releases..
s = ''
if check_url_exists(firefox_release_url(make_version_string(major,minor,patch+1))):
s = ('{}.{}.{}'.format(major,minor,patch+1))
elif check_url_exists(firefox_release_url(make_version_string(major,minor+1,0))):
s = ('{}.{}'.format(major,minor+1))
elif check_url_exists(firefox_release_url(make_version_string(major+1,0,0))):
s = ('{}.0'.format(major+1))
else:
s = base_version
if s != base_version:
print('~ The wheel has turned, and version {} has been released. ~'.format(s))
with open('./version', 'w') as f:
f.write(s)
exec('echo 0 > release')
else:
print('- Latest Firefox release is still {}. -'.format(base_version))
sys.exit(0) # ensure 0 exit code

300
mk.py
View file

@ -1,300 +0,0 @@
#!/usr/bin/env python3
import os,sys,subprocess,os.path
from assets.tools import exec, patch
#
# main functions
#
do_zip = False
def deps_win32():
exec('rustup target add i686-pc-windows-msvc')
def full_mar():
with open('version','r') as file:
version = file.read().rstrip()
with open('source_release','r') as file:
source_release = file.read().rstrip()
os.chdir('librewolf-{}-{}'.format(version,source_release))
# see https://firefox-source-docs.mozilla.org/taskcluster/setting-up-an-update-server.html
objdir = 'obj-x86_64-pc-mingw32'
mar_output_path = 'MAR'
# version already set
channel = 'default'
exec('mkdir -p MAR') # output folder
exec('touch {}/dist/firefox/precomplete'.format(objdir))
exec('MAR={}/dist/host/bin/mar.exe MOZ_PRODUCT_VERSION={}-{} MAR_CHANNEL_ID={} ./tools/update-packaging/make_full_update.sh {} {}/dist/firefox'.format(objdir,version,source_release,channel,mar_output_path,objdir))
# create config.xml
mar_name = 'output.mar'
# sha512sum
hash_sha512 = ''
exec("cat MAR/{} | sha512sum | awk '{}' > tmpfile78419".format(mar_name,'{print $1}'))
with open('tmpfile78419', 'r') as tmpfile:
data = tmpfile.read().rstrip()
hash_sha512 = data
exec('rm -f tmpfile78419')
# size in bytes
size = os.path.getsize('MAR/{}'.format(mar_name))
mar_version = '2000.0a1'
build_id = '21181002100236'
update_url = 'http://127.0.0.1:8000' # no trailing slash
config_xml = '''<?xml version="1.0" encoding="UTF-8"?>
<updates>
<update type="minor" displayVersion="{}" appVersion="{}" platformVersion="{}" buildID="{}">
<patch type="complete" URL="{}/{}" hashFunction="sha512" hashValue="{}" size="{}"/>
</update>
</updates>
'''.format(mar_version,mar_version,mar_version,build_id,update_url,mar_name,hash_sha512,size)
textfile = open('MAR/update.xml','w')
textfile.write(config_xml)
textfile.close()
# restore state
os.chdir('..')
pass
def fetch():
exec('wget -q -O version https://gitlab.com/librewolf-community/browser/source/-/raw/main/version')
exec('wget -q -O source_release https://gitlab.com/librewolf-community/browser/source/-/raw/main/release')
exec('wget -q -O librewolf-$(cat version)-$(cat source_release).source.tar.gz.sha256sum https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/librewolf-$(cat version)-$(cat source_release).source.tar.gz.sha256sum?job=Build')
exec('wget -q -O librewolf-$(cat version)-$(cat source_release).source.tar.gz https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/librewolf-$(cat version)-$(cat source_release).source.tar.gz?job=Build')
exec('sha256sum -c librewolf-$(cat version)-$(cat source_release).source.tar.gz.sha256sum')
exec('cat librewolf-$(cat version)-$(cat source_release).source.tar.gz.sha256sum')
def build(debug=False):
exec('rm -rf librewolf-$(cat version)-$(cat source_release)')
exec('tar xf librewolf-$(cat version)-$(cat source_release).source.tar.gz')
with open('version','r') as file:
version = file.read().rstrip()
with open('source_release','r') as file:
source_release = file.read().rstrip()
os.chdir('librewolf-{}-{}'.format(version,source_release))
# patches
if debug:
exec('cp -v ../assets/mozconfig.windows.debug mozconfig')
else:
exec('cp -v ../assets/mozconfig.windows mozconfig')
# patches for windows only
patch('../assets/package-manifest.patch')
patch('../assets/disable-verify-mar.patch')
patch('../assets/tryfix-reslink-fail.patch')
# perform the build and package.
exec('MACH_USE_SYSTEM_PYTHON=1 ./mach build')
exec('MACH_USE_SYSTEM_PYTHON=1 ./mach package')
os.chdir('..')
def artifacts():
# Trying to fix issue #146 -> https://gitlab.com/librewolf-community/browser/windows/-/issues/146
# (keep this False for now)
_with_app_name = False
with open('version','r') as file1:
version = file1.read().rstrip()
source_release = ''
with open('source_release','r') as file3:
source_release = file3.read().rstrip()
buildzip_filename = 'firefox-{}-{}.en-US.win64.zip'.format(version,source_release)
if _with_app_name:
buildzip_filename = 'librewolf-{}-{}.en-US.win64.zip'.format(version,source_release)
exec('cp -v librewolf-{}-{}/obj-x86_64-pc-mingw32/dist/{} .'.format(version,source_release,buildzip_filename))
exec('cp -v librewolf-{}-{}/obj-x86_64-pc-mingw32/dist/install/sea/firefox-{}-{}.en-US.win64.installer.exe .'.format(version,source_release,version,source_release))
exec('rm -rf work && mkdir work')
os.chdir('work')
exec('unzip -q ../{}'.format(buildzip_filename))
if not _with_app_name:
exec('mv firefox librewolf')
os.chdir('librewolf')
if not _with_app_name:
exec('mv firefox.exe librewolf.exe')
os.chdir('..')
os.chdir('..')
# let's get 'release'.
with open('release','r') as file2:
release = file2.read().rstrip()
source_release = ''
with open('source_release','r') as file5:
source_release = file5.read().rstrip()
if release == '1' :
full_version = '{}-{}'.format(version,source_release)
else:
full_version = '{}-{}-{}'.format(version,source_release,release)
# let's copy in the .ico icon.
exec('cp -v assets/librewolf.ico work/librewolf')
# Let's make the portable zip first.
if do_zip:
os.chdir('work')
exec('rm -rf librewolf-{}'.format(version))
os.makedirs('librewolf-{}/Profiles/Default'.format(version), exist_ok=True)
os.makedirs('librewolf-{}/LibreWolf'.format(version), exist_ok=True)
exec('cp -r librewolf/* librewolf-{}/LibreWolf'.format(version))
exec('wget -q -O librewolf-{}/librewolf-portable.exe https://gitlab.com/librewolf-community/browser/windows/uploads/64b929c39999d00efb56419f963e1b22/librewolf-portable.exe'.format(version))
zipname = 'librewolf-{}.en-US.win64.zip'.format(full_version)
exec("rm -f ../{}".format(zipname))
exec("zip -qr9 ../{} librewolf-{}".format(zipname,version))
os.chdir('..')
# With that out of the way, we need to create the main nsis setup.
os.chdir('work')
exec("mkdir x86-ansi")
exec("wget -q -O ./x86-ansi/nsProcess.dll https://shorsh.de/upload/we7v/nsProcess.dll")
setupname = 'librewolf-{}.en-US.win64-setup.exe'.format(full_version)
exec('sed \"s/pkg_version/{}/g\" < ../assets/setup.nsi > tmp.nsi'.format(full_version))
exec('cp -v ../assets/librewolf.ico .')
exec('cp -v ../assets/banner.bmp .')
exec('makensis-3.01.exe -V1 tmp.nsi')
exec('rm -rf tmp.nsi librewolf.ico banner.bmp x86-ansi')
exec("mv {} ..".format(setupname))
os.chdir('..')
# Latest addition: better portable app
os.chdir('work')
exec('rm -rf librewolf-{}'.format(version))
os.makedirs('librewolf-{}/Profiles/Default'.format(version), exist_ok=True)
os.makedirs('librewolf-{}/LibreWolf'.format(version), exist_ok=True)
exec('cp -r librewolf/* librewolf-{}/LibreWolf'.format(version))
# on gitlab: https://gitlab.com/ltGuillaume
exec('git clone https://github.com/ltGuillaume/LibreWolf-Portable')
exec('cp -v LibreWolf-Portable/LibreWolf-Portable.* LibreWolf-Portable/*.exe librewolf-{}/'.format(version))
os.chdir('librewolf-{}'.format(version))
# installed from: https://www.autohotkey.com/
exec('echo \\"c:/Program Files/AutoHotkey/Compiler/Ahk2Exe.exe\\" /in LibreWolf-Portable.ahk /icon LibreWolf-Portable.ico > tmp.bat')
exec('cmd /c tmp.bat')
exec('rm -f tmp.bat')
# let's remove the ahk and icon and embedded executables
exec('rm -f LibreWolf-Portable.ahk LibreWolf-Portable.ico dejsonlz4.exe jsonlz4.exe')
os.chdir('..')
pa_zipname = 'librewolf-{}.en-US.win64-portable.zip'.format(full_version)
exec("rm -f ../{}".format(pa_zipname))
exec("zip -qr9 ../{} librewolf-{}".format(pa_zipname,version))
os.chdir('..')
# Utility function to upload() function.
def do_upload(filename,token):
exec('echo _ >> upload.txt')
exec('curl --request POST --header \"PRIVATE-TOKEN: {}\" --form \"file=@{}\" \"https://gitlab.com/api/v4/projects/13852981/uploads\" >> upload.txt'.format(token,filename),False)
exec('echo _ >> upload.txt')
def upload(token):
with open('version','r') as file1:
version = file1.read().rstrip()
with open('release','r') as file2:
release = file2.read().rstrip()
source_release = ''
with open('source_release','r') as file3:
source_release = file3.read().rstrip()
if release == '1' :
full_version = '{}-{}'.format(version,source_release)
else:
full_version = '{}-{}'.format(version,source_release,release)
# Files we need to upload..
if do_zip:
zip_filename = 'librewolf-{}.en-US.win64.zip'.format(full_version)
setup_filename = 'librewolf-{}.en-US.win64-setup.exe'.format(full_version)
pazip_filename = 'librewolf-{}.en-US.win64-portable.zip'.format(full_version)
if do_zip:
exec('sha256sum {} {} {} > sha256sums.txt'.format(setup_filename,zip_filename,pazip_filename))
else:
exec('sha256sum {} {} > sha256sums.txt'.format(setup_filename,pazip_filename))
exec('rm -f upload.txt')
do_upload(setup_filename,token)
if do_zip:
do_upload(zip_filename,token)
do_upload(pazip_filename,token)
do_upload('sha256sums.txt',token)
#
# parse commandline for commands
#
help_msg = '''
Use: ./mk.py <command> ...
commands:
fetch
build
build-debug
artifacts
upload <token>
'''
done_something = False
in_upload=False
for arg in sys.argv:
if in_upload:
upload(arg)
done_something=True
elif arg == 'fetch':
fetch()
done_something = True
elif arg == 'build':
build()
done_something = True
elif arg == 'build-debug':
build(True)
done_something = True
elif arg == 'artifacts':
artifacts()
done_something = True
elif arg == 'full-mar':
full_mar()
done_something = True
elif arg == 'upload':
in_upload = True
else:
if arg == sys.argv[0]:
pass
else:
print(help_msg)
sys.exit(1)
if done_something:
sys.exit(0)
print(help_msg)
sys.exit(1)

View file

@ -1 +0,0 @@
1

View file

@ -1 +0,0 @@
3

View file

@ -1 +0,0 @@
100.0