Compare commits

...

187 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
44 changed files with 6225 additions and 1412 deletions

View file

@ -1,145 +1,36 @@
stages:
- build
- paks
variables:
GIT_SUBMODULE_STRATEGY: recursive
# variables:
# TARBALL: $TARBALL
# ARCH: $ARCH
# FLATPAK: $FLATPAK
# APPIMAGE: $FLATPAK
# variables:
# pkgver: $PKGVER
# pkgrel: $PKGREL
# AARCH64: $AARCH64
# X86_64: $X86_64
# download tarball if none available as artifact,
# ie. not built in the same pipeline run
# TARBALL_URL: $TARBALL_URL
# $RELEASE, to trigger deploy, maybe?
.carch_aarch64: &carch_aarch64
variables:
CARCH: 'aarch64'
.carch_x86_64: &carch_x86_64
variables:
CARCH: 'x86_64'
.tarball_build_config: &tarball_build_config
stage: build
script:
- ./binary_tarball/build_tarball.sh "${CI_PROJECT_DIR}/LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
artifacts:
name: "Librewolf-Tarball-${pkgver}-${pkgrel}-${CARCH}"
paths:
- "LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
.arch_build_config: &arch_build_config
stage: build
script:
- ./arch/01_build.sh
artifacts:
name: "Librewolf-Arch-${pkgver}-${pkgrel}-${CARCH}"
paths:
- "librewolf-${pkgver}-${pkgrel}-${CARCH}.pkg.tar*"
.flatpak_config: &flatpak_config
stage: paks
artifacts:
name: "Librewolf-${pkgver}-${pkgrel}-Flatpak-${CARCH}"
paths:
- "LibreWolf-${pkgver}-${pkgrel}.${CARCH}.flatpak"
- "${CI_PROJECT_DIR}/librewolf-${pkgver}-${pkgrel}.${CARCH}.flatpak-repo"
script:
- ./flatpak/build_flatpak.sh "${CI_PROJECT_DIR}/LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2" "${CI_PROJECT_DIR}/librewolf-${pkgver}-${pkgrel}.${CARCH}.flatpak-repo" "LibreWolf-${pkgver}-${pkgrel}.${CARCH}.flatpak"
.appimage_config: &appimage_config
stage: paks
artifacts:
name: "Librewolf-${pkgver}-${pkgrel}-AppImage-${CARCH}"
paths:
- "LibreWolf-${pkgver}-${pkgrel}.${CARCH}.AppImage"
script:
- ./appimage/build_appimage.sh "${CI_PROJECT_DIR}/LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2" "${CI_PROJECT_DIR}/LibreWolf-${pkgver}-${pkgrel}.${CARCH}.AppImage"
arch_x86_64:
image: archlinux/base
tags: [x86_64b]
<<: *carch_x86_64
<<: *arch_build_config
only:
variables:
- $ARCH && $X86_64
arch_aarch64:
image: registry.gitlab.com/ohfp/manjaro-arm-docker
tags: [aarch64b]
<<: *carch_aarch64
<<: *arch_build_config
only:
variables:
- $ARCH && $AARCH64
tarball_x86_64:
image: ubuntu:16.04
tags: [x86_64b]
<<: *carch_x86_64
<<: *tarball_build_config
only:
variables:
- $TARBALL && $X86_64
tarball_aarch64:
image: arm64v8/ubuntu:16.04
tags: [aarch64b]
<<: *carch_aarch64
<<: *tarball_build_config
only:
variables:
- $TARBALL && $AARCH64
flatpak_x86_64:
image: ubuntu:16.04
tags: [flat_runner]
cache:
image: ghcr.io/void-linux/void-linux:latest-thin-bb-x86_64
stage: build
script:
- 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: "Foxgirl-${pkgver}-${pkgrel}-${CARCH}"
paths:
- .flatpak-builder
key: flatpak_x86_64
<<: *carch_x86_64
<<: *flatpak_config
only:
variables:
- $FLATPAK && $X86_64
- "Foxgirl-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
flatpak_aarch64:
image: arm64v8/ubuntu:16.04
tags: [flat_runner_aarch64]
cache:
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: "Foxgirl-${pkgver}-${pkgrel}-${CARCH}_musl"
paths:
- .flatpak-builder
key: flatpak_aarch64
<<: *carch_aarch64
<<: *flatpak_config
only:
variables:
- $FLATPAK && $AARCH64
appimage_x86_64:
image: ubuntu:16.04
tags: [x86_64b]
<<: *carch_x86_64
<<: *appimage_config
only:
variables:
- $APPIMAGE && $X86_64
appimage_aarch64:
image: arm64v8/ubuntu:16.04
tags:
- arm64
<<: *carch_aarch64
<<: *appimage_config
only:
variables:
- $APPIMAGE && $AARCH64
- "Foxgirl-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"

