Compare commits

..

235 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
Bert van der Weerd
cba3ffd075
bugfixes 2022-05-06 10:26:46 +02:00
Bert van der Weerd
d82582a43a
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2022-05-06 09:18:00 +02:00
Bert van der Weerd
2ea06c6718
v100.0-3 2022-05-06 09:17:45 +02:00
35bd388d25 Ask user before closing LibreWolf in installer 2022-05-05 17:36:49 +02:00
Bert van der Weerd
709882a499
do_zip variable has disappeared, fixing that 2022-05-05 11:16:03 +02:00
38061dd0bf
disable updater in mozconfig again 2022-05-05 00:53:36 +02:00
Bert van der Weerd
6a5917ab48
v100.0-2.1-rc1 2022-05-04 22:40:16 +02:00
Bert van der Weerd
d123a737dd
added make langpacks 2022-05-04 20:21:11 +02:00
Bert van der Weerd
467e842b38
this release 1 2022-05-04 12:00:55 +02:00
Bert van der Weerd
34d3413e07
v99.0.1.2 2022-04-29 17:15:00 +02:00
Bert van der Weerd
8540016455
bugfixes 2022-04-28 20:34:22 +02:00
Bert van der Weerd
c5364490f2
serve-mar command added 2022-04-27 14:33:54 +02:00
Bert van der Weerd
44773d461d
creating mar files 2022-04-27 12:53:26 +02:00
Bert van der Weerd
e95da84da6
add --disable-verify-mar 2022-04-27 10:26:24 +02:00
Bert van der Weerd
49cc4b9813
add disable-verify-mar patch 2022-04-27 10:25:15 +02:00
Bert van der Weerd
78aad0d382
fixed the bogus check target 2022-04-27 10:10:20 +02:00
Bert van der Weerd
6cfec04701
v99.0.1 2022-04-12 13:48:41 +02:00
Bert van der Weerd
1ee0f36df4
bugfixes 2022-04-08 23:12:12 +02:00
Bert van der Weerd
7d5fecb789
v99.0 2022-04-08 13:10:14 +02:00
Bert van der Weerd
eb4a264fd8
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2022-04-01 18:04:05 +02:00
Bert van der Weerd
0cd22f9d3b
mk.py-commit 2022-04-01 18:03:50 +02:00
Bert van der Weerd
084a314db5
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2022-04-01 18:01:31 +02:00
Bert van der Weerd
db5d2ec46f
tools.py 2022-04-01 18:01:09 +02:00
Bert van der Weerd
216fb36503
now checking checksum 2022-03-26 12:59:58 +01:00
Bert van der Weerd
e23bc0cf20
v98.0.2 2022-03-24 21:46:46 +01:00
Bert van der Weerd
07973526bd
bugfixes 2022-03-24 14:21:34 +01:00
Bert van der Weerd
7f3990f182
moved old portable exe out of the way 2022-03-23 10:17:29 +01:00
Bert van der Weerd
0a68621cd0
rm todo.md 2022-03-19 23:34:07 +01:00
Bert van der Weerd
7386b46dc4
todo 2022-03-19 22:34:39 +01:00
Guillaume
c92bc88455 Add Scoop to the installation methods (was also added on librewolf.net)
Simplified description for portable
2022-03-11 11:51:56 +00:00
Brian
084116c930 Fixed shell command launcher 2022-03-11 11:48:50 +00:00
Bert van der Weerd
fc4f1e1424
Release v98.0 2022-03-09 17:00:38 +01:00
Bert van der Weerd
2f7ecd2e1d
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2022-03-05 17:45:48 +01:00
Bert van der Weerd
22da218bb4
v97.0.2 2022-03-05 17:45:33 +01:00
4641c4812d
fix: remove submodules 2022-03-05 16:58:28 +01:00
b3245a5320
nsis: use old InstallDir when already installed
See https://gitlab.com/librewolf-community/browser/windows/-/issues/178
2022-03-05 16:53:16 +01:00
Bert van der Weerd
58b2271e34
removed old zip 2022-02-28 23:52:32 +01:00
Bert van der Weerd
563c053672
bugfixes, final portable.zip looks good 2022-02-27 22:51:41 +01:00
Bert van der Weerd
f0daa09d8c
bugfixes 2022-02-27 22:43:56 +01:00
Bert van der Weerd
3aaeadc20b
First version of PortableApps zip file 2022-02-27 14:58:59 +01:00
Bert van der Weerd
cca6c0dcfb
bugfix 2022-02-23 22:06:18 +01:00
Bert van der Weerd
6f350f04f1
updated to new mozilla-build location 2022-02-23 21:30:37 +01:00
Bert van der Weerd
0150e0b2d1
bumped to version 97.0.1 2022-02-18 10:41:54 +01:00
Bert van der Weerd
de2df4e571
Updated clean and veryclean targets 2022-02-09 12:06:52 +01:00
Bert van der Weerd
ce1428938f
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2022-02-08 17:06:56 +01:00
Bert van der Weerd
3cb41798c6
v97.0 (source release 2) 2022-02-08 17:06:40 +01:00
Bert van der Weerd
545731c5c4
Update README.md 2022-01-28 15:03:28 +01:00
Bert van der Weerd
1e10e0ff63
v96.0.3 2022-01-27 21:03:28 +01:00
Bert van der Weerd
b6836454e7
using new librewolf-portable.exe 2022-01-26 21:29:08 +01:00
Bert van der Weerd
31eb346039
allow librewolf-portable.exe to pass its parameters to librewolf.exe (issue #154) 2022-01-26 21:19:25 +01:00
Bert van der Weerd
b2a92cc6ec
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2022-01-26 14:40:56 +01:00
Bert van der Weerd
a97c7dc4a2
updated to new source_release versioning 2022-01-26 14:40:43 +01:00
Bert van der Weerd
954ad5a784
Added LibreWolf-WinUpdater to the README 2022-01-26 12:56:16 +01:00
Bert van der Weerd
e5758b64da
added debugging mozconfig and targets 2022-01-26 12:08:20 +01:00
Bert van der Weerd
798d5300f9
minox fix 2022-01-24 13:36:40 +01:00
Bert van der Weerd
89e19f0801
!addplugindir fix 2022-01-21 14:39:07 +01:00
Bert van der Weerd
6d6eef5bcc
v96.0.2-0 2022-01-21 11:37:23 +01:00
Bert van der Weerd
bd1064205d
removed common and settings 2022-01-19 22:20:28 +01:00
64972b5b34 Update NSIS to use a more modern style and detect if LibreWolf is still running 2022-01-19 20:43:40 +00:00
Bert van der Weerd
c4156370ba
changed md5 sums into sha256 sums 2022-01-18 15:22:21 +01:00
Bert van der Weerd
ec836c49f2
release 1 of v96.0.1 2022-01-18 14:16:55 +01:00
Bert van der Weerd
7fdbe2af4a
fixing issue #148 2022-01-18 14:08:15 +01:00
Bert van der Weerd
0ffb0ad651
Merge branch 'master' of gitlab.com:librewolf-community/browser/windows 2022-01-15 10:13:47 +01:00
Bert van der Weerd
7a4fa17d30
added target: make check 2022-01-15 10:13:37 +01:00
Bert van der Weerd
cd7107a05e
fix to actually remove librewolf distfiles 2022-01-14 15:22:22 +01:00
Bert van der Weerd
93c4a2a4c6
added _with_app_name to mk.py and added cairo-windows as drawing toolkit, also added .pdf as a file association in the nsis setup file 2022-01-14 15:18:21 +01:00
Bert van der Weerd
7c3ff63c31
bugfixes 2022-01-14 10:59:27 +01:00
Bert van der Weerd
77b2238a3c
Updated README.md 2022-01-11 21:21:25 +01:00
Bert van der Weerd
c3e8d8850f
Cleanup old cruft after successful release of v96.0-0 2022-01-11 21:13:56 +01:00
Bert van der Weerd
1240cdb7b1
bugfixes 2022-01-11 15:44:56 +01:00
44 changed files with 26 additions and 3954 deletions

23
.gitignore vendored
View file

@ -1,23 +0,0 @@
/.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
/source_release

6
.gitmodules vendored
View file

@ -1,6 +0,0 @@
[submodule "settings"]
path = old/settings
url = https://gitlab.com/librewolf-community/settings.git
[submodule "common"]
path = old/common
url = https://gitlab.com/librewolf-community/browser/common.git

View file

@ -1,41 +0,0 @@
# How to contribute:
If you want to contribute, or just build from source yourself, below are the inistructions to do that. If there is something unclear please type your feedback in **[this ticket](https://gitlab.com/librewolf-community/browser/windows/-/issues/112)** and we can adress it.
## Reference documentation:
* [Building Firefox On Windows](https://firefox-source-docs.mozilla.org/setup/windows_build.html).
## Compiling:
To compile on Windows, you need to:
* Install Mozilla build setup tools: [MozillaBuildSetup-Latest.exe](https://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe).
* Install Microsoft visual studio community edition: [here](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022).
* Within Visual Studio:
** Desktop development with C++.
** Windows 10 SDK (at least 10.0.19041.0).
** C++ ATL for v143 build tools (x86 and x64).
* Open start-shell terminal and basically do the following:
```
wget -q "https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py"
python3 bootstrap.py --no-interactive --application-choice=browser
```
If you choose to, you can now build Firefox Nightly as follows:
```
cd mozilla-unified
./mach build
./mach package
./mach run # or just run it..
```
Or you can just forget about that, and remove the firefox tree:
```
rm -rf bootstrap.py mozilla-unified
```
To build the current windows setup.exe, we do the following:
```
git clone --recursive https://gitlab.com/librewolf-community/browser/windows.git
cd windows
./build.py all
```

View file

@ -1,37 +0,0 @@
.PHONY : help all clean veryclean fetch build artifacts
help :
@echo "Use: make [all] [clean] [veryclean]"
@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 ""
@echo " fetch - Fetch the latest librewolf source."
@echo " build - Perform './mach build && ./mach package' on it."
@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
rm -f librewolf-$(shell cat version).*.en-US.win64* md5sums.txt upload.txt firefox-$(shell cat version).en-US.win64.zip
veryclean : clean
rm -rf librewolf-$(shell cat version)
rm -f source_release librewolf-$(shell cat version)-*.source.tar.gz
fetch :
python3 mk.py fetch
build :
python3 mk.py build
artifacts :
python3 mk.py artifacts

View file

@ -1,19 +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 _winget_: `winget install librewolf`
* **If your LibreWolf crashes on startup**, you probably miss the right [Visual C++ Runtime](https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0). You 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 .zip files are _'portable zip files'_ that allows for a user profile in the extracted zip file folders. It is _self-contained_.
# 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). 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.
* The install instructions for Windows on [librewolf.net](https://librewolf.net/installation/windows/).
* Want to compile it for yourself or contribute? check [CONTRIBUTING.md](https://gitlab.com/librewolf-community/browser/windows/-/blob/master/CONTRIBUTING.md). 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.
> Please note: The *updater* can _install_ updates automatically, while the *extension* can only _check_ for updates.
## LibreWolf for Windows 🖥️
- LibreWolf supports multiple UI languages, available in settings.
- The latest **-portable.zip** release is self-contained and can be run on removable storage.
## Issue Tracker 🎫
- For issues with Settings or Advanced Settings (`about:config`), submit them to the [settings repository](https://gitlab.com/librewolf-community/settings/-/issues).
- 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).
## 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.
- The build system can be found here: [bsys6](https://gitlab.com/librewolf-community/browser/bsys6).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View file

@ -1,35 +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=librewolf
ac_add_options --with-branding=browser/branding/librewolf
#ac_add_options --with-distribution-id=io.gitlab.librewolf-community
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_SERVICES_HEALTHREPORT=0
mk_add_options MOZ_TELEMETRY_REPORTING=0
#
# windows specific.
#
# - no need to specify wasi sdk folder
#
ac_add_options --disable-updater
ac_add_options --disable-maintenance-service

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,124 +0,0 @@
#
# 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 "pkg_version" # the program version, like: 0.3.0
!define ICON_NAME "librewolf.ico" # filename of icon to use for this app
!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}"
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\${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}
#
# 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\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" "Howling to Freedom"
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationCompany" "LibreWolf"
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\DefaultIcon" "" "$INSTDIR\librewolf.exe,0"
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\shell\open\command" "" "$INSTDIR\librewolf.exe %1"
SectionEnd
# Before uninstall, ask for confirmation
function un.onInit
SetShellVarContext all
# Verify the uninstaller - last chance to back out
# (commented this out, it causes problems with Chocolatey.)
# MessageBox MB_OKCANCEL "Permanantly remove ${APPNAME}?" IDOK next
# Abort
# next:
functionEnd
# Uninstaller
section "uninstall"
# 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,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,69 +0,0 @@
// librewolf-portable.cpp : Run librewolf.exe with -profile parameter.
//
#define _CRT_SECURE_NO_WARNINGS
#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); this will crash
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 int max_path = _MAX_PATH+1;
constexpr int max_path = 32767+1;
static wchar_t path[max_path], dir[max_path], exe[max_path], cmdline[max_path];
GetModuleFileName(NULL, path, _MAX_PATH);
*wcsrchr(path,L'\\') = L'\0';
wcscpy(dir, path);
wcscat(dir, L"\\Profiles\\Default");
wcscpy(exe, path);
wcscat(exe, L"\\librewolf.exe");
if (!fileExists(exe)) {
wcscpy(exe, path);
wcscat(exe, L"\\LibreWolf\\librewolf.exe");
if (!fileExists(exe)) {
MessageBox(NULL, L"Can\'t find librewolf.exe in . or LibreWolf", path, MB_OK);
return 1;
}
}
wsprintf(cmdline, L"\"%s\" -profile \"%s\"", exe, dir);
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;
}
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>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</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>

202
mk.py
View file

@ -1,202 +0,0 @@
#!/usr/bin/env python3
import os,sys,subprocess
# 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 += ['c:/mozilla-build/msys/bin/bash.exe', '-c', cmd]
sys.stdout.flush()
if do_print:
print(cmd)
sys.stdout.flush()
retval = subprocess.run(tmp).returncode
if retval != 0:
sys.exit(retval)
_native = False # set to True if you don't want the win-specific bash.exe
def exec(cmd,do_print=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)
#
# main functions
#
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 -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-job')
def build():
exec('rm -rf librewolf-$(cat version)')
exec('tar xf librewolf-$(cat version)-$(cat source_release).source.tar.gz')
with open('version','r') as file:
version = file.read().rstrip()
os.chdir('librewolf-{}'.format(version))
# patches
exec('cp -v ../assets/mozconfig.windows mozconfig')
patch('../assets/package-manifest.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():
with open('version','r') as file1:
version = file1.read().rstrip()
buildzip_filename = 'firefox-{}.en-US.win64.zip'.format(version)
exec('cp -v librewolf-{}/obj-x86_64-pc-mingw32/dist/{} .'.format(version,buildzip_filename))
exec('rm -rf work && mkdir work')
os.chdir('work')
exec('unzip ../{}'.format(buildzip_filename))
exec('mv firefox librewolf')
os.chdir('librewolf')
exec('mv firefox.exe librewolf.exe')
os.chdir('..')
os.chdir('..')
# let's get 'release'.
with open('release','r') as file2:
release = file2.read().rstrip()
if release == '0' :
full_version = '{}'.format(version)
else:
full_version = '{}.{}'.format(version,release)
# let's copy in the .ico icon.
exec('cp -v assets/librewolf.ico work/librewolf')
# Let's make the portable zip first.
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 -vr librewolf/* librewolf-{}/LibreWolf'.format(version))
exec('wget -q -O librewolf-{}/librewolf-portable.exe https://gitlab.com/librewolf-community/browser/windows/uploads/8347381f01806245121adcca11b7f35c/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 nsis setup.
os.chdir('work')
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('makensis-3.01.exe -V1 tmp.nsi')
exec('rm -f tmp.nsi')
exec("mv {} ..".format(setupname))
os.chdir('..')
# utility 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()
full_version = '{}.{}'.format(version,release)
# Files we need to upload..
zip_filename = 'librewolf-{}.en-US.win64.zip'.format(full_version)
setup_filename = 'librewolf-{}.en-US.win64-setup.exe'.format(full_version)
exec('md5sum {} {} > md5sums.txt'.format(setup_filename,zip_filename))
exec('rm -f upload.txt')
do_upload(setup_filename,token)
do_upload(zip_filename,token)
do_upload('md5sums.txt',token)
#
# parse commandline for commands
#
help_msg = '''
Use: ./mk.py <command> ...
commands:
fetch
build
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 == 'artifacts':
artifacts()
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,733 +0,0 @@
#!/usr/bin/env python3
pkgver = '95.0.2'
lwver = "{}".format(pkgver)
nightly_ver = '97.0a1'
#
# build.py - try move functionality away from that too big/horrible build script.
#
import optparse
import sys
import os
import glob
import time
start_time = time.time()
parser = optparse.OptionParser()
parser.add_option('-x', '--cross', dest='cross_compile', default=False, action="store_true")
parser.add_option('-n', '--no-execute', dest='no_execute', default=False, action="store_true")
parser.add_option('-l', '--no-librewolf', dest='no_librewolf', default=False, action="store_true")
parser.add_option('-s', '--src', dest='src', default='release')
parser.add_option('-t', '--distro', dest='distro', default='autodetect')
parser.add_option('-T', '--token', dest='token', default='')
parser.add_option('-3', '--i386', dest='i386', default=False, action="store_true")
parser.add_option('-P', '--no-settings-pane', dest='settings_pane', default=True, action="store_false")
parser.add_option('-v', '--version', dest='version', action="store", type="string")
options, remainder = parser.parse_args()
# try autodetecting options.distro
if options.distro == 'autodetect':
options.distro = 'win'
if os.path.isdir('/Applications'):
options.distro = 'osx'
elif os.path.isdir('/etc'):
options.distro = 'rpm'
if os.path.isdir('/etc/apt'):
options.distro = 'deb'
if options.version != None:
if options.src != 'release':
print('error: cant use --version and --src at the same time')
sys.exit(1)
pkgver=options.version
def script_exit(statuscode):
if (time.time() - start_time) > 60:
# print elapsed time
elapsed = time.strftime("%H:%M:%S", time.gmtime(time.time() - start_time))
print(f"\n\aElapsed time: {elapsed}")
sys.exit(statuscode)
def enter_srcdir():
dir = "firefox-{}".format(pkgver)
if options.src == 'nightly':
dir = 'mozilla-unified'
elif options.src == 'tor-browser':
dir = 'tor-browser'
elif options.src == 'gecko-dev':
dir = 'gecko-dev'
print("cd {}".format(dir))
if not options.no_execute:
try:
os.chdir(dir)
except:
print("fatal error: can't change to '{}' folder.".format(dir))
script_exit(1)
def leave_srcdir():
print("cd ..")
if not options.no_execute:
os.chdir("..")
def exec(cmd):
if cmd != '':
print(cmd)
if not options.no_execute:
retval = os.system(cmd)
if retval != 0:
print("fatal error: command '{}' failed".format(cmd))
script_exit(1)
def patch(patchfile):
cmd = "patch -p1 -i {}".format(patchfile)
print("\n*** -> {}".format(cmd))
if not options.no_execute:
retval = os.system(cmd)
if retval != 0:
print("fatal error: patch '{}' failed".format(patchfile))
script_exit(1)
#
# Utilities:
#
def execute_update_submodules():
exec("git submodule foreach git pull origin master")
def execute_git_init():
if options.src != 'release':
print("fatal error: git_init only works with the release source (--src release)")
script_exit(1)
enter_srcdir()
exec("rm -rf .git")
exec("git init")
exec("git config core.safecrlf false")
exec("git config commit.gpgsign false")
exec("git add -f * .[a-z]*")
exec("git commit -am initial")
leave_srcdir()
def execute_deps_deb():
deps1 = "python python-dev python3 python3-dev python3-distutils clang pkg-config libpulse-dev gcc"
deps2 = "curl wget nodejs libpango1.0-dev nasm yasm zip m4 libgtk-3-dev libgtk2.0-dev libdbus-glib-1-dev"
deps3 = "libxt-dev python3-pip mercurial automake autoconf libtool m4"
exec("apt install -y {} {} {}".format(deps1,deps2,deps3))
def execute_deps_rpm():
deps1 = "python3 python3-distutils-extra clang pkg-config gcc curl wget nodejs nasm yasm zip m4"
deps2 = "python3-zstandard python-zstandard python-devel python3-devel gtk3-devel llvm gtk2-devel dbus-glib-devel libXt-devel pulseaudio-libs-devel"
exec("dnf -y install {} {}".format(deps1,deps2))
def execute_deps_pkg():
deps = "wget gmake m4 python3 py37-sqlite3 pkgconf llvm node nasm zip unzip yasm"
exec("pkg install {}".format(deps))
def execute_rustup():
# rust needs special love: https://www.atechtown.com/install-rust-language-on-debian-10/
exec("curl https://sh.rustup.rs -sSf | sh")
exec("cargo install cbindgen")
def execute_mach_env():
enter_srcdir()
exec("bash ./mach create-mach-environment")
leave_srcdir()
def execute_reset():
if options.src == 'release':
path = "firefox-{}/.git/index".format(pkgver)
if not os.path.isfile(path):
print("fatal error: cannot reset '--src release' sources as it's not under version control.")
script_exit(1)
enter_srcdir()
exec("git reset --hard")
leave_srcdir()
elif options.src == 'nightly':
enter_srcdir()
exec("hg up -C")
exec("hg purge")
exec("hg pull -u")
leave_srcdir()
elif options.src == 'tor-browser':
enter_srcdir()
exec("git reset --hard")
leave_srcidr()
elif options.src == 'gecko-dev':
enter_srcdir()
exec("git reset --hard")
leave_srcdir()
#
# Targets:
#
def execute_fetch():
if options.src == 'release':
exec("rm -f firefox-{}.source.tar.xz".format(pkgver))
exec("wget -q https://archive.mozilla.org/pub/firefox/releases/{}/source/firefox-{}.source.tar.xz".format(pkgver, pkgver))
elif options.src == 'nightly':
if not os.path.isdir('mozilla-unified'):
exec("rm -f bootstrap.py")
exec("rm -rf mozilla-unified")
exec("wget -q https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py")
exec("python3 bootstrap.py --no-interactive --application-choice=browser")
elif options.src == 'tor-browser':
if not os.path.isdir('tor-browser'):
exec("rm -rf tor-browser")
exec("git clone --no-checkout --recursive https://git.torproject.org/tor-browser.git")
patch("../patches/tb-mozconfig-win10.patch")
enter_srcdir()
exec("git checkout tor-browser-89.0-10.5-1-build1")
exec("git submodule update --recursive")
leave_srcdir()
elif options.src == 'gecko-dev':
if not os.path.isdir('gecko-dev'):
exec("rm -rf gecko-dev")
exec("git clone --depth=1 https://github.com/mozilla/gecko-dev.git")
def execute_extract():
if options.src == 'release':
exec("rm -rf firefox-{}".format(pkgver))
exec("tar xf firefox-{}.source.tar.xz".format(pkgver))
def execute_build():
enter_srcdir()
exec("bash -c \"MACH_USE_SYSTEM_PYTHON=1 ./mach build\"")
#exec("bash -c \"./mach build\"")
leave_srcdir()
def execute_package():
enter_srcdir()
exec("bash -c \"MACH_USE_SYSTEM_PYTHON=1 ./mach package\"")
leave_srcdir()
#
# LibreWolf specific:
#
def create_mozconfig(contents):
if not options.no_execute:
f = open('mozconfig', 'w')
f.write(contents)
if not options.distro == 'win':
f.write("\nac_add_options --with-app-name=librewolf")
if options.distro == 'osx' and options.cross_compile:
f.write("\nac_add_options --target=aarch64")
if options.i386:
f.write("\nac_add_options --target=i386")
f.write("\n")
f.close()
def execute_lw_do_patches():
if options.no_librewolf:
return
if not options.src in ['release','nightly','gecko-dev']:
return
enter_srcdir()
# create the right mozconfig file..
create_mozconfig(mozconfig_release)
# macos : if have compatibilty osx api headers, add that to mozconfig_release
dir = os.environ['HOME'] + '/.mozbuild/macos-sdk/MacOSX11.1.sdk'
if os.path.isdir(dir):
with open('mozconfig','a') as f:
f.write("\nac_add_options --with-macos-sdk=$HOME/.mozbuild/macos-sdk/MacOSX11.1.sdk")
f.close()
# copy branding files..
exec('echo +++ && pwd && ls ../common')
exec("cp -vr ../common/source_files/browser .")
exec("cp -v ../files/configure.sh browser/branding/librewolf")
patches = []
if options.src == 'release':
# production patches
patches = [
"../common/patches/about-dialog.patch",
# BUG: this patch seems to fail and break librewolf.exe at startup
"../common/patches/allow-ubo-private-mode.patch",
"../common/patches/context-menu.patch",
"../common/patches/megabar.patch",
"../common/patches/mozilla-vpn-ad.patch",
"../common/patches/mozilla_dirs.patch",
"../common/patches/remove_addons.patch",
# "../common/patches/search-config.patch",
"../common/patches/sed-patches/allow-searchengines-non-esr.patch",
"../common/patches/sed-patches/disable-pocket.patch",
"../common/patches/sed-patches/remove-internal-plugin-certs.patch",
"../common/patches/sed-patches/stop-undesired-requests.patch",
"../common/patches/ui-patches/add-language-warning.patch",
"../common/patches/ui-patches/pref-naming.patch",
"../common/patches/ui-patches/remove-branding-urlbar.patch",
"../common/patches/ui-patches/remove-cfrprefs.patch",
"../common/patches/ui-patches/remove-organization-policy-banner.patch",
"../common/patches/ui-patches/remove-snippets-from-home.patch",
"../common/patches/ui-patches/sanitizing-description.patch",
"../common/patches/urlbarprovider-interventions.patch",
]
for p in patches:
patch(p)
# local windows patches
for p in ["../patches/browser-confvars.patch", "../patches/package-manifest.patch"]:
patch(p)
# insert the settings pane source (experimental)
if options.settings_pane:
exec('rm -rf librewolf-pref-pane')
exec('git clone https://gitlab.com/ohfp/librewolf-pref-pane.git')
os.chdir('librewolf-pref-pane')
exec('git diff 1fee314adc81000294fc0cf3196a758e4b64dace > ../../patches/librewolf-pref-pane.patch')
os.chdir('..')
patch('../patches/librewolf-pref-pane.patch')
leave_srcdir()
def get_objdir():
pattern = "obj-*"
retval = glob.glob(pattern)
if options.no_execute:
return "obj-XXX"
if len(retval) != 1:
print("fatal error: in execute_lw_post_build(): cannot glob build output folder '{}'".format(pattern))
script_exit(1)
return retval[0]
def execute_lw_post_build():
if options.no_librewolf:
return
enter_srcdir()
dirname = get_objdir()
distfolder = "dist/bin"
if options.distro == 'osx':
distfolder = 'dist/LibreWolf.app/Contents/Resources'
if not options.no_execute:
os.makedirs("{}/{}/defaults/pref".format(dirname,distfolder), exist_ok=True)
os.makedirs("{}/{}/distribution".format(dirname,distfolder), exist_ok=True)
exec("cp -v ../settings/defaults/pref/local-settings.js {}/{}/defaults/pref/".format(dirname,distfolder))
exec("cp -v ../settings/distribution/policies.json {}/{}/distribution/".format(dirname,distfolder))
exec("cp -v ../settings/librewolf.cfg {}/{}/".format(dirname,distfolder))
leave_srcdir()
def execute_lw_artifacts():
if options.no_librewolf:
return
enter_srcdir()
if options.distro == 'win':
exe = ".exe"
ospkg = "win64"
dirname = "{}/dist/firefox".format(get_objdir())
elif options.distro == 'deb':
exe = ""
ospkg = "deb"
dirname = "{}/dist/librewolf".format(get_objdir())
elif options.distro == 'rpm':
exe = ""
ospkg = "rpm"
dirname = "{}/dist/librewolf".format(get_objdir())
elif options.distro == 'osx':
#exe = ""
#ospkg = "osx"
#dirname = "{}/dist/firefox".format(get_objdir())
exec("cp {}/dist/librewolf*.dmg ..".format(get_objdir()))
leave_srcdir()
return
exec("rm -rf ../firefox ../librewolf")
exec("cp -rv {} ..".format(dirname))
leave_srcdir()
librewolfdir = "librewolf"
if options.distro == 'osx':
librewolfdir = 'librewolf/Librewolf.app'
if options.distro == 'win':
exec("mv firefox librewolf")
if options.distro != 'osx':
if options.distro == 'win':
exec("mv -v {}/firefox{} {}/librewolf{}".format(librewolfdir,exe,librewolfdir,exe));
# exec("rm -rf {}/default-browser-agent* {}/maintainanceservice* {}/pingsender* {}/firefox.*.xml {}/precomplete {}/removed-files {}/uninstall"
# .format(librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir))
exec("cp -v common/source_files/browser/branding/librewolf/firefox.ico {}/librewolf.ico".format(librewolfdir))
if options.distro != 'win':
exec("cp -v files/register-librewolf files/start-librewolf files/start-librewolf.desktop.in librewolf")
# create zip filename
if options.src == 'release':
zipname = "librewolf-{}.en-US.{}.zip".format(lwver,ospkg)
elif options.src == 'nightly':
zipname = "librewolf-{}.en-US.{}-nightly.zip".format(nightly_ver,ospkg)
elif options.src == 'gecko-dev':
zipname = "librewolf-{}.en-US.{}-gecko-dev.zip".format(nightly_ver,ospkg)
# 'windows portable' zip stuff..
if options.distro == 'win':
# we need tmp to tell us what portable folder to make
if options.src == 'release':
tmp = lwver
else:
tmp = nightly_ver
exec("rm -rf librewolf-{}".format(tmp))
#exec("mkdir -p librewolf-{}/Profiles/Default librewolf-{}/LibreWolf".format(pkgver,pkgver))
os.makedirs("librewolf-{}/Profiles/Default".format(tmp), exist_ok=True)
os.makedirs("librewolf-{}/LibreWolf".format(tmp), exist_ok=True)
exec("cp -vr librewolf/* librewolf-{}/LibreWolf".format(tmp))
exec("rm -f librewolf-portable.exe")
exec("wget -q https://gitlab.com/librewolf-community/browser/windows/uploads/8347381f01806245121adcca11b7f35c/librewolf-portable.exe")
exec("mv librewolf-portable.exe librewolf-{}".format(tmp))
exec("rm -f {}".format(zipname))
exec("zip -qr9 {} librewolf-{}".format(zipname,tmp))
# 'normal' zip file..
else:
exec("rm -f {}".format(zipname))
exec("zip -qr9 {} librewolf".format(zipname))
# create installer
if options.distro == 'win':
setupname = "librewolf-{}.en-US.win64-setup.exe".format(lwver)
if options.src == 'nightly':
if os.path.isfile(setupname):
exec("rm -f tmp.exe")
exec("mv {} tmp.exe".format(setupname))
setupname = "librewolf-{}.en-US.win64-nightly-setup.exe".format(nightly_ver)
elif options.src == 'gecko-dev':
if os.path.isfile(setupname):
exec("rm -f tmp.exe")
exec("mv {} tmp.exe".format(setupname))
setupname = "librewolf-{}.en-US.win64-gecko-dev-setup.exe".format(nightly_ver)
exec("rm -f {} tmp.nsi".format(setupname))
s = lwver
if options.src == 'nightly' or options.src == 'gecko-dev':
s = nightly_ver
exec("sed \"s/pkg_version/{}/g\" < setup.nsi > tmp.nsi".format(s))
exec("makensis-3.01.exe -V1 tmp.nsi")
exec("rm -f tmp.nsi")
from_name = 'librewolf-{}.en-US.win64-setup.exe'.format(s)
if from_name != setupname:
exec("mv {} {}".format(from_name,setupname))
if os.path.isfile("tmp.exe"):
exec("mv tmp.exe librewolf-{}.en-US.win64-setup.exe".format(lwver))
def do_upload(filename):
exec("echo \".\" >> upload.txt")
exec("curl --request POST --header \"PRIVATE-TOKEN: {}\" --form \"file=@{}\" \"https://gitlab.com/api/v4/projects/13852981/uploads\" >> upload.txt".format(options.token,filename))
exec("echo \".\" >> upload.txt")
def execute_upload():
if options.token =='':
print("fatal error: You must specify a private token when using the 'upload' command.")
script_exit(1)
if options.distro == 'win':
ospkg = "win64"
elif options.distro == 'deb':
ospkg = "deb"
elif options.distro == 'rpm':
ospkg = "rpm"
elif options.distro == 'osx':
ospkg = "osx"
zip_filename = "librewolf-{}.en-US.{}.zip".format(lwver,ospkg)
setup_filename = "librewolf-{}.en-US.{}-setup.exe".format(lwver,ospkg)
# nightly_setup_filename = "librewolf-{}.en-US.{}-gecko-dev.zip".format(nightly_ver,ospkg)
if not os.path.isfile(zip_filename):
print("fatal error: File '{}' not found.".format(zip_filename))
script_exit(1)
if not os.path.isfile(setup_filename):
print("fatal error: File '{}' not found.".format(setup_filename))
script_exit(1)
# if not os.path.isfile(nightly_setup_filename):
# print("fatal error: File '{}' not found.".format(nightly_setup_filename))
# script_exit(1)
exec("sha256sum {} {} > sha256sums.txt".format(zip_filename,setup_filename))
exec("rm -f upload.txt")
do_upload(setup_filename)
do_upload(zip_filename)
# do_upload(nightly_setup_filename)
do_upload("sha256sums.txt")
print("upload.txt: Upload JSON api results are in the file \'upload.txt\'.")
#
# Main targets:
#
def execute_all():
execute_update_submodules()
execute_fetch()
execute_extract()
execute_lw_do_patches()
execute_build()
execute_lw_post_build()
execute_package()
execute_lw_artifacts()
def execute_clean():
exec("rm -rf librewolf-{} librewolf-{} librewolf-{}".format(pkgver,nightly_ver,lwver))
exec("rm -rf librewolf bootstrap.py tmp.nsi tmp.exe sha256sums.txt upload.txt librewolf-portable.exe")
for filename in glob.glob("librewolf-*"):
try:
os.remove(filename)
except:
pass
def execute_veryclean():
exec("rm -rf firefox-{}.source.tar.xz mozilla-unified tor-browser gecko-dev".format(pkgver))
exec("rm -rf firefox-{}".format(pkgver))
execute_clean()
#
# main commandline interface
#
def main():
if options.src == 'tor-browser':
options.no_librewolf = True
if len(remainder) > 0:
if not options.src in ['release','nightly','tor-browser','gecko-dev']:
print("error: option --src invalid value")
script_exit(1)
if not options.distro in ['deb','rpm', 'win','osx']:
print("error: option --distro invalid value")
script_exit(1)
for arg in remainder:
if arg == 'all':
execute_all()
elif arg == 'clean':
execute_clean()
elif arg == 'veryclean':
execute_veryclean()
# Targets:
elif arg == 'fetch':
execute_fetch()
elif arg == 'extract':
execute_extract()
elif arg == 'lw_do_patches':
execute_lw_do_patches()
elif arg == 'build':
execute_build()
elif arg == 'lw_post_build':
execute_lw_post_build()
elif arg == 'package':
execute_package()
elif arg == 'lw_artifacts':
execute_lw_artifacts()
# Utilities
elif arg == 'update_submodules':
execute_update_submodules()
elif arg == 'upload':
execute_upload()
elif arg == 'git_init':
execute_git_init()
elif arg == 'deps_deb':
execute_deps_deb()
elif arg == 'deps_rpm':
execute_deps_rpm()
elif arg == 'deps_pkg':
execute_deps_pkg()
elif arg == 'rustup':
execute_rustup()
elif arg == 'mach_env':
execute_mach_env()
elif arg == 'reset':
execute_reset()
else:
print("error: unknown command on command line: ", arg)
script_exit(1)
else:
# Print help message
print(help_message.format(options.distro))
#
# Large multiline strings
#
help_message = """# Use:
build.py [<options>] clean | all | <targets> | <utilities>
# Options:
-n,--no-execute - print commands, don't execute them
-l,--no-librewolf - skip LibreWolf specific stages.
-x,--cross - crosscompile from linux, implies -t win
-s,--src <src> - release,nightly,tor-browser,gecko-dev
(default=release)
-t,--distro <distro> - deb,rpm,win,osx (default={})
-T,--token <private_token> - private token used to upload to gitlab.com
-3,--i386 - build 32-bit
-P,--settings-pane - build with the experimental settings pane
# Targets:
all - all steps from fetch to producing setup.exe
clean - clean everything, including extracted/fetched sources
veryclean - clean like above, and also remove build artifacts.
fetch - wget or hg clone or git pull
extract - when using wget, extract the archive.
lw_do_patches - [librewolf] patch the source
build - build the browser
lw_post_build - [librewolf] insert our settings
package - package the browser into zip/apk
lw_artifacts - [librewolf] build setup.exe
# Utilities:
update_submodules - git update submodules
upload - upload the build artifacts to gitlab.com
git_init - put the source folder in a .git repository
reset - use git/mercurial to revert changes to a clean state
deps_deb - install dependencies with apt
deps_rpm - install dependencies with dnf
deps_pkg - install dependencies on freebsd
rustup - update rust
mach_env - create mach environment
"""
#
# mozconfig files:
#
mozconfig_release = """
ac_add_options --enable-application=browser
# This supposedly speeds up compilation (We test through dogfooding anyway)
ac_add_options --disable-tests
ac_add_options --enable-release
ac_add_options --enable-hardening
ac_add_options --disable-debug
#ac_add_options --enable-debug
ac_add_options --enable-rust-simd
#ac_add_options --disable-rust-simd
ac_add_options --enable-optimize
#ac_add_options --disable-optimize
# Branding
#ac_add_options --enable-update-channel=release
## theming bugs: ac_add_options --with-app-name=librewolf
## theming bugs: ac_add_options --with-app-basename=LibreWolf
#ac_add_options --with-branding=browser/branding/librewolf
#ac_add_options --with-distribution-id=io.gitlab.librewolf-community
#ac_add_options --with-unsigned-addon-scopes=app,system
#ac_add_options --allow-addon-sideload
# see issue # https://gitlab.com/librewolf-community/browser/arch/-/issues/49
export MOZ_REQUIRE_SIGNING=
# Features
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-default-browser-agent
# Disables crash reporting, telemetry and other data gathering tools
mk_add_options MOZ_CRASHREPORTER=0
mk_add_options MOZ_DATA_REPORTING=0
mk_add_options MOZ_SERVICES_HEALTHREPORT=0
mk_add_options MOZ_TELEMETRY_REPORTING=0
# testing..
# MOZ_APP_NAME=librewolf
# This gives the same theming issue as --with-app-name=librewolf
# TODO: find out how to support sandboxed libraries
#ac_add_options --without-wasm-sandboxed-libraries
"""
main()
script_exit(0)

View file

@ -1,58 +0,0 @@
.phony: all clean veryclean fetch extract lw_do_patches build lw_post_build package lw_artifacts commit
under_construction:
echo "under construction. use ./mk.py"
true
BUILD=python3 build.py ${OPTS}
all :
$(BUILD) all
clean :
$(BUILD) clean
make -C docker clean
veryclean :
$(BUILD) veryclean
fetch :
$(BUILD) fetch
extract :
$(BUILD) extract
do_patches lw_do_patches :
$(BUILD) lw_do_patches
build :
$(BUILD) build
post_build lw_post_build :
$(BUILD) lw_post_build
package :
$(BUILD) package
artifacts lw_artifacts :
$(BUILD) lw_artifacts
update update_submodules :
$(BUILD) update_submodules
upload :
$(BUILD) upload
git_init :
$(BUILD) git_init
reset :
$(BUILD) reset
# Building docker files..
.phony : docker docker-all docker-clean
docker : docker-all
docker-all :
make -C docker all
docker-clean :
make -C docker clean
# git commit && git push
commit :
git commit -am "$$(date)"
git push

@ -1 +0,0 @@
Subproject commit 5baa16f8fbceef6ec48ce3cfa4f5d3a9b082a240

View file

@ -1,16 +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/.
MOZ_APP_NAME=librewolf
MOZ_APP_BASENAME=LibreWolf
MOZ_APP_PROFILE=LibreWolf
MOZ_APP_VENDOR="LibreWolf Community"
MOZ_APP_DISPLAYNAME=LibreWolf
MOZ_APP_REMOTINGNAME=librewolf
MOZ_DEV_EDITION=1
MOZ_TELEMETRY_REPORTING=
MOZ_SERVICES_HEALTHREPORT=
MOZ_NORMANDY=
MOZ_REQUIRE_SIGNING=
MOZ_DEFAULT_BROWSER_AGENT=0

View file

@ -1,7 +0,0 @@
#!/usr/bin/env bash
sed "s,MYDIR,$(pwd),g" < start-librewolf.desktop.in > start-librewolf.desktop
mkdir -p "$HOME/.local/share/applications/"
cp -v ./start-librewolf.desktop "$HOME/.local/share/applications/"
update-desktop-database "$HOME/.local/share/applications/"

View file

@ -1,22 +0,0 @@
#!/usr/bin/env bash
# Do not (try to) connect to the session manager
unset SESSION_MANAGER
# If XAUTHORITY is unset, set it to its default value of $HOME/.Xauthority
# before we change HOME below. (See xauth(1) and #1945.) XDM and KDM rely
# on applications using this default value.
if [ -z "$XAUTHORITY" ]; then
XAUTHORITY=~/.Xauthority
export XAUTHORITY
fi
# Try to be agnostic to where we're being started from, chdir to where
# the script is.
mydir="`dirname "$0"`"
test -d "$mydir" && cd "$mydir"
#./librewolf --class "LibreWolf" -profile TorBrowser/Data/Browser/profile.default "${@}" > "$logfile" 2>&1 </dev/null &
./librewolf --detach --class "LibreWolf" > /dev/null 2>&1 </dev/null &
exit $?

View file

@ -1,10 +0,0 @@
[Desktop Entry]
Type=Application
Name=LibreWolf
GenericName=Web Browser
Comment=LibreWolf Browser
Categories=Network;WebBrowser;Security;
Exec=MYDIR/./start-librewolf
X-TorBrowser-ExecShell=MYDIR/./start-librewolf
Icon=MYDIR/./browser/chrome/icons/default/default64.png
StartupWMClass=LibreWolf

View file

@ -1,4 +0,0 @@
@rem Windows Expert Bundle:
@rem https://www.torproject.org/download/tor/
Tor\tor.exe

View file

@ -1,29 +0,0 @@
diff --git a/browser/confvars.sh b/browser/confvars.sh
index 92871c9516..1e151180dd 100644
--- a/browser/confvars.sh
+++ b/browser/confvars.sh
@@ -3,8 +3,11 @@
# 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/.
-MOZ_APP_VENDOR=Mozilla
-MOZ_UPDATER=1
+MOZ_APP_BASENAME=LibreWolf
+MOZ_APP_NAME=librewolf
+MOZ_APP_VENDOR="LibreWolf Community"
+
+MOZ_UPDATER=0
if test "$OS_ARCH" = "WINNT"; then
if ! test "$HAVE_64BIT_BUILD"; then
@@ -34,8 +36,8 @@ BROWSER_CHROME_URL=chrome://browser/content/browser.xhtml
# For mozilla-beta, mozilla-release, or mozilla-central repositories, use
# "unofficial" branding.
# For the mozilla-aurora repository, use "aurora".
-MOZ_BRANDING_DIRECTORY=browser/branding/unofficial
-MOZ_OFFICIAL_BRANDING_DIRECTORY=browser/branding/official
+MOZ_BRANDING_DIRECTORY=browser/branding/librewolf
+MOZ_OFFICIAL_BRANDING_DIRECTORY=browser/branding/librewolf
MOZ_APP_ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
MOZ_PROFILE_MIGRATOR=1

View file

@ -1,786 +0,0 @@
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
index 4f3babe..97c7ec2 100644
--- a/browser/components/preferences/jar.mn
+++ b/browser/components/preferences/jar.mn
@@ -11,6 +11,7 @@ browser.jar:
content/browser/preferences/home.js
content/browser/preferences/search.js
content/browser/preferences/privacy.js
+ content/browser/preferences/librewolf.js
content/browser/preferences/containers.js
content/browser/preferences/sync.js
content/browser/preferences/experimental.js
diff --git a/browser/components/preferences/librewolf.inc.xhtml b/browser/components/preferences/librewolf.inc.xhtml
new file mode 100644
index 0000000..a4c5313
--- /dev/null
+++ b/browser/components/preferences/librewolf.inc.xhtml
@@ -0,0 +1,219 @@
+# 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/.
+
+<script src="chrome://browser/content/preferences/librewolf.js"/>
+
+<html:template id="template-paneLibrewolf">
+
+<hbox class="subcategory" hidden="true" data-category="paneLibrewolf">
+ <html:h1 data-l10n-id="librewolf-header"/>
+</hbox>
+
+<groupbox hidden="true" data-category="paneLibrewolf">
+ <html:h2 data-l10n-id="librewolf-general-heading"/>
+
+ <!-- TEMPLATE FOR A NEW PREFERENCE
+ <hbox>
+ <checkbox id="librewolf-LABEL-checkbox" data-l10n-id="librewolf-LABEL-checkbox" preference="PREF" flex="1" />
+ <html:label for="librewolf-LABEL-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-LABEL-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-LABEL-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-LABEL-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="PREF" label="PREF" />
+ </vbox>
+ </vbox>
+ -->
+
+ <hbox>
+ <checkbox id="librewolf-extension-update-checkbox" data-l10n-id="librewolf-extension-update-checkbox" preference="extensions.update.autoUpdateDefault" flex="1" />
+ <html:label for="librewolf-extension-update-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-extension-update-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-extension-update-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-extension-update-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="extensions.update.autoUpdateDefault" label="extensions.update.autoUpdateDefault" />
+ <checkbox preference="extensions.update.enabled" label="extensions.update.enabled" />
+ </vbox>
+ </vbox>
+
+ <hbox>
+ <checkbox id="librewolf-autocopy-checkbox" data-l10n-id="librewolf-autocopy-checkbox" preference="clipboard.autocopy" flex="1" />
+ <html:label for="librewolf-autocopy-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-autocopy-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-autocopy-description" />
+ <checkbox preference="clipboard.autocopy" label="clipboard.autocopy" />
+ <checkbox preference="middlemouse.paste" label="middlemouse.paste" />
+ </vbox>
+ </vbox>
+
+ <hbox>
+ <checkbox id="librewolf-styling-checkbox" data-l10n-id="librewolf-styling-checkbox" preference="toolkit.legacyUserProfileCustomizations.stylesheets" flex="1" />
+ <html:label for="librewolf-styling-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-styling-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-styling-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-styling-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="toolkit.legacyUserProfileCustomizations.stylesheets" label="toolkit.legacyUserProfileCustomizations.stylesheets" />
+ </vbox>
+ </vbox>
+
+</groupbox>
+
+<groupbox hidden="true" data-category="paneLibrewolf">
+ <html:h2 data-l10n-id="librewolf-network-heading" />
+
+ <hbox>
+ <checkbox id="librewolf-ipv6-checkbox" data-l10n-id="librewolf-ipv6-checkbox" preference="network.dns.disableIPv6" flex="1" />
+ <html:label for="librewolf-ipv6-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-ipv6-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-ipv6-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-ipv6-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="network.dns.disableIPv6" label="network.dns.disableIPv6" />
+ </vbox>
+ </vbox>
+
+</groupbox>
+
+<groupbox hidden="true" data-category="paneLibrewolf">
+ <html:h2 data-l10n-id="librewolf-broken-heading" />
+
+ <hbox>
+ <checkbox id="librewolf-rfp-checkbox" data-l10n-id="librewolf-rfp-checkbox" preference="privacy.resistFingerprinting" flex="1" />
+ <html:label for="librewolf-rfp-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-rfp-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-rfp-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-rfp-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="privacy.resistFingerprinting" label="privacy.resistFingerprinting" />
+ </vbox>
+ </vbox>
+
+ <vbox class="indent">
+
+ <hbox>
+ <checkbox id="librewolf-letterboxing-checkbox" data-l10n-id="librewolf-letterboxing-checkbox" preference="privacy.resistFingerprinting.letterboxing" flex="1" />
+ <html:label for="librewolf-letterboxing-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-letterboxing-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-letterboxing-description" />
+ <checkbox preference="privacy.resistFingerprinting.letterboxing" label="privacy.resistFingerprinting.letterboxing" />
+ </vbox>
+ </vbox>
+
+ <hbox>
+ <checkbox id="librewolf-auto-decline-canvas-checkbox" data-l10n-id="librewolf-auto-decline-canvas-checkbox" preference="privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" flex="1" />
+ <html:label for="librewolf-auto-decline-canvas-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-auto-decline-canvas-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-auto-decline-canvas-description" />
+ <html:div> <label data-l10n-id="librewolf-auto-decline-canvas-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" label="privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" />
+ </vbox>
+ </vbox>
+
+ </vbox>
+
+ <hbox>
+ <checkbox id="librewolf-webgl-checkbox" data-l10n-id="librewolf-webgl-checkbox" preference="webgl.disabled" flex="1" />
+ <html:label for="librewolf-webgl-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-webgl-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-webgl-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-webgl-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="webgl.disabled" label="webgl.disabled" />
+ </vbox>
+ </vbox>
+
+ <hbox>
+ <checkbox id="librewolf-language-checkbox" data-l10n-id="librewolf-language-checkbox" preference="extensions.getAddons.langpacks.url" flex="1" />
+ <html:label for="librewolf-language-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-language-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-language-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-language-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="extensions.getAddons.langpacks.url" label="extensions.getAddons.langpacks.url" id="librewolf-language-url" />
+ </vbox>
+ </vbox>
+
+</groupbox>
+
+<groupbox hidden="true" data-category="paneLibrewolf">
+ <html:h2 data-l10n-id="librewolf-security-heading" />
+
+ <hbox>
+ <checkbox id="librewolf-goog-safe-checkbox" data-l10n-id="librewolf-goog-safe-checkbox" preference="browser.safebrowsing.malware.enabled" flex="1" />
+ <html:label for="librewolf-goog-safe-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-goog-safe-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-goog-safe-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-goog-safe-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="browser.safebrowsing.malware.enabled" label="browser.safebrowsing.malware.enabled" />
+ <checkbox preference="browser.safebrowsing.phishing.enabled" label="browser.safebrowsing.phishing.enabled" />
+ <checkbox preference="browser.safebrowsing.blockedURIs.enabled" label="browser.safebrowsing.blockedURIs.enabled" />
+ <checkbox preference="browser.safebrowsing.provider.google4.gethashURL" label="browser.safebrowsing.provider.google4.gethashURL" id="librewolf-goog-safe-hash4"/>
+ <checkbox preference="browser.safebrowsing.provider.google4.updateURL" label="browser.safebrowsing.provider.google4.updateURL" id="librewolf-goog-safe-up4"/>
+ <checkbox preference="browser.safebrowsing.provider.google.gethashURL" label="browser.safebrowsing.provider.google.gethashURL" id="librewolf-goog-safe-hash"/>
+ <checkbox preference="browser.safebrowsing.provider.google.updateURL" label="browser.safebrowsing.provider.google.updateURL" id="librewolf-goog-safe-up"/>
+ </vbox>
+ </vbox>
+
+ <vbox class="indent">
+ <hbox>
+ <checkbox id="librewolf-goog-safe-download-checkbox" data-l10n-id="librewolf-goog-safe-download-checkbox" preference="browser.safebrowsing.downloads.enabled" flex="1" />
+ <html:label for="librewolf-goog-safe-download-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox>
+ <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-goog-safe-download-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-goog-safe-download-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-goog-safe-download-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="browser.safebrowsing.downloads.enabled" label="browser.safebrowsing.downloads.enabled" />
+ </vbox>
+ </vbox>
+ </vbox>
+
+</groupbox>
+
+<hbox class="subcategory" hidden="true" data-category="paneLibrewolf">
+ <html:h1 data-l10n-id="librewolf-footer"/>
+</hbox>
+
+<groupbox data-category="paneLibrewolf" hidden="true">
+ <hbox>
+ <label id="librewolf-config-link-wrapper" class="sidebar-footer-link" is="text-link" flex="1">
+ <image class="sidebar-footer-icon" src="chrome://browser/skin/ion.svg" /> <!-- TODO not the typical way a picture is defined I think, and also we should copy the svg file in case they change it -->
+ <label id="librewolf-config-link" data-l10n-id="librewolf-config-link"></label>
+ </label>
+ <hbox pack="end">
+ <button id="librewolf-open-profile-button" class="accessory-button" is="highlightable-button" data-l10n-id="librewolf-open-profile"/>
+ </hbox>
+ </hbox>
+</groupbox>
+
+</html:template>
diff --git a/browser/components/preferences/librewolf.js b/browser/components/preferences/librewolf.js
new file mode 100644
index 0000000..a633730
--- /dev/null
+++ b/browser/components/preferences/librewolf.js
@@ -0,0 +1,238 @@
+/* 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/. */
+
+/* import-globals-from extensionControlled.js */
+/* import-globals-from preferences.js */
+
+var { AppConstants } = ChromeUtils.import( "resource://gre/modules/AppConstants.jsm");
+XPCOMUtils.defineLazyGetter(this, "L10n", () => {
+ return new Localization([
+ "branding/brand.ftl",
+ "browser/preferences/preferences.ftl",
+ ]);
+});
+
+Preferences.addAll([
+ // IPv6
+ { id: "network.dns.disableIPv6", type: "bool" },
+ // WebGL
+ { id: "webgl.disabled", type: "bool" },
+ // RFP
+ { id: "privacy.resistFingerprinting", type: "bool" },
+ // Automatically Update Extensions
+ { id: "extensions.update.enabled", type: "bool" },
+ { id: "extensions.update.autoUpdateDefault", type: "bool" },
+ // Clipboard autocopy/paste
+ { id: "clipboard.autocopy", type: "bool" },
+ { id: "middlemouse.paste", type: "bool" },
+ // Harden
+ { id: "privacy.resistFingerprinting.letterboxing", type: "bool" },
+ // Google Safe Browsing
+ //{ id: "browser.safebrowsing.malware.enabled", type: "bool" }, // Already loaded
+ //{ id: "browser.safebrowsing.phishing.enabled", type: "bool" },
+ { id: "browser.safebrowsing.blockedURIs.enabled", type: "bool" },
+ { id: "browser.safebrowsing.provider.google4.gethashURL", type: "string" },
+ { id: "browser.safebrowsing.provider.google4.updateURL", type: "string" },
+ { id: "browser.safebrowsing.provider.google.gethashURL", type: "string" },
+ { id: "browser.safebrowsing.provider.google.updateURL", type: "string" },
+ /**** Prefs that require changing a lockPref ****/
+ // Google safe browsing check downloads
+ //{ id: "browser.safebrowsing.downloads.enabled", type: "bool" }, //Also already added
+ { id: "toolkit.legacyUserProfileCustomizations.stylesheets", type: "bool" },
+ // Install language packs
+ { id: "extensions.getAddons.langpacks.url", type: "string" },
+ // Canvas UI when blocked
+ { id: "privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts", type: "bool" },
+]);
+
+var gLibrewolfPane = {
+ _pane: null,
+
+ // called when the document is first parsed
+ init() {
+ this._pane = document.getElementById("paneLibrewolf");
+
+ // Set all event listeners on checkboxes
+ setBoolSyncListeners(
+ "librewolf-extension-update-checkbox",
+ ["extensions.update.autoUpdateDefault", "extensions.update.enabled"],
+ [true, true ],
+ );
+ setBoolSyncListeners(
+ "librewolf-ipv6-checkbox",
+ ["network.dns.disableIPv6"],
+ [false, ],
+ );
+ setBoolSyncListeners(
+ "librewolf-autocopy-checkbox",
+ ["clipboard.autocopy", "middlemouse.paste"],
+ [true, true ],
+ );
+ setBoolSyncListeners(
+ "librewolf-styling-checkbox",
+ ["toolkit.legacyUserProfileCustomizations.stylesheets"],
+ [true, ],
+ );
+
+ setBoolSyncListeners(
+ "librewolf-webgl-checkbox",
+ ["webgl.disabled"],
+ [false ],
+ );
+ setBoolSyncListeners(
+ "librewolf-rfp-checkbox",
+ ["privacy.resistFingerprinting"],
+ [true ],
+ );
+ setBoolSyncListeners(
+ "librewolf-auto-decline-canvas-checkbox",
+ ["privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts"],
+ [true ],
+ );
+
+ setBoolSyncListeners(
+ "librewolf-letterboxing-checkbox",
+ ["privacy.resistFingerprinting.letterboxing"],
+ [true ],
+ );
+
+ setSyncListeners(
+ "librewolf-goog-safe-checkbox",
+ [
+ "browser.safebrowsing.malware.enabled",
+ "browser.safebrowsing.phishing.enabled",
+ "browser.safebrowsing.blockedURIs.enabled",
+ "browser.safebrowsing.provider.google4.gethashURL",
+ "browser.safebrowsing.provider.google4.updateURL",
+ "browser.safebrowsing.provider.google.gethashURL",
+ "browser.safebrowsing.provider.google.updateURL",
+ ],
+ [
+ true,
+ true,
+ true,
+ "https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST",
+ "https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST",
+ "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2",
+ "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2&key=%GOOGLE_SAFEBROWSING_API_KEY%",
+ ],
+ [
+ false,
+ false,
+ false,
+ "",
+ "",
+ "",
+ "",
+ ]
+ );
+ setSyncListeners("librewolf-language-checkbox", ["extensions.getAddons.langpacks.url"], ["https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%"], [""]);
+ setSyncListeners("librewolf-language-url", ["extensions.getAddons.langpacks.url"], ["https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%"], [""]);
+
+ // Set event listener on open profile directory button
+ setEventListener("librewolf-open-profile-button", "command", openProfileDirectory);
+ // Set event listener on open about:config button
+ setEventListener("librewolf-config-link", "click", openAboutConfig);
+
+ // Notify observers that the UI is now ready
+ Services.obs.notifyObservers(window, "librewolf-pane-loaded");
+ },
+};
+
+function openProfileDirectory() {
+ // Get the profile directory.
+ let currProfD = Services.dirsvc.get("ProfD", Ci.nsIFile);
+ let profileDir = currProfD.path;
+
+ // Show the profile directory.
+ let nsLocalFile = Components.Constructor(
+ "@mozilla.org/file/local;1",
+ "nsIFile",
+ "initWithPath"
+ );
+ new nsLocalFile(profileDir).reveal();
+}
+
+function openAboutConfig() {
+ window.open("about:config", "_blank");
+}
+
+function setBoolSyncListeners(checkboxid, opts, vals) {
+ setSyncFromPrefListener(checkboxid, () => readGenericBoolPrefs(opts, vals));
+ setSyncToPrefListener(checkboxid, () => writeGenericBoolPrefs(opts, vals, document.getElementById(checkboxid).checked));
+ for (let i = 1; i < opts.length; i++) {
+ Preferences.get(opts[i]).on("change", () => makeMasterCheckboxesReactive(checkboxid, () => readGenericBoolPrefs(opts, vals)));
+ }
+}
+function setSyncListeners(checkboxid, opts, onVals, offVals) {
+ setSyncFromPrefListener(checkboxid, () => readGenericPrefs(opts, onVals, offVals));
+ setSyncToPrefListener(checkboxid, () => writeGenericPrefs(opts, onVals, offVals, document.getElementById(checkboxid).checked));
+ for (let i = 1; i < opts.length; i++) {
+ Preferences.get(opts[i]).on("change", () => makeMasterCheckboxesReactive(checkboxid, () => readGenericPrefs(opts, onVals, offVals)));
+ }
+}
+
+function makeMasterCheckboxesReactive(checkboxid, func) {
+ let shouldBeChecked = func();
+ document.getElementById(checkboxid).checked = shouldBeChecked;
+}
+
+// Wrapper function in case something more is required (as I suspected in the first iteration of this)
+function getPref(pref) {
+ let retval = Preferences.get(pref);
+/* if (retval === undefined) {
+ return defaultValue;
+ } */
+ return retval._value;
+}
+// Returns true if all the preferences in prefs are equal to onVals, false otherwise TODO may need a third array for their default values because mozilla is dumb, after testing though pretty sure this was misinformation being spread by comments in default FF code that has long since been fixed
+function readGenericBoolPrefs(prefs, onVals) {
+ for (let i = 0; i < prefs.length; i++) {
+ if (getPref(prefs[i]) != onVals[i]) {
+ return false;
+ }
+ }
+ return true;
+}
+function writeGenericBoolPrefs(opts, vals, changeToOn) {
+ valsCopy = [...vals];
+ if (!changeToOn) {
+ for (let i = 0; i < vals.length; i++) {
+ valsCopy[i] = !vals[i];
+ }
+ }
+ // Start at 1 because returning sets the last one
+ for (let i = 1; i < vals.length; i++) {
+ Services.prefs.setBoolPref(opts[i], valsCopy[i]);
+ }
+ return valsCopy[0];
+}
+
+// Returns true if all the preferences in prefs are equal to onVals, false otherwise... currently the same as for Bool as offVals is ignored
+function readGenericPrefs(prefs, onVals, offVals) {
+ for (let i = 0; i < prefs.length; i ++) {
+ let temp = getPref(prefs[i]);
+ if (getPref(prefs[i]) != onVals[i]) {
+ return false;
+ }
+ }
+ return true;
+}
+function writeGenericPrefs(opts, onVals, offVals, changeToOn) {
+ let writeArr = (changeToOn) ? onVals : offVals;
+ for (let i = 1; i < opts.length; i++) {
+ let type = typeof(writeArr[i]);
+ if (type == "number") {
+ Services.prefs.setIntPref(opts[i], writeArr[i]);
+ } else if (type == "boolean") {
+ Services.prefs.setBoolPref(opts[i], writeArr[i]);
+ } else if (type == "string") {
+ Services.prefs.setCharPref(opts[i], writeArr[i]);
+ } else {
+ console.log("BADNESS 10000");
+ }
+ }
+ return writeArr[0];
+}
+
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
index 91e9e46..763ab49 100644
--- a/browser/components/preferences/preferences.js
+++ b/browser/components/preferences/preferences.js
@@ -8,6 +8,7 @@
/* import-globals-from search.js */
/* import-globals-from containers.js */
/* import-globals-from privacy.js */
+/* import-globals-from librewolf.js */
/* import-globals-from sync.js */
/* import-globals-from experimental.js */
/* import-globals-from findInPage.js */
@@ -117,6 +118,7 @@ function init_all() {
register_module("paneHome", gHomePane);
register_module("paneSearch", gSearchPane);
register_module("panePrivacy", gPrivacyPane);
+ register_module("paneLibrewolf", gLibrewolfPane);
register_module("paneContainers", gContainersPane);
if (Services.prefs.getBoolPref("browser.preferences.experimental")) {
// Set hidden based on previous load's hidden value.
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
index aab4a9e..907a631 100644
--- a/browser/components/preferences/preferences.xhtml
+++ b/browser/components/preferences/preferences.xhtml
@@ -12,6 +12,7 @@
<?xml-stylesheet href="chrome://browser/skin/preferences/search.css"?>
<?xml-stylesheet href="chrome://browser/skin/preferences/containers.css"?>
<?xml-stylesheet href="chrome://browser/skin/preferences/privacy.css"?>
+<?xml-stylesheet href="chrome://browser/skin/preferences/librewolf.css"?>
<!DOCTYPE html>
@@ -128,6 +129,17 @@
<label class="category-name" flex="1" data-l10n-id="pane-privacy-title"></label>
</richlistitem>
+ <richlistitem id="category-librewolf"
+ class="category"
+ value="paneLibrewolf"
+ helpTopic="prefs-librewolf"
+ data-l10n-id="category-librewolf"
+ data-l10n-attrs="tooltiptext"
+ align="center">
+ <image class="category-icon"/>
+ <label class="category-name" flex="1" data-l10n-id="pane-librewolf-title"></label>
+ </richlistitem>
+
<richlistitem id="category-sync"
class="category"
hidden="true"
@@ -201,6 +213,7 @@
#include home.inc.xhtml
#include search.inc.xhtml
#include privacy.inc.xhtml
+#include librewolf.inc.xhtml
#include containers.inc.xhtml
#include sync.inc.xhtml
#include experimental.inc.xhtml
diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
index d276f7a..938bec3 100644
--- a/browser/locales/en-US/browser/preferences/preferences.ftl
+++ b/browser/locales/en-US/browser/preferences/preferences.ftl
@@ -1347,3 +1347,83 @@ choose-download-folder-title = Choose Download Folder:
# $service-name (String) - Name of a cloud storage provider like Dropbox, Google Drive, etc...
save-files-to-cloud-storage =
.label = Save files to { $service-name }
+
+## LibreWolf preferences
+
+# Sidebar
+pane-librewolf-title = LibreWolf
+category-librewolf =
+ .tooltiptext = about:config changes, logically grouped and easily accessible
+
+# Main content
+librewolf-header = Librewolf Preferences
+librewolf-warning-title = Heads up!
+librewolf-warning-description = We carefully choose default settings to focus on privacy and security. When changing these settings, read the descriptions to understand the implications of those changes.
+
+# Page Layout
+librewolf-general-heading = Browser Behavior
+librewolf-extension-update-checkbox =
+ .label = Update add-ons automatically
+librewolf-autocopy-checkbox =
+ .label = Enable middle click paste
+librewolf-styling-checkbox =
+ .label = Allow userChrome.css customization
+
+librewolf-network-heading = Networking
+librewolf-ipv6-checkbox =
+ .label = Enable IPv6
+
+librewolf-broken-heading = Fingerprinting
+librewolf-webgl-checkbox =
+ .label = Enable WebGL
+librewolf-rfp-checkbox =
+ .label = Enable ResistFingerprinting
+librewolf-auto-decline-canvas-checkbox =
+ .label = Silently block canvas access requests
+librewolf-letterboxing-checkbox =
+ .label = Enable letterboxing
+
+librewolf-security-heading = Security
+librewolf-goog-safe-checkbox =
+ .label = Enable Google Safe Browsing
+librewolf-goog-safe-download-checkbox =
+ .label = Scan downloads
+librewolf-language-checkbox =
+ .label = Allow the installation of other language packs
+
+# In-depth descriptions
+librewolf-extension-update-description = Keep extensions up to date without manual intervention. A good choice for your security.
+librewolf-extension-update-warning1 = If you don't review the code of your extensions before every update, you should enable this option.
+
+librewolf-ipv6-description = Allow { -brand-short-name } to connect using IPv6.
+librewolf-ipv6-warning1 = Before you change this, make sure your OS uses the IPv6 privacy extension.
+
+librewolf-autocopy-description = Select some text to copy it, then paste it with a middle-mouse click.
+
+librewolf-styling-description = Enable this if you want to customize the UI with a manually loaded theme.
+librewolf-styling-warning1 = Make sure you trust the provider of the theme.
+
+librewolf-webgl-description = WebGL is a strong fingerprinting vector.
+librewolf-webgl-warning1 = If you need to enable it, consider using an extension like Canvas Blocker.
+
+librewolf-rfp-description = ResistFingerprinting is the best in class anti-fingerprinting tool.
+librewolf-rfp-warning1 = If you need to disable it, consider using an extension like Canvas Blocker.
+
+librewolf-auto-decline-canvas-description = Automatically deny canvas access to websites, without prompting the user.
+librewolf-auto-decline-canvas-warning1 = It is still possible to allow canvas access from the urlbar.
+
+librewolf-letterboxing-description = Letterboxing applies margins around your windows, in order to return a limited set of rounded resolutions.
+
+librewolf-goog-safe-description = If you are worried about malware and phishing, consider enabling it.
+librewolf-goog-safe-warning1 = Disabled over censorship concerns but recommended for less advanced users. All the checks happen locally.
+
+librewolf-goog-safe-download-description = Allow Safe Browsing to scan your downloads to identify suspicious files.
+librewolf-goog-safe-download-warning1 = All the checks happen locally.
+
+librewolf-language-description = Enable this if you want to install language packs from the settings.
+librewolf-language-warning1 = LibreWolf forces everything to en-US, so changing your language might make you stand out.
+
+# Footer
+librewolf-footer = Useful links
+librewolf-config-link = All advanced settings (about:config)
+librewolf-open-profile = Open user profile directory
diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
index cf1ebf0..336118c 100644
--- a/browser/themes/shared/jar.inc.mn
+++ b/browser/themes/shared/jar.inc.mn
@@ -105,6 +105,7 @@
skin/classic/browser/preferences/category-experiments.svg (../shared/preferences/category-experiments.svg)
skin/classic/browser/preferences/category-general.svg (../shared/preferences/category-general.svg)
skin/classic/browser/preferences/category-privacy-security.svg (../shared/preferences/category-privacy-security.svg)
+ skin/classic/browser/preferences/category-librewolf.svg (../shared/preferences/category-librewolf.svg)
skin/classic/browser/preferences/category-search.svg (../shared/preferences/category-search.svg)
skin/classic/browser/preferences/category-sync.svg (../shared/preferences/category-sync.svg)
skin/classic/browser/preferences/critters-postcard.jpg (../shared/preferences/critters-postcard.jpg)
@@ -119,6 +120,7 @@
skin/classic/browser/preferences/search-bar.svg (../shared/preferences/search-bar.svg)
skin/classic/browser/preferences/search.css (../shared/preferences/search.css)
skin/classic/browser/preferences/siteDataSettings.css (../shared/preferences/siteDataSettings.css)
+ skin/classic/browser/preferences/librewolf.css (../shared/preferences/librewolf.css)
* skin/classic/browser/preferences/containers.css (../shared/preferences/containers.css)
* skin/classic/browser/preferences/containers-dialog.css (../shared/preferences/containers-dialog.css)
skin/classic/browser/upgradeDialog/highlights-24.svg (../shared/upgradeDialog/highlights-24.svg)
diff --git a/browser/themes/shared/preferences/category-librewolf.svg b/browser/themes/shared/preferences/category-librewolf.svg
new file mode 100644
index 0000000..8ebf2eb
--- /dev/null
+++ b/browser/themes/shared/preferences/category-librewolf.svg
@@ -0,0 +1,96 @@
+<!-- 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/.
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20" fill="context-fill" fill-opacity="context-fill-opacity">
+ <path d="M15.5 9 15 9l0-4A5 5 0 0 0 5 5l0 4-.5 0A2.5 2.5 0 0 0 2 11.5l0 6A2.5 2.5 0 0 0 4.5 20l11 0a2.5 2.5 0 0 0 2.5-2.5l0-6A2.5 2.5 0 0 0 15.5 9zm-9-4c0-1.93 1.57-3.5 3.5-3.5 1.93 0 3.5 1.57 3.5 3.5l0 4-7 0 0-4zm10 12.7-.8.8-11.4 0-.8-.8 0-6.4.8-.8 11.4 0 .8.8 0 6.4z"/>
+</svg>
+-->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="67.733337mm"
+ height="67.733337mm"
+ viewBox="0 0 67.733337 67.733337"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.4 5da689c313, 2019-01-14"
+ sodipodi:docname="LibreWolf.svg">
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.9899495"
+ inkscape:cx="-15.106575"
+ inkscape:cy="110.91343"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1366"
+ inkscape:window-height="711"
+ inkscape:window-x="0"
+ inkscape:window-y="30"
+ inkscape:window-maximized="1"
+ inkscape:showpageshadow="false"
+ units="px"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0" />
+ <metadata
+ id="metadata5">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-42.106554,-153.8982)">
+ <circle
+ style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:0.53545821;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path875"
+ cx="75.973221"
+ cy="187.76486"
+ r="33.866669" />
+ <path
+ style="fill:#ffffff;stroke-width:0.13229167"
+ d="m 72.543594,214.67719 c -4.744093,-0.60875 -9.281981,-2.49991 -13.241953,-5.51858 -1.29157,-0.98455 -3.714943,-3.42363 -4.772834,-4.80375 -2.96241,-3.86476 -4.804479,-8.2508 -5.41218,-12.88661 -0.260164,-1.98464 -0.258719,-5.63349 0.0029,-7.44738 1.308078,-9.0677 7.01463,-16.8454 15.20915,-20.72918 3.811512,-1.80647 7.300266,-2.57114 11.730683,-2.57114 7.165903,0 13.5265,2.56749 18.680882,7.54063 2.483054,2.39575 4.148141,4.66808 5.573968,7.60677 1.92868,3.9751 2.70979,7.43276 2.70979,11.99526 0,6.00619 -1.7345,11.24407 -5.336957,16.11672 -1.070527,1.44797 -3.161747,3.64749 -4.549468,4.78507 -3.806562,3.12041 -8.658642,5.23183 -13.473174,5.86296 -1.663528,0.21807 -5.593318,0.24524 -7.120854,0.0492 z m 10.041381,-4.86547 c 2.898391,-0.91366 5.260364,-2.14146 7.540624,-3.91979 1.212494,-0.9456 3.308223,-3.06144 4.186916,-4.22711 2.38328,-3.16162 4.004927,-7.12196 4.482067,-10.94597 0.229814,-1.84182 0.09634,-5.73827 -0.2545,-7.4296 -0.9294,-4.48046 -2.931647,-8.26499 -6.086007,-11.50342 -1.966575,-2.01898 -3.756882,-3.34972 -6.060203,-4.50458 -3.495001,-1.75236 -6.489835,-2.46043 -10.423481,-2.46442 -4.164073,-0.004 -7.815325,0.95024 -11.429055,2.98766 -3.289753,1.85476 -6.690628,5.25952 -8.553227,8.563 -1.371786,2.43299 -2.37583,5.32029 -2.767595,7.95869 -0.256867,1.72991 -0.261933,5.16508 -0.01006,6.82145 0.504067,3.31489 1.761474,6.59111 3.584314,9.33904 0.995409,1.50058 0.964154,1.48393 1.842248,0.98153 1.570774,-0.8987 1.980396,-1.33342 2.836087,-3.00984 1.000624,-1.96036 2.070459,-3.6735 3.037094,-4.86332 1.115822,-1.37347 1.269228,-1.61793 1.828988,-2.9147 0.281654,-0.65249 0.786977,-1.61074 1.122938,-2.12943 l 0.61084,-0.94309 -0.79023,-0.77671 c -1.049647,-1.03168 -1.922751,-2.2016 -2.087012,-2.79651 -0.167761,-0.60758 0.03021,-0.9466 0.818744,-1.40207 0.797354,-0.46057 1.367585,-0.5929 3.498657,-0.81193 1.037629,-0.10665 2.164153,-0.30199 2.518962,-0.43681 0.353024,-0.13414 1.407825,-0.70824 2.344001,-1.27579 2.702947,-1.63863 2.931619,-1.72344 4.552111,-1.68831 1.368686,0.0297 1.371262,0.0291 2.182813,-0.46143 1.700674,-1.02802 4.14305,-2.88289 7.357044,-5.58733 0.61632,-0.5186 1.21002,-0.92569 1.31934,-0.90464 0.45462,0.0876 1.289567,2.13636 1.416407,3.47562 0.07693,0.81225 -0.08023,1.6155 -0.562014,2.87261 -0.13146,0.34301 -0.19208,0.67043 -0.134706,0.7276 0.13774,0.13726 0.610706,-0.4535 0.610706,-0.76279 0,-0.39435 0.261127,-0.43936 0.616327,-0.10623 0.258235,0.24218 0.480842,0.31151 1.000202,0.31151 0.567073,0 0.707447,0.0526 0.928773,0.3479 0.375574,0.50112 0.463647,1.86688 0.176201,2.73231 -0.279641,0.84191 -1.124801,1.81287 -1.891829,2.17341 -0.686334,0.32262 -2.075841,1.67928 -2.726081,2.66164 -0.248906,0.37604 -0.715586,1.15995 -1.037066,1.74204 -0.321487,0.58208 -0.86074,1.46154 -1.19834,1.95436 -0.664294,0.96972 -1.233147,2.3224 -1.782214,4.23798 -0.322553,1.1253 -0.34962,1.41826 -0.362953,3.92797 -0.01613,3.0317 -0.172894,3.77561 -0.9925,4.7091 -0.931805,1.06126 -1.861937,3.39186 -1.940127,4.8613 -0.04935,0.92751 -0.192246,1.83164 -0.395304,2.50122 -0.08942,0.29484 0.07752,0.2914 1.072102,-0.0221 z"
+ id="path847"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="star"
+ style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path814"
+ sodipodi:sides="4"
+ sodipodi:cx="18.854025"
+ sodipodi:cy="172.98837"
+ sodipodi:r1="1.6036172"
+ sodipodi:r2="1.1339285"
+ sodipodi:arg1="1.5707963"
+ sodipodi:arg2="2.3561945"
+ inkscape:flatsided="true"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 18.854025,174.59199 -1.603617,-1.60362 1.603617,-1.60361 1.603617,1.60361 z"
+ transform="matrix(0.23203125,0.40188991,-0.99392962,0.57384553,246.21921,73.888081)" />
+ </g>
+</svg>
+
diff --git a/browser/themes/shared/preferences/librewolf.css b/browser/themes/shared/preferences/librewolf.css
new file mode 100644
index 0000000..aeb550c
--- /dev/null
+++ b/browser/themes/shared/preferences/librewolf.css
@@ -0,0 +1,16 @@
+.librewolf-collapse > input {
+ display: none;
+}
+.librewolf-collapse > input ~ .librewolf-collapsed {
+ display: none;
+ /* max-height: 0; */
+ transition: max-height 0.25s ease-in-out;
+}
+.librewolf-collapse > input:checked ~ .librewolf-collapsed {
+ display: block;
+ /* max-height: 20rem; */
+}
+.librewolf-warning {
+ display: inline;
+ font-size: 0.8em;
+}
diff --git a/browser/themes/shared/preferences/preferences.inc.css b/browser/themes/shared/preferences/preferences.inc.css
index 31bffd0..1f9fbcf 100644
--- a/browser/themes/shared/preferences/preferences.inc.css
+++ b/browser/themes/shared/preferences/preferences.inc.css
@@ -201,6 +201,10 @@ checkbox {
list-style-image: url("chrome://browser/skin/preferences/category-privacy-security.svg");
}
+#category-librewolf > .category-icon {
+ list-style-image: url("chrome://browser/skin/preferences/category-librewolf.svg");
+}
+
#category-sync > .category-icon {
list-style-image: url("chrome://browser/skin/preferences/category-sync.svg");
}

File diff suppressed because it is too large Load diff

View file

@ -1,17 +0,0 @@
diff --git a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
--- a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
+++ b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
@@ -54,13 +54,10 @@
<div class="info">
<h1 id="info-title" data-l10n-id="about-private-browsing-info-title"></h1>
<p id="info-body" data-l10n-id="about-private-browsing-info-description"></p>
- <a id="private-browsing-myths" data-l10n-id="about-private-browsing-info-myths"></a>
</div>
</div>
<div class="promo">
- <p id="private-browsing-vpn-text" class="vpn-promo" data-l10n-id="about-private-browsing-need-more-privacy"></p>
- <a id="private-browsing-vpn-link" class="vpn-promo" data-l10n-id="about-private-browsing-turn-on-vpn"></a>
</div>
</body>
</html>

View file

@ -1,14 +0,0 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 2bdafc86b3..789bece8e6 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -302,6 +302,9 @@
; Technically this is an app pref file, but we are keeping it in the original
; gre location for now.
@RESPATH@/defaults/pref/channel-prefs.js
+@RESPATH@/defaults/pref/local-settings.js
+@RESPATH@/distribution/policies.json
+@RESPATH@/librewolf.cfg
; Background tasks-specific preferences. These are in the GRE
; location since they apply to all tasks at this time.

View file

@ -1,70 +0,0 @@
diff -r 2689403bd0d2 browser/extensions/moz.build
--- a/browser/extensions/moz.build Mon Jun 28 12:08:51 2021 +0000
+++ b/browser/extensions/moz.build Mon Jun 28 14:29:05 2021 +0200
@@ -5,11 +5,8 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DIRS += [
- "doh-rollout",
"formautofill",
"screenshots",
- "webcompat",
- "report-site-issue",
"pictureinpicture",
]
diff -r 2689403bd0d2 browser/locales/Makefile.in
--- a/browser/locales/Makefile.in Mon Jun 28 12:08:51 2021 +0000
+++ b/browser/locales/Makefile.in Mon Jun 28 14:29:05 2021 +0200
@@ -61,7 +61,6 @@
ifneq (,$(wildcard ../extensions/formautofill/locales))
@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
endif
- @$(MAKE) -C ../extensions/report-site-issue/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) l10n AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
@@ -82,7 +81,6 @@
@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
@$(MAKE) chrome AB_CD=$*
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
- @$(MAKE) -C ../extensions/report-site-issue/locales chrome AB_CD=$*
package-win32-installer: $(SUBMAKEFILES)
$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer
diff -r 2689403bd0d2 browser/locales/filter.py
--- a/browser/locales/filter.py Mon Jun 28 12:08:51 2021 +0000
+++ b/browser/locales/filter.py Mon Jun 28 14:29:05 2021 +0200
@@ -19,7 +19,6 @@
"devtools/startup",
"browser",
"browser/extensions/formautofill",
- "browser/extensions/report-site-issue",
"extensions/spellcheck",
"other-licenses/branding/firefox",
"browser/branding/official",
diff -r 2689403bd0d2 browser/locales/l10n.ini
--- a/browser/locales/l10n.ini Mon Jun 28 12:08:51 2021 +0000
+++ b/browser/locales/l10n.ini Mon Jun 28 14:29:05 2021 +0200
@@ -13,7 +13,6 @@
devtools/client
devtools/startup
browser/extensions/formautofill
- browser/extensions/report-site-issue
[includes]
# non-central apps might want to use %(topsrcdir)s here, or other vars
diff -r 2689403bd0d2 browser/locales/l10n.toml
--- a/browser/locales/l10n.toml Mon Jun 28 12:08:51 2021 +0000
+++ b/browser/locales/l10n.toml Mon Jun 28 14:29:05 2021 +0200
@@ -132,10 +132,6 @@
l10n = "{l}browser/extensions/formautofill/**"
[[paths]]
- reference = "browser/extensions/report-site-issue/locales/en-US/**"
- l10n = "{l}browser/extensions/report-site-issue/**"
-
-[[paths]]
reference = "services/sync/locales/en-US/**"
l10n = "{l}services/sync/**"

View file

@ -1,15 +0,0 @@
diff --git a/.mozconfig b/.mozconfig
index d71c858844e3..2d295de7df72 100755
--- a/.mozconfig
+++ b/.mozconfig
@@ -16,8 +16,8 @@ export MOZILLA_OFFICIAL=1
ac_add_options --enable-optimize
ac_add_options --enable-official-branding
-# Let's support GTK3 for ESR60
-ac_add_options --enable-default-toolkit=cairo-gtk3
+## Let's support GTK3 for ESR60
+#ac_add_options --enable-default-toolkit=cairo-gtk3
ac_add_options --disable-strip
ac_add_options --disable-install-strip

View file

@ -1,13 +0,0 @@
diff --git a/browser/components/urlbar/UrlbarProviderInterventions.jsm b/browser/components/urlbar/UrlbarProviderInterventions.jsm
index e22886ce92..d46d8191f2 100644
--- a/browser/components/urlbar/UrlbarProviderInterventions.jsm
+++ b/browser/components/urlbar/UrlbarProviderInterventions.jsm
@@ -451,7 +451,7 @@ class ProviderInterventions extends UrlbarProvider {
]),
});
for (let [id, phrases] of Object.entries(DOCUMENTS)) {
- queryScorer.addDocument({ id, phrases });
+// queryScorer.addDocument({ id, phrases });
}
return queryScorer;
});

