Compare commits

...

283 commits

Author SHA1 Message Date
Dominika 8cc38aced8 * less verbose dependency install 2021-12-05 14:22:27 +01:00
Dominika 03dd51e472 * change repo ;p 2021-12-05 13:23:00 +01:00
Dominika 2a7c8af65f * temporarily removed conflicting patch, bumping to 94 2021-12-05 13:18:56 +01:00
Dominika Liberda 0be3fe7abb useragent override 2021-10-21 00:44:10 +02:00
Dominika Liberda fbd1ebe106 switch to musl build 2021-10-14 22:34:58 +02:00
Dominika Liberda ddf182b041 * more patches! 2021-10-12 16:08:55 +02:00
Dominika Liberda d4f2fc5f6f new patches 2021-10-12 12:17:07 +02:00
Dominika Liberda 367999d9a9 switching CI, adding new patches 2021-10-12 00:52:06 +02:00
Dominika Liberda a3db9047d0 try w/o webrtc? 2021-10-11 20:50:12 +02:00
Dominika Liberda b589bdd92a verbose mach 2021-10-11 16:46:01 +02:00
Dominika Liberda 1bfe6ab98e ??? 2021-10-11 16:10:03 +02:00
Dominika Liberda 894ee2dd85 i'm blind #2 2021-10-11 16:02:30 +02:00
Dominika Liberda 12fe44f097 i'm blind 2021-10-11 16:00:59 +02:00
Dominika Liberda ce9f7d7639 asdf 2021-10-11 15:51:21 +02:00
Dominika Liberda 97a8e62e94 libssp not found fix 2021-10-11 15:46:42 +02:00
Dominika Liberda 99b0e85392 musl fixes 2021-10-11 15:30:13 +02:00
Dominika Liberda d92750f28f asdf 2021-10-11 15:21:28 +02:00
Dominika Liberda 10612c8cc3 cbindgen if 2021-10-11 15:17:54 +02:00
Dominika Liberda 83a6751e80 * try building for musl 2021-10-11 15:01:43 +02:00
Dominika Liberda e7d4305a04 disable tag checkout for common repo 2021-10-11 00:47:30 +02:00
Dominika Liberda 7c105c8ecb asdf 2021-10-11 00:42:15 +02:00
Dominika Liberda b508fc9d0a asdf 2021-10-10 22:54:09 +02:00
Dominika Liberda bb26234350 asdf 2021-10-10 22:24:39 +02:00
Dominika Liberda 93b98fdacd asdf 2021-10-10 20:13:22 +02:00
Dominika Liberda acb29bc4e6 gmake u fuck 2021-10-10 17:10:45 +02:00
Dominika Liberda 144a9f1793 gmake 2021-10-10 16:51:37 +02:00
Dominika Liberda 2323842987 make 2021-10-10 16:04:49 +02:00
Dominika Liberda a6fa2867ae asdfasdfasdf 2021-10-10 15:57:55 +02:00
Dominika Liberda 52b2c8e955 mozilla fuck you 2021-10-10 15:51:06 +02:00
Dominika Liberda 5d0e25f3ca asfd 2021-10-10 15:13:27 +02:00
Dominika Liberda a4d819e2dd asfd 2021-10-10 15:07:41 +02:00
Dominika Liberda 7b1fba588c +jack 2021-10-10 14:49:33 +02:00
Dominika Liberda 8bcd7a17f2 + alsa 2021-10-10 14:37:07 +02:00
Dominika Liberda b0a21ef9df pkg-config 2021-10-10 14:06:00 +02:00
Dominika Liberda a52f076e10 ... 2021-10-10 13:58:46 +02:00
Dominika Liberda e3e49a7da2 cc fixes 2021-10-10 13:53:45 +02:00
Dominika Liberda 6df64d7560 bb -> gnu patch 2021-10-10 13:46:22 +02:00
Dominika Liberda df3ba5ff49 temporarily disable conflicting patch 2021-10-10 13:26:06 +02:00
Dominika Liberda e057b7c338 asdf 2021-10-10 13:13:58 +02:00
Dominika Liberda bd5a61ad49 asdf 2021-10-10 12:52:00 +02:00
Dominika Liberda 61ef268cd7 fixes 2021-10-10 12:46:58 +02:00
Dominika Liberda e14993de88 jebać gnu coreutils 2021-10-10 12:41:31 +02:00
Dominika Liberda cc4f1b7473 simplier ci 2021-10-10 12:32:52 +02:00
Dominika Liberda ca6bad6d04 ???? 2021-10-10 12:30:05 +02:00
Dominika Liberda d537748ea7 I love CI 2021-10-10 12:25:59 +02:00
Dominika Liberda 33a9b396e0 ??? 2021-10-10 12:21:52 +02:00
Dominika Liberda 90f0e69652 I hate yaml 2021-10-10 12:19:49 +02:00
Dominika Liberda 59d553962e + add bash lmao 2021-10-10 12:19:18 +02:00
Dominika Liberda aeac987294 + changing CI to void? 2021-10-10 12:17:38 +02:00
Dominika Liberda e90b3739b2 ... 2021-10-10 11:31:22 +02:00
Dominika Liberda a03a53c794 * i love exuo 2021-10-09 23:18:11 +02:00
Dominika Liberda f0241fda8f + added ff3.6 branding 2021-10-09 23:06:41 +02:00
Dominika Liberda 0526013cdc * changing CI 2021-10-09 18:58:50 +02:00
ohfp d56b020e95 11 != 13. not-enough-coffee-error, I guess 2021-10-08 12:01:52 +02:00
ohfp 434858650e 12 != 13 2021-10-08 11:40:22 +02:00
ohfp 17e1d6daf7 v93.0-1 2021-10-08 01:41:18 +02:00
ohfp 26d33367db
v92.0.1-1 2021-09-26 13:44:09 +02:00
ohfp ad9c9ecad4 v92.0-1 2021-09-10 11:02:10 +02:00
ohfp f34e124596 Revert "tmp output to debug ci/env/gitlab issue"
This reverts commit bb4d2b8c3b.

=> was wrong / had a typo anyway
2021-08-30 13:44:56 +02:00
ohfp bb4d2b8c3b tmp output to debug ci/env/gitlab issue 2021-08-30 13:39:34 +02:00
ohfp abb2956b6d v91.0.2-1 – drop some deprecated patches; include mozilla dirs patch 2021-08-30 11:08:15 +02:00
ohfp f6ff95a833 v91.0.1-1 2021-08-19 22:22:59 +02:00
ohfp 238b9d0c9f
re-comment a comment.. 2021-08-11 12:02:48 +02:00
ohfp 56b66d16f3
use newer rust + cargo again 2021-08-11 11:52:46 +02:00
ohfp f78a1c2a36
v91.0-1 patches (grabbed from impish; might break) 2021-08-11 11:28:48 +02:00
ohfp 5af20be933
allow setting common tag via variable 2021-07-20 19:44:58 +02:00
ohfp 5474baabed
remove signing var 2021-07-18 13:58:10 +02:00
ohfp 156fce08a1
v90.0-1 2021-07-17 16:47:21 +02:00
ohfp 25f3891908
v89.0.2-1 and get settings/common tags from env 2021-06-24 12:54:48 +02:00
ohfp 743cb8ccf3 add note for librewolf.readthedocs.io where to find current documentation 2021-06-22 12:25:46 +02:00
ohfp 29bdf33a69
Revert (partially) "v89.0.1-1"
This partially reverts commit d47b222401.

The removed patch is still very much needed.
2021-06-17 23:11:07 +02:00
ohfp 5308f573df
clang12 for x86_64 2021-06-17 17:32:07 +02:00
ohfp d47b222401
v89.0.1-1 2021-06-17 13:36:27 +02:00
AsciiWolf de25ab61ed fix appdata file
"<strong>" element is not supported
2021-06-05 15:32:28 +00:00
ohfp 55617c3433
v89.0-1 2021-06-02 20:41:13 +02:00
ohfp 5d49ace775
smaller screenshot 2021-05-18 23:11:37 +02:00
ohfp ab559ab3f7
add a screenshot for the appdata files 2021-05-18 16:16:52 +02:00
ohfp bb4152027b
allow setting cores to build on via ENV / CI 2021-05-17 10:45:04 +02:00
ohfp 4db19b3317
remove a leftover sed 2021-05-13 15:17:56 +02:00
ohfp b8677c649c
Generic patches have been moved to the common repo 2021-05-13 14:49:52 +02:00
ohfp a2061e3ef1
v88.0.1-1 prep: settings commit 2021-05-06 12:19:27 +02:00
ohfp 95feca84f5
only pass nasm option to x86_64 2021-04-21 13:10:43 +02:00
ohfp 5af02721e8
order seems to matter 2021-04-21 11:15:20 +02:00
ohfp 9e90fb3a9b
v88.0-1; switch to bionic as base to build on, xenial is EOS/EOL 2021-04-21 10:52:21 +02:00
ohfp 062a454cf3
preliminary patch updates for 88.0 2021-04-19 11:25:30 +02:00
TheEvilSkeleton 53ed43ecfe
Add developers name in metainfo 2021-04-17 16:05:23 -04:00
ohfp 48ff5108bd
add app id changes for flatpak/appimage 2021-03-25 16:21:09 +01:00
ohfp 7a39d56351
v87.0-1 2021-03-24 11:01:26 +01:00
Shreyas Minocha 41ba7a5b6d
Add a patch that removes Mozilla VPN ads
Resolves linux#202
2021-03-14 19:52:57 -05:00
ohfp 456f23853d
v86.0.1-1 settings 2021-03-14 13:32:27 +01:00
ohfp c3375c312e
where did I get the idea from that dump_syms was a crate? oO 2021-02-27 00:13:56 +01:00
ohfp 9320f90606
v86.0-1 2021-02-27 00:02:29 +01:00
ohfp 7b40f2a460
we might need dump_syms 2021-02-24 14:06:54 +01:00
ohfp e123b80f7d
update megabar.patch 2021-02-24 11:42:38 +01:00
ohfp fae3610290
prepare v86.0: remove obsolete fixes 2021-02-23 23:42:24 +01:00
ohfp 4a3ece5b45
v85.0.2-2 Changelog 2021-02-15 18:06:11 +01:00
ohfp 05b7ca3128
Revert "let's try something for the aarch64 builds"
This reverts commit 2b9bab23df.

Doesn't work. Time to drop flatpak/appimage builds for aarch64, I'd say.
Probably not worth the hassle (assuming they're barely used anyway, if
at all).
2021-02-15 13:21:36 +01:00
ohfp 2b9bab23df
let's try something for the aarch64 builds 2021-02-15 12:45:49 +01:00
ohfp f43e70c98c
remove context menu entry for pocket: taken from arch!2 2021-02-15 10:15:26 +01:00
ohfp 714bacdabe
add rust build fix patch here as well 2021-02-14 00:45:09 +01:00
ohfp 56827b45af
fix script path 2021-02-14 00:27:02 +01:00
ohfp d1a6eadd12
v85.0.2-1 2021-02-13 23:11:45 +01:00
ohfp a4141e25ef
drop flatpak specific submodule 2021-02-13 20:16:17 +01:00
ohfp 462c963c29
split different builds up again; use this repo only for patches and the tarball build 2021-02-13 20:08:49 +01:00
ohfp 14bf1d12dd v85.0.1-1 2021-02-05 17:38:47 +01:00
ohfp 4555d764c3
Squashed commit, merges !12 into master:
commit 77543c38c5946afdbbd730b351fefd1e52b67134
Author: B Stack <bgstack15@gmail.com>
Date:   Mon Feb 1 09:38:02 2021 -0500

    fix where browser.install.in lists files

commit 9a0c533c0a343c4c35cab431f67b98f3a6e94e12
Merge: 17808dd 0b09648
Author: B Stack <bgstack15@gmail.com>
Date:   Mon Feb 1 09:35:54 2021 -0500

    Merge branch 'master' of https://gitlab.com/librewolf-community/browser/linux into debian