3
.gitmodules vendored
View file

@ -1,3 +0,0 @@
[submodule "flatpak/content/shared-submodules"]
path = flatpak/content/shared-modules
url = https://github.com/flathub/shared-modules.git

View file

@ -7,6 +7,244 @@ 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
@ -25,7 +263,7 @@ This project follows the official Firefox releases, but also uses
### Added
- WebRTC enabled for `aarch64` builds
- WebRTC enabled for `aarch64` builds (`librewolf.cfg` still blocks it by default, intentionally)
### Fixed

288
PKGBUILD
View file

@ -1,288 +0,0 @@
# Maintainer: ohfp
# 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
# how to get ci vars instead?
pkgver=74.0
pkgrel=4
pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom."
arch=(x86_64 aarch64)
license=(MPL GPL LGPL)
url="https://librewolf-community.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)
source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
$pkgname.desktop
"git+https://gitlab.com/${pkgname}-community/browser/common.git"
"git+https://gitlab.com/${pkgname}-community/settings.git")
sha256sums=('74589c2836d7c30134636823c3caefbcaed0ea7c3abb2def9e3ddd9f86d9440a'
'0471d32366c6f415f7608b438ddeb10e2f998498c389217cdd6cc52e8249996b'
'SKIP'
'SKIP')
if [[ $CARCH == 'aarch64' ]]; then
source+=(arm.patch
https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch
https://gitlab.com/librewolf-community/browser/linux/-/raw/master/deb_patches/fix-armhf-webrtc-build.patch
https://gitlab.com/librewolf-community/browser/linux/-/raw/master/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch)
sha256sums+=('6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7'
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9'
'035c209c1a03d1ddd99016d2b5b6df035e3cd7ddfe78851f7376628aa1d8188a'
'3d8f6aa6d6602c765c640d9934c42bf627f9a77835908429c37cdcef4171d300')
fi
prepare() {
mkdir mozbuild
cd 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
ac_add_options --allow-addon-sideload
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-optimize="-g0 -O2"
# from ALARM
# ac_add_options --disable-webrtc
END
export MOZ_DEBUG_FLAGS=" "
export CFLAGS+=" -g0"
export CXXFLAGS+=" -g0"
export RUSTFLAGS="-Cdebuginfo=0"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
patch -p1 -i ../arm.patch
patch -p1 -i ../build-arm-libopus.patch
# do we need those for aarch64 as well?
patch -p1 -i ../fix-armhf-webrtc-build.patch
patch -p1 -i ../webrtc-fix-compiler-flags-for-armhf.patch
else
cat >>../mozconfig <<END
# probably not needed, enabled by default?
ac_add_options --enable-optimize
END
fi
# Disabling Pocket
sed -i "s/'pocket'/#'pocket'/g" browser/components/moz.build
# this one only to remove an annoying error message:
sed -i 's#SaveToPocket.init();#// SaveToPocket.init();#g' browser/components/BrowserGlue.jsm
# allow SearchEngines option in non-ESR builds
sed -i 's#"enterprise_only": true,#"enterprise_only": false,#g' browser/components/enterprisepolicies/schemas/policies-schema.json
rm -f ${srcdir}/common/source_files/mozconfig
cp -r ${srcdir}/common/source_files/* ./
}
build() {
cd firefox-$pkgver
export MOZ_NOSPAM=1
export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
# LTO needs more open files
ulimit -n 4096
# -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..."
if [[ $CARCH == 'aarch64' ]]; then
cat >.mozconfig ../mozconfig - <<END
ac_add_options --enable-profile-generate
END
else
cat >.mozconfig ../mozconfig - <<END
ac_add_options --enable-profile-generate=cross
END
fi
./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..."
if [[ $CARCH == 'aarch64' ]]; then
cat >.mozconfig ../mozconfig - <<END
ac_add_options --enable-lto
ac_add_options --enable-profile-use
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 - <<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
ac_add_options --enable-linker=gold
END
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 system-provided dictionaries
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
// Don't disable extensions in the application directory
// done in librewolf.cf
// 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
[Preferences]
app.distributor="LibreWolf Community"
app.distributor.channel=$pkgname
app.partner.librewolf=$pkgname
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,20 +1,14 @@
This Repository contains all the required material to build the browser on Linux platforms.
### Important
The following instructions are currently outdated. 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.
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.
### Requirements
* Ubuntu or Linux Mint (Bionic or later)
### 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,69 +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 wget bzip2 libdbus-glib-1-2
if [[ ! -z "${TARBALL_URL}" ]];then
wget "${TARBALL_URL}"
fi
if [[ ! -f "${BINARY_TARBALL}" ]];then
echo "Tarball not provided via pipeline or download."
exit 1
fi
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;
# add appstream metadata
install -Dvm644 "$_BINARY_TARBALL_EXTRACTED_FOLDER/io.gitlab.LibreWolf.appdata.xml" "$_BINARY_TARBALL_EXTRACTED_FOLDER/usr/share/metainfo/io.gitlab.LibreWolf.appdata.xml"
# add libdbus-glib-1.so.2, just in case
install -Dvm644 "/usr/lib/${CARCH}-linux-gnu/libdbus-glib-1.so.2" "$_BINARY_TARBALL_EXTRACTED_FOLDER/usr/lib/libdbus-glib-1.so."2
# 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.png

View file

@ -1,13 +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 MOZ_LEGACY_PROFILES=1 # Prevent per installation profiles
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,12 +0,0 @@
[Desktop Entry]
Name=LibreWolf
Exec=librewolf %u
Icon=librewolf
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;
StartupWMClass=LibreWolf
Categories=Network;WebBrowser;
StartupNotify=true
Terminal=false
X-MultipleArgs=false
Keywords=Internet;WWW;Browser;Web;Explorer

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View file

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

View file

@ -1,62 +0,0 @@
#!/bin/bash
printf "\n\n-------------------------------------- DEPENDENCY INSTALLATION ---------------------------------------------\n";
set -e
# Setup Script Variables
_DEPENDENCIES="wget git xvfb \
xz-utils \
gettext-base \
curl python3 libjack-dev \
python3-psutil python-psutil python3-dev python-dev \
autotools-dev \
autoconf2.13 \
zip \
libx11-dev \
libx11-xcb-dev \
libxt-dev \
libxext-dev \
libgtk2.0-dev \
libgtk-3-dev \
libglib2.0-dev \
libpango1.0-dev \
libfontconfig1-dev \
libfreetype6-dev \
libstartup-notification0-dev \
libasound2-dev \
libcurl4-openssl-dev \
libdbus-glib-1-dev \
hardening-wrapper \
lsb-release \
libiw-dev \
mesa-common-dev \
libnotify-dev \
libxrender-dev \
libpulse-dev \
yasm \
unzip \
dbus-x11 \
python \
cargo \
rustc \
nodejs-mozilla \
nasm-mozilla \
gcc-mozilla"
export DEBIAN_FRONTEND=noninteractive
# Installs Dependencies
printf "\nInstalling dependencies: $_DEPENDENCIES\n";
apt-get -qq update;
apt-get -y -qq install $_DEPENDENCIES;
if [[ $CARCH == 'x86_64' ]];then
# Installs (non-ancient) clang
apt install -y software-properties-common apt-transport-https ca-certificates
apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main"
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add
apt-get update
apt-get -y install clang-9 libclang-9-dev
else
apt-get -y install clang-8 libclang-8-dev
fi

View file

@ -1,133 +0,0 @@
#!/bin/bash
printf "\n\n------------------------------ FINAL PREBUILD CONFIGURATION ---------------------------------\n";
# Setup Script Variables
srcdir=$1;
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../../)}
_COMMON_REPO='https://gitlab.com/librewolf-community/browser/common.git';
_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;
cp -r common/source_files/* $srcdir/;
rm -rf common;
cd $srcdir
cat >${CI_PROJECT_DIR}/mozconfig <<END
ac_add_options --enable-application=browser
# to build on ubuntu and pick up clang
ac_add_options NODEJS=/usr/lib/nodejs-mozilla/bin/node
ac_add_options NASM=/usr/lib/nasm-mozilla/bin/nasm
# let's see if this works: make things backwards-compatible as much as possible
# TODO: check if this would also work when building on something newer to have it run on
# 16.04/xenial later on as well?
ac_add_options --enable-stdcxx-compat
# 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=librewolf
ac_add_options --with-app-basename=LibreWolf
ac_add_options --with-branding=browser/branding/librewolf
ac_add_options --with-distribution-id=io.gitlab.librewolf
ac_add_options --with-unsigned-addon-scopes=app,system
ac_add_options --allow-addon-sideload
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 >>${CI_PROJECT_DIR}/mozconfig <<END
# taken from manjaro build:
ac_add_options --enable-optimize="-g0 -O2"
# from ALARM
# should only fail on armv7x
# ac_add_options --disable-webrtc
export CC='clang-8'
export CXX='clang++-8'
export AR=llvm-ar-8
export NM=llvm-nm-8
export RANLIB=llvm-ranlib-8
END
export MOZ_DEBUG_FLAGS=" "
export CFLAGS+=" -g0"
export CXXFLAGS+=" -g0"
export RUSTFLAGS="-Cdebuginfo=0"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
patch -p1 -i ${CI_PROJECT_DIR}/arm.patch
wget https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch -O ${CI_PROJECT_DIR}/build-arm-libopus.patch
patch -p1 -i ${CI_PROJECT_DIR}/build-arm-libopus.patch
# might not even be needed for aarch64?
patch -p1 -i ${CI_PROJECT_DIR}/deb_patches/fix-armhf-webrtc-build.patch
patch -p1 -i ${CI_PROJECT_DIR}/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch
else
cat >>${CI_PROJECT_DIR}/mozconfig <<END
# ubuntu seems to recommend this
ac_add_options --disable-elf-hack
export CC='clang-9'
export CXX='clang++-9'
export AR=llvm-ar-9
export NM=llvm-nm-9
export RANLIB=llvm-ranlib-9
# probably not needed, enabled by default?
ac_add_options --enable-optimize
END
fi
# hopefully the magic sauce that makes things build on 16.04 and later on work "everywhere":
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/drop-check-glibc-symbols.patch"
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/build-with-libstdc++-7.patch"
# Disabling Pocket
printf "\nDisabling Pocket\n";
sed -i "s/'pocket'/#'pocket'/g" browser/components/moz.build
# this one only to remove an annoying error message:
sed -i 's#SaveToPocket.init();#// SaveToPocket.init();#g' browser/components/BrowserGlue.jsm
# allow SearchEngines option in non-ESR builds
sed -i 's#"enterprise_only": true,#"enterprise_only": false,#g' browser/components/enterprisepolicies/schemas/policies-schema.json

View file

@ -1,16 +0,0 @@
#!/bin/bash
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,21 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>io.gitlab.LibreWolf</id>
<launchable type="desktop-id">io.gitlab.LibreWolf</launchable>
<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><strong>LibreWolf</strong></p>
<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><strong>LibreWolf is NOT associated with Mozilla or its products.</strong></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>IJWY (I Just Want You To Shut Up): embedded server links and other calling home functions are removed. In other words, zero unauthorized or background connections by default.</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>
@ -36,7 +41,7 @@
<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</id>
<id>io.gitlab.librewolf-community</id>
</provides>
<content_rating type="oars-1.1" />
</component>

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

@ -1,36 +0,0 @@
Description: point clang to the toolchain provided by the gcc-mozilla package (version 7 required for C++ 17), and statically link against libstdc++
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
Bug-Ubuntu: https://launchpad.net/bugs/1856861
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -1387,6 +1387,9 @@ set_config('_DEPEND_CFLAGS', depend_cfla
set_config('_HOST_DEPEND_CFLAGS', depend_cflags(host_c_compiler))
+add_old_configure_assignment('CXXFLAGS', ['--gcc-toolchain=/usr/lib/gcc-mozilla'])
+
+
@depends(c_compiler)
def preprocess_option(compiler):
# The uses of PREPROCESS_OPTION depend on the spacing for -o/-Fi.
@@ -2074,7 +2074,7 @@
flags.append('-Wl,-syslibroot,%s' % macos_sdk)
else:
flags.append('-Wl,--sysroot=%s' % macos_sdk)
-
+ flags.append('-static-libstdc++')
return flags
--- a/servo/components/style/build_gecko.rs
+++ b/servo/components/style/build_gecko.rs
@@ -148,6 +148,8 @@ impl BuilderExt for Builder {
builder = builder.with_rustfmt(path);
}
+ builder = builder.clang_arg("--gcc-toolchain=/usr/lib/gcc-mozilla");
+
for dir in SEARCH_PATHS.iter() {
builder = builder.clang_arg("-I").clang_arg(dir.to_str().unwrap());
}

View file

@ -1,19 +0,0 @@
Description: Drop the glibc and stdcxx checks.
We're not compiling Firefox to run on a different version.
Author: Chris Coulson <chris.coulson@canonical.com>
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
Forwarded: not-needed
--- a/python/mozbuild/mozbuild/action/check_binary.py
+++ b/python/mozbuild/mozbuild/action/check_binary.py
@@ -296,9 +296,7 @@ def checks(target, binary):
target = HOST
checks = []
if target['MOZ_LIBSTDCXX_VERSION']:
- checks.append(check_stdcxx)
checks.append(check_libgcc)
- checks.append(check_glibc)
# Disabled for local builds because of readelf performance: See bug 1472496
if not buildconfig.substs.get('DEVELOPER_OPTIONS'):

View file

@ -1,59 +1,30 @@
diff -r 53fd96ca5aa4 media/webrtc/gn-configs/arm_False_arm_linux.json
--- a/media/webrtc/gn-configs/arm_False_arm_linux.json Sun Dec 09 23:42:51 2018 +0200
+++ b/media/webrtc/gn-configs/arm_False_arm_linux.json Mon Dec 10 10:40:13 2018 +0100
@@ -15969,9 +15969,7 @@
"/home/jenkins/workspace/Firefox-default/label/armv7/firefox/obj-armv7l-unknown-linux-gnueabihf/media/webrtc/trunk/webrtc/gn-output/gen/"
],
"libs": [],
- "sources": [
- "//system_wrappers/source/cpu_features_linux.c"
- ],
+ "sources": [],
"type": "static_library"
},
"//system_wrappers:field_trial_api": {
diff -r 53fd96ca5aa4 media/webrtc/gn-configs/arm_True_arm_linux.json
--- a/media/webrtc/gn-configs/arm_True_arm_linux.json Sun Dec 09 23:42:51 2018 +0200
+++ b/media/webrtc/gn-configs/arm_True_arm_linux.json Mon Dec 10 10:40:13 2018 +0100
@@ -15558,9 +15558,7 @@
"/home/jenkins/workspace/Firefox-default/label/armv7/firefox/obj-armv7l-unknown-linux-gnueabihf/media/webrtc/trunk/webrtc/gn-output/gen/"
],
"libs": [],
- "sources": [
- "//system_wrappers/source/cpu_features_linux.c"
- ],
+ "sources": [],
"type": "static_library"
},
"//system_wrappers:field_trial_api": {
diff -r 53fd96ca5aa4 media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linux_gn/moz.build
--- a/media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linux_gn/moz.build Sun Dec 09 23:42:51 2018 +0200
+++ b/media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linux_gn/moz.build Mon Dec 10 10:40:13 2018 +0100
@@ -31,10 +31,6 @@
"/media/webrtc/trunk/webrtc/"
--- 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 += [
- "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c"
- "/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 @@
@@ -53,20 +49,36 @@ if CONFIG["CPU_ARCH"] == "aarch64":
DEFINES["WEBRTC_ARCH_ARM64"] = True
DEFINES["WEBRTC_HAS_NEON"] = True
-if CONFIG["CPU_ARCH"] == "arm":
+ UNIFIED_SOURCES += [
+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c"
+ ]
-
- CFLAGS += [
- "-mfpu=neon"
- ]
+if CONFIG["CPU_ARCH"] == "arm":
+ 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
@ -61,7 +32,7 @@ diff -r 53fd96ca5aa4 media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linu
+if CONFIG["CPU_ARCH"] == "ppc64":
+
+ UNIFIED_SOURCES += [
+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c"
+ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
+ ]
+
if CONFIG["CPU_ARCH"] == "x86":
@ -71,13 +42,24 @@ diff -r 53fd96ca5aa4 media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linu
]
+ UNIFIED_SOURCES += [
+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c"
+ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c"
+ ]
+
+if CONFIG["CPU_ARCH"] == "x86_64":
+
+ UNIFIED_SOURCES += [
+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c"
+ "/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

@ -23,8 +23,8 @@
# For libyuv
gyp_vars['arm_version'] = int(CONFIG['ARM_ARCH'])
--- a/media/webrtc/trunk/webrtc/build/config/compiler/BUILD.gn
+++ b/media/webrtc/trunk/webrtc/build/config/compiler/BUILD.gn
--- 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 += [

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,77 +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.36 org.gnome.Sdk/${CARCH}/3.36";
_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;
if [[ ! -z "${TARBALL_URL}" ]];then
apt update && apt install -y wget
wget "${TARBALL_URL}"
fi
if [[ ! -f "${BINARY_TARBALL}" ]];then
echo "Tarball not provided via pipeline or download."
exit 1
fi
# 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 bzip2
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;
# add appstream metadata
# TODO: firefox uses files/share/appdata/ in their flatpak, but https://docs.flatpak.org/en/latest/conventions.html says otherwise. which is "more" correct?
install -Dvm644 "$_FLATPAK_BUILD_SOURCE_FOLDER/librewolf/io.gitlab.LibreWolf.appdata.xml" "$_FLATPAK_BUILD_FOLDER/files/share/metainfo/io.gitlab.LibreWolf.appdata.xml"
# add .desktop file
install -Dvm644 "$_SCRIPT_FOLDER/content/librewolf.desktop" "$_FLATPAK_BUILD_FOLDER/files/share/application/librewolf.desktop"
# it's not clear if the above is sufficient; follow what mozilla does
install -Dvm644 "$_SCRIPT_FOLDER/content/librewolf.desktop" "$_FLATPAK_BUILD_FOLDER/export/share/application/librewolf.desktop"
# 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;
# keep it cached
# 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,41 +0,0 @@
{
"app-id": "io.gitlab.LibreWolf",
"runtime": "org.gnome.Platform",
"runtime-version": "3.36",
"sdk": "org.gnome.Sdk",
"command": "librewolf",
"modules": [
"flatpak/content/shared-modules/dbus-glib/dbus-glib-0.110.json",
{
"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=pulseaudio",
"--persist=.librewolf",
"--filesystem=xdg-download:rw",
"--device=all",
"--talk-name=org.freedesktop.FileManager1",
"--system-talk-name=org.freedesktop.NetworkManager",
"--talk-name=org.a11y.Bus",
"--talk-name=org.gnome.SessionManager",
"--talk-name=org.freedesktop.ScreenSaver",
"--talk-name=org.gtk.vfs.*",
"--socket=wayland",
"--filesystem=home:rw",
"--share=network"
]
}

View file

@ -1,12 +0,0 @@
[Desktop Entry]
Name=LibreWolf
Exec=librewolf %u
Icon=librewolf
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;
StartupWMClass=LibreWolf
Categories=Network;WebBrowser;
StartupNotify=true
Terminal=false
X-MultipleArgs=false
Keywords=Internet;WWW;Browser;Web;Explorer

@ -1 +0,0 @@
Subproject commit 8ce6437c269ef28c49984c11246d27be433c21d5

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

@ -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,17 +1,20 @@
#!/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;
_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

View file

@ -1,11 +1,13 @@
#!/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="./obj*/dist/librewolf*.tar.bz2";
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
@ -14,6 +16,9 @@ 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
@ -31,13 +36,14 @@ 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 -Wl,--reduce-memory-overheads"
export LDFLAGS+=" -Wl,--no-keep-memory"
fi
# LTO needs more open files
@ -57,11 +63,10 @@ cd $srcdir;
rm -f mozconfig
# add cargo binary to path
# source /root/.cargo/env
# install cbindgen
cargo install cbindgen
#if [[ "$(/lib/libc.so)" != *"musl libc"* ]]; then
# cargo install --version 0.20.0 cbindgen
#fi
if [[ $CARCH == 'aarch64' ]]; then
@ -87,7 +92,7 @@ echo "Building symbol archive..."
# End "build()" equivalent.
# Packages the build into a binary tarball
printf "\nPackaging LibreWolf\n";
printf "\nPackaging\n";
./mach package;
# Moves the packaged tarball to the specified location

View file

@ -8,10 +8,11 @@ set -e;
BINARY_TARBALL=$1;
TOGGLE_SETTINGS_SCRIPT=$2;
LAUNCHER_SCRIPT=$3;
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../../)}
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
_SCRIPT_FOLDER=$(realpath $(dirname $0));
_EXTRACTED_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf;
_SETTINGS_REPO='https://gitlab.com/librewolf-community/settings.git';
_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";
@ -22,6 +23,9 @@ tar --strip-components=1 -xf $BINARY_TARBALL -C $_EXTRACTED_TARBALL_FOLDER
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;
@ -38,19 +42,19 @@ distini="$_EXTRACTED_TARBALL_FOLDER/distribution/distribution.ini"
install -Dvm644 /dev/stdin "$distini" <<END
[Global]
id=io.gitlab.LibreWolf
id=io.gitlab.librewolf-community
version=1.0
about=LibreWolf
about=Foxgirl
[Preferences]
app.distributor="LibreWolf Community"
app.distributor.channel=librewolf
app.partner.librewolf=librewolf
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.appdata.xml.in > ${_EXTRACTED_TARBALL_FOLDER}/io.gitlab.LibreWolf.appdata.xml
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";