View file

@ -1,18 +0,0 @@
diff -r 536a892dd51f browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
--- a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html Tue Jun 22 16:56:13 2021 +0000
+++ b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html Wed Jun 23 07:09:38 2021 +0200
@@ -58,6 +58,7 @@
</div>
</div>
+ <!--
<div class="promo">
<div class="promo-image-large">
<img src="" alt="" />
@@ -73,5 +74,6 @@
</div>
</div>
</div>
+ -->
</body>
</html>

@ -1 +0,0 @@
Subproject commit 3b4e0f58b4bec53faa98ec85a3bca36f11a77afc

View file

@ -1,124 +0,0 @@
#
# 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 "pkg_version" # the program version, like: 0.3.0
!define ICON_NAME "librewolf.ico" # filename of icon to use for this app
!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}"
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\${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}
#
# 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\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" "Howling to Freedom"
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationCompany" "LibreWolf"
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\DefaultIcon" "" "$INSTDIR\librewolf.exe,0"
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\shell\open\command" "" "$INSTDIR\librewolf.exe %1"
SectionEnd
# Before uninstall, ask for confirmation
function un.onInit
SetShellVarContext all
# Verify the uninstaller - last chance to back out
# (commented this out, it causes problems with Chocolatey.)
# MessageBox MB_OKCANCEL "Permanantly remove ${APPNAME}?" IDOK next
# Abort
# next:
functionEnd
# Uninstaller
section "uninstall"
# 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 +0,0 @@
0

View file

@ -1 +0,0 @@
96.0