commit 17808dd8c6b92700a4b031e5b54e1c45cbd1f591
Author: B Stack <bgstack15@gmail.com>
Date:   Fri Jan 29 08:13:08 2021 -0500

    add notes from !12

       ohfp provided improvements at [!12#note_495484399](https://gitlab.com/librewolf-community/browser/linux/-/merge_requests/12#note_495484399)

commit 9b1a0c82355c56777d2fc79d49f836093ce29889
Author: B Stack <bgstack15@gmail.com>
Date:   Sun Jan 10 11:53:09 2021 -0500

    update prep-librewolf-dpkg for 84.0.2

commit 231e125b60cae4b5a4f3f7d98a054180aa2ef157
Author: B Stack <bgstack15@gmail.com>
Date:   Mon Dec 28 19:38:33 2020 -0500

    update prep-librewolf-dpkg for 84.0-3

commit a3babbbf04ac08c06d579efc868ca8223cbd43f2
Merge: 2c9c981 ec78db8
Author: B Stack <bgstack15@gmail.com>
Date:   Mon Dec 28 19:37:58 2020 -0500

    Merge branch 'master' of https://gitlab.com/librewolf-community/browser/linux into debian

commit 2c9c981a05bce293b2e7757333b8a756aa828a37
Author: B Stack <bgstack15@gmail.com>
Date:   Mon Nov 30 14:52:28 2020 -0500

    add prep-librewolf-dpkg
2021-02-02 18:48:42 +01:00
ohfp 4f3ea8ae1b
use cleaned up version of a patch 2021-02-02 17:20:26 +01:00
ohfp 5d88f397b1
source cargo env in build-script as well 2021-02-01 16:48:30 +01:00
ohfp 6cc0c98846
source cargo env file to cargo/rustc are available 2021-02-01 16:30:15 +01:00
ohfp ba2a977285
note to self: consider taking a bash scripting refresher course. 2021-02-01 16:04:20 +01:00
ohfp 11640262a6
use a more recent rust version for the tarball builds 2021-02-01 15:46:45 +01:00
ohfp 0b0964887c
fix a badly merged patch 2021-02-01 13:56:22 +01:00
ohfp b623874e96
test building tarball with some very preliminary patches 2021-02-01 13:29:58 +01:00
ohfp dc73a4142a
fix Changelog 2021-01-31 21:50:32 +01:00
ohfp 1b2e116139
85.0-1 – preliminary release: Arch only 2021-01-31 21:30:23 +01:00
ohfp e81be4dfbb
allow building without the global menubar; remove some leftover stuff from the arch build script; adjust ids in tarball scripts as well 2021-01-31 11:51:25 +01:00
ohfp e4852c5050
85.0-1 – get Arch build ready 2021-01-27 16:23:40 +01:00
ohfp c539dbbfd2
port MR arch!1 2021-01-27 11:03:40 +01:00
ohfp 11d4b95742
fix missing sed-line for undesired requests 2021-01-27 10:57:18 +01:00
ohfp 60cbb0acf5
fix flatpak/appimage releases using old settings 2021-01-20 15:28:10 +01:00
ohfp 8daeabffff
Update Changelog 2021-01-09 11:52:02 +01:00
ohfp 3ab8dc47b0
v84.0.2-1 2021-01-08 21:38:37 +01:00
ohfp ee7493428d
Merge branch 'TheEvilSkeleton/linux-bump_runtime' 2021-01-08 20:48:01 +01:00
ohfp b8c8f7ee12
add patch to binary_tarball script as well 2021-01-08 20:44:53 +01:00
TheEvilSkeleton 3bbef3f822 Bump runtime 2021-01-07 21:25:03 -05:00
ohfp f59ae4ac93
v84.0.1-1 2021-01-07 21:43:43 +01:00
ohfp c398340adf
Merge branch 'TheEvilSkeleton/linux-master' 2021-01-07 21:42:43 +01:00
ohfp 4020a6ed0e
updated changelog; added unity-menubar.patch 2021-01-07 21:40:39 +01:00
ohfp b16649c000
Block some more undesired requests
See https://gitlab.com/librewolf-community/browser/common/-/issues/10
2021-01-04 23:18:23 +01:00
ohfp 9c0fcc0de5
Improve the Flatpak build process
.desktop file, icon and appdata are now properly exported by flatpak.

"Wayland first" flatpak, falling back to X11 if not on Wayland.
Note: this is currently potentially broken on many systems (ie. font
rendering is broken).
See https://github.com/flatpak/flatpak/issues/2861.
Might work when using Wayland + Gnome, does not seem to work on Arch +
Sway (couldn't get it working with any workaround for now).

Several smaller issues addressed.

A few untested issues might remain (Screensharing, WebRTC/Camera access)

Addresses (at least partially): #128, #132, #131, #118
2021-01-01 01:48:34 +01:00
ohfp 561ff61674
Set default XDG_DATA_DIRS in AppRun if unset
This fixes #139 by providing default values for `XDG_DATA_DIRS` when
`XDG_DATA_DIRS` is not set on the host system the AppImage is run on.
2020-12-31 13:08:29 +01:00
ohfp ec78db8bcd
update Changelog and add a note to the Readme 2020-12-25 15:47:56 +01:00
ohfp 45ca9415f5 drop rust fixed version 2020-12-20 22:25:33 +01:00
ohfp fc47e34c8b v84.0-1 2020-12-20 20:49:13 +01:00
ohfp 8d686931d9
workaround for build issue with rust 1.48.0 2020-11-23 10:01:30 +01:00
TheMainOne 0b6f9419ee Merge https://gitlab.com/librewolf-community/browser/linux into master 2020-11-22 11:51:38 -05:00
ohfp aa51ea96c7
v83.0-1 2020-11-21 13:22:34 +01:00
ohfp b9049d7ba6
v82.0.3-1 2020-11-10 11:02:35 +01:00
ohfp fcb0d9bed3
v82.0.2-1 2020-10-29 02:18:46 +01:00
ohfp 74e5882618
v81.0.2-1 2020-10-18 16:28:51 +02:00
ohfp c66b73fe3b
v81.0-2 – Changelog 2020-10-02 20:34:52 +02:00
ohfp 42d221db49
v81.0-2 2020-09-30 14:52:19 +02:00
TheMainOne 59bbaed348 Enable native Wayland support 2020-09-14 04:29:44 +00:00
ohfp d1dc5bfcff
v80.0.1-1 2020-09-06 12:21:43 +02:00
ohfp 9499616e71
changed tarball path 2020-08-27 14:52:05 +02:00
ohfp 26d8096f17
actually use the added py3.5 patch for debian 2020-08-27 11:48:26 +02:00
ohfp ecef2148df
fix pwd/obj path substition failing in script 2020-08-27 10:23:29 +02:00
ohfp b9fd2f5276
v80.0.1 2020-08-27 10:03:03 +02:00
ohfp c2b4301f0c
add pcsc socket for smartcard access with flatpak 2020-08-26 00:12:11 +02:00
ohfp de92c7d752
Merge branch 'TheMainOne/linux-master' into master 2020-08-26 00:09:41 +02:00
TheMainOne 08e8fe61af Move content to ~/.var/app/io.gitlab.LibreWolf/.{mozilla,librewolf} 2020-08-24 03:32:34 +00:00
TheMainOne d78b766d14 Restrict $HOME 2020-08-24 02:23:41 +00:00
ohfp 88cb3f43bc
v79.0-1 #5: python >= 3.5 for deb/xenial build 2020-07-31 12:11:59 +02:00
ohfp d4eb092cfd
v79.0.1 #4 2020-07-31 01:32:35 +02:00
ohfp 23811d11c0
v79.0.1 #3 – missing patch download 2020-07-31 01:03:51 +02:00
ohfp 15333fb833
v79.0-1 #2
Fix some wrong build options for aarch64; correct patch pathes
2020-07-31 00:15:15 +02:00
ohfp d73ef25178
v79.0-1
Also (re-)adds some debian armhf-patches – not really needed, but making
it easier to apply the libstdc++-related patches without having to
modify them.
2020-07-30 17:57:09 +02:00
Shreyas Minocha 702a1ce4d3 Fix version number typo 2020-07-12 11:56:23 +00:00
ohfp 77de935ab3
v78.0.2-1 2020-07-10 13:34:16 +02:00
ohfp 8e45c334f5
fix broken debian patch (whitespace issue) 2020-07-02 15:16:52 +02:00
ohfp e3c1afec18
v78.0.1-1 2020-07-02 11:51:12 +02:00
ohfp be613fc53e
update megabar patch 2020-07-01 19:48:06 +02:00
ohfp fffe391367
v78.0.1-1 2020-07-01 18:02:24 +02:00
ohfp 41f7ccd6ac
fix broken megabar-removal / urlbar 2020-06-08 23:13:03 +02:00
ohfp ac3d1cfbdb
v77.0.1-1 2020-06-06 21:39:06 +02:00
probonopd 0445831824 Make it pass desktop-file-validate 2020-05-16 10:31:10 +00:00
ohfp c4c9836a11
v76.0.1-1 2020-05-08 18:14:57 +02:00
ohfp 1b9956a495
bump pkgrel for new builds 2020-05-08 15:28:08 +02:00
ohfp 393cec9eb5
fix missing locales from removed extension breaking the build when building a profiled browser 2020-05-08 11:38:38 +02:00
ohfp f471d64277
Drop AppImage validation
The AppImage validation tools complain even when one follows their
recommendations on supplying AppStream metadata and with correctly named
files. I'm now starting to understand why most AppImages don't bother
with it.
2020-05-08 11:34:40 +02:00
ohfp e94336cb1d
v76.0-1 2020-05-07 22:05:18 +02:00
Shreyas Minocha b0f26b66d2
Mention other builds in the readme 2020-04-15 02:58:21 +05:30
ohfp 67beb4e755 slightly improved Changelog structure 2020-04-10 20:26:39 +02:00
ohfp 032d2c8a15 Use correct appstream data location for AppImage
Also installs some tools for appstream validation, which unfortunately
show that currently the appstream file used has some issues.
2020-04-10 20:23:39 +02:00
ohfp a1f1245927 Merge branch 'remove_plugin_certificates' into 'master'
Remove plugin certificates and some pre-installed extensions

Closes #59 and #112

See merge request librewolf-community/browser/linux!8
2020-04-10 18:22:10 +00:00
ohfp b044585b88 Remove mozilla plugin certificates, fixes #112
Via `sed` instead of a patch, in the hope that it might be less of a
maintenance burden compared to patch witch changes in the file to patch
with subsequent upstream releases.

Should only be merged once it's ensured there are no unforseen side
effects when built with the Plugin Certificates removed.
2020-04-10 18:22:10 +00:00
ohfp b210ebd8cf update changelog 2020-04-08 10:40:26 +02:00
ohfp aa8205bb6c try a fixed cbindgen version 2020-04-08 00:21:41 +02:00
ohfp fc51b4f6d4 include new patches for old ubuntu build to build 75.0 2020-04-07 22:42:19 +02:00
ohfp c98825e212 update deb patches 2020-04-07 19:07:59 +02:00
ohfp 370cd270bc v75.0-1 PKGBUILD 2020-04-07 17:20:10 +02:00
ohfp 622581c3ab update changelog 2020-04-04 17:05:09 +02:00
ohfp ac5653d45a forgot to add the updated pkgbuild 2020-04-04 09:47:42 +02:00
ohfp 23798fa90d v74.0.1-1; try webrtc on aarch64 without patches 2020-04-03 22:56:31 +02:00
ohfp 5bbd13e5fd small release: webrtc unlocked (but still disabled) 2020-04-01 17:10:34 +02:00
ohfp 08c94c6126 clarify webrtc usage 2020-04-01 09:40:02 +02:00
ohfp ac06ff5f28 webrtc still seems to be broken on aarch64 2020-03-31 22:13:18 +02:00
ohfp 232281d338 when having two runner tags defined with one of them being offline, jobs did not get picked up 2020-03-31 21:37:25 +02:00
ohfp efd24ea6bd update changelog 2020-03-31 21:10:41 +02:00
ohfp 948a349bd9 add a .desktop file to flatpak build 2020-03-31 21:09:30 +02:00
ohfp aa59e04acd fix appimage creating a new profile folder on each launch; sanitize desktop file; fix icon symlink 2020-03-31 21:09:12 +02:00
ohfp a960c6488a small AppStream and AppImage fixes 2020-03-31 20:30:46 +02:00
ohfp 28b4678a6f fix xml path for flatpak build 2020-03-31 17:47:24 +02:00
ohfp 06e9c38a0e xml is elsewhere at that point during flatpak build 2020-03-31 17:24:25 +02:00
ohfp aa047fed9f add dependency to get libdbus-so 2020-03-31 17:14:12 +02:00
ohfp a0e27a0f66 fix variable typo in appimage script 2020-03-31 17:05:59 +02:00
ohfp 04836e8221 fix path to xml for envsubst 2020-03-31 14:10:35 +02:00
ohfp ade8552b4a add some optional dependencies during tarball build 2020-03-31 12:35:05 +02:00
ohfp 01f4e24e40 add appstream metadata to flatpak and appimage; include libdbus-glib-1.so.2 in appimage as well, just in case 2020-03-31 12:09:05 +02:00
ohfp c75783737f fix some env vars for aarch64 builds 2020-03-31 11:19:50 +02:00
ohfp b4785c8efd generate appstream metadata 2020-03-31 10:57:25 +02:00
ohfp 41d7dd8bdb appdir-lint demands a png; fix variable in configure-source script 2020-03-31 10:08:20 +02:00
ohfp db26c01451 use clang from repos for aarch64 2020-03-31 09:53:45 +02:00
ohfp f35809ada6 keep pkgver + -rel fixed in PKGBUILD for now 2020-03-31 01:31:52 +02:00
ohfp 2e748dbcf0 do not delete cache folder for flatpak module 2020-03-31 01:28:24 +02:00
ohfp ac9fae2de4 cache flatpak module dependency build 2020-03-31 01:08:57 +02:00
ohfp 9ff609f70f use the intended module, not another one 2020-03-31 01:03:57 +02:00
ohfp 046c27552b comment some ubuntu-specific options; fix flatpak json talk-variable 2020-03-30 23:21:01 +02:00
ohfp 2f81380ef5 checkout submodules globally 2020-03-30 22:46:28 +02:00
ohfp 6bce9cc29a submodules need to be checked out, or so I have heard 2020-03-30 22:22:18 +02:00
ohfp 900015a46e now move shared-modules where the path is pointing to 2020-03-30 22:00:53 +02:00
ohfp 154607e95c export hardening variables 2020-03-30 21:57:33 +02:00
ohfp d871b3ae53 really fix shared-modules path 2020-03-30 21:50:32 +02:00
ohfp 2a2587fd1f fix shared-modules path 2020-03-30 21:29:18 +02:00
ohfp b50b503e85 extend flatpak json with permissions and dbus-glib shared module 2020-03-30 21:18:30 +02:00
ohfp 503f4a5103 use same file naming scheme everywhere 2020-03-30 17:42:11 +02:00
ohfp 228d15c64f actually fix the flatpak json; had a typo 2020-03-30 17:01:47 +02:00
ohfp ab0f7be852 build PIE librewolf via hardening-wrapper 2020-03-30 15:34:15 +02:00
ohfp ed05c3f672 try build without explicit gold; fix flatpak json 2020-03-30 14:08:39 +02:00
ohfp 2405b48f74 we should probably strip binaries, to avoid getting a 1.6G libxul.so 2020-03-30 12:16:17 +02:00
ohfp daf0d739ab update .gitlab-ci.yml file/artifact naming; also add bzip2 to flatpak script 2020-03-30 11:58:28 +02:00
ohfp baa005aade bzip2 dependency for appimage script 2020-03-30 11:40:19 +02:00
ohfp 4223941028 fix tarball / path handling in configure-tarball script 2020-03-30 10:37:02 +02:00
ohfp 6a7f15fa30 explain triggering the new pipeline 2020-03-30 09:54:06 +02:00
ohfp 69ce8eb8b7 fix leftover tarball path variable 2020-03-30 09:17:21 +02:00
ohfp 3348328df5 fix variable names for patch pathes 2020-03-30 00:55:22 +02:00
ohfp c09ed9cfc7 too many mozconfigs, again.. 2020-03-30 00:40:04 +02:00
ohfp 85f55868f6 Disable PGO for deb/ubuntu, because everything is horrible.
Also: Grab dependencies, patches and further config options from ubuntu
upstream build sources. Builds statically against a
mozilla-gcc-7/libstdc++7. Let's hope this works for Appimages and
Flatpaks as well, "everywhere".
2020-03-30 00:26:30 +02:00
ohfp ef8a143b61 re-introduce profiling 2020-03-29 16:52:39 +02:00
ohfp e5d850cfc8 try it with libstdc++6 2020-03-29 16:35:03 +02:00
ohfp c932f8870b bash/script fixes 2020-03-29 16:13:20 +02:00
ohfp e5b4cec424 mozconfig not available at build time 2020-03-29 15:54:14 +02:00
ohfp 50e1776af1 try it without profiling 2020-03-29 15:37:35 +02:00
ohfp 1784ded7dd try profiling without =cross 2020-03-29 15:19:03 +02:00
ohfp cdc70aeb16 nasm is, of course, not recent as well 2020-03-29 14:57:18 +02:00
ohfp 68d362cce7 of course, nodejs is ancient as well 2020-03-29 14:42:06 +02:00
ohfp 0aab0afa23 of course, on ubuntu we need libclang-9-dev, pulling in libclang1-9. wtf 2020-03-29 14:37:10 +02:00
ohfp 74b5e9ab48 use symlinks-path for libclang 2020-03-29 13:52:56 +02:00
ohfp 27edeaacf2 re-add clang-9 again 2020-03-29 13:43:57 +02:00
ohfp 2e194f84b8 try full path to libclang 2020-03-29 13:34:12 +02:00
ohfp 96ffa1c3ab interfere less with what mach bootstrap wants to do 2020-03-29 13:09:14 +02:00
ohfp 4303197adc libclang-path 2020-03-29 12:45:57 +02:00
ohfp 624aedc79d nope, have to install cbindgen separately it seems 2020-03-29 12:28:17 +02:00
ohfp 85573cb93c re-run bootstrap 2020-03-29 12:20:30 +02:00
ohfp 66f2440fb8 correct jack dependency: libjack-dev 2020-03-29 12:11:24 +02:00
ohfp dab887fb41 missing dependency: jackd 2020-03-29 11:46:53 +02:00
ohfp d27a4bcb38 check if mach bootstrap errors when succeeding? 2020-03-29 11:36:10 +02:00
ohfp 5e48f983f1 specify clang versions; some further script fixes/corrections 2020-03-29 11:23:57 +02:00
ohfp 8df33c61bb various (hopefully) script fixes 2020-03-29 01:27:47 +01:00
ohfp d0a7d8b4e2 how hard can it be? 2020-03-29 01:14:10 +01:00
ohfp 31b77c08ce bad c&p fixed (sudo) 2020-03-29 01:10:49 +01:00
ohfp 814cca9f4a get more output from apt update 2020-03-29 01:06:34 +01:00
ohfp c842430e31 forgot an apt update 2020-03-29 00:56:54 +01:00
ohfp 440d7d323b install clang on 16.04 2020-03-29 00:53:59 +01:00
ohfp 8e1b87d400 mozconfig path is elsewhere 2020-03-29 00:38:17 +01:00
ohfp 45614f50a6 bootstrap recreates mozconfig, it seems 2020-03-29 00:29:09 +01:00
ohfp f257806033 several small script fixes 2020-03-29 00:18:58 +01:00
ohfp 4618b2865c oh ubuntu..: xz is in xz-utils 2020-03-29 00:02:00 +01:00
ohfp ebe2615c99 missing dependency 2020-03-28 23:59:24 +01:00
ohfp 49bb75906e typos and fix pipeline variable name 2020-03-28 23:56:49 +01:00
ohfp f9f76a24c8 fix var typo in .gitlab-ci.yml 2020-03-28 23:23:11 +01:00
ohfp f31b10b89d call things $srcdir 2020-03-28 23:18:19 +01:00
ohfp b409944fad de-Archify some aspects of builds and -scripts; allow to initiate separate steps manually; first attempt to build tarball on ubuntu 16.04 2020-03-28 23:15:41 +01:00
ohfp 1402bdd5e7 update eol gnome dependencies for flatpak 2020-03-24 21:07:33 +01:00
ohfp da4f4da920 remove unused variable from PKGBUILD 2020-03-24 10:33:17 +01:00
ohfp 7b59ed08f7 update Changelog 2020-03-24 10:31:40 +01:00
ohfp 4d2d452fd1 enable SearchEngine policy for non-ESR Firefox; remove direct non-policy installation of ublock again 2020-03-24 10:22:01 +01:00
ohfp bfaa3d8694 sometimes, it's the little things.. 2020-03-23 16:34:55 +01:00
ohfp 836e36b48d skip automatic release for now; #99 2020-03-21 23:57:44 +01:00
ohfp 17dbe18913 install ublock origin with tarball, #106 2/2 2020-03-21 23:54:27 +01:00
ohfp 24661b9513 install ublock origin with PKGBUILD, #106 1/2 2020-03-21 23:49:42 +01:00
ohfp 2d61f26fb6 actually modify the script that is used during builds atm 2020-03-21 21:51:56 +01:00
ohfp ab518c7c2a Enable settings by default in Appimage and FlatPak
Crude solution, but this way everything else remains "as is",
so once we tackle the issues with the toggle-settings-script not working
in all situations and re-introduce it, we can do easier switch to that
instead.

Fix (partial only) for #105.
2020-03-15 02:19:42 +01:00
ohfp e3b2751a02 allow addon sideloading; fixes #101 2020-03-15 02:02:37 +01:00
ohfp ed559afbde enable pgo without cross for aarch64 builds, fix #104 2020-03-15 02:00:46 +01:00
ohfp c5e54158d1 mention current state of build scripts in README.md 2020-03-14 12:05:37 +01:00
ohfp a6044c9344 Implement a basic Changelog; fixes #107 2020-03-14 12:01:26 +01:00
ohfp 609c6053ba v74.0-2; new release without broken librewolf.cfg, see ac25a5ef in settings 2020-03-10 15:36:32 +01:00
ohfp aa4e3aa38b avoid potential globbing issue with gitlab-release 2020-03-10 15:07:36 +01:00
ohfp 7b9cb061a9 v74.0-1; compress flatpak-repo folders for release 2020-03-10 11:38:08 +01:00
ohfp 035e35850d bash-ify all build scripts; fixes #79 2020-03-07 19:44:22 +01:00
ohfp 60e7d08663 slight simplification of gitlab-release part 2020-03-07 13:54:26 +01:00
evs-ch 4da83b3360 allow regular arm64 runners for appimage build, so spot instances can be disabled without waiting for x86_64b to finish 2020-03-07 10:43:19 +01:00
43 changed files with 6541 additions and 1308 deletions

2
.gitignore vendored
View file

@ -1 +1,3 @@
compile_folder/
common/**
settings/**

View file

@ -1,93 +1,36 @@
stages:
- build
- paks
- deploy
.carch_aarch64: &carch_aarch64
variables:
CARCH: 'aarch64'
variables:
GIT_SUBMODULE_STRATEGY: recursive
# variables:
# pkgver: $PKGVER
# pkgrel: $PKGREL
# AARCH64: $AARCH64
# X86_64: $X86_64
.carch_x86_64: &carch_x86_64
variables:
CARCH: 'x86_64'
.main_build_config: &main_build_config
tarball_x86_64:
image: ghcr.io/void-linux/void-linux:latest-thin-bb-x86_64
stage: build
script:
- ./scripts/01_arch_build.sh
- ./scripts/02_configure_tarball.sh
- echo "repository=https://void.sakamoto.pl/current/" > /usr/share/xbps.d/00-repository-main.conf
- echo "repository=https://void.sakamoto.pl/current/nonfree" >> /usr/share/xbps.d/00-repository-main.conf
- xbps-install -Sy bash
- bash ./build_tarball.sh "${CI_PROJECT_DIR}/Foxgirl-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
artifacts:
name: "Librewolf-${CI_COMMIT_TAG}-${CARCH}"
name: "Foxgirl-${pkgver}-${pkgrel}-${CARCH}"
paths:
- "librewolf*pkg.tar*"
- "LibreWolf.${CARCH}.tar.bz2"
only:
- tags
- "Foxgirl-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
.flatpak_config: &flatpak_config
stage: paks
tarball_x86_64_musl:
image: ghcr.io/void-linux/void-linux:latest-thin-bb-x86_64-musl
stage: build
script:
- echo "repository=https://void.sakamoto.pl/current/musl" > /usr/share/xbps.d/00-repository-main.conf
- echo "repository=https://void.sakamoto.pl/current/musl/nonfree" >> /usr/share/xbps.d/00-repository-main.conf
- xbps-install -Sy bash
- bash ./build_tarball.sh "${CI_PROJECT_DIR}/Foxgirl-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
artifacts:
name: "Librewolf-${CI_COMMIT_TAG}-Flatpak-${CARCH}"
name: "Foxgirl-${pkgver}-${pkgrel}-${CARCH}_musl"
paths:
- "LibreWolf.${CARCH}.flatpak"
- "${CI_PROJECT_DIR}/librewolf-${CARCH}-flatpak-repo"
only:
- tags
script:
- ./flatpak/build_flatpak.sh "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.tar.bz2" "${CI_PROJECT_DIR}/librewolf-${CARCH}-flatpak-repo" "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.flatpak"
.appimage_config: &appimage_config
stage: paks
artifacts:
name: "Librewolf-${CI_COMMIT_TAG}-AppImage-${CARCH}"
paths:
- "LibreWolf.${CARCH}.AppImage"
only:
- tags
script:
- ./appimage/build_appimage.sh "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.tar.bz2" "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.AppImage"
build_x86_64:
image: archlinux/base
tags: [x86_64b]
<<: *carch_x86_64
<<: *main_build_config
build_aarch64:
image: registry.gitlab.com/ohfp/manjaro-arm-docker
tags: [aarch64b]
<<: *carch_aarch64
<<: *main_build_config
flatpak_x86_64:
image: ubuntu:18.04
tags: [flat_runner]
<<: *carch_x86_64
<<: *flatpak_config
flatpak_aarch64:
image: arm64v8/ubuntu:18.04
tags: [flat_runner_aarch64]
<<: *carch_aarch64
<<: *flatpak_config
appimage_x86_64:
image: ubuntu:18.04
tags: [x86_64b]
<<: *carch_x86_64
<<: *appimage_config
appimage_aarch64:
image: arm64v8/ubuntu:18.04
tags: [aarch64b]
<<: *carch_aarch64
<<: *appimage_config
Release to Gitlab:
stage: deploy
image: python:latest
script:
- pip3 install gitlab-release
- gitlab-release "LibreWolf.{x86_64,aarch64}.tar.bz2" "librewolf*.pkg.tar.*" "LibreWolf.{x86_64,aarch64}.AppImage" "librewolf-{x86_64,aarch64}-flatpak-repo" "LibreWolf.{x86_64,aarch64}.flatpak"
only:
- tags
- "Foxgirl-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"

295
CHANGELOG.md Normal file
View file

@ -0,0 +1,295 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
This project follows the official Firefox releases, but also uses
[Arch Linux Package Versioning](https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning) to mark individual releases in between versions.
## [88.0-1] - TBD
### Changed
- New upstream release 88.0-1
- Several yet-to-be documented changes from previous updates that are not yet added to the changelog (tbd)
- Switched to building on Ubuntu Bionic (18.04) from Xenial (16.04) as the latter is now EOL/EOS
- Releases can from now on be found in the specific subprojects (debian, windows, flatpak, appimage, arch, macos) for consistency; this project will only hold the tarball used for the flatpak and appimage releases
## [85.0.2-2] 2021-02-15
### Changed
- New upstream release 85.0.2
### Fixed
- Fixed about box
- Removed pocket menu entry
## [85.0.2-1] Unreleased / Skipped
## [85.0.1-1] 2021-02-05
### Changed
- New upstream release 85.0.2
## [85.0.1-1] 2021-02-05
### Changed
- New upstream release 85.0.1
- New upstream release of included uBlock Origin (1.33.2)
## [85.0-1] 2021-01-31
### Changed
- New upstream release 85.0
- Global menubar patch removed from default releases. Separate releases will be made available.
- `dom.event.contextmenu.enabled` is now an unlocked preference
### Fixed
- Non-Arch releases should now also have some additional startup requests removed
## [84.0.2-2] - 2021-01-20
### Fixed
- AppImage and Flatpak releases were not using the most recent settings.
## [84.0.2-1] - 2021-01-08
### Changed
- New upstream release 84.0.1
- Flatpak runtime version updated (thanks @TheEvilSkeleton)
### Fixed
- Use patch for global menubar added to AppImage and Flatpak build script as well
## [84.0.1-1] - 2021-01-07
### Fixed
- Flatpak now properly provides a .desktop-file (and some other small improvements)
- Fixed AppImage crashes when `XDG_DATA_DIRS` is unset (fixes #139)
### Changed
- New upstream release 84.0.1
- New upstream release of included uBlock Origin (1.32.4)
- More options kept unlocked to remain easier to modify
- "Wayland first" Flatpak with (hopefully) clean X11-fallback
### Added
- Included Debian patch for global menubar
- HTTPS only mode enabled by default
## [84.0-1] - 2020-12-25
### Changed
- New upstream release 84.0
## [83.0-1] - 2020-11-21
### Changed
- New upstream release 83.0
- New upstream release of included uBlock Origin (1.31.0)
## [82.0.3-1] - 2020-11-10
### Changed
- New upstream release 82.0.3
## [82.0.2-1] - 2020-10-29
### Changed
- New upstream release 82.0.2
- New upstream release of included uBlock Origin (1.30.6)
## [81.0.2-1] - 2020-10-18
### Changed
- New upstream release 81.0.2
- New upstream release of included uBlock Origin (1.30.4)
## [81.0-2] - 2020-10-02
### Changed
- New upstream release 81.0
- New upstream release of included uBlock Origin (1.30.0)
## [80.0.1-1] - 2020-09-06
### Changed
- New upstream release 80.0.1
## [80.0-1] - 2020-08-27
### Changed
- New upstream release 80.0
- New upstream release of included uBlock Origin (1.29.2)
### Fixed
- Fixed too broad Flatpak access permissions / sandboxing (#122 and #123), thanks to @TheMainOne!
- Unlocked an important setting required to easily enable WebRTC (macOS/#8)
- Closing the last tab now closes the browser again (#121)
## [79.0-1] - 2020-07-30
### Changed
- New upstream release 79.0
## [78.0.2-1] - 2020-07-10
### Changed
- New upstream release 78.0.2
- New upstream release of included uBlock Origin (1.28.0)
## [78.0.1-1] - 2020-07-02
### Changed
- New upstream release 78.0.1
## [78.0-1] - Unreleased/Skipped
### Changed
- New upstream release 78.0
- Various changes to approach fixing settings#21
## [77.0.1-2] - 2020-06-08
### Fixed
- Fix somewhat broken urlbar (switch to proper megabar-removal code)
- Use correctly updated uBlock origin URL
## [77.0.1-1] - 2020-06-06
### Changed
- New upstream release 77.0.1
### Fixed
- Disable "Megabar" functionality (#23)
## [76.0.1-1] - 2020-05-08
### Changed
- New upstream release 76.0.1
## [76.0-2] - Unreleased/Skipped
### Fixed
- Typos in `librewolf.cfg` that prevented it from being cleanly loaded.
## [76.0-1] - Unreleased/Skipped
### Added
- Remove Internal Plugin Certificates from Mozilla
### Changed
- New upstream release 76.0
- DoH disabled by default
### Fixed
- Some default addons from Mozilla are now removed (#59)
- Improvements to search engines and DDG Lite added (settings#18)
- Don't disable the Intersection Observer API (settings#20)
- Configure manual update URL (settings#1)
- Set fallback UA to resistFingerprinting's default (settings#10)
- Temporarily fix Firefox's address bar (settings#23)
- Update to ghacks-user.js 69 (settings#21)
- Fix Qwant's name (settings#25)
## [75.0-1] - 2020-04-08
### Changed
- New upstream release 75.0
## [74.0.1-1] - 2020-04-04
### Changed
- New upstream release 74.0.1
## [74.0-5] - 2020-04-01
### Changed
- WebRTC related settings unlocked (but still disabled) in `librewolf.cfg`
## [74.0-4] - 2020-03-31
### Added
- AppImage and Flatpak improvements (metadata, conventions etc.)
- (Mostly) working Flatpak release
- **Untested**: AppImage and Flatpak releases for `aarch64` are now also built on Ubuntu 16.04
### Known Issues
- AppImage and Flatpak releases cannot be built as PGO/profiled builds at the moment
- AppStream metadata is not completely valid (missing screenshots)
- Build scripts are not tested outside of a dockerized environment
## [74.0-3] - 2020-03-31
### Added
- WebRTC enabled for `aarch64` builds (`librewolf.cfg` still blocks it by default, intentionally)
### Fixed
- Installation of uBlock
- Removal and addition of search engines via `policies.json`
- Building the intermediary tarball on Ubuntu 16.04 (Xenial) to ensure AppImage and Flatpak compatibility
### Known Issues
- Appimage and Flatpak settings loading still needs to be tested
- Appimage and Flatpak still don't work on older distributions
- LibreWolf built on Ubuntu 16.04 cannot be a profiled/PGO build at the time.
## [74.0-2] - 2020-03-10
### Fixed
- Wrong commenting format in `librewolf.cfg` breaking LibreWolf settings
### Known Issues
- Appimage and FlatPak releases must be considered broken
## [74.0-1] - 2020-03-10
### Added
- Initial release following stable upstream Firefox releases
- [WIP] Appimage and FlatPak Releases

276
PKGBUILD
View file

@ -1,276 +0,0 @@
# Maintainer: lsf
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Jakub Schmidtke <sjakub@gmail.com>
pkgname=librewolf
_pkgname=LibreWolf
pkgver=73.0.1
pkgrel=1
pkgdesc="Community-maintained fork of Librefox: a privacy and security-focused browser"
arch=(x86_64 aarch64)
license=(MPL GPL LGPL)
url="https://LibreWolf.gitlab.io"
depends=(gtk3 libxt startup-notification mime-types dbus-glib ffmpeg nss
ttf-font libpulse)
makedepends=(unzip zip diffutils python2-setuptools yasm mesa imake inetutils
xorg-server-xvfb autoconf2.13 rust clang llvm jack gtk2
python nodejs python2-psutil cbindgen nasm git binutils)
optdepends=('networkmanager: Location detection via available WiFi networks'
'libnotify: Notification integration'
'pulseaudio: Audio support'
'speech-dispatcher: Text-to-Speech'
'hunspell-en_US: Spell checking, American English')
options=(!emptydirs !makeflags !strip)
# install='librewolf.install'
source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
$pkgname.desktop
$pkgname.cfg.patch
"git+https://gitlab.com/${pkgname}-community/browser/common.git"
"git+https://gitlab.com/${pkgname}-community/settings.git")
sha256sums=('53415180e74da60fc91700ce1ff33bf5b6f51e65353017a98270899a08e0c3d2'
'0471d32366c6f415f7608b438ddeb10e2f998498c389217cdd6cc52e8249996b'
'e03332f0e865949df5af9c231a364e9e1068fca0439621b98c2d4160d93e674f'
'SKIP'
'SKIP')
if [[ $CARCH == 'aarch64' ]]; then
source+=(arm.patch
https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch)
sha256sums+=('6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7'
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
fi
prepare() {
_POCKET_SED_STRING="s/'pocket'/#'pocket'/g"
# this one only to remove an annoying error message:
_POCKET_SED_STRING_2='s#SaveToPocket.init();#// SaveToPocket.init();#g'
_POCKET_FILE=./browser/components/moz.build
_POCKET_FILE_2=./browser/components/BrowserGlue.jsm
mkdir mozbuild
cd firefox-$pkgver
# NOTE:
# unlock some prefs I deem worthy of keeping unlocked or slightly less restricted
# (with librewolf installed systemwide, you'd otherwise always have to sudo around in /usr/lib)
# it mainly keeps addon update / install settings / urls unlocked
# as well as form fill settings
# uncomment it if you are OK with a slight potential decrease in privacy,
# or even better: check what I'm doing there.
# cd ${srcdir}/settings
# patch -Np1 -i ${srcdir}/${pkgname}.cfg.patch
# rm -f librewolf.cfg.orig
# cd ${srcdir}/firefox-$pkgver
cat >../mozconfig <<END
ac_add_options --enable-application=browser
# This supposedly speeds up compilation (We test through dogfooding anyway)
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --prefix=/usr
ac_add_options --enable-release
ac_add_options --enable-hardening
ac_add_options --enable-rust-simd
export CC='clang'
export CXX='clang++'
export AR=llvm-ar
export NM=llvm-nm
export RANLIB=llvm-ranlib
# Branding
ac_add_options --enable-update-channel=release
ac_add_options --with-app-name=${pkgname}
ac_add_options --with-app-basename=${_pkgname}
ac_add_options --with-branding=browser/branding/${pkgname}
ac_add_options --with-distribution-id=io.gitlab.${pkgname}
ac_add_options --with-unsigned-addon-scopes=app,system
export MOZ_REQUIRE_SIGNING=0
# System libraries
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
# Features
ac_add_options --enable-alsa
ac_add_options --enable-jack
ac_add_options --enable-startup-notification
ac_add_options --disable-crashreporter
ac_add_options --disable-gconf
ac_add_options --disable-updater
ac_add_options --disable-tests
# 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
# options for ci / weaker build systems
# mk_add_options MOZ_MAKE_FLAGS="-j4"
# ac_add_options --enable-linker=gold
END
if [[ $CARCH == 'aarch64' ]]; then
cat >>../mozconfig <<END
# taken from manjaro build:
ac_add_options --enable-lto
ac_add_options --enable-optimize="-g0 -O2"
export MOZ_DEBUG_FLAGS=" "
export CFLAGS+=" -g0"
export CXXFLAGS+=" -g0"
export RUSTFLAGS="-Cdebuginfo=0"
# from ALARM
ac_add_options --disable-webrtc
END
# ac_add_options --enable-optimize <- ?
LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
patch -p1 -i ../arm.patch
patch -p1 -i ../build-arm-libopus.patch
fi
rm -f ${srcdir}/common/source_files/mozconfig
cp -r ${srcdir}/common/source_files/* ./
# Disabling Pocket
sed -i ${_POCKET_SED_STRING} $_POCKET_FILE
# sed -i ${_POCKET_SED_STRING_2} $_POCKET_FILE_2
}
build() {
cd firefox-$pkgver
export MOZ_SOURCE_REPO="$_repo"
export MOZ_NOSPAM=1
export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
# LTO needs more open files
ulimit -n 4096
if [[ $CARCH != 'aarch64' ]]; then
# -fno-plt with cross-LTO causes obscure LLVM errors
# LLVM ERROR: Function Import: link error
CFLAGS="${CFLAGS/-fno-plt/}"
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
# Do 3-tier PGO
echo "Building instrumented browser..."
cat >.mozconfig ../mozconfig - <<END
ac_add_options --enable-profile-generate=cross
END
./mach build
echo "Profiling instrumented browser..."
./mach package
LLVM_PROFDATA=llvm-profdata \
JARLOG_FILE="$PWD/jarlog" \
xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
./mach python build/pgo/profileserver.py
if [[ ! -s merged.profdata ]]; then
echo "No profile data produced."
return 1
fi
if [[ ! -s jarlog ]]; then
echo "No jar log produced."
return 1
fi
echo "Removing instrumented browser..."
./mach clobber
echo "Building optimized browser..."
cat >.mozconfig ../mozconfig - <<END
ac_add_options --enable-lto=cross
ac_add_options --enable-profile-use=cross
ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
# seems to break on arm
ac_add_options --enable-linker=gold
END
else
cat >.mozconfig ../mozconfig
fi
./mach build
echo "Building symbol archive..."
./mach buildsymbols
}
package() {
cd firefox-$pkgver
DESTDIR="$pkgdir" ./mach install
# also create regular tarball for non-distro-specific packaging
./mach package
local vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
install -Dvm644 /dev/stdin "$vendorjs" <<END
// Use LANG environment variable to choose locale
pref("intl.locale.requested", "");
// Use system-provided dictionaries
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
// Disable default browser checking.
pref("browser.shell.checkDefaultBrowser", false);
// Don't disable extensions in the application directory
pref("extensions.autoDisableScopes", 11);
END
cp -r ${srcdir}/settings/* ${pkgdir}/usr/lib/${pkgname}/
local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
install -Dvm644 /dev/stdin "$distini" <<END
[Global]
id=io.gitlab.${pkgname}
version=1.0
about=LibreWolf Arch Linux
[Preferences]
app.distributor=archlinux
app.distributor.channel=$pkgname
app.partner.archlinux=archlinux
END
for i in 16 32 48 64 128; do
install -Dvm644 browser/branding/${pkgname}/default$i.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
done
install -Dvm644 browser/branding/librewolf/content/about-logo.png \
"$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png"
# arch upstream provides a separate svg for this. we don't have that, so let's re-use 16.png
install -Dvm644 browser/branding/${pkgname}/default16.png \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.png"
install -Dvm644 ../$pkgname.desktop \
"$pkgdir/usr/share/applications/$pkgname.desktop"
# Install a wrapper to avoid confusion about binary path
install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
#!/bin/sh
exec /usr/lib/$pkgname/librewolf "\$@"
END
# Replace duplicate binary with wrapper
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -srfv "$pkgdir/usr/bin/$pkgname" "$pkgdir/usr/lib/$pkgname/librewolf-bin"
# Use system certificates
local nssckbi="$pkgdir/usr/lib/$pkgname/libnssckbi.so"
if [[ -e $nssckbi ]]; then
ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
fi
}

View file

@ -1,14 +1,14 @@
This Repository contains all the required material to build the browser on Linux platforms.
### Important
### Requirements
* Ubuntu or Linux Mint (Bionic or later)
The build scripts are currently meant to be run in a CI environment with Docker containers
and gitlab-runners. Updated instructions for local builds or setting up your own
appropriate runners will be provided again in the future.
### Notes
* As this script installs files during the build, it is recommended to run this script in a VM or installation dedicated to building.
* You will occassionally need to enter your sudo password. Running this script as root has not been tested
* This script has been tested with Linux Mint 19.1
* The flatpak build is not ready yet.
### Instructions
* Run build.sh inside this folder.
* Packages will be saved in the repository root folder.
## Other builds
* [Gentoo](https://gitlab.com/librewolf-community/browser/gentoo)
* [macOS](https://gitlab.com/librewolf-community/browser/macos)
* [Debian](https://gitlab.com/librewolf-community/browser/debian)
* [Windows](https://gitlab.com/librewolf-community/browser/windows)
* [Flatpak](https://gitlab.com/librewolf-community/browser/flatpak)
* [AppImage](https://gitlab.com/librewolf-community/browser/appimage)

View file

@ -1,59 +0,0 @@
#!/bin/bash
"""
"""
printf "\n\n------------------------------------ APPIMAGE BUILD -----------------------------------------\n";
# Aborts the script upon any faliure
set -e;
# Sets up script variables
BINARY_TARBALL=$1
APPIMAGE_FILE=$2
_SCRIPT_FOLDER=$(realpath $(dirname $0));
_BINARY_TARBALL_EXTRACTED_FOLDER=$_SCRIPT_FOLDER/librewolf;
_BUILD_APPIMAGE_FILE=$_SCRIPT_FOLDER/LibreWolf.AppImage;
_APPIMAGETOOL_DOWNLOAD_URL=https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-${CARCH}.AppImage;
_APPIMAGETOOL_EXTRACTED_FOLDER=$_SCRIPT_FOLDER/squashfs-root;
_APPIMAGETOOL_FILE=$_SCRIPT_FOLDER/appimagetool;
_APPIMAGE_CONTENT_FOLDER=$_SCRIPT_FOLDER/content
# Installs needed dependencies
apt-get update && apt-get -y install file;
if [[ $CARCH == 'aarch64' ]]; then
apt install -y zlib1g-dev
fi
# Extracts the binary tarball
printf "\nExtracting librewolf binary tarball\n";
mkdir $_BINARY_TARBALL_EXTRACTED_FOLDER;
tar -xvf $BINARY_TARBALL -C $_BINARY_TARBALL_EXTRACTED_FOLDER;
# Copy appimage resources to main tarball
printf "Copying AppImage resources to binary tarball folder\n";
cp -vrT $_APPIMAGE_CONTENT_FOLDER $_BINARY_TARBALL_EXTRACTED_FOLDER;
# Downloads appimage tool
printf "\nDownloading AppImage Tool\n";
apt -qq update && apt -qqy install wget;
wget $_APPIMAGETOOL_DOWNLOAD_URL -O $_APPIMAGETOOL_FILE;
chmod +x $_APPIMAGETOOL_FILE;
# Generate AppImage
printf "\nGenerating AppImage\n";
ARCH=${CARCH} $_APPIMAGETOOL_FILE --appimage-extract-and-run\
$_BINARY_TARBALL_EXTRACTED_FOLDER $_BUILD_APPIMAGE_FILE;
chmod +x $_BUILD_APPIMAGE_FILE;
# Move AppImage to specified location
printf "\nMoving AppImage to specified location\n";
mv $_BUILD_APPIMAGE_FILE $APPIMAGE_FILE;
# Cleanup files
printf "\nCleaning up AppImage files\n";
rm -rf $_BINARY_TARBALL_EXTRACTED_FOLDER;
rm -f $_APPIMAGETOOL_FILE;
rm -rf $_APPIMAGETOOL_EXTRACTED_FOLDER;

View file

@ -1 +0,0 @@
librewolf.svg

View file

@ -1,12 +0,0 @@
#!/bin/sh
SELF=$(readlink -f "$0")
HERE=${SELF%/*}
export PATH="${HERE}:${HERE}/usr/bin/:${HERE}/usr/sbin/:${HERE}/usr/games/:${HERE}/bin/:${HERE}/sbin/${PATH:+:$PATH}"
export LD_LIBRARY_PATH="${HERE}/usr/lib/:${HERE}/usr/lib/i386-linux-gnu/:${HERE}/usr/lib/x86_64-linux-gnu/:${HERE}/usr/lib32/:${HERE}/usr/lib64/:${HERE}/lib/:${HERE}/lib/i386-linux-gnu/:${HERE}/lib/x86_64-linux-gnu/:${HERE}/lib32/:${HERE}/lib64/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export PYTHONPATH="${HERE}/usr/share/pyshared/${PYTHONPATH:+:$PYTHONPATH}"
export XDG_DATA_DIRS="${HERE}/usr/share/${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}"
export PERLLIB="${HERE}/usr/share/perl5/:${HERE}/usr/lib/perl5/${PERLLIB:+:$PERLLIB}"
export GSETTINGS_SCHEMA_DIR="${HERE}/usr/share/glib-2.0/schemas/${GSETTINGS_SCHEMA_DIR:+:$GSETTINGS_SCHEMA_DIR}"
export QT_PLUGIN_PATH="${HERE}/usr/lib/qt4/plugins/:${HERE}/usr/lib/i386-linux-gnu/qt4/plugins/:${HERE}/usr/lib/x86_64-linux-gnu/qt4/plugins/:${HERE}/usr/lib32/qt4/plugins/:${HERE}/usr/lib64/qt4/plugins/:${HERE}/usr/lib/qt5/plugins/:${HERE}/usr/lib/i386-linux-gnu/qt5/plugins/:${HERE}/usr/lib/x86_64-linux-gnu/qt5/plugins/:${HERE}/usr/lib32/qt5/plugins/:${HERE}/usr/lib64/qt5/plugins/${QT_PLUGIN_PATH:+:$QT_PLUGIN_PATH}"
EXEC=$(grep -e '^Exec=.*' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2 | cut -d " " -f 1)
exec "${EXEC}" "$@"

View file

@ -1,6 +0,0 @@
[Desktop Entry]
Name=LibreWolf
Exec=librewolf
Icon=librewolf
Type=Application
Categories=Network;

View file

@ -1,90 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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>

Before

Width:  |  Height:  |  Size: 5.8 KiB

View file

@ -1,10 +0,0 @@
#!/bin/sh
printf "\n\n-------------------------------------- DEPENDENCY INSTALLATION ---------------------------------------------\n";
# Setup Script Variables
_DEPENDENCIES="mercurial wget git flatpak flatpak-builder";
# Installs Dependencies
printf "\nInstalling dependencies: $_DEPENDENCIES\n";
DEBIAN_FRONTEND=noninteractive apt-get -qq update;
DEBIAN_FRONTEND=noninteractive apt-get -y -qq install $_DEPENDENCIES;

View file

@ -1,19 +0,0 @@
#!/bin/sh
printf "\n\n------------------------------ FINAL PREBUILD CONFIGURATION ---------------------------------\n";
# Setup Script Variables
SOURCE_CODE_FOLDER=$1;
_COMMON_REPO='https://gitlab.com/librewolf-community/browser/common.git';
_POCKET_SED_STRING="s/'pocket'/#'pocket'/g";
_POCKET_FILE=$SOURCE_CODE_FOLDER/browser/components/moz.build;
# Copy Source Code Changes to Source Code
printf "\nCopying branding and source code changes to firefox source code\n";
git clone $_COMMON_REPO common;
cp -r common/source_files/* $SOURCE_CODE_FOLDER/;
rm -rf common;
# Disables Pocket
printf "\nDisabling Pocket\n";
sed -i $_POCKET_SED_STRING $_POCKET_FILE;

View file

@ -1,34 +0,0 @@
#!/bin/sh
printf "\n\n--------------------------------------- BUILD -----------------------------------------------\n";
# Setup Script Variables
SOURCE_FOLDER=$1;
OUTPUT_TARBALL=$2;
_SOURCE_CODE_BINARY_TARBALL_LOCATION="./obj*/dist/librewolf*.tar.bz2";
# Prevents build from breaking in CI/CD environments
export SHELL=/bin/bash;
# Changes current folder to the source code folder
cd $SOURCE_FOLDER;
# Runs bootstrapper to install dependencies
printf "\nRunning bootstrapper to install build dependencies (using ./mach script within source code)\n";
./mach bootstrap --application-choice=browser --no-interactive;
# Executes the actual build
printf "\nBuilding LibreWolf\n";
./mach build;
# Packages the build into a binary tarball
printf "\nPackaging LibreWolf\n";
./mach package;
# Moves the packaged tarball to the specified location
printf "\nMoving Binary Tarball to output location\n";
mv $_SOURCE_CODE_BINARY_TARBALL_LOCATION $OUTPUT_TARBALL;
# Deletes the source code
printf "\nDeleting source code\n";
rm -rf $SOURCE_FOLDER;

View file

@ -1,27 +0,0 @@
#!/bin/sh
printf "\n\n--------------------------------- SETTINGS INTEGRATION --------------------------------------\n";
# Setup Script Variables
BINARY_TARBALL=$1;
TOGGLE_SETTINGS_SCRIPT=$2;
LAUNCHER_SCRIPT=$3;
_SCRIPT_FOLDER=$(realpath $(dirname $0));
_EXTRACTED_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf;
_SETTINGS_REPO='https://gitlab.com/librewolf-community/settings.git';
# Extracts the binary tarball
printf "\nExtracting librewolf binary tarball\n";
tar -xf $BINARY_TARBALL -C $_EXTRACTED_TARBALL_FOLDER/..;
# Adds the librefox config files to the packaged tarball
printf "\nCopying librewolf settings to extracted binary tarball\n";
git clone $_SETTINGS_REPO $_EXTRACTED_TARBALL_FOLDER/settings;
cp $TOGGLE_SETTINGS_SCRIPT $_EXTRACTED_TARBALL_FOLDER/settings;
cp $LAUNCHER_SCRIPT $_EXTRACTED_TARBALL_FOLDER/launch_librewolf.sh;
# Repacks the binary tarball
printf "\nRecompressing binary tarball\n";
tar -jvcf $BINARY_TARBALL -C $_EXTRACTED_TARBALL_FOLDER .;

View file

@ -1,16 +0,0 @@
#!/bin/sh
printf "\n------------------------------------- SCRIPT SETUP ------------------------------------------\n";
# Aborts the script upon any faliure
set -e;
# Sets up script variables
SCRIPT_FOLDER=$(realpath $(dirname $0));
BINARY_TARBALL=$SCRIPT_FOLDER/LibreWolf.tar.bz2;
APPIMAGE_FILE=$SCRIPT_FOLDER/LibreWolf.AppImage;
FLATPAK_REPO=$SCRIPT_FOLDER/librewolf-flatpak-repo;
FLATPAK_BUNDLE=$SCRIPT_FOLDER/LibreWolf.flatpak;
$SCRIPT_FOLDER/binary_tarball/build_tarball.sh $BINARY_TARBALL;
$SCRIPT_FOLDER/appimage/build_appimage.sh $BINARY_TARBALL $APPIMAGE_FILE;
$SCRIPT_FOLDER/flatpak/build_flatpak.sh $BINARY_TARBALL $FLATPAK_REPO $FLATPAK_BUNDLE;

View file

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
printf "\n------------------------------------- BINARY TARBALL BUILD ------------------------------------------\n";
# Aborts the script upon any faliure

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>io.gitlab.librewolf-community</id>
<launchable type="desktop-id">io.gitlab.librewolf-community.desktop</launchable>
<name>LibreWolf</name>
<developer_name>LibreWolf Community</developer_name>
<summary>LibreWolf Web Browser</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MPL-2.0</project_license>
<screenshots>
<screenshot type="default">
<image type="source" width="1512" height="900">https://librewolf-community.gitlab.io/images/screenshot.png</image>
</screenshot>
</screenshots>
<description>
<p>LibreWolf</p>
<p>This project is an independent fork of Firefox, with the primary goals of privacy security and user freedom. It is the community run successor to LibreFox.</p>
<p>LibreWolf uses more than 500 privacy/security/performance settings, patches, LibreWolf-Addons (optional) and is designed to minimize data collection and telemetry as much as possible (updater, crashreporter and Firefoxs integrated addons that dont respect privacy are removed).</p>
<p>LibreWolf is NOT associated with Mozilla or its products.</p>
<p>Features:</p>
<ul>
<li>Latest Version of Firefox: LibreWolf is compiled directly from the latest build of Firefox Stable. You will have the the latest features, and security updates.</li>
<li>Completely Independent Build: LibreWolf uses a completely independent build from Firefox and has its own settings, profile folder and installation path. As a result, it can be installed alongside Firefox or any other browser.</li>
<li>Settings protection: important settings are enforced/locked within librewolf.cfg and policies.json, those settings cannot be changed by addons/updates/LibreWolf itself or unwanted/accidental manipulation; To change those settings you can easily do it by editing librewolf.cfg and policies.json.</li>
<li>LibreWolf-addons: set of optional LibreWolf extensions</li>
<li>Statistics disabled: telemetry and similar functions are disabled</li>
<li>Tested settings: settings are performance aware</li>
<li>Recommended and code reviewed addons list</li>
<li>Community-Driven</li>
<li>And much more…</li>
</ul>
</description>
<releases>
<release version="$pkgver-$pkgrel" date="$DATE"/>
</releases>
<keywords>
<keyword>librewolf</keyword>
<keyword>internet</keyword>
<keyword>web</keyword>
</keywords>
<url type="homepage">https://librewolf-community.gitlab.io/</url>
<url type="bugtracker">https://gitlab.com/groups/librewolf-community/-/issues/</url>
<provides>
<id>io.gitlab.librewolf-community</id>
</provides>
<content_rating type="oars-1.1" />
</component>

View file

@ -26,7 +26,4 @@ export SNAP_NAME="firefox";
# Launches librewolf
chmod +x $INSTALL_FOLDER/librewolf;
$INSTALL_FOLDER/librewolf "$@";
$INSTALL_FOLDER/librewolf "$@";

View file

@ -4,7 +4,8 @@
# - any command fails (-e | --errexit)
# - any variable is unset (-u | --nounset)
# - a part of a piped sequence fails (-o pipefail)
set -euo pipefail
#set -euo pipefail
set -e
SCRIPT_FOLDER=$(realpath $(dirname $0));

View file

@ -0,0 +1,22 @@
Description: starting with firefox 66, armhf builds on Launchpad frequently
fail with "/usr/bin/ld: final link failed: memory exhausted" when linking
libxul.so. This is an attempt to reduce the memory used by ld.
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -2287,10 +2287,12 @@
set_config("LINKER_KIND", select_linker.KIND)
-@depends_if(select_linker, target, target_sysroot, target_multiarch_dir, c_compiler)
+@depends_if(select_linker, target, target_sysroot, target_multiarch_dir, c_compiler, host)
@imports("os")
-def linker_ldflags(linker, target, sysroot, multiarch_dir, c_compiler):
+def linker_ldflags(linker, target, sysroot, multiarch_dir, c_compiler, host):
flags = list((linker and linker.LINKER_FLAG) or [])
+ if host.cpu == "arm":
+ flags.append("-Wl,--no-keep-memory")
# rpath-link is irrelevant to wasm, see for more info https://github.com/emscripten-core/emscripten/issues/11076.
if sysroot.path and multiarch_dir and target.os != "WASI":
for d in ("lib", "usr/lib"):

View file

@ -0,0 +1,65 @@
--- a/third_party/libwebrtc/webrtc/system_wrappers/cpu_features_linux_gn/moz.build
+++ b/third_party/libwebrtc/webrtc/system_wrappers/cpu_features_linux_gn/moz.build
@@ -31,10 +31,6 @@ LOCAL_INCLUDES += [
"/tools/profiler/public"
]
-UNIFIED_SOURCES += [
- "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
-]
-
if not CONFIG["MOZ_DEBUG"]:
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "0"
@@ -53,20 +49,36 @@ if CONFIG["CPU_ARCH"] == "aarch64":
DEFINES["WEBRTC_ARCH_ARM64"] = True
DEFINES["WEBRTC_HAS_NEON"] = True
-if CONFIG["CPU_ARCH"] == "arm":
-
- CFLAGS += [
- "-mfpu=neon"
+ UNIFIED_SOURCES += [
+ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
]
+if CONFIG["CPU_ARCH"] == "arm":
+
DEFINES["WEBRTC_ARCH_ARM"] = True
DEFINES["WEBRTC_ARCH_ARM_V7"] = True
DEFINES["WEBRTC_HAS_NEON"] = True
+if CONFIG["CPU_ARCH"] == "ppc64":
+
+ UNIFIED_SOURCES += [
+ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
+ ]
+
if CONFIG["CPU_ARCH"] == "x86":
CFLAGS += [
"-msse2"
]
+ UNIFIED_SOURCES += [
+ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
+ ]
+
+if CONFIG["CPU_ARCH"] == "x86_64":
+
+ UNIFIED_SOURCES += [
+ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
+ ]
+
Library("cpu_features_linux_gn")
--- a/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn
+++ b/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn
@@ -187,7 +187,7 @@ if (is_android && !build_with_mozilla) {
}
}
-if (is_linux) {
+if (is_linux && target_cpu != "arm") {
rtc_static_library("cpu_features_linux") {
sources = [
"source/cpu_features_linux.c",

View file

@ -0,0 +1,21 @@
Description: reduce the rust debuginfo level
because compiling with debuginfo=2 causes the OOM killer to interrupt the build
on launchpad builders. Initially this was only on 32 bit architectures, but
with firefox 63 it started happening frequently on arm64 and ppc64el too,
with newer versions it started happening very frequently on s390x too, and with
firefox 84 (built with rustc 1.47) it started happening on amd64 too.
This patch would initially decrease debug_info for selected architectures, but
with recent versions of rustc pretty much all supported architectures are
affected, so it is now unconditional.
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -2167,7 +2167,7 @@ def rust_compile_flags(opt_level, debug_
debug_assertions = False
if debug_symbols:
- debug_info = "2"
+ debug_info = "1"
opts = []

View file

@ -0,0 +1,13 @@
diff -r 08cd64cdbc3b config/external/icu/data/convert_icudata.py
--- a/config/external/icu/data/convert_icudata.py Fri Jul 17 11:18:09 2020 +0000
+++ b/config/external/icu/data/convert_icudata.py Sat Jul 18 14:40:33 2020 +0200
@@ -11,7 +11,7 @@
subprocess.run(
[
- os.path.join(buildconfig.topobjdir, "dist", "host", "bin", "icupkg"),
+ "icupkg",
"-tb",
data_file,
output.name,
]

View file

@ -0,0 +1,35 @@
# Description: Don't pass -mfloat-abi=softfp on armhf
# Author: Chris Coulson <chris.coulson@canonical.com>
# Forwarded: no
--- a/build/gyp.mozbuild
+++ b/build/gyp.mozbuild
@@ -107,9 +107,15 @@ if CONFIG['ARM_ARCH']:
gyp_vars['arm_neon'] = 1
gyp_vars['build_with_neon'] = 1
else:
- # CPU detection for ARM works on Android only. armv7 always uses CPU
- # detection, so we have to set armv7=0 for non-Android target
- gyp_vars['armv7'] = 0
+ gyp_vars['armv7'] = 1
+ # We enable NEON for Ubuntu armhf. Note that these don't really
+ # have any effect here as NEON is hardcoded on in
+ # media/webrtc/trunk/webrtc/build/common.gypi. Disabling these
+ # without fixing that file will result in a link failure, as
+ # targets hidden behind the build_with_neon flag don't get
+ # built but WEBRTC_HAS_NEON is still defined
+ gyp_vars['arm_neon'] = 1
+ gyp_vars['build_with_neon'] = 1
# For libyuv
gyp_vars['arm_version'] = int(CONFIG['ARM_ARCH'])
--- a/third_party/libwebrtc/webrtc/build/config/compiler/BUILD.gn
+++ b/third_party/libwebrtc/webrtc/build/config/compiler/BUILD.gn
@@ -590,7 +590,6 @@ config("compiler_cpu_abi") {
if (!is_nacl) {
cflags += [
"-march=$arm_arch",
- "-mfloat-abi=$arm_float_abi",
]
}
if (arm_tune != "") {

View file

@ -0,0 +1,24 @@
diff --git a/browser/base/content/browser-context.inc b/browser/base/content/browser-context.inc
index a7fce1a806..3a9d07582d 100644
--- a/browser/base/content/browser-context.inc
+++ b/browser/base/content/browser-context.inc
@@ -78,9 +78,6 @@
<menuitem id="context-savelink"
data-l10n-id="main-context-menu-save-link"
oncommand="gContextMenu.saveLink();"/>
- <menuitem id="context-savelinktopocket"
- data-l10n-id="main-context-menu-save-link-to-pocket"
- oncommand= "Pocket.savePage(gContextMenu.browser, gContextMenu.linkURL);"/>
<menuitem id="context-copyemail"
data-l10n-id="main-context-menu-copy-email"
oncommand="gContextMenu.copyEmail();"/>
@@ -215,9 +212,6 @@
<menuitem id="context-savepage"
data-l10n-id="main-context-menu-page-save"
oncommand="gContextMenu.savePageAs();"/>
- <menuitem id="context-pocket"
- data-l10n-id="main-context-menu-save-to-pocket"
- oncommand="Pocket.savePage(gContextMenu.browser, gContextMenu.browser.currentURI.spec, gContextMenu.browser.contentTitle);"/>
<menuseparator id="context-sep-sendpagetodevice" class="sync-ui-item"
hidden="true"/>
<menu id="context-sendpagetodevice"

View file

@ -0,0 +1,129 @@
diff --git a/browser/components/urlbar/UrlbarInput.jsm b/browser/components/urlbar/UrlbarInput.jsm
index 73d15df..99cc41b 100644
--- a/browser/components/urlbar/UrlbarInput.jsm
+++ b/browser/components/urlbar/UrlbarInput.jsm
@@ -1692,13 +1692,13 @@ class UrlbarInput {
// Enable the animation only after the first extend call to ensure it
// doesn't run when opening a new window.
- if (!this.hasAttribute("breakout-extend-animate")) {
- this.window.promiseDocumentFlushed(() => {
- this.window.requestAnimationFrame(() => {
- this.setAttribute("breakout-extend-animate", "true");
- });
- });
- }
+ // if (!this.hasAttribute("breakout-extend-animate")) {
+ // this.window.promiseDocumentFlushed(() => {
+ // this.window.requestAnimationFrame(() => {
+ // this.setAttribute("breakout-extend-animate", "true");
+ // });
+ // });
+ // }
}
endLayoutExtend() {
diff --git a/browser/themes/shared/urlbar-searchbar.inc.css b/browser/themes/shared/urlbar-searchbar.inc.css
index e9fde8b..6c4c444 100644
--- a/browser/themes/shared/urlbar-searchbar.inc.css
+++ b/browser/themes/shared/urlbar-searchbar.inc.css
@@ -5,7 +5,7 @@
%endif
%define fieldHoverBorderColor hsla(240,5%,5%,.35)
-%define urlbarMarginInline 5px
+%define urlbarMarginInline 0px
%define urlbarSearchButtonWidth calc(16px + 2 * var(--urlbar-icon-padding))
:root {
@@ -273,9 +273,9 @@
}
#urlbar[breakout][breakout-extend] {
- top: -@urlbarBreakoutExtend@;
- left: calc(-@urlbarMarginInline@ - @urlbarBreakoutExtend@);
- width: calc(100% + 2 * @urlbarMarginInline@ + 2 * @urlbarBreakoutExtend@);
+ top: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2);
+ left: 0;
+ width: 100%;
}
@supports -moz-bool-pref("browser.proton.urlbar.enabled") {
@@ -288,7 +288,7 @@
@supports not -moz-bool-pref("browser.proton.urlbar.enabled") {
#urlbar[breakout][breakout-extend] > #urlbar-background {
- box-shadow: 0 3px 8px 0 rgba(0,0,0,.15)
+ box-shadow: 0 1px 4px rgba(0,0,0,.05);
}
#urlbar[breakout][breakout-extend][open] > #urlbar-background {
@@ -297,9 +297,9 @@
} /*** END !proton ***/
#urlbar[breakout][breakout-extend] > #urlbar-input-container {
- height: calc(var(--urlbar-toolbar-height) + 2 * @urlbarBreakoutExtend@);
- padding-block: calc(@urlbarBreakoutExtend@ + (var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2);
- padding-inline: calc(@urlbarMarginInline@ + @urlbarBreakoutExtend@);
+ height: var(--urlbar-height);
+ padding-block: 0;
+ padding-inline: 0;
}
@supports -moz-bool-pref("browser.proton.urlbar.enabled") {
@@ -325,7 +325,7 @@
}
#urlbar[breakout][breakout-extend] > #urlbar-background {
- animation-name: urlbar-grow;
+ animation-name: none;
animation-duration: 0s;
animation-timing-function: var(--animation-easing-function);
}
diff --git a/browser/themes/shared/urlbarView.inc.css b/browser/themes/shared/urlbarView.inc.css
index c6ce546..da00fac 100644
--- a/browser/themes/shared/urlbarView.inc.css
+++ b/browser/themes/shared/urlbarView.inc.css
@@ -74,8 +74,8 @@
display: block;
text-shadow: none;
overflow: clip;
- margin-inline: calc(5px + var(--urlbar-container-padding));
- width: calc(100% - 2 * (5px + var(--urlbar-container-padding)));
+ margin-inline: 0;
+ width: 100%;
/* Match urlbar-background's border. */
border-inline: 1px solid transparent;
}
@@ -115,7 +115,7 @@
flex-wrap: nowrap;
fill: currentColor;
fill-opacity: .6;
- padding-block: 3px;
+ padding-block: 0;
}
:root[uidensity=compact] .urlbarView-row {
@@ -280,6 +280,7 @@
object-fit: contain;
flex-shrink: 0;
-moz-context-properties: fill, fill-opacity;
+ margin-inline-start: 20px;
}
@supports not -moz-bool-pref("browser.proton.urlbar.enabled") {
@@ -324,10 +325,10 @@
.urlbarView-type-icon {
position: absolute;
- width: 12px;
- height: 12px;
- margin-bottom: -4px;
- margin-inline-start: 8px;
+ width: 16px;
+ height: 16px;
+ margin-bottom: 0;
+ margin-inline-start: 0;
align-self: end;
background-repeat: no-repeat;
background-size: contain;

View file

@ -0,0 +1,16 @@
diff --git a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
index 4d22812723..2542791b9b 100644
--- a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
+++ b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
@@ -54,11 +54,7 @@
<div class="info">
<h1 data-l10n-id="about-private-browsing-info-title"></h1>
<p 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>
-
- <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>
</body>
</html>

View file

@ -0,0 +1,74 @@
diff --git a/browser/extensions/moz.build b/browser/extensions/moz.build
index 269dcb2..ed7c31d 100644
--- a/browser/extensions/moz.build
+++ b/browser/extensions/moz.build
@@ -5,10 +5,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DIRS += [
- "doh-rollout",
"formautofill",
"screenshots",
- "webcompat",
- "report-site-issue",
"pictureinpicture",
]
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
index 496379c..dd6f359 100644
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -61,7 +61,6 @@ l10n-%:
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 @@ endif
@$(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 --git a/browser/locales/filter.py b/browser/locales/filter.py
index bb2e992..7d7768e 100644
--- a/browser/locales/filter.py
+++ b/browser/locales/filter.py
@@ -20,7 +20,6 @@ def test(mod, path, entity=None):
"browser",
"browser/extensions/formautofill",
"browser/extensions/fxmonitor",
- "browser/extensions/report-site-issue",
"extensions/spellcheck",
"other-licenses/branding/firefox",
"browser/branding/official",
diff --git a/browser/locales/l10n.ini b/browser/locales/l10n.ini
index f4cb7ca..4efac13 100644
--- a/browser/locales/l10n.ini
+++ b/browser/locales/l10n.ini
@@ -14,7 +14,6 @@ dirs = browser
devtools/startup
browser/extensions/formautofill
browser/extensions/fxmonitor
- browser/extensions/report-site-issue
[includes]
# non-central apps might want to use %(topsrcdir)s here, or other vars
diff --git a/browser/locales/l10n.toml b/browser/locales/l10n.toml
index b9b18fe..af7c583 100644
--- a/browser/locales/l10n.toml
+++ b/browser/locales/l10n.toml
@@ -133,10 +133,6 @@ locales = [
reference = "browser/extensions/fxmonitor/locales/en-US/**"
l10n = "{l}browser/extensions/fxmonitor/**"
-[[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/**"

File diff suppressed because it is too large Load diff

7
docs/README.md Normal file
View file

@ -0,0 +1,7 @@
![Logo](https://librewolf-community.gitlab.io/images/logo.png)
# LibreWolf
## Documentation has moved
You can find the current documentation for LibreWolf at [librewolf-community.gitlab.io/docs/](https://librewolf-community.gitlab.io/docs/).

View file

@ -1,56 +0,0 @@
#!/bin/bash
printf "\n\n---------------------------------------- FLATPAK BUILD --------------------------------------------\n";
# Aborts the script upon any faliure
set -e;
# Setup Script Variables
BINARY_TARBALL=$1;
FLATPAK_REPO=$2;
FLATPAK_BUNDLE=$3;
_SCRIPT_FOLDER=$(realpath $(dirname $0));
_FLATHUB_REPO="flathub https://flathub.org/repo/flathub.flatpakrepo";
_FLATHUB_PACKAGES_TO_INSTALL="org.gnome.Platform/${CARCH}/3.32 org.gnome.Sdk/${CARCH}/3.32";
_EXTRACTED_BINARY_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf
_FLATPAK_JSON_FILE=$_SCRIPT_FOLDER/content/io.gitlab.LibreWolf.json;
_FLATPAK_BUILD_SOURCE_FOLDER=$_SCRIPT_FOLDER/source;
_FLATPAK_BUILD_FOLDER=build-dir;
# Install build dependencies
printf "\nInstalling flatpak build dependencies\n";
# we're using a pre-prepared flatpak-image witch aarch64
apt update && apt install -y software-properties-common
add-apt-repository -y ppa:alexlarsson/flatpak
apt update && apt install -y flatpak-builder
flatpak remote-add --if-not-exists $_FLATHUB_REPO;
flatpak install -y flathub $_FLATHUB_PACKAGES_TO_INSTALL;
# Extracts the binary tarball
printf "\nExtracting librewolf binary tarball\n";
mkdir -p $_EXTRACTED_BINARY_TARBALL_FOLDER;
tar -xvf $BINARY_TARBALL -C $_EXTRACTED_BINARY_TARBALL_FOLDER;
# Prepare for flatpak build
printf "\nPreparing files for flatpak build\n";
mkdir -p $_FLATPAK_BUILD_SOURCE_FOLDER;
mv $_EXTRACTED_BINARY_TARBALL_FOLDER $_FLATPAK_BUILD_SOURCE_FOLDER;
# Build Repo
printf "\nBuilding flatpak repository\n";
cp "$_FLATPAK_JSON_FILE" ./;
flatpak-builder --disable-rofiles-fuse --repo="$FLATPAK_REPO" "$_FLATPAK_BUILD_FOLDER" io.gitlab.LibreWolf.json;
# Build bundle
printf "\nBuilding flatpak bundle\n";
flatpak build-bundle $FLATPAK_REPO $FLATPAK_BUNDLE io.gitlab.LibreWolf master;
# Clean up flatpak files
printf "\nCleaning up flatpak related files\n";
rm -rf $_FLATPAK_BUILD_FOLDER;
rm -rf $_FLATPAK_BUILD_SOURCE_FOLDER;
rm -rf ./.flatpak-builder;
# Delete the extracted binary tarball folder
printf "\nDeleting extracted binary tarball folder\n";
rm -rf $_EXTRACTED_BINARY_TARBALL_FOLDER;

View file

@ -1,30 +0,0 @@
{
"app-id": "io.gitlab.LibreWolf",
"runtime": "org.gnome.Platform",
"runtime-version": "3.32",
"sdk": "org.gnome.Sdk",
"command": "librewolf",
"modules": [
{
"name": "librewolf",
"buildsystem": "simple",
"build-commands": [
"mkdir -p /app/share && mv librewolf -t /app/share",
"mkdir -p /app/bin && ln -s /app/share/librewolf/librewolf /app/bin/"
],
"sources": [
{
"type": "dir",
"path": "flatpak/source"
}
]
}
],
"finish-args": [
"--share=ipc",
"--socket=x11",
"--socket=wayland",
"--filesystem=home:rw",
"--share=network"
]
}

View file

@ -1,168 +0,0 @@
diff --git a/librewolf.cfg b/librewolf.cfg
index d7a6ff6..ee15dca 100644
--- a/librewolf.cfg
+++ b/librewolf.cfg
@@ -93,11 +93,11 @@ defaultPref("extensions.enabledAddons", "librefox.http.watcher.tor%40intika.be:2
// User Settings : Cookies settings
// --------------------------------
-lockPref("network.cookie.cookieBehavior", 1);
-lockPref("network.cookie.lifetimePolicy", 2);
+defaultPref("network.cookie.cookieBehavior", 1);
+defaultPref("network.cookie.lifetimePolicy", 0);
lockPref("network.cookie.same-site.enabled", true);
lockPref("network.cookie.leave-secure-alone", true);
-lockPref("network.cookie.thirdparty.sessionOnly", true);
+defaultPref("network.cookie.thirdparty.sessionOnly", true);
lockPref("network.cookie.thirdparty.nonsecureSessionOnly", true);
// -----------------------------------
@@ -161,6 +161,8 @@ defaultPref("privacy.sanitize.timeSpan", 0);
defaultPref("browser.formfill.enable", false);
defaultPref("privacy.sanitize.sanitizeOnShutdown", true);
defaultPref("places.history.enabled", false);
+// w.r. to issue #54
+defaultPref("places.history.expiration.max_pages", 2147483647)
defaultPref("privacy.history.custom", true);
//defaultPref("privacy.cpd.openWindows", true); // Clear session data
//defaultPref("privacy.clearOnShutdown.openWindows", true);
@@ -179,10 +181,10 @@ lockPref("browser.sessionstore.interval", 60000);
// User Settings : Autofill settings
// ---------------------------------
-lockPref("extensions.formautofill.addresses.enabled", false);
-lockPref("extensions.formautofill.available", "off");
-lockPref("extensions.formautofill.creditCards.enabled", false);
-lockPref("extensions.formautofill.heuristics.enabled", false);
+defaultPref("extensions.formautofill.addresses.enabled", false);
+defaultPref("extensions.formautofill.available", "off");
+defaultPref("extensions.formautofill.creditCards.enabled", false);
+defaultPref("extensions.formautofill.heuristics.enabled", false);
lockPref("signon.autofillForms", false);
lockPref("signon.autofillForms.http", false);
@@ -349,8 +351,8 @@ lockPref("dom.w3c_pointer_events.enabled", false);
// Bench Diff : +0/5000
// >>>>>>>>>>>>>>>>>>>>
-lockPref("privacy.resistFingerprinting", true);
-lockPref("privacy.resistFingerprinting.block_mozAddonManager", true);
+defaultPref("privacy.resistFingerprinting", true);
+defaultPref("privacy.resistFingerprinting.block_mozAddonManager", true);
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// Section : Locale/Time/UserAgent
@@ -360,12 +362,12 @@ lockPref("privacy.resistFingerprinting.block_mozAddonManager", true);
lockPref("dom.forms.datetime", false);
lockPref("javascript.use_us_english_locale", true);
lockPref("intl.regional_prefs.use_os_locales", false);
-lockPref("intl.locale.requested", "en-US");
-lockPref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Firefox/45.0, 45");
-lockPref("general.appname.override", "Netscape");
-lockPref("general.appversion.override", "5.0 (Windows)");
-lockPref("general.platform.override", "Win32");
-lockPref("general.oscpu.override", "Windows NT 6.1");
+defaultPref("intl.locale.requested", "en-US");
+defaultPref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Firefox/45.0, 45");
+defaultPref("general.appname.override", "Netscape");
+defaultPref("general.appversion.override", "5.0 (Windows)");
+defaultPref("general.platform.override", "Win32");
+defaultPref("general.oscpu.override", "Windows NT 6.1");
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// Section : Ghacks-user Selection
@@ -469,7 +471,8 @@ lockPref("extensions.webextensions.identity.redirectDomain", "");
// Pref : CSP Settings For Extensions I/II : Extension Firewall Feature
// Uncomment to disable network for the extensions
// Enable-Firewall-Feature-In-The-Next-Line extensions-firewall >>>>>>
-lockPref("extensions.webextensions.base-content-security-policy", "default-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; script-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; object-src 'self' moz-extension: blob: filesystem:;");
+defaultPref("extensions.webextensions.base-content-security-policy", "script-src 'self' https://* moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; object-src 'self' https://* moz-extension: blob: filesystem:;");
+// lockPref("extensions.webextensions.base-content-security-policy", "default-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; script-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; object-src 'self' moz-extension: blob: filesystem:;");
// Pref : CSP Settings For Extensions II/II : Extension Firewall Feature
// This value is applied after the first one (just ignore this)
@@ -811,22 +814,22 @@ lockPref("extensions.getAddons.compatOverides.url", "");
// https://services.addons.mozilla.org/api/v3/addons/compat-override/?guid=%IDS%&lang=%LOCALE%
// Pref :
-lockPref("extensions.getAddons.get.url", "");
+defaultPref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v3/addons/search/?guid=%IDS%&lang=%LOCALE%");
// Default Value
// https://services.addons.mozilla.org/api/v3/addons/search/?guid=%IDS%&lang=%LOCALE%
// Pref :
-lockPref("extensions.getAddons.langpacks.url", "");
+defaultPref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%");
// Default Value
// https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%
// Pref :
-lockPref("extensions.getAddons.link.url", "");
+defaultPref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/");
// Default Value
// https://addons.mozilla.org/%LOCALE%/firefox/
// Pref :
-lockPref("extensions.getAddons.search.browseURL", "");
+defaultPref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%");
// Default Value
// https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%
@@ -861,7 +864,7 @@ lockPref("browser.newtabpage.activity-stream.fxaccounts.endpoint", "");
// https://accounts.firefox.com/
// Pref :
-lockPref("extensions.update.url", "");
+defaultPref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
// Default Value
// https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=
// %REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=
@@ -1457,7 +1460,7 @@ lockPref("app.releaseNotesURL", "");
// Pref :
lockPref("app.update.auto", false);
-lockPref("extensions.update.autoUpdateDefault", false);
+defaultPref("extensions.update.autoUpdateDefault", false);
lockPref("app.update.staging.enabled", false);
lockPref("app.update.silent", false);
lockPref("app.update.lastUpdateTime.telemetry_modules_ping", 0);
@@ -1570,10 +1573,10 @@ lockPref("extensions.blocklist.itemURL", "");
lockPref("extensions.blocklist.url", "");
// Pref :
-lockPref("extensions.update.background.url", "");
+defaultPref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
// Pref :
-lockPref("extensions.getAddons.showPane", false);
+defaultPref("extensions.getAddons.showPane", false);
// Pref :
lockPref("extensions.webservice.discoverURL", "");
@@ -1865,7 +1868,7 @@ lockPref("security.dialog_enable_delay", 700);
// Pref : Opt-out of add-on metadata updates
// https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/
-lockPref("extensions.getAddons.cache.enabled", false);
+defaultPref("extensions.getAddons.cache.enabled", false);
// Pref : Opt-out of theme (Persona) updates
// https://support.mozilla.org/t5/Firefox/how-do-I-prevent-autoamtic-updates-in-a-50-user-environment/td-p/144287
@@ -1898,7 +1901,7 @@ lockPref("plugin.sessionPermissionNow.intervalInMinutes", 0);
// Pref : Update addons automatically
// https://blog.mozilla.org/addons/how-to-turn-off-add-on-updates/
-lockPref("extensions.update.enabled", false);
+defaultPref("extensions.update.enabled", false);
// Pref : Enable add-on and certificate blocklists (OneCRL) from Mozilla
// Updated at interval defined in extensions.blocklist.interval (default: 86400)
@@ -2622,4 +2625,7 @@ lockPref("security.tls.unrestricted_rc4_fallback", false);
//lockPref("toolkit.telemetry.unifiedIsOptIn", true);
//lockPref("ui.key.menuAccessKey", 0);
//lockPref("view_source.tab", false);
-lockPref("xpinstall.signatures.required", false);
+defaultPref("xpinstall.signatures.required", true);
+
+// #11/#68, sounds reasonable
+defaultPref("toolkit.legacyUserProfileCustomizations.stylesheets", true);

View file

@ -1,340 +0,0 @@
[Desktop Entry]
Version=1.0
Name=LibreWolf
GenericName=Web Browser
GenericName[ar]=متصفح ويب
GenericName[ast]=Restolador Web
GenericName[bn]=
GenericName[ca]=Navegador web
GenericName[cs]=Webový prohlížeč
GenericName[da]=Webbrowser
GenericName[de]=Webbrowser
GenericName[el]=Περιηγητής διαδικτύου
GenericName[es]=Navegador web
GenericName[et]=Veebibrauser
GenericName[fa]=مرورگر اینترنتی
GenericName[fi]=WWW-selain
GenericName[fr]=Navigateur Web
GenericName[gl]=Navegador Web
GenericName[he]=דפדפן אינטרנט
GenericName[hr]=Web preglednik
GenericName[hu]=Webböngésző
GenericName[it]=Browser web
GenericName[ja]=
GenericName[ko]=
GenericName[ku]=Geroka torê
GenericName[lt]=Interneto naršyklė
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[nn]=Nettlesar
GenericName[no]=Nettleser
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador Web
GenericName[ro]=Navigator Internet
GenericName[ru]=Веб-браузер
GenericName[sk]=Internetový prehliadač
GenericName[sl]=Spletni brskalnik
GenericName[sv]=Webbläsare
GenericName[tr]=Web Tarayıcı
GenericName[ug]=توركۆرگۈ
GenericName[uk]=Веб-браузер
GenericName[vi]=Trình duyt Web
GenericName[zh_CN]=
GenericName[zh_TW]=
Comment=Browse the World Wide Web
Comment[ar]=تصفح الشبكة العنكبوتية العالمية
Comment[ast]=Restola pela Rede
Comment[bn]=
Comment[ca]=Navegueu per el web
Comment[cs]=Prohlížení stránek World Wide Webu
Comment[da]=Surf på internettet
Comment[de]=Im Internet surfen
Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
Comment[es]=Navegue por la web
Comment[et]=Lehitse veebi
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
Comment[fi]=Selaa Internetin WWW-sivuja
Comment[fr]=Naviguer sur le Web
Comment[gl]=Navegar pola rede
Comment[he]=גלישה ברחבי האינטרנט
Comment[hr]=Pretražite web
Comment[hu]=A világháló böngészése
Comment[it]=Esplora il web
Comment[ja]=
Comment[ko]=
Comment[ku]=Li torê bigere
Comment[lt]=Naršykite internete
Comment[nb]=Surf på nettet
Comment[nl]=Verken het internet
Comment[nn]=Surf på nettet
Comment[no]=Surf på nettet
Comment[pl]=Przeglądanie stron WWW
Comment[pt]=Navegue na Internet
Comment[pt_BR]=Navegue na Internet
Comment[ro]=Navigați pe Internet
Comment[ru]=Доступ в Интернет
Comment[sk]=Prehliadanie internetu
Comment[sl]=Brskajte po spletu
Comment[sv]=Surfa på webben
Comment[tr]=İnternet'te Gezinin
Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
Comment[uk]=Перегляд сторінок Інтернету
Comment[vi]=Đ duyt các trang web
Comment[zh_CN]=
Comment[zh_TW]=
Keywords=Internet;WWW;Browser;Web;Explorer
Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;LibreWolf;Φιρεφοχ;Ιντερνετ
Keywords[es]=Explorador;Internet;WWW
Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
Keywords[hr]=Internet;WWW;preglednik;Web
Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
Keywords[it]=Internet;WWW;Browser;Web;Navigatore
Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
Keywords[ja]=Internet;WWW;Web;;;;
Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyt;Trang web
Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;;;;;LibreWolf;ff;;;
Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;;;;;;
Exec=/usr/lib/librewolf/librewolf %u
Icon=librewolf
Terminal=false
X-MultipleArgs=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;
StartupNotify=true
StartupWMClass=LibreWolf
Categories=Network;WebBrowser;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=New Window
Name[ach]=Dirica manyen
Name[af]=Nuwe venster
Name[an]=Nueva finestra
Name[ar]=نافذة جديدة
Name[as]=
Name[ast]=Ventana nueva
Name[az]=Yeni Pəncərə
Name[be]=Новае акно
Name[bg]=Нов прозорец
Name[bn_BD]= (N)
Name[bn_IN]=
Name[br]=Prenestr nevez
Name[brx]= '(N)
Name[bs]=Novi prozor
Name[ca]=Finestra nova
Name[cak]=K'ak'a' tzuwäch
Name[cs]=Nové okno
Name[cy]=Ffenestr Newydd
Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[dsb]=Nowe wokno
Name[el]=Νέο παράθυρο
Name[en_GB]=New Window
Name[en_US]=New Window
Name[en_ZA]=New Window
Name[eo]=Nova fenestro
Name[es_AR]=Nueva ventana
Name[es_CL]=Nueva ventana
Name[es_ES]=Nueva ventana
Name[es_MX]=Nueva ventana
Name[et]=Uus aken
Name[eu]=Leiho berria
Name[fa]=پنجره جدید
Name[ff]=Henorde Hesere
Name[fi]=Uusi ikkuna
Name[fr]=Nouvelle fenêtre
Name[fy_NL]=Nij finster
Name[ga_IE]=Fuinneog Nua
Name[gd]=Uinneag ùr
Name[gl]=Nova xanela
Name[gn]=Ovetã pyahu
Name[gu_IN]= િ
Name[he]=חלון חדש
Name[hi_IN]= ि
Name[hr]=Novi prozor
Name[hsb]=Nowe wokno
Name[hu]=Új ablak
Name[hy_AM]=Նոր Պատուհան
Name[id]=Jendela Baru
Name[is]=Nýr gluggi
Name[it]=Nuova finestra
Name[ja]=
Name[ja_JP-mac]=
Name[ka]=
Name[kk]=Жаңа терезе
Name[km]=
Name[kn]= ಿಿ
Name[ko]=
Name[kok]=
Name[ks]=نئئ وِنڈو
Name[lij]=Neuvo barcon
Name[lo]=
Name[lt]=Naujas langas
Name[ltg]=Jauns lūgs
Name[lv]=Jauns logs
Name[mai]= ि
Name[mk]=Нов прозорец
Name[ml]=ി
Name[mr]=
Name[ms]=Tetingkap Baru
Name[my]=
Name[nb_NO]=Nytt vindu
Name[ne_NP]=
Name[nl]=Nieuw venster
Name[nn_NO]=Nytt vindauge
Name[or]= ି
Name[pa_IN]= ਿ
Name[pl]=Nowe okno
Name[pt_BR]=Nova janela
Name[pt_PT]=Nova janela
Name[rm]=Nova fanestra
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sat]= ि (N)
Name[si]=
Name[sk]=Nové okno
Name[sl]=Novo okno
Name[son]=Zanfun taaga
Name[sq]=Dritare e Re
Name[sr]=Нови прозор
Name[sv_SE]=Nytt fönster
Name[ta]=ி
Name[te]= ి
Name[th]=
Name[tr]=Yeni pencere
Name[tsz]=Eraatarakua jimpani
Name[uk]=Нове вікно
Name[ur]=نیا دریچہ
Name[uz]=Yangi oyna
Name[vi]=Ca s mi
Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh_CN]=
Name[zh_TW]=
Exec=/usr/lib/librewolf/librewolf --new-window %u
[Desktop Action new-private-window]
Name=New Private Window
Name[ach]=Dirica manyen me mung
Name[af]=Nuwe privaatvenster
Name[an]=Nueva finestra privada
Name[ar]=نافذة خاصة جديدة
Name[as]= ি
Name[ast]=Ventana privada nueva
Name[az]=Yeni Məxfi Pəncərə
Name[be]=Новае акно адасаблення
Name[bg]=Нов прозорец за поверително сърфиране
Name[bn_BD]= ি
Name[bn_IN]= ি
Name[br]=Prenestr merdeiñ prevez nevez
Name[brx]= '
Name[bs]=Novi privatni prozor
Name[ca]=Finestra privada nova
Name[cak]=K'ak'a' ichinan tzuwäch
Name[cs]=Nové anonymní okno
Name[cy]=Ffenestr Breifat Newydd
Name[da]=Nyt privat vindue
Name[de]=Neues privates Fenster
Name[dsb]=Nowe priwatne wokno
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
Name[en_GB]=New Private Window
Name[en_US]=New Private Window
Name[en_ZA]=New Private Window
Name[eo]=Nova privata fenestro
Name[es_AR]=Nueva ventana privada
Name[es_CL]=Nueva ventana privada
Name[es_ES]=Nueva ventana privada
Name[es_MX]=Nueva ventana privada
Name[et]=Uus privaatne aken
Name[eu]=Leiho pribatu berria
Name[fa]=پنجره ناشناس جدید
Name[ff]=Henorde Suturo Hesere
Name[fi]=Uusi yksityinen ikkuna
Name[fr]=Nouvelle fenêtre de navigation privée
Name[fy_NL]=Nij priveefinster
Name[ga_IE]=Fuinneog Nua Phríobháideach
Name[gd]=Uinneag phrìobhaideach ùr
Name[gl]=Nova xanela privada
Name[gn]=Ovetã ñemi pyahu
Name[gu_IN]= િ
Name[he]=חלון פרטי חדש
Name[hi_IN]= ि ि
Name[hr]=Novi privatni prozor
Name[hsb]=Nowe priwatne wokno
Name[hu]=Új privát ablak
Name[hy_AM]=Սկսել Գաղտնի դիտարկում
Name[id]=Jendela Mode Pribadi Baru
Name[is]=Nýr huliðsgluggi
Name[it]=Nuova finestra anonima
Name[ja]=
Name[ja_JP-mac]=
Name[ka]=
Name[kk]=Жаңа жекелік терезе
Name[km]=
Name[kn]= ಿ ಿಿ
Name[ko]=
Name[kok]= ि
Name[ks]=نْو پرایوٹ وینڈو
Name[lij]=Nêuvo barcón privòu
Name[lo]=
Name[lt]=Naujas privataus naršymo langas
Name[ltg]=Jauns privatais lūgs
Name[lv]=Jauns privātais logs
Name[mai]= ि ि (W)
Name[mk]=Нов приватен прозорец
Name[ml]=ി
Name[mr]= ि
Name[ms]=Tetingkap Persendirian Baharu
Name[my]=New Private Window
Name[nb_NO]=Nytt privat vindu
Name[ne_NP]= ि
Name[nl]=Nieuw privévenster
Name[nn_NO]=Nytt privat vindauge
Name[or]= ି ି
Name[pa_IN]= ਿ
Name[pl]=Nowe okno prywatne
Name[pt_BR]=Nova janela privativa
Name[pt_PT]=Nova janela privada
Name[rm]=Nova fanestra privata
Name[ro]=Fereastră privată nouă
Name[ru]=Новое приватное окно
Name[sat]= ि ि (W )
Name[si]= (W)
Name[sk]=Nové okno v režime Súkromné prehliadanie
Name[sl]=Novo zasebno okno
Name[son]=Sutura zanfun taaga
Name[sq]=Dritare e Re Private
Name[sr]=Нови приватан прозор
Name[sv_SE]=Nytt privat fönster
Name[ta]=ி ி
Name[te]= ి ి
Name[th]=
Name[tr]=Yeni gizli pencere
Name[tsz]=Juchiiti eraatarakua jimpani
Name[uk]=Приватне вікно
Name[ur]=نیا نجی دریچہ
Name[uz]=Yangi maxfiy oyna
Name[vi]=Ca s riêng tư mi
Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh_CN]=
Name[zh_TW]=
Exec=/usr/lib/librewolf/librewolf --private-window %u

View file

@ -1,13 +0,0 @@
post_install() {
echo ">> If you want to reduce potential privacy leaks even further, you should consider"
echo ">> clearing a few settings required for updating/searching extensions:"
echo ">> extensions.getAddons.get.url"
echo ">> extensions.getAddons.langpacks.url"
echo ">> extensions.getAddons.link.url"
echo ">> extensions.getAddons.search.browseURL"
echo ">> extensions.update.url"
echo ">> extensions.update.background.url"
echo ">> If you do wish to install extensions the 'regular way',"
echo ">> a few more tweaks might be needed."
echo ">> I've kept the relevant settings unlocked for that specific reason."
}

View file

@ -1,12 +0,0 @@
#!/bin/bash
pacman --noconfirm -Syu --needed base-devel
# this is a very ugly fix for recent makepkg-5.1-chmod-shenanigans, which mess up the build process in docker
sed -E -i 's/^chmod a-s \"\$BUILDDIR\"$/# chmod a-s \"\$BUILDDIR\"/' `which makepkg`
echo 'nobody ALL=(ALL) NOPASSWD: /usr/bin/pacman' >> /etc/sudoers
mkdir -p /home/nobody && chown -R nobody /home/nobody
usermod -d /home/nobody nobody
# we need to un-expire the account, otherwise PAM will complain
usermod -e '' nobody
chown -R nobody .
# makepkg will not run as root
sudo -u nobody -E -H makepkg --noconfirm --nosign --syncdeps --cleanbuild --skippgpcheck

View file

@ -1,35 +0,0 @@
#!/bin/bash
set -e
printf "\n\n---------------- prepare package for other distros ----------------\n"
# Setup Script Variables
# use $CI_PROJECT_DIR unless not in CI, then assign script path
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
OUTPUT_TARBALL=$CI_PROJECT_DIR/LibreWolf.${CARCH}.tar.bz2
SOURCE_CODE_BINARY_TARBALL_LOCATION="$CI_PROJECT_DIR/src/firefox-*/obj*/dist/librewolf*.tar.bz2"
EXTRACTED_TARBALL_FOLDER=$CI_PROJECT_DIR/librewolf_unpacked/librewolf
# Prevents build from breaking in CI/CD environments
export SHELL=/bin/bash
# Moves the packaged tarball to the specified location
printf "\nMoving Binary Tarball to output location\n"
mv $SOURCE_CODE_BINARY_TARBALL_LOCATION $OUTPUT_TARBALL
# Extracts the binary tarball
printf "\nExtracting librewolf binary tarball\n"
mkdir librewolf_unpacked
tar -xf $OUTPUT_TARBALL -C librewolf_unpacked
# Adds the librefox config files to the packaged tarball
printf "\nCopying librewolf settings to extracted binary tarball\n"
cp -r $CI_PROJECT_DIR/src/settings $EXTRACTED_TARBALL_FOLDER/settings
cp $CI_PROJECT_DIR/content/toggle-settings.sh $EXTRACTED_TARBALL_FOLDER/settings
cp $CI_PROJECT_DIR/content/launch_librewolf.sh $EXTRACTED_TARBALL_FOLDER/launch_librewolf.sh
# Repacks the binary tarball
printf "\nRecompressing binary tarball\n"
tar -jvcf $OUTPUT_TARBALL -C $EXTRACTED_TARBALL_FOLDER .

View file

@ -0,0 +1,63 @@
#!/bin/bash
printf "\n\n-------------------------------------- DEPENDENCY INSTALLATION ---------------------------------------------\n";
set -e
# Setup Script Variables
_DEPENDENCIES="wget git xorg-server-xvfb \
xz grep coreutils patch tar \
gettext pkg-config \
curl python3 libjack \
python3-psutil python3-devel python-devel \
automake \
autoconf213 \
zip \
libX11-devel \
libXt-devel \
libXext-devel \
gtk+3-devel \
libglib-devel \
pango-devel \
fontconfig-devel \
freetype-devel \
libcurl-devel \
MesaLib-devel \
libnotify-devel \
libXrender-devel \
pulseaudio-devel \
openssl-devel \
yasm \
unzip \
dbus-x11 \
python \
libffi-devel \
nodejs-lts \
cargo \
rust \
nasm \
clang \
llvm \
alsa-lib-devel \
jack-devel \
perl \
cbindgen \
pixman-devel \
libevent-devel libnotify-devel libvpx-devel \
libXcomposite-devel libSM-devel libXdamage-devel \
dbus-glib-devel \
make"
# Installs Dependencies
printf "\nInstalling dependencies: $_DEPENDENCIES\n";
xbps-install -Sy $_DEPENDENCIES 2>&1 >/dev/null
if [[ "$(/lib/libc.so 2>&1)" == *"musl libc"* ]]; then
xbps-install -y libfl-devel libssp-devel libssp 2>&1 >/dev/null
fi
ln -s /bin/clang /bin/cc
mkdir /usr/lib/nodejs-mozilla/
ln -s /usr/bin/ /usr/lib/nodejs-mozilla/bin
mkdir /usr/lib/nasm-mozilla
ln -s /usr/bin/ /usr/lib/nasm-mozilla/bin
ln -s /usr/bin/make /usr/bin/gmake

View file

@ -1,15 +1,20 @@
#!/bin/sh
#!/bin/bash
printf "\n\n--------------------------------- SOURCE CODE DOWNLOAD --------------------------------------\n";
set -e
if [[ -z ${pkgver} || -z ${pkgrel} ]]; then
echo '$pkgrel and/or $pkgver not provided'
exit 1
fi
# Setup Script Variables
SOURCE_FOLDER=$1;
# hardcoded vor now, we'll parse the _pkgver later on, probably from tags
pkgver="73.0.1"
_SOURCE_CODE_URL="https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz";
#_SOURCE_CODE_URL="https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz";
_SOURCE_CODE_URL="https://f.sakamoto.pl/firefox-$pkgver.source.tar.xz";
_SOURCE_TAR="firefox-${pkgver}.tar.xz"
# Downloading and Extracting Firefox Source Code
printf "\nDownloading Firefox Source Code\n";
wget -O $_SOURCE_TAR $_SOURCE_CODE_URL
wget -O $_SOURCE_TAR $_SOURCE_CODE_URL 2>&1 > /dev/null
mkdir -p $SOURCE_FOLDER
tar -x --strip-components=1 -C $SOURCE_FOLDER -f $_SOURCE_TAR

View file

@ -0,0 +1,213 @@
#!/bin/bash
printf "\n\n------------------------------ FINAL PREBUILD CONFIGURATION ---------------------------------\n";
set -e
# Setup Script Variables
srcdir=$1;
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
#_COMMON_REPO='https://gitlab.com/librewolf-community/browser/common.git';
_COMMON_REPO='https://git.sakamoto.pl/domi/foxgirl-common.git';
_PKGVER_TAG="v${pkgver}-${pkgrel}"
_COMMON_TAG=${COMMON_TAG:-${_PKGVER_TAG}}
_COMMON_DIR="${CI_PROJECT_DIR}"/common
_PATCHES_DIR="${_COMMON_DIR}"/patches
_MOZBUILD=$srcdir/../mozbuild
mkdir -p ${_MOZBUILD}
# Copy Source Code Changes to Source Code
printf "\nCopying branding and source code changes to firefox source code\n";
git clone $_COMMON_REPO ${_COMMON_DIR}
cd ${_COMMON_DIR}
#git checkout ${_COMMON_TAG}
cd ..
cp -r ${_COMMON_DIR}/source_files/* $srcdir/;
# get foxgirl branding (ff3.6)
wget "https://web.archive.org/web/0/http://people.mozilla.com/~faaborg/files/shiretoko/firefoxIcon/firefoxIcon.zip"
mkdir -p icons icons/content
pushd icons
unzip ../firefoxIcon.zip
for i in firefox*noshadow.png; do
mv "$i" "default$(grep -Poh "[0-9]+" <<< "$i").png"
done
mv firefox-256.png content/about-logo.png
mv firefox-512.png "content/about-logo@2x.png"
popd
cp -rlf icons/* $srcdir/browser/branding/librewolf/
cd $srcdir
cat >${CI_PROJECT_DIR}/mozconfig <<END
ac_add_options --enable-application=browser
mk_add_options MOZ_OBJDIR=${srcdir}/firefox-${pkgver}/obj
# to build on ubuntu and pick up clang
ac_add_options NODEJS=/usr/lib/nodejs-mozilla/bin/node
# This supposedly speeds up compilation (We test through dogfooding anyway)
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --prefix=/usr
ac_add_options --enable-release
ac_add_options --enable-hardening
ac_add_options --enable-rust-simd
# Branding
ac_add_options --enable-update-channel=release
ac_add_options --with-app-name=foxgirl
ac_add_options --with-app-basename=Foxgirl
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
# System libraries
# ac_add_options --with-system-nspr
# ac_add_options --with-system-nss
# Features
ac_add_options --enable-alsa
ac_add_options --enable-jack
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-tests
# 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
# options for ci / weaker build systems
# mk_add_options MOZ_MAKE_FLAGS="-j4"
# ac_add_options --enable-linker=gold
END
if [[ "$(/lib/libc.so 2>&1)" == *"musl libc"* ]]; then
echo "ac_add_options --disable-jemalloc" >> ${CI_PROJECT_DIR}/mozconfig
echo "ac_add_options --disable-gold" >> ${CI_PROJECT_DIR}/mozconfig
echo "ac_add_options --disable-webrtc" >> ${CI_PROJECT_DIR}/mozconfig
fi
# allow setting limited resource usage via ENV / CI:
if [[ ! -z ${CORES_TO_USE} ]]; then
echo "mk_add_options MOZ_MAKE_FLAGS=\"-j${CORES_TO_USE}\"" >> ${CI_PROJECT_DIR}/mozconfig
fi
if [[ $CARCH == 'aarch64' ]]; then
cat >>${CI_PROJECT_DIR}/mozconfig <<END
# taken from manjaro build:
ac_add_options --enable-optimize="-g0 -O2"
export CC='clang'
export CXX='clang++'
export AR=llvm-ar
export NM=llvm-nm
export RANLIB=llvm-ranlib
END
export MOZ_DEBUG_FLAGS=" "
export CFLAGS+=" -g0"
export CXXFLAGS+=" -g0"
export RUSTFLAGS="-Cdebuginfo=0"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl"
# patch -Np1 -i ${_PATCHES_DIR}/arm.patch # not required anymore?
wget https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch -O ${_PATCHES_DIR}/build-arm-libopus.patch
patch -Np1 -i ${_PATCHES_DIR}/build-arm-libopus.patch
else
cat >>${CI_PROJECT_DIR}/mozconfig <<END
# ubuntu seems to recommend this
ac_add_options --disable-elf-hack
export CC='clang'
export CXX='clang++'
export AR=llvm-ar
export NM=llvm-nm
export RANLIB=llvm-ranlib
# probably not needed, enabled by default?
ac_add_options --enable-optimize
# unavailable option when (on ubuntu at least(?)) building on aarch64
ac_add_options NASM=/usr/lib/nasm-mozilla/bin/nasm
END
fi
# hopefully the magic sauce that makes things build on 16.04 and later on work "everywhere":
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/armhf-reduce-linker-memory-use.patch"
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/fix-armhf-webrtc-build.patch"
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch"
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/reduce-rust-debuginfo.patch"
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/use-system-icupkg.patch"
# Remove some pre-installed addons that might be questionable
patch -Np1 -i ${_PATCHES_DIR}/remove_addons.patch
# Disable (some) megabar functionality
# Adapted from https://github.com/WesleyBranton/userChrome.css-Customizations
patch -Np1 -i ${_PATCHES_DIR}/megabar.patch
# remove mozilla vpn ads
patch -Np1 -i ${_PATCHES_DIR}/mozilla-vpn-ad.patch
# Debian patch to enable global menubar
if [[ ! -z "${GLOBAL_MENUBAR}" ]];then
patch -Np1 -i ${_PATCHES_DIR}/unity-menubar.patch
fi
# Disabling Pocket
printf "\nDisabling Pocket\n";
patch -Np1 -i "${_PATCHES_DIR}/sed-patches/disable-pocket.patch"
# More patches
patch -Np1 -i "${_PATCHES_DIR}/context-menu.patch"
patch -Np1 -i "${_PATCHES_DIR}/browser-confvars.patch"
patch -Np1 -i "${_PATCHES_DIR}/urlbarprovider-interventions.patch"
# Remove Internal Plugin Certificates
patch -Np1 -i "${_PATCHES_DIR}/sed-patches/remove-internal-plugin-certs.patch"
# allow SearchEngines option in non-ESR builds
patch -Np1 -i "${_PATCHES_DIR}/sed-patches/allow-searchengines-non-esr.patch"
# remove search extensions (experimental)
patch -Np1 -i "${_PATCHES_DIR}/search-config.patch"
# stop some undesired requests (https://gitlab.com/librewolf-community/browser/common/-/issues/10)
patch -Np1 -i "${_PATCHES_DIR}/sed-patches/stop-undesired-requests.patch"
# allow overriding the color scheme light/dark preference with RFP
patch -Np1 -i ${_PATCHES_DIR}/allow_dark_preference_with_rfp.patch
# fix an URL in 'about' dialog
patch -Np1 -i ${_PATCHES_DIR}/about-dialog.patch
# change some hardcoded directory strings that could lead to unnecessarily
# created directories
patch -Np1 -i ${_PATCHES_DIR}/mozilla_dirs.patch
# Foxgirl-specific patches
patch -Np1 -i "${_PATCHES_DIR}/urlbar.patch"
patch -Np1 -i "${_PATCHES_DIR}/icons.patch"
patch -Np1 -i "${_PATCHES_DIR}/wordmark.patch"
patch -Np1 -i "${_PATCHES_DIR}/css.patch"
patch -Np1 -i "${_PATCHES_DIR}/defsites.patch"
patch -Np1 -i "${_PATCHES_DIR}/bookmarksbar.patch"
patch -Np1 -i "${_PATCHES_DIR}/smile.patch"
patch -Np1 -i "${_PATCHES_DIR}/strings.patch"
patch -Np1 -i "${_PATCHES_DIR}/view-page-info.patch"
#patch -Np1 -i "${_PATCHES_DIR}/useragent-override.patch"
echo '[]' > browser/components/newtab/data/content/tippytop/top_sites.json
echo '[]' > browser/components/urlbar/content/preloaded-top-urls.json
rm -rf common

104
scripts/4_Build_Binary_Tarball.sh Executable file
View file

@ -0,0 +1,104 @@
#!/bin/bash
printf "\n\n--------------------------------------- BUILD -----------------------------------------------\n";
set -e
# Setup Script Variables
srcdir=$1;
OUTPUT_TARBALL=$2;
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
_SOURCE_CODE_BINARY_TARBALL_LOCATION="${srcdir}/firefox-${pkgver}/obj/dist/foxgirl*.tar.bz2";
_MOZBUILD=$srcdir/../mozbuild
export DEB_BUILD_HARDENING=1
export DEB_BUILD_HARDENING_STACKPROTECTOR=1
export DEB_BUILD_HARDENING_FORTIFY=1
export DEB_BUILD_HARDENING_FORMAT=1
export DEB_BUILD_HARDENING_PIE=1
# export PATH=/usr/lib/nasm-mozilla/bin:$PATH
# add cargo binary to path
# source /root/.cargo/env
# we do change / unset some of them later, but setting them as set by Arch
# might make it easier to maintain changes in build scripts on both sides
if [[ $CARCH == 'aarch64' ]]; then
export CPPFLAGS="-D_FORTIFY_SOURCE=2"
export CFLAGS="-march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt"
export CXXFLAGS="-march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt"
export LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
else
export CPPFLAGS="-D_FORTIFY_SOURCE=2"
export CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt"
export CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt"
export LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
fi
export MOZ_NOSPAM=1
export MOZBUILD_STATE_PATH="${_MOZBUILD}"
export MACH_USE_SYSTEM_PYTHON=1
if [[ $CARCH == 'aarch64' ]]; then
export MOZ_DEBUG_FLAGS=" "
export CFLAGS+=" -g0"
export CXXFLAGS+=" -g0"
export RUSTFLAGS="-Cdebuginfo=0"
export LDFLAGS+=" -Wl,--no-keep-memory"
fi
# LTO needs more open files
ulimit -n 4096
# Prevents build from breaking in CI/CD environments
export SHELL=/bin/bash;
# Changes current folder to the source code folder
cd $srcdir;
# Runs bootstrapper to install dependencies
# printf "\nRunning bootstrapper to install build dependencies (using ./mach script within source code)\n";
# ./mach bootstrap --application-choice=browser --no-interactive
# ./mach configure
rm -f mozconfig
# install cbindgen
#if [[ "$(/lib/libc.so)" != *"musl libc"* ]]; then
# cargo install --version 0.20.0 cbindgen
#fi
if [[ $CARCH == 'aarch64' ]]; then
cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
# seems to break on arm
# ac_add_options --enable-linker=gold
END
else
cat >.mozconfig ${CI_PROJECT_DIR}/mozconfig - <<END
# seems to mess with the libstdc++-static patch
# ac_add_options --enable-linker=gold
END
fi
./mach build
echo "Building symbol archive..."
./mach buildsymbols
# End "build()" equivalent.
# Packages the build into a binary tarball
printf "\nPackaging\n";
./mach package;
# Moves the packaged tarball to the specified location
printf "\nMoving Binary Tarball to output location\n";
mv $_SOURCE_CODE_BINARY_TARBALL_LOCATION $OUTPUT_TARBALL;
# Deletes the source code
printf "\nDeleting source code\n";
rm -rf $srcdir;

View file

@ -0,0 +1,61 @@
#!/bin/bash
printf "\n\n--------------------------------- SETTINGS INTEGRATION --------------------------------------\n";
# Aborts the script upon any faliure
set -e;
# Setup Script Variables
BINARY_TARBALL=$1;
TOGGLE_SETTINGS_SCRIPT=$2;
LAUNCHER_SCRIPT=$3;
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
_SCRIPT_FOLDER=$(realpath $(dirname $0));
_EXTRACTED_TARBALL_FOLDER=$_SCRIPT_FOLDER/foxgirl;
_SETTINGS_TAG=${SETTINGS_TAG:-'2.0'}
_SETTINGS_REPO='https://git.sakamoto.pl/domi/foxgirl-settings';
# Extracts the binary tarball
printf "\nExtracting librewolf binary tarball\n";
mkdir -p $_EXTRACTED_TARBALL_FOLDER
tar --strip-components=1 -xf $BINARY_TARBALL -C $_EXTRACTED_TARBALL_FOLDER
# Adds the librefox config files to the packaged tarball
printf "\nCopying librewolf settings to extracted binary tarball\n";
git clone $_SETTINGS_REPO $_EXTRACTED_TARBALL_FOLDER/settings;
cd $_EXTRACTED_TARBALL_FOLDER/settings
#git checkout $_SETTINGS_TAG
cd -
# no need to keep that in there:
rm -rf "${_EXTRACTED_TARBALL_FOLDER}/settings/.git";
cp $TOGGLE_SETTINGS_SCRIPT $_EXTRACTED_TARBALL_FOLDER/settings;
cp $LAUNCHER_SCRIPT $_EXTRACTED_TARBALL_FOLDER/launch_librewolf.sh;
# Somewhat crude workaround to use settings per default
# until we've worked out how to use `--install-settings` with links
# in all major packages instead
printf "\nWorkaround: auto-enable Settings\n"
cp -r $_EXTRACTED_TARBALL_FOLDER/settings/* $_EXTRACTED_TARBALL_FOLDER;
# Add distribution.ini
distini="$_EXTRACTED_TARBALL_FOLDER/distribution/distribution.ini"
install -Dvm644 /dev/stdin "$distini" <<END
[Global]
id=io.gitlab.librewolf-community
version=1.0
about=Foxgirl
[Preferences]
app.distributor="idk lmao"
app.distributor.channel=foxgirl
app.partner.librewolf=foxgirl
END
# Create Appstream metadate file
export DATE=$(date +%Y-%m-%d)
envsubst < ${_SCRIPT_FOLDER}/../content/io.gitlab.librewolf-community.appdata.xml.in > ${_EXTRACTED_TARBALL_FOLDER}/io.gitlab.librewolf-community.appdata.xml
# Repacks the binary tarball
printf "\nRecompressing binary tarball\n";
tar -jvcf $BINARY_TARBALL -C $_EXTRACTED_TARBALL_FOLDER .