View file

@ -1,43 +0,0 @@
# Pipeline
## Triggering
The pipeline can currently only triggered manually. The version and variants to be build need
to be specified via variables:
* **pkgver** is the upstream Firefox release version
* **pkgrel** is the "Arch-style" package version[^1]
* **TARBALL** should a tarball be built (on Ubuntu 16.04 Xenial at the time of writing)
* **ARCH** should an Arch package be built
* **FLATPAK** should a Flatpak be built from a Tarball
* **APPIMAGE** should an AppImage be built from a Tarball
* **AARCH64** build for `aarch64`
* **X86_64** build for `x86_64`
* **TARBALL_URL** provide a tarball download URL for Flatpak or AppImage builds if the tarball is not built in the same pipeline run
Builds can be combined, so a full run for `x86_64` and `aarch64` including Arch releases, tarball build and Appimage and FlatPak releases is possible.
Variables are either unset, or have to be set (to `true`).
### Browser
Pipelines can be manually triggered from https://gitlab.com/librewolf-community/browser/linux/pipelines/new
### Commandline
Triggering from the commandline is possible via curl, but a valid Gitlab token needs to be provided.
The following is an example that only builds the tarball and the Flatpak and AppImage for `x86_64`:
```bash
curl --header "PRIVATE-TOKEN: ${GITLAB_TOKEN}" \
--header "Content-Type: application/json" \
--data '{ "ref": "master", "variables": [ {"key": "TARBALL", "value": "true"}, {"key": "FLATPAK", "value": "true"}, {"key": "APPIMAGE", "value": "true"}, {"key": "pkgver", "value": "74.0"}, {"key": "pkgrel", "value": "3"}, {"key": "X86_64", "value": "true"} ] }' \
"https://gitlab.com/api/v4/projects/12829184/pipeline"
```
[^1]: *The release number. This is usually a positive integer number that allows to differentiate
between consecutive builds of the same version of a package. As fixes and additional features are
added to the PKGBUILD that influence the resulting package, the pkgrel should be incremented by 1.
When a new version of the software is released, this value must be reset to 1.*
https://wiki.archlinux.org/index.php/PKGBUILD#pkgrel