Compare commits
154 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
50465aa304 | ||
|
|
8f8120a4cf | ||
|
|
365d39cc01 | ||
|
|
78be0f398f | ||
|
|
178c4062b8 | ||
|
|
61617ebcaf | ||
|
|
e5e62517e9 | ||
|
|
155367a779 | ||
|
|
8b0b13b8be | ||
|
|
69e0b71cdf | ||
|
|
b9c9521cda | ||
|
|
d48ad7c2b4 | ||
|
|
21f8b6a752 | ||
|
|
5b0b89c8a5 | ||
|
|
8e7098bc0d | ||
|
|
354766fc0d | ||
|
|
d78c8c0c19 | ||
|
|
bf4e1d35f9 | ||
|
|
eac4c04053 | ||
|
|
01cc0ab5ad | ||
|
|
d4f54ef3bc | ||
|
|
16a1ab1eea | ||
|
|
7330076db4 | ||
|
|
5ed83bba12 | ||
|
|
fbd3e848a4 | ||
|
|
bb33c0f1a3 | ||
|
|
bf34ed54fe | ||
|
|
acbe3b45ea | ||
|
|
56946c0aa5 | ||
|
|
48f2710cb4 | ||
|
|
a73b878430 | ||
|
|
c18c0d8958 | ||
|
|
33182b609c | ||
|
|
5b88970517 | ||
|
|
76feb8fb78 | ||
|
|
fc16f6ba32 | ||
|
|
bdcbaeeeb8 | ||
|
|
43da076f7d | ||
|
|
1e29d4fbcf | ||
|
|
fe7ac699c8 | ||
|
|
957798916a | ||
|
|
33d481e09b | ||
|
|
a23f3c6390 | ||
|
|
436df47576 | ||
|
|
d56b020e95 | ||
|
|
434858650e | ||
|
|
17e1d6daf7 | ||
|
|
26d33367db | ||
|
|
ad9c9ecad4 | ||
|
|
f34e124596 | ||
|
|
bb4d2b8c3b | ||
|
|
abb2956b6d | ||
|
|
f6ff95a833 | ||
|
|
238b9d0c9f | ||
|
|
56b66d16f3 | ||
|
|
f78a1c2a36 | ||
|
|
5af20be933 | ||
|
|
5474baabed | ||
|
|
156fce08a1 | ||
|
|
25f3891908 | ||
|
|
743cb8ccf3 | ||
|
|
29bdf33a69 | ||
|
|
5308f573df | ||
|
|
d47b222401 | ||
|
|
de25ab61ed | ||
|
|
55617c3433 | ||
|
|
5d49ace775 | ||
|
|
ab559ab3f7 | ||
|
|
bb4152027b | ||
|
|
4db19b3317 | ||
|
|
b8677c649c | ||
|
|
a2061e3ef1 | ||
|
|
95feca84f5 | ||
|
|
5af02721e8 | ||
|
|
9e90fb3a9b | ||
|
|
062a454cf3 | ||
|
|
53ed43ecfe | ||
|
|
48ff5108bd | ||
|
|
7a39d56351 | ||
|
|
41ba7a5b6d | ||
|
|
456f23853d | ||
|
|
c3375c312e | ||
|
|
9320f90606 | ||
|
|
7b40f2a460 | ||
|
|
e123b80f7d | ||
|
|
fae3610290 | ||
|
|
4a3ece5b45 | ||
|
|
05b7ca3128 | ||
|
|
2b9bab23df | ||
|
|
f43e70c98c | ||
|
|
714bacdabe | ||
|
|
56827b45af | ||
|
|
d1a6eadd12 | ||
|
|
a4141e25ef | ||
|
|
462c963c29 | ||
|
|
14bf1d12dd | ||
|
|
4555d764c3 | ||
|
|
4f3ea8ae1b | ||
|
|
5d88f397b1 | ||
|
|
6cc0c98846 | ||
|
|
ba2a977285 | ||
|
|
11640262a6 | ||
|
|
0b0964887c | ||
|
|
b623874e96 | ||
|
|
dc73a4142a | ||
|
|
1b2e116139 | ||
|
|
e81be4dfbb | ||
|
|
e4852c5050 | ||
|
|
c539dbbfd2 | ||
|
|
11d4b95742 | ||
|
|
60cbb0acf5 | ||
|
|
8daeabffff | ||
|
|
3ab8dc47b0 | ||
|
|
ee7493428d | ||
|
|
b8c8f7ee12 | ||
|
|
3bbef3f822 | ||
|
|
f59ae4ac93 | ||
|
|
c398340adf | ||
|
|
4020a6ed0e | ||
|
|
b16649c000 | ||
|
|
9c0fcc0de5 | ||
|
|
561ff61674 | ||
|
|
ec78db8bcd | ||
|
|
45ca9415f5 | ||
|
|
fc47e34c8b | ||
|
|
8d686931d9 | ||
|
|
0b6f9419ee | ||
|
|
aa51ea96c7 | ||
|
|
b9049d7ba6 | ||
|
|
fcb0d9bed3 | ||
|
|
74e5882618 | ||
|
|
c66b73fe3b | ||
|
|
42d221db49 | ||
|
|
59bbaed348 | ||
|
|
d1dc5bfcff | ||
|
|
9499616e71 | ||
|
|
26d8096f17 | ||
|
|
ecef2148df | ||
|
|
b9fd2f5276 | ||
|
|
c2b4301f0c | ||
|
|
de92c7d752 | ||
|
|
08e8fe61af | ||
|
|
d78b766d14 | ||
|
|
88cb3f43bc | ||
|
|
d4eb092cfd | ||
|
|
23811d11c0 | ||
|
|
15333fb833 | ||
|
|
d73ef25178 | ||
|
|
702a1ce4d3 | ||
|
|
77de935ab3 | ||
|
|
8e45c334f5 | ||
|
|
e3c1afec18 | ||
|
|
be613fc53e | ||
|
|
fffe391367 |
47 changed files with 6408 additions and 1591 deletions
112
.gitlab-ci.yml
112
.gitlab-ci.yml
|
|
@ -1,22 +1,13 @@
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
- paks
|
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
GIT_SUBMODULE_STRATEGY: recursive
|
GIT_SUBMODULE_STRATEGY: recursive
|
||||||
# variables:
|
# variables:
|
||||||
# TARBALL: $TARBALL
|
|
||||||
# ARCH: $ARCH
|
|
||||||
# FLATPAK: $FLATPAK
|
|
||||||
# APPIMAGE: $FLATPAK
|
|
||||||
# pkgver: $PKGVER
|
# pkgver: $PKGVER
|
||||||
# pkgrel: $PKGREL
|
# pkgrel: $PKGREL
|
||||||
# AARCH64: $AARCH64
|
# AARCH64: $AARCH64
|
||||||
# X86_64: $X86_64
|
# 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
|
.carch_aarch64: &carch_aarch64
|
||||||
variables:
|
variables:
|
||||||
|
|
@ -29,117 +20,26 @@ variables:
|
||||||
.tarball_build_config: &tarball_build_config
|
.tarball_build_config: &tarball_build_config
|
||||||
stage: build
|
stage: build
|
||||||
script:
|
script:
|
||||||
- ./binary_tarball/build_tarball.sh "${CI_PROJECT_DIR}/LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
|
- ./build_tarball.sh "${CI_PROJECT_DIR}/LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
|
||||||
artifacts:
|
artifacts:
|
||||||
name: "Librewolf-Tarball-${pkgver}-${pkgrel}-${CARCH}"
|
name: "Librewolf-Tarball-${pkgver}-${pkgrel}-${CARCH}"
|
||||||
paths:
|
paths:
|
||||||
- "LibreWolf-${pkgver}-${pkgrel}.${CARCH}.tar.bz2"
|
- "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:
|
tarball_x86_64:
|
||||||
image: ubuntu:16.04
|
image: ubuntu:18.04
|
||||||
tags: [x86_64b]
|
tags: [x86_64b]
|
||||||
<<: *carch_x86_64
|
<<: *carch_x86_64
|
||||||
<<: *tarball_build_config
|
<<: *tarball_build_config
|
||||||
only:
|
only:
|
||||||
variables:
|
variables:
|
||||||
- $TARBALL && $X86_64
|
- $X86_64
|
||||||
|
|
||||||
tarball_aarch64:
|
tarball_aarch64:
|
||||||
image: arm64v8/ubuntu:16.04
|
image: arm64v8/ubuntu:18.04
|
||||||
tags: [aarch64b]
|
tags: [aarch64b]
|
||||||
<<: *carch_aarch64
|
<<: *carch_aarch64
|
||||||
<<: *tarball_build_config
|
<<: *tarball_build_config
|
||||||
only:
|
only:
|
||||||
variables:
|
variables:
|
||||||
- $TARBALL && $AARCH64
|
- $AARCH64
|
||||||
|
|
||||||
flatpak_x86_64:
|
|
||||||
image: ubuntu:16.04
|
|
||||||
tags: [flat_runner]
|
|
||||||
cache:
|
|
||||||
paths:
|
|
||||||
- .flatpak-builder
|
|
||||||
key: flatpak_x86_64
|
|
||||||
<<: *carch_x86_64
|
|
||||||
<<: *flatpak_config
|
|
||||||
only:
|
|
||||||
variables:
|
|
||||||
- $FLATPAK && $X86_64
|
|
||||||
|
|
||||||
flatpak_aarch64:
|
|
||||||
image: arm64v8/ubuntu:16.04
|
|
||||||
tags: [flat_runner_aarch64]
|
|
||||||
cache:
|
|
||||||
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
|
|
||||||
|
|
|
||||||
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -1,3 +0,0 @@
|
||||||
[submodule "flatpak/content/shared-submodules"]
|
|
||||||
path = flatpak/content/shared-modules
|
|
||||||
url = https://github.com/flathub/shared-modules.git
|
|
||||||
169
CHANGELOG.md
169
CHANGELOG.md
|
|
@ -7,6 +7,175 @@ 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
|
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.
|
[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
|
## [77.0.1-2] - 2020-06-08
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
|
||||||
369
KEY
Normal file
369
KEY
Normal file
|
|
@ -0,0 +1,369 @@
|
||||||
|
This file contains the PGP keys of various developers that work on
|
||||||
|
Mozilla and its subprojects (such as Firefox and Thunderbird).
|
||||||
|
|
||||||
|
Please realize that this file itself or the public key servers may be
|
||||||
|
compromised. You are encouraged to validate the authenticity of these keys in
|
||||||
|
an out-of-band manner.
|
||||||
|
|
||||||
|
Mozilla users: pgp < KEY
|
||||||
|
|
||||||
|
pub rsa4096 2015-07-17 [SC]
|
||||||
|
14F26682D0916CDD81E37B6D61B7B526D98F0353
|
||||||
|
uid [ full ] Mozilla Software Releases <release@mozilla.com>
|
||||||
|
sub rsa4096 2015-07-17 [S] [expired: 2017-07-16]
|
||||||
|
sub rsa4096 2017-06-22 [S] [expired: 2019-06-22]
|
||||||
|
sub rsa4096 2019-05-30 [S] [expires: 2021-05-29]
|
||||||
|
sub rsa4096 2021-05-17 [S] [expires: 2023-05-17]
|
||||||
|
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
=81zK
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
297
PKGBUILD
297
PKGBUILD
|
|
@ -1,297 +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=77.0.1
|
|
||||||
pkgrel=2
|
|
||||||
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 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_x86_64=(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"
|
|
||||||
"megabar.patch"
|
|
||||||
"remove_addons.patch")
|
|
||||||
source_aarch64=(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"
|
|
||||||
"megabar.patch"
|
|
||||||
"remove_addons.patch"
|
|
||||||
arm.patch
|
|
||||||
https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch)
|
|
||||||
|
|
||||||
sha256sums_x86_64=('54256fc5f8e9c2e8129ef84773fae31fcfdaf95da6d4d03151f3939e9f749640'
|
|
||||||
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
|
|
||||||
'SKIP'
|
|
||||||
'SKIP'
|
|
||||||
'305b3ac9b96430eb71035ddff558995268a88646d9b4ead50316b39af9da53c7'
|
|
||||||
'4425388d62cbb7ec3808926ae5e04021b17af8a0b6ba47c08a253ecfdcc264c0')
|
|
||||||
sha256sums_aarch64=('54256fc5f8e9c2e8129ef84773fae31fcfdaf95da6d4d03151f3939e9f749640'
|
|
||||||
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
|
|
||||||
'SKIP'
|
|
||||||
'SKIP'
|
|
||||||
'305b3ac9b96430eb71035ddff558995268a88646d9b4ead50316b39af9da53c7'
|
|
||||||
'4425388d62cbb7ec3808926ae5e04021b17af8a0b6ba47c08a253ecfdcc264c0'
|
|
||||||
'6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7'
|
|
||||||
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
# 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 [[ $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
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
cat >>../mozconfig <<END
|
|
||||||
# probably not needed, enabled by default?
|
|
||||||
ac_add_options --enable-optimize
|
|
||||||
END
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove some pre-installed addons that might be questionable
|
|
||||||
patch -p1 -i ../remove_addons.patch
|
|
||||||
|
|
||||||
# Disable (some) megabar functionality
|
|
||||||
# Adapted from https://github.com/WesleyBranton/userChrome.css-Customizations
|
|
||||||
patch -p1 -i ../megabar.patch
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Remove Internal Plugin Certificates
|
|
||||||
_cert_sed='s#if (aCert.organizationalUnit == "Mozilla [[:alpha:]]\+") {\n'
|
|
||||||
_cert_sed+='[[:blank:]]\+return AddonManager\.SIGNEDSTATE_[[:upper:]]\+;\n'
|
|
||||||
_cert_sed+='[[:blank:]]\+}#'
|
|
||||||
_cert_sed+='// NOTE: removed#g'
|
|
||||||
sed -z "$_cert_sed" -i toolkit/mozapps/extensions/internal/XPIInstall.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
|
|
||||||
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
|
|
||||||
|
|
||||||
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.cfg
|
|
||||||
// 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
|
|
||||||
}
|
|
||||||
24
README.md
24
README.md
|
|
@ -1,24 +1,14 @@
|
||||||
This Repository contains all the required material to build the browser on Linux platforms.
|
|
||||||
|
|
||||||
### Important
|
### Important
|
||||||
|
|
||||||
The following instructions are currently outdated. The build scripts are currently meant to be
|
The build scripts are currently meant to be run in a CI environment with Docker containers
|
||||||
run in a CI environment with Docker containers and gitlab-runners. Updated instructions for
|
and gitlab-runners. Updated instructions for local builds or setting up your own
|
||||||
local builds or setting up your own appropriate runners will be provided again in the future.
|
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
|
## Other builds
|
||||||
* [Gentoo](https://gitlab.com/librewolf-community/browser/gentoo)
|
* [Gentoo](https://gitlab.com/librewolf-community/browser/gentoo)
|
||||||
* [macOS](https://gitlab.com/librewolf-community/browser/macos)
|
* [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)
|
||||||
|
|
|
||||||
|
|
@ -1,70 +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"
|
|
||||||
rm -f "$_BINARY_TARBALL_EXTRACTED_FOLDER/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;
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
librewolf.png
|
|
||||||
|
|
@ -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}" "$@"
|
|
||||||
|
|
@ -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;application/pdf;application/json;
|
|
||||||
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 |
|
|
@ -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
|
|
||||||
|
|
@ -1,143 +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 --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 [[ $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
|
|
||||||
|
|
||||||
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"
|
|
||||||
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/drop-libstdcxx-check.patch"
|
|
||||||
|
|
||||||
# Remove some pre-installed addons that might be questionable
|
|
||||||
patch -p1 -i ${CI_PROJECT_DIR}/remove_addons.patch
|
|
||||||
|
|
||||||
# Disable (some) megabar functionality
|
|
||||||
# Adapted from https://github.com/WesleyBranton/userChrome.css-Customizations
|
|
||||||
patch -p1 -i ${CI_PROJECT_DIR}/megabar.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
|
|
||||||
|
|
||||||
# Remove Internal Plugin Certificates
|
|
||||||
_cert_sed='s#if (aCert.organizationalUnit == "Mozilla [[:alpha:]]\+") {\n'
|
|
||||||
_cert_sed+='[[:blank:]]\+return AddonManager\.SIGNEDSTATE_[[:upper:]]\+;\n'
|
|
||||||
_cert_sed+='[[:blank:]]\+}#'
|
|
||||||
_cert_sed+='// NOTE: removed#g'
|
|
||||||
sed -z "$_cert_sed" -i toolkit/mozapps/extensions/internal/XPIInstall.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
|
|
||||||
16
build.sh
16
build.sh
|
|
@ -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;
|
|
||||||
|
|
@ -1,21 +1,26 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<component type="desktop-application">
|
<component type="desktop-application">
|
||||||
<id>io.gitlab.LibreWolf</id>
|
<id>io.gitlab.librewolf-community</id>
|
||||||
<launchable type="desktop-id">io.gitlab.LibreWolf</launchable>
|
<launchable type="desktop-id">io.gitlab.librewolf-community.desktop</launchable>
|
||||||
<name>LibreWolf</name>
|
<name>LibreWolf</name>
|
||||||
|
<developer_name>LibreWolf Community</developer_name>
|
||||||
<summary>LibreWolf Web Browser</summary>
|
<summary>LibreWolf Web Browser</summary>
|
||||||
<metadata_license>CC0-1.0</metadata_license>
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
<project_license>MPL-2.0</project_license>
|
<project_license>MPL-2.0</project_license>
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default">
|
||||||
|
<image type="source" width="1121" height="902">https://librewolf.net/screenshot.png</image>
|
||||||
|
</screenshot>
|
||||||
|
</screenshots>
|
||||||
<description>
|
<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>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 Firefox’s integrated addons that don’t respect privacy are removed).</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 Firefox’s integrated addons that don’t 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>
|
<p>Features:</p>
|
||||||
<ul>
|
<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>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>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>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>LibreWolf-addons: set of optional LibreWolf extensions</li>
|
||||||
<li>Statistics disabled: telemetry and similar functions are disabled</li>
|
<li>Statistics disabled: telemetry and similar functions are disabled</li>
|
||||||
|
|
@ -33,10 +38,10 @@
|
||||||
<keyword>internet</keyword>
|
<keyword>internet</keyword>
|
||||||
<keyword>web</keyword>
|
<keyword>web</keyword>
|
||||||
</keywords>
|
</keywords>
|
||||||
<url type="homepage">https://librewolf-community.gitlab.io/</url>
|
<url type="homepage">https://librewolf.net/</url>
|
||||||
<url type="bugtracker">https://gitlab.com/groups/librewolf-community/-/issues/</url>
|
<url type="bugtracker">https://gitlab.com/groups/librewolf-community/-/issues/</url>
|
||||||
<provides>
|
<provides>
|
||||||
<id>io.gitlab.LibreWolf</id>
|
<id>io.gitlab.librewolf-community</id>
|
||||||
</provides>
|
</provides>
|
||||||
<content_rating type="oars-1.1" />
|
<content_rating type="oars-1.1" />
|
||||||
</component>
|
</component>
|
||||||
35
deb_patches/armhf-reduce-linker-memory-use.patch
Normal file
35
deb_patches/armhf-reduce-linker-memory-use.patch
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
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
|
||||||
|
@@ -1699,6 +1699,7 @@
|
||||||
|
android_platform,
|
||||||
|
c_compiler,
|
||||||
|
developer_options,
|
||||||
|
+ host,
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
deps = depends_if(
|
||||||
|
@@ -1709,6 +1710,7 @@
|
||||||
|
dependable(None),
|
||||||
|
host_c_compiler,
|
||||||
|
developer_options,
|
||||||
|
+ host,
|
||||||
|
)
|
||||||
|
|
||||||
|
@deps
|
||||||
|
@@ -1721,8 +1723,11 @@
|
||||||
|
android_platform,
|
||||||
|
c_compiler,
|
||||||
|
developer_options,
|
||||||
|
+ 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"):
|
||||||
|
|
@ -1,56 +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
|
|
||||||
@@ -1433,6 +1433,9 @@ set_config('_DEPEND_CFLAGS', depend_cflags(c_compiler))
|
|
||||||
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.
|
|
||||||
@@ -2125,7 +2128,7 @@ def linker_ldflags(linker, macos_sdk):
|
|
||||||
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
|
|
||||||
@@ -149,6 +149,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());
|
|
||||||
}
|
|
||||||
--- a/build/unix/stdc++compat/moz.build
|
|
||||||
+++ b/build/unix/stdc++compat/moz.build
|
|
||||||
@@ -24,4 +24,7 @@ COMPILE_FLAGS['CLANG_PLUGIN'] = []
|
|
||||||
DEFINES['MOZ_LIBSTDCXX_VERSION'] = CONFIG['MOZ_LIBSTDCXX_TARGET_VERSION']
|
|
||||||
HOST_DEFINES['MOZ_LIBSTDCXX_VERSION'] = CONFIG['MOZ_LIBSTDCXX_HOST_VERSION']
|
|
||||||
|
|
||||||
+CXXFLAGS += ['--gcc-toolchain=/usr/lib/gcc-mozilla']
|
|
||||||
+HOST_CXXFLAGS += ['--gcc-toolchain=/usr/lib/gcc-mozilla']
|
|
||||||
+
|
|
||||||
OS_LIBS += ['-Wl,--version-script,%s/hide_std.ld' % SRCDIR]
|
|
||||||
--- a/layout/style/test/moz.build
|
|
||||||
+++ b/layout/style/test/moz.build
|
|
||||||
@@ -18,6 +18,7 @@ DIRS += ['gtest']
|
|
||||||
HostSimplePrograms([
|
|
||||||
'host_ListCSSProperties',
|
|
||||||
])
|
|
||||||
+HOST_CXXFLAGS += ['--gcc-toolchain=/usr/lib/gcc-mozilla']
|
|
||||||
|
|
||||||
MOCHITEST_MANIFESTS += [
|
|
||||||
'mochitest.ini',
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
diff --git a/python/mozbuild/mozbuild/action/check_binary.py b/python/mozbuild/mozbuild/action/check_binary.py
|
|
||||||
index d85536f..1ce1305 100644
|
|
||||||
--- a/python/mozbuild/mozbuild/action/check_binary.py
|
|
||||||
+++ b/python/mozbuild/mozbuild/action/check_binary.py
|
|
||||||
@@ -293,9 +293,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'):
|
|
||||||
|
|
@ -1,75 +0,0 @@
|
||||||
diff -r 55f4a0a504e4 build/moz.configure/toolchain.configure
|
|
||||||
--- a/build/moz.configure/toolchain.configure Wed Mar 18 05:41:31 2020 +0000
|
|
||||||
+++ b/build/moz.configure/toolchain.configure Wed Mar 18 07:15:55 2020 +0100
|
|
||||||
@@ -886,10 +886,6 @@
|
|
||||||
return []
|
|
||||||
|
|
||||||
|
|
||||||
-def minimum_gcc_version():
|
|
||||||
- return Version('7.1.0')
|
|
||||||
-
|
|
||||||
-
|
|
||||||
@template
|
|
||||||
def compiler(language, host_or_target, c_compiler=None, other_compiler=None,
|
|
||||||
other_c_compiler=None):
|
|
||||||
@@ -1016,11 +1012,10 @@
|
|
||||||
if host_or_target.os == 'Android':
|
|
||||||
raise FatalCheckError('GCC is not supported on Android.\n'
|
|
||||||
'Please use clang from the Android NDK instead.')
|
|
||||||
- gcc_version = minimum_gcc_version()
|
|
||||||
- if info.version < gcc_version:
|
|
||||||
+ if info.version < '7.1.0':
|
|
||||||
raise FatalCheckError(
|
|
||||||
- 'Only GCC %d.%d or newer is supported (found version %s).'
|
|
||||||
- % (gcc_version.major, gcc_version.minor, info.version))
|
|
||||||
+ 'Only GCC 7.1 or newer is supported (found version %s).'
|
|
||||||
+ % info.version)
|
|
||||||
|
|
||||||
if info.type == 'clang-cl':
|
|
||||||
if info.version < '8.0.0':
|
|
||||||
@@ -1218,45 +1213,6 @@
|
|
||||||
'about the target bitness.')
|
|
||||||
|
|
||||||
|
|
||||||
-@depends(cxx_compiler, target)
|
|
||||||
-def needs_libstdcxx_newness_check(cxx_compiler, target):
|
|
||||||
- # We only have to care about this on Linux and MinGW.
|
|
||||||
- if cxx_compiler.type == 'clang-cl':
|
|
||||||
- return
|
|
||||||
-
|
|
||||||
- if target.kernel not in ('Linux', 'WINNT'):
|
|
||||||
- return
|
|
||||||
-
|
|
||||||
- if target.os == 'Android':
|
|
||||||
- return
|
|
||||||
-
|
|
||||||
- return True
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-def die_on_old_libstdcxx():
|
|
||||||
- die('The libstdc++ in use is not new enough. Please run '
|
|
||||||
- './mach bootstrap to update your compiler, or update your system '
|
|
||||||
- 'libstdc++ installation.')
|
|
||||||
-
|
|
||||||
-try_compile(includes=['cstddef'],
|
|
||||||
- body='\n'.join([
|
|
||||||
- # _GLIBCXX_RELEASE showed up in libstdc++ 7.
|
|
||||||
- '#if defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE)',
|
|
||||||
- '# error libstdc++ not new enough',
|
|
||||||
- '#endif',
|
|
||||||
- '#if defined(_GLIBCXX_RELEASE)',
|
|
||||||
- '# if _GLIBCXX_RELEASE < %d' % minimum_gcc_version().major,
|
|
||||||
- '# error libstdc++ not new enough',
|
|
||||||
- '# else',
|
|
||||||
- ' (void) 0',
|
|
||||||
- '# endif',
|
|
||||||
- '#endif',
|
|
||||||
- ]),
|
|
||||||
- check_msg='for new enough STL headers from libstdc++',
|
|
||||||
- when=needs_libstdcxx_newness_check,
|
|
||||||
- onerror=die_on_old_libstdcxx)
|
|
||||||
-
|
|
||||||
-
|
|
||||||
@depends(c_compiler, target)
|
|
||||||
def default_debug_flags(compiler_info, target):
|
|
||||||
# Debug info is ON by default.
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
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/"
|
|
||||||
]
|
|
||||||
|
|
||||||
-UNIFIED_SOURCES += [
|
|
||||||
- "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c"
|
|
||||||
-]
|
|
||||||
-
|
|
||||||
if not CONFIG["MOZ_DEBUG"]:
|
|
||||||
|
|
||||||
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "0"
|
|
||||||
@@ -53,20 +49,36 @@
|
|
||||||
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":
|
|
||||||
|
|
||||||
DEFINES["WEBRTC_ARCH_ARM"] = True
|
|
||||||
DEFINES["WEBRTC_ARCH_ARM_V7"] = True
|
|
||||||
DEFINES["WEBRTC_HAS_NEON"] = True
|
|
||||||
|
|
||||||
+if CONFIG["CPU_ARCH"] == "ppc64":
|
|
||||||
+
|
|
||||||
+ UNIFIED_SOURCES += [
|
|
||||||
+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c"
|
|
||||||
+ ]
|
|
||||||
+
|
|
||||||
if CONFIG["CPU_ARCH"] == "x86":
|
|
||||||
|
|
||||||
CFLAGS += [
|
|
||||||
"-msse2"
|
|
||||||
]
|
|
||||||
|
|
||||||
+ UNIFIED_SOURCES += [
|
|
||||||
+ "/media/webrtc/trunk/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"
|
|
||||||
+ ]
|
|
||||||
+
|
|
||||||
Library("cpu_features_linux_gn")
|
|
||||||
17
deb_patches/fix-ftbfs-newer-cbindgen.patch
Normal file
17
deb_patches/fix-ftbfs-newer-cbindgen.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
Description: Remove an extra constant definition that is now being generated by newer versions of cbindgen (0.24),
|
||||||
|
and causing build failures because it is defined in several places.
|
||||||
|
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||||
|
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1773259
|
||||||
|
Forwarded: not-needed
|
||||||
|
|
||||||
|
--- a/gfx/webrender_bindings/webrender_ffi.h
|
||||||
|
+++ b/gfx/webrender_bindings/webrender_ffi.h
|
||||||
|
@@ -73,8 +73,6 @@ struct WrPipelineInfo;
|
||||||
|
struct WrPipelineIdAndEpoch;
|
||||||
|
using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>;
|
||||||
|
|
||||||
|
-const uint64_t ROOT_CLIP_CHAIN = ~0;
|
||||||
|
-
|
||||||
|
} // namespace wr
|
||||||
|
} // namespace mozilla
|
||||||
|
|
||||||
19
deb_patches/fix-wayland-build.patch
Normal file
19
deb_patches/fix-wayland-build.patch
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
Description: Fix FTBFS on bionic. Compiler errors:
|
||||||
|
In file included from Unified_cpp_widget_gtk1.cpp:2:
|
||||||
|
/<<BUILDDIR>>/firefox-92.0~b2+build1/widget/gtk/WaylandBuffer.cpp:261:39: error: unknown type name 'GLContext'; did you mean 'EGLContext'?
|
||||||
|
const LayoutDeviceIntSize& aSize, GLContext* aGL) {
|
||||||
|
^~~~~~~~~
|
||||||
|
|
||||||
|
Author: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||||
|
|
||||||
|
--- a/widget/gtk/WaylandBuffer.cpp
|
||||||
|
+++ b/widget/gtk/WaylandBuffer.cpp
|
||||||
|
@@ -258,7 +258,7 @@
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
RefPtr<WaylandBufferDMABUF> WaylandBufferDMABUF::Create(
|
||||||
|
- const LayoutDeviceIntSize& aSize, GLContext* aGL) {
|
||||||
|
+ const LayoutDeviceIntSize& aSize, gl::GLContext* aGL) {
|
||||||
|
RefPtr<WaylandBufferDMABUF> buffer = new WaylandBufferDMABUF(aSize);
|
||||||
|
|
||||||
|
const auto flags =
|
||||||
21
deb_patches/reduce-rust-debuginfo.patch
Normal file
21
deb_patches/reduce-rust-debuginfo.patch
Normal 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 = []
|
||||||
|
|
||||||
13
deb_patches/use-system-icupkg.patch
Normal file
13
deb_patches/use-system-icupkg.patch
Normal 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,
|
||||||
|
]
|
||||||
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
# Description: Don't pass -mfloat-abi=softfp on armhf
|
|
||||||
# Author: Chris Coulson <chris.coulson@canonical.com>
|
|
||||||
# Forwarded: no
|
|
||||||
|
|
||||||
--- a/build/gyp.mozbuild
|
|
||||||
+++ b/build/gyp.mozbuild
|
|
||||||
@@ -107,9 +107,15 @@ if CONFIG['ARM_ARCH']:
|
|
||||||
gyp_vars['arm_neon'] = 1
|
|
||||||
gyp_vars['build_with_neon'] = 1
|
|
||||||
else:
|
|
||||||
- # CPU detection for ARM works on Android only. armv7 always uses CPU
|
|
||||||
- # detection, so we have to set armv7=0 for non-Android target
|
|
||||||
- gyp_vars['armv7'] = 0
|
|
||||||
+ gyp_vars['armv7'] = 1
|
|
||||||
+ # We enable NEON for Ubuntu armhf. Note that these don't really
|
|
||||||
+ # have any effect here as NEON is hardcoded on in
|
|
||||||
+ # media/webrtc/trunk/webrtc/build/common.gypi. Disabling these
|
|
||||||
+ # without fixing that file will result in a link failure, as
|
|
||||||
+ # targets hidden behind the build_with_neon flag don't get
|
|
||||||
+ # built but WEBRTC_HAS_NEON is still defined
|
|
||||||
+ gyp_vars['arm_neon'] = 1
|
|
||||||
+ gyp_vars['build_with_neon'] = 1
|
|
||||||
# For libyuv
|
|
||||||
gyp_vars['arm_version'] = int(CONFIG['ARM_ARCH'])
|
|
||||||
|
|
||||||
--- a/media/webrtc/trunk/webrtc/build/config/compiler/BUILD.gn
|
|
||||||
+++ b/media/webrtc/trunk/webrtc/build/config/compiler/BUILD.gn
|
|
||||||
@@ -590,7 +590,6 @@ config("compiler_cpu_abi") {
|
|
||||||
if (!is_nacl) {
|
|
||||||
cflags += [
|
|
||||||
"-march=$arm_arch",
|
|
||||||
- "-mfloat-abi=$arm_float_abi",
|
|
||||||
]
|
|
||||||
}
|
|
||||||
if (arm_tune != "") {
|
|
||||||
24
deprecated_patches/context-menu.patch
Normal file
24
deprecated_patches/context-menu.patch
Normal 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"
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
diff --git a/browser/components/urlbar/UrlbarInput.jsm b/browser/components/urlbar/UrlbarInput.jsm
|
diff --git a/browser/components/urlbar/UrlbarInput.jsm b/browser/components/urlbar/UrlbarInput.jsm
|
||||||
index c557a10..e2c20af 100644
|
index 73d15df..99cc41b 100644
|
||||||
--- a/browser/components/urlbar/UrlbarInput.jsm
|
--- a/browser/components/urlbar/UrlbarInput.jsm
|
||||||
+++ b/browser/components/urlbar/UrlbarInput.jsm
|
+++ b/browser/components/urlbar/UrlbarInput.jsm
|
||||||
@@ -1090,13 +1090,13 @@ class UrlbarInput {
|
@@ -1692,13 +1692,13 @@ class UrlbarInput {
|
||||||
|
|
||||||
// Enable the animation only after the first extend call to ensure it
|
// Enable the animation only after the first extend call to ensure it
|
||||||
// doesn't run when opening a new window.
|
// doesn't run when opening a new window.
|
||||||
|
|
@ -23,67 +23,20 @@ index c557a10..e2c20af 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
endLayoutExtend() {
|
endLayoutExtend() {
|
||||||
diff --git a/browser/themes/shared/urlbar-autocomplete.inc.css b/browser/themes/shared/urlbar-autocomplete.inc.css
|
|
||||||
index 13a4595..eda7bdf 100644
|
|
||||||
--- a/browser/themes/shared/urlbar-autocomplete.inc.css
|
|
||||||
+++ b/browser/themes/shared/urlbar-autocomplete.inc.css
|
|
||||||
@@ -48,8 +48,8 @@
|
|
||||||
display: block;
|
|
||||||
text-shadow: none;
|
|
||||||
overflow: -moz-hidden-unscrollable;
|
|
||||||
- margin-inline: @urlbarViewMarginInline@;
|
|
||||||
- width: calc(100% - 2 * @urlbarViewMarginInline@);
|
|
||||||
+ margin-inline: 0;
|
|
||||||
+ width: 100%;
|
|
||||||
|
|
||||||
/* Match urlbar-background's border. */
|
|
||||||
border-inline: 1px solid transparent;
|
|
||||||
@@ -72,7 +72,7 @@
|
|
||||||
.urlbarView-row {
|
|
||||||
fill: currentColor;
|
|
||||||
fill-opacity: .6;
|
|
||||||
- padding-block: 3px;
|
|
||||||
+ padding-block: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.urlbarView-row-inner {
|
|
||||||
@@ -179,6 +179,7 @@
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: contain;
|
|
||||||
-moz-context-properties: fill, fill-opacity;
|
|
||||||
+ margin-inline-start: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-resolution: 2dppx) {
|
|
||||||
@@ -200,10 +201,10 @@
|
|
||||||
|
|
||||||
.urlbarView-type-icon {
|
|
||||||
position: absolute;
|
|
||||||
- min-width: 12px;
|
|
||||||
- height: 12px;
|
|
||||||
- margin-bottom: -4px;
|
|
||||||
- margin-inline-start: 8px;
|
|
||||||
+ min-width: 16px;
|
|
||||||
+ height: 16px;
|
|
||||||
+ margin-bottom: 0;
|
|
||||||
+ margin-inline-start: 0;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: contain;
|
|
||||||
-moz-context-properties: fill, stroke;
|
|
||||||
diff --git a/browser/themes/shared/urlbar-searchbar.inc.css b/browser/themes/shared/urlbar-searchbar.inc.css
|
diff --git a/browser/themes/shared/urlbar-searchbar.inc.css b/browser/themes/shared/urlbar-searchbar.inc.css
|
||||||
index 5d5a3d1..4e84a7f 100644
|
index e9fde8b..6c4c444 100644
|
||||||
--- a/browser/themes/shared/urlbar-searchbar.inc.css
|
--- a/browser/themes/shared/urlbar-searchbar.inc.css
|
||||||
+++ b/browser/themes/shared/urlbar-searchbar.inc.css
|
+++ b/browser/themes/shared/urlbar-searchbar.inc.css
|
||||||
@@ -6,7 +6,7 @@
|
@@ -5,7 +5,7 @@
|
||||||
|
%endif
|
||||||
|
|
||||||
%define fieldBorderColor hsla(240,5%,5%,.25)
|
|
||||||
%define fieldHoverBorderColor hsla(240,5%,5%,.35)
|
%define fieldHoverBorderColor hsla(240,5%,5%,.35)
|
||||||
-%define urlbarMarginInline 5px
|
-%define urlbarMarginInline 5px
|
||||||
+%define urlbarMarginInline 0px
|
+%define urlbarMarginInline 0px
|
||||||
%define urlbarSearchButtonWidth calc(16px + 2 * @identityBoxPaddingInline@)
|
%define urlbarSearchButtonWidth calc(16px + 2 * var(--urlbar-icon-padding))
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
@@ -196,13 +196,13 @@
|
@@ -273,9 +273,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[breakout][breakout-extend] {
|
#urlbar[breakout][breakout-extend] {
|
||||||
|
|
@ -95,14 +48,18 @@ index 5d5a3d1..4e84a7f 100644
|
||||||
+ width: 100%;
|
+ 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 {
|
#urlbar[breakout][breakout-extend] > #urlbar-background {
|
||||||
- box-shadow: 0 3px 8px 0 rgba(0,0,0,.15)
|
- box-shadow: 0 3px 8px 0 rgba(0,0,0,.15)
|
||||||
+ box-shadow: 0 1px 4px rgba(0,0,0,.05);
|
+ box-shadow: 0 1px 4px rgba(0,0,0,.05);
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[breakout][breakout-extend][open] > #urlbar-background {
|
#urlbar[breakout][breakout-extend][open] > #urlbar-background {
|
||||||
@@ -210,9 +210,9 @@
|
@@ -297,9 +297,9 @@
|
||||||
}
|
} /*** END !proton ***/
|
||||||
|
|
||||||
#urlbar[breakout][breakout-extend] > #urlbar-input-container {
|
#urlbar[breakout][breakout-extend] > #urlbar-input-container {
|
||||||
- height: calc(var(--urlbar-toolbar-height) + 2 * @urlbarBreakoutExtend@);
|
- height: calc(var(--urlbar-toolbar-height) + 2 * @urlbarBreakoutExtend@);
|
||||||
|
|
@ -113,8 +70,8 @@ index 5d5a3d1..4e84a7f 100644
|
||||||
+ padding-inline: 0;
|
+ padding-inline: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar.searchButton[breakout][breakout-extend] > #urlbar-input-container > #urlbar-search-button {
|
@supports -moz-bool-pref("browser.proton.urlbar.enabled") {
|
||||||
@@ -230,7 +230,7 @@
|
@@ -325,7 +325,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#urlbar[breakout][breakout-extend] > #urlbar-background {
|
#urlbar[breakout][breakout-extend] > #urlbar-background {
|
||||||
|
|
@ -123,3 +80,50 @@ index 5d5a3d1..4e84a7f 100644
|
||||||
animation-duration: 0s;
|
animation-duration: 0s;
|
||||||
animation-timing-function: var(--animation-easing-function);
|
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;
|
||||||
16
deprecated_patches/mozilla-vpn-ad.patch
Normal file
16
deprecated_patches/mozilla-vpn-ad.patch
Normal 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>
|
||||||
|
|
@ -1,31 +1,30 @@
|
||||||
diff --git a/browser/extensions/moz.build b/browser/extensions/moz.build
|
diff --git a/browser/extensions/moz.build b/browser/extensions/moz.build
|
||||||
index 4c9fa78..095d199 100644
|
index 269dcb2..ed7c31d 100644
|
||||||
--- a/browser/extensions/moz.build
|
--- a/browser/extensions/moz.build
|
||||||
+++ b/browser/extensions/moz.build
|
+++ b/browser/extensions/moz.build
|
||||||
@@ -5,10 +5,7 @@
|
@@ -5,10 +5,7 @@
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
DIRS += [
|
DIRS += [
|
||||||
- 'doh-rollout',
|
- "doh-rollout",
|
||||||
'formautofill',
|
"formautofill",
|
||||||
'pdfjs',
|
"screenshots",
|
||||||
- 'screenshots',
|
- "webcompat",
|
||||||
- 'webcompat',
|
- "report-site-issue",
|
||||||
- 'report-site-issue'
|
"pictureinpicture",
|
||||||
+ 'screenshots'
|
|
||||||
]
|
]
|
||||||
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
|
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
|
||||||
index 05f0242..7c9737a 100644
|
index 496379c..dd6f359 100644
|
||||||
--- a/browser/locales/Makefile.in
|
--- a/browser/locales/Makefile.in
|
||||||
+++ b/browser/locales/Makefile.in
|
+++ b/browser/locales/Makefile.in
|
||||||
@@ -61,7 +61,6 @@ libs-%:
|
@@ -61,7 +61,6 @@ l10n-%:
|
||||||
ifneq (,$(wildcard ../extensions/formautofill/locales))
|
ifneq (,$(wildcard ../extensions/formautofill/locales))
|
||||||
@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
|
@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
|
||||||
endif
|
endif
|
||||||
- @$(MAKE) -C ../extensions/report-site-issue/locales AB_CD=$* XPI_NAME=locale-$*
|
- @$(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/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) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
|
||||||
@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
|
@$(MAKE) l10n AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
|
||||||
@@ -82,7 +81,6 @@ endif
|
@@ -82,7 +81,6 @@ endif
|
||||||
@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
|
@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
|
||||||
@$(MAKE) chrome AB_CD=$*
|
@$(MAKE) chrome AB_CD=$*
|
||||||
|
|
@ -35,10 +34,10 @@ index 05f0242..7c9737a 100644
|
||||||
package-win32-installer: $(SUBMAKEFILES)
|
package-win32-installer: $(SUBMAKEFILES)
|
||||||
$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer
|
$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer
|
||||||
diff --git a/browser/locales/filter.py b/browser/locales/filter.py
|
diff --git a/browser/locales/filter.py b/browser/locales/filter.py
|
||||||
index 1fc9b14..d8a9ee2 100755
|
index bb2e992..7d7768e 100644
|
||||||
--- a/browser/locales/filter.py
|
--- a/browser/locales/filter.py
|
||||||
+++ b/browser/locales/filter.py
|
+++ b/browser/locales/filter.py
|
||||||
@@ -13,7 +13,6 @@ def test(mod, path, entity=None):
|
@@ -20,7 +20,6 @@ def test(mod, path, entity=None):
|
||||||
"browser",
|
"browser",
|
||||||
"browser/extensions/formautofill",
|
"browser/extensions/formautofill",
|
||||||
"browser/extensions/fxmonitor",
|
"browser/extensions/fxmonitor",
|
||||||
|
|
@ -59,17 +58,13 @@ index f4cb7ca..4efac13 100644
|
||||||
[includes]
|
[includes]
|
||||||
# non-central apps might want to use %(topsrcdir)s here, or other vars
|
# 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
|
diff --git a/browser/locales/l10n.toml b/browser/locales/l10n.toml
|
||||||
index 0b53c52..f8b605d 100644
|
index b9b18fe..af7c583 100644
|
||||||
--- a/browser/locales/l10n.toml
|
--- a/browser/locales/l10n.toml
|
||||||
+++ b/browser/locales/l10n.toml
|
+++ b/browser/locales/l10n.toml
|
||||||
@@ -129,14 +129,6 @@ locales = [
|
@@ -133,10 +133,6 @@ locales = [
|
||||||
reference = "browser/extensions/fxmonitor/locales/en-US/**"
|
reference = "browser/extensions/fxmonitor/locales/en-US/**"
|
||||||
l10n = "{l}browser/extensions/fxmonitor/**"
|
l10n = "{l}browser/extensions/fxmonitor/**"
|
||||||
|
|
||||||
-[[paths]]
|
|
||||||
- reference = "browser/extensions/webcompat-reporter/locales/en-US/**"
|
|
||||||
- l10n = "{l}browser/extensions/webcompat-reporter/**"
|
|
||||||
-
|
|
||||||
-[[paths]]
|
-[[paths]]
|
||||||
- reference = "browser/extensions/report-site-issue/locales/en-US/**"
|
- reference = "browser/extensions/report-site-issue/locales/en-US/**"
|
||||||
- l10n = "{l}browser/extensions/report-site-issue/**"
|
- l10n = "{l}browser/extensions/report-site-issue/**"
|
||||||
5300
deprecated_patches/unity-menubar.patch
Normal file
5300
deprecated_patches/unity-menubar.patch
Normal file
File diff suppressed because it is too large
Load diff
7
docs/README.md
Normal file
7
docs/README.md
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|

|
||||||
|
|
||||||
|
# LibreWolf
|
||||||
|
|
||||||
|
## Documentation has moved
|
||||||
|
|
||||||
|
You can find the current documentation for LibreWolf at [librewolf-community.gitlab.io/docs/](https://librewolf-community.gitlab.io/docs/).
|
||||||
|
|
@ -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;
|
|
||||||
|
|
@ -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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -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;application/pdf;application/json;
|
|
||||||
StartupWMClass=LibreWolf
|
|
||||||
Categories=Network;WebBrowser;
|
|
||||||
StartupNotify=true
|
|
||||||
Terminal=false
|
|
||||||
X-MultipleArgs=false
|
|
||||||
Keywords=Internet;WWW;Browser;Web;Explorer
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 8ce6437c269ef28c49984c11246d27be433c21d5
|
|
||||||
|
|
@ -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 duyệt 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]=Để duyệt 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 duyệt;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;application/pdf;application/json;
|
|
||||||
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]=Cửa sổ mới
|
|
||||||
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]=Cửa sổ riêng tư mới
|
|
||||||
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
|
|
||||||
|
|
@ -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."
|
|
||||||
}
|
|
||||||
|
|
@ -8,7 +8,8 @@ _DEPENDENCIES="wget git xvfb \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
gettext-base \
|
gettext-base \
|
||||||
curl python3 libjack-dev \
|
curl python3 libjack-dev \
|
||||||
python3-psutil python-psutil python3-dev python-dev \
|
python3-dev python-dev \
|
||||||
|
gnupg \
|
||||||
autotools-dev \
|
autotools-dev \
|
||||||
autoconf2.13 \
|
autoconf2.13 \
|
||||||
zip \
|
zip \
|
||||||
|
|
@ -16,7 +17,6 @@ _DEPENDENCIES="wget git xvfb \
|
||||||
libx11-xcb-dev \
|
libx11-xcb-dev \
|
||||||
libxt-dev \
|
libxt-dev \
|
||||||
libxext-dev \
|
libxext-dev \
|
||||||
libgtk2.0-dev \
|
|
||||||
libgtk-3-dev \
|
libgtk-3-dev \
|
||||||
libglib2.0-dev \
|
libglib2.0-dev \
|
||||||
libpango1.0-dev \
|
libpango1.0-dev \
|
||||||
|
|
@ -26,22 +26,24 @@ _DEPENDENCIES="wget git xvfb \
|
||||||
libasound2-dev \
|
libasound2-dev \
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libdbus-glib-1-dev \
|
libdbus-glib-1-dev \
|
||||||
hardening-wrapper \
|
|
||||||
lsb-release \
|
lsb-release \
|
||||||
libiw-dev \
|
libiw-dev \
|
||||||
mesa-common-dev \
|
mesa-common-dev \
|
||||||
libnotify-dev \
|
libnotify-dev \
|
||||||
libxrender-dev \
|
libxrender-dev \
|
||||||
libpulse-dev \
|
libpulse-dev \
|
||||||
|
libssl-dev \
|
||||||
yasm \
|
yasm \
|
||||||
unzip \
|
unzip \
|
||||||
dbus-x11 \
|
dbus-x11 \
|
||||||
python \
|
python \
|
||||||
cargo \
|
libffi-dev \
|
||||||
rustc \
|
|
||||||
nodejs-mozilla \
|
nodejs-mozilla \
|
||||||
nasm-mozilla \
|
nasm-mozilla \
|
||||||
gcc-mozilla"
|
locales"
|
||||||
|
|
||||||
|
# cargo \
|
||||||
|
# rustc \
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
|
@ -53,10 +55,24 @@ apt-get -y -qq install $_DEPENDENCIES;
|
||||||
if [[ $CARCH == 'x86_64' ]];then
|
if [[ $CARCH == 'x86_64' ]];then
|
||||||
# Installs (non-ancient) clang
|
# Installs (non-ancient) clang
|
||||||
apt install -y software-properties-common apt-transport-https ca-certificates
|
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
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add
|
||||||
|
apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-13 main"
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get -y install clang-9 libclang-9-dev
|
apt-get -y install clang-13 libclang-13-dev
|
||||||
else
|
else
|
||||||
apt-get -y install clang-8 libclang-8-dev
|
# seems like we can use 13 here as well, finally?
|
||||||
|
apt install -y software-properties-common apt-transport-https ca-certificates
|
||||||
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add
|
||||||
|
apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-13 main"
|
||||||
|
apt-get update
|
||||||
|
apt-get -y install clang-13 libclang-13-dev
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# avoid python parsing files as ascii instead of utf8 and complaining
|
||||||
|
locale-gen en_US.UTF-8
|
||||||
|
|
||||||
|
# we need a more recent rust
|
||||||
|
# …to test if a fix in 1.57 magically fixes aarch64 hanging
|
||||||
|
curl https://sh.rustup.rs -o rustup.sh
|
||||||
|
bash rustup.sh -y
|
||||||
|
source /root/.cargo/env
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
printf "\n\n--------------------------------- SOURCE CODE DOWNLOAD --------------------------------------\n";
|
printf "\n\n--------------------------------- SOURCE CODE DOWNLOAD --------------------------------------\n";
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
if [[ -z ${pkgver} || -z ${pkgrel} ]]; then
|
if [[ -z ${pkgver} || -z ${pkgrel} ]]; then
|
||||||
echo '$pkgrel and/or $pkgver not provided'
|
echo '$pkgrel and/or $pkgver not provided'
|
||||||
exit 1
|
exit 1
|
||||||
|
|
@ -8,10 +10,19 @@ fi
|
||||||
# Setup Script Variables
|
# Setup Script Variables
|
||||||
SOURCE_FOLDER=$1;
|
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";
|
||||||
|
_SIG_URL="$_SOURCE_CODE_URL.asc";
|
||||||
_SOURCE_TAR="firefox-${pkgver}.tar.xz"
|
_SOURCE_TAR="firefox-${pkgver}.tar.xz"
|
||||||
|
_SOURCE_SIG="$_SOURCE_TAR.asc"
|
||||||
|
_GPG_HOMEDIR=$(mktemp -d)
|
||||||
|
|
||||||
# Downloading and Extracting Firefox Source Code
|
# Downloading and Extracting Firefox Source Code
|
||||||
printf "\nDownloading Firefox Source Code\n";
|
printf "\nDownloading Firefox Source Code\n";
|
||||||
wget -O $_SOURCE_TAR $_SOURCE_CODE_URL
|
wget -O $_SOURCE_TAR $_SOURCE_CODE_URL
|
||||||
|
wget -O $_SOURCE_SIG $_SIG_URL
|
||||||
|
|
||||||
|
# Verify signature
|
||||||
|
gpg --homedir "$_GPG_HOMEDIR" --import KEY
|
||||||
|
gpgv --keyring "$_GPG_HOMEDIR"/pubring.kbx "$_SOURCE_SIG" "$_SOURCE_TAR"
|
||||||
|
|
||||||
mkdir -p $SOURCE_FOLDER
|
mkdir -p $SOURCE_FOLDER
|
||||||
tar -x --strip-components=1 -C $SOURCE_FOLDER -f $_SOURCE_TAR
|
tar -x --strip-components=1 -C $SOURCE_FOLDER -f $_SOURCE_TAR
|
||||||
251
scripts/3_Configure_Source_Code.sh
Executable file
251
scripts/3_Configure_Source_Code.sh
Executable file
|
|
@ -0,0 +1,251 @@
|
||||||
|
#!/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)/../)}
|
||||||
|
_SOURCE_REPO='https://gitlab.com/librewolf-community/browser/source.git';
|
||||||
|
_PKGVER_TAG="v${pkgver}-${pkgrel}"
|
||||||
|
_SOURCE_TAG=${SOURCE_TAG:-${_PKGVER_TAG}}
|
||||||
|
_SOURCE_REPO_DIR="${CI_PROJECT_DIR}"/source
|
||||||
|
_PATCHES_DIR="${_SOURCE_REPO_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 $_SOURCE_REPO ${_SOURCE_REPO_DIR}
|
||||||
|
cd ${_SOURCE_REPO_DIR}
|
||||||
|
git checkout ${_SOURCE_TAG}
|
||||||
|
cd ..
|
||||||
|
cp -r ${_SOURCE_REPO_DIR}/themes/browser $srcdir/;
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# attempt to address flatpak dbus issues
|
||||||
|
ac_add_options --enable-dbus
|
||||||
|
|
||||||
|
# Branding
|
||||||
|
ac_add_options --enable-update-channel=release
|
||||||
|
ac_add_options --with-app-name=librewolf
|
||||||
|
# ac_add_options --with-app-basename=LibreWolf
|
||||||
|
|
||||||
|
# switch to env vars like in librewolf source repo
|
||||||
|
# this is in browser/branding/librewolf/configure.sh as well
|
||||||
|
# so it _should_ already be applied, buuuuut just in case?
|
||||||
|
|
||||||
|
export MOZ_APP_NAME=librewolf
|
||||||
|
export MOZ_APP_BASENAME=LibreWolf
|
||||||
|
export MOZ_APP_PROFILE=librewolf
|
||||||
|
export MOZ_APP_VENDOR=LibreWolf
|
||||||
|
export MOZ_APP_DISPLAYNAME=LibreWolf
|
||||||
|
|
||||||
|
ac_add_options --with-branding=browser/branding/librewolf
|
||||||
|
# ac_add_options --with-distribution-id=io.gitlab.librewolf-community
|
||||||
|
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||||
|
ac_add_options --allow-addon-sideload
|
||||||
|
export MOZ_REQUIRE_SIGNING=
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# obsoleted?
|
||||||
|
# TODO: use source/assets/moczonfig in the future
|
||||||
|
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
|
||||||
|
|
||||||
|
# required for 95.0 for now, it seems
|
||||||
|
ac_add_options --without-wasm-sandboxed-libraries
|
||||||
|
|
||||||
|
# experimental JXL support
|
||||||
|
ac_add_options --enable-jxl
|
||||||
|
END
|
||||||
|
|
||||||
|
# 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-13'
|
||||||
|
export CXX='clang++-13'
|
||||||
|
export AR=llvm-ar-13
|
||||||
|
export NM=llvm-nm-13
|
||||||
|
export RANLIB=llvm-ranlib-13
|
||||||
|
END
|
||||||
|
|
||||||
|
export MOZ_DEBUG_FLAGS=" "
|
||||||
|
export CFLAGS+=" -g0"
|
||||||
|
export CXXFLAGS+=" -g0"
|
||||||
|
export RUSTFLAGS="-Cdebuginfo=0"
|
||||||
|
|
||||||
|
export LDFLAGS+=" -Wl,--no-keep-memory -Wl"
|
||||||
|
|
||||||
|
else
|
||||||
|
cat >>${CI_PROJECT_DIR}/mozconfig <<END
|
||||||
|
# ubuntu seems to recommend this
|
||||||
|
ac_add_options --disable-elf-hack
|
||||||
|
|
||||||
|
export CC='clang-13'
|
||||||
|
export CXX='clang++-13'
|
||||||
|
export AR=llvm-ar-13
|
||||||
|
export NM=llvm-nm-13
|
||||||
|
export RANLIB=llvm-ranlib-13
|
||||||
|
|
||||||
|
# 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 18.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/reduce-rust-debuginfo.patch"
|
||||||
|
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/use-system-icupkg.patch"
|
||||||
|
|
||||||
|
# might make the build just a tiny bit cleaner, not really required though
|
||||||
|
patch -Np1 -i "${CI_PROJECT_DIR}/deb_patches/fix-wayland-build.patch"
|
||||||
|
|
||||||
|
# allow enabling JPEG XL in non-nightly browser
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/allow-JXL-in-non-nightly-browser.patch
|
||||||
|
|
||||||
|
# Remove some pre-installed addons that might be questionable
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/remove_addons.patch
|
||||||
|
|
||||||
|
|
||||||
|
# KDE menu and unity menubar. patch order matters.
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/unity_kde/mozilla-kde.patch
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/unity_kde/firefox-kde.patch
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/unity_kde/unity-menubar.patch
|
||||||
|
|
||||||
|
# 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}/urlbarprovider-interventions.patch"
|
||||||
|
|
||||||
|
patch -Np1 -i "${_PATCHES_DIR}/unified-extensions-dont-show-recommendations.patch"
|
||||||
|
|
||||||
|
# allow SearchEngines option in non-ESR builds
|
||||||
|
patch -Np1 -i "${_PATCHES_DIR}/sed-patches/allow-searchengines-non-esr.patch"
|
||||||
|
|
||||||
|
# fix broken(?)/unintended handling of autoconf file loading in flatpak/snap environments
|
||||||
|
patch -Np1 -i "${_PATCHES_DIR}/flatpak_autoconf.patch"
|
||||||
|
|
||||||
|
# remove search extensions (experimental)
|
||||||
|
# patch -Np1 -i "${_PATCHES_DIR}/search-config.patch"
|
||||||
|
cp "${_SOURCE_REPO_DIR}/assets/search-config.json" services/settings/dumps/main/search-config.json
|
||||||
|
|
||||||
|
# stop some undesired requests (https://gitlab.com/librewolf-community/browser/common/-/issues/10)
|
||||||
|
patch -Np1 -i "${_PATCHES_DIR}/sed-patches/stop-undesired-requests.patch"
|
||||||
|
|
||||||
|
# change some hardcoded directory strings that could lead to unnecessarily
|
||||||
|
# created directories
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/mozilla_dirs.patch
|
||||||
|
|
||||||
|
# somewhat experimental patch to fix bus/dbus/remoting names to io.gitlab.librewolf
|
||||||
|
# should not break things, buuuuuuuuuut we'll see.
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/dbus_name.patch
|
||||||
|
|
||||||
|
# allow uBlockOrigin to run in private mode by default, without user intervention.
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/allow-ubo-private-mode.patch
|
||||||
|
|
||||||
|
# add custom uBO assets (on first launch only)
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/custom-ubo-assets-bootstrap-location.patch
|
||||||
|
|
||||||
|
#
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/faster-package-multi-locale.patch
|
||||||
|
|
||||||
|
# ui patches
|
||||||
|
|
||||||
|
# remove references to firefox from the settings UI, change text in some of the links,
|
||||||
|
# explain that we force en-US and suggest enabling history near the session restore checkbox.
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/pref-naming.patch
|
||||||
|
|
||||||
|
#
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/handlers.patch
|
||||||
|
|
||||||
|
#
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/hide-default-browser.patch
|
||||||
|
|
||||||
|
# Add LibreWolf logo to Debugging Page
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/lw-logo-devtools.patch
|
||||||
|
|
||||||
|
#
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/privacy-preferences.patch
|
||||||
|
|
||||||
|
# remove firefox references in the urlbar, when suggesting opened tabs.
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/remove-branding-urlbar.patch
|
||||||
|
|
||||||
|
# remove cfr UI elements, as they are disabled and locked already.
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/remove-cfrprefs.patch
|
||||||
|
|
||||||
|
# do not display your browser is being managed by your organization in the settings.
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/remove-organization-policy-banner.patch
|
||||||
|
|
||||||
|
# hide "snippets" section from the home page settings, as it was already locked.
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/remove-snippets-from-home.patch
|
||||||
|
|
||||||
|
# add patch to hide website appearance settings
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/website-appearance-ui-rfp.patch
|
||||||
|
|
||||||
|
# pref pane
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/librewolf-pref-pane.patch
|
||||||
|
|
||||||
|
# firefox view
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/ui-patches/firefox-view.patch
|
||||||
|
|
||||||
|
# new prefs (view, ubo)
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/librewolf-prefs.patch
|
||||||
|
|
||||||
|
# fix telemetry removal, see https://gitlab.com/librewolf-community/browser/linux/-/merge_requests/17, for example
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/disable-data-reporting-at-compile-time.patch
|
||||||
|
|
||||||
|
# allows hiding the password manager (from the lw pref pane) / via a pref
|
||||||
|
patch -Np1 -i ${_PATCHES_DIR}/hide-passwordmgr.patch
|
||||||
|
|
||||||
|
rm -rf source
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
printf "\n\n--------------------------------------- BUILD -----------------------------------------------\n";
|
printf "\n\n--------------------------------------- BUILD -----------------------------------------------\n";
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Setup Script Variables
|
# Setup Script Variables
|
||||||
srcdir=$1;
|
srcdir=$1;
|
||||||
OUTPUT_TARBALL=$2;
|
OUTPUT_TARBALL=$2;
|
||||||
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../../)}
|
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
|
||||||
_SOURCE_CODE_BINARY_TARBALL_LOCATION="./obj*/dist/librewolf*.tar.bz2";
|
_SOURCE_CODE_BINARY_TARBALL_LOCATION="${srcdir}/firefox-${pkgver}/obj/dist/librewolf*.tar.bz2";
|
||||||
_MOZBUILD=$srcdir/../mozbuild
|
_MOZBUILD=$srcdir/../mozbuild
|
||||||
export DEB_BUILD_HARDENING=1
|
export DEB_BUILD_HARDENING=1
|
||||||
export DEB_BUILD_HARDENING_STACKPROTECTOR=1
|
export DEB_BUILD_HARDENING_STACKPROTECTOR=1
|
||||||
|
|
@ -14,6 +16,15 @@ export DEB_BUILD_HARDENING_FORMAT=1
|
||||||
export DEB_BUILD_HARDENING_PIE=1
|
export DEB_BUILD_HARDENING_PIE=1
|
||||||
# export PATH=/usr/lib/nasm-mozilla/bin:$PATH
|
# export PATH=/usr/lib/nasm-mozilla/bin:$PATH
|
||||||
|
|
||||||
|
# avoid python parsing files as ascii instead of utf8 and complaining
|
||||||
|
export LANG='en_US.UTF-8'
|
||||||
|
export LANGUAGE='en_US:en'
|
||||||
|
export LC_ALL='en_US.UTF-8'
|
||||||
|
|
||||||
|
|
||||||
|
# add cargo binary to path
|
||||||
|
source /root/.cargo/env
|
||||||
|
|
||||||
# we do change / unset some of them later, but setting them as set by Arch
|
# 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
|
# might make it easier to maintain changes in build scripts on both sides
|
||||||
|
|
||||||
|
|
@ -31,13 +42,14 @@ fi
|
||||||
|
|
||||||
export MOZ_NOSPAM=1
|
export MOZ_NOSPAM=1
|
||||||
export MOZBUILD_STATE_PATH="${_MOZBUILD}"
|
export MOZBUILD_STATE_PATH="${_MOZBUILD}"
|
||||||
|
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
|
||||||
|
|
||||||
if [[ $CARCH == 'aarch64' ]]; then
|
if [[ $CARCH == 'aarch64' ]]; then
|
||||||
export MOZ_DEBUG_FLAGS=" "
|
export MOZ_DEBUG_FLAGS=" "
|
||||||
export CFLAGS+=" -g0"
|
export CFLAGS+=" -g0"
|
||||||
export CXXFLAGS+=" -g0"
|
export CXXFLAGS+=" -g0"
|
||||||
export RUSTFLAGS="-Cdebuginfo=0"
|
export RUSTFLAGS="-Cdebuginfo=0"
|
||||||
export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
|
export LDFLAGS+=" -Wl,--no-keep-memory"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# LTO needs more open files
|
# LTO needs more open files
|
||||||
|
|
@ -57,11 +69,8 @@ cd $srcdir;
|
||||||
|
|
||||||
rm -f mozconfig
|
rm -f mozconfig
|
||||||
|
|
||||||
# add cargo binary to path
|
|
||||||
# source /root/.cargo/env
|
|
||||||
|
|
||||||
# install cbindgen
|
# install cbindgen
|
||||||
cargo install --version 0.14.2 cbindgen
|
cargo install --version 0.24.3 cbindgen
|
||||||
|
|
||||||
if [[ $CARCH == 'aarch64' ]]; then
|
if [[ $CARCH == 'aarch64' ]]; then
|
||||||
|
|
||||||
|
|
@ -8,9 +8,10 @@ set -e;
|
||||||
BINARY_TARBALL=$1;
|
BINARY_TARBALL=$1;
|
||||||
TOGGLE_SETTINGS_SCRIPT=$2;
|
TOGGLE_SETTINGS_SCRIPT=$2;
|
||||||
LAUNCHER_SCRIPT=$3;
|
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));
|
_SCRIPT_FOLDER=$(realpath $(dirname $0));
|
||||||
_EXTRACTED_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf;
|
_EXTRACTED_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf;
|
||||||
|
_SETTINGS_TAG=${SETTINGS_TAG:-'7.4'}
|
||||||
_SETTINGS_REPO='https://gitlab.com/librewolf-community/settings.git';
|
_SETTINGS_REPO='https://gitlab.com/librewolf-community/settings.git';
|
||||||
|
|
||||||
# Extracts the binary tarball
|
# Extracts the binary tarball
|
||||||
|
|
@ -22,6 +23,9 @@ tar --strip-components=1 -xf $BINARY_TARBALL -C $_EXTRACTED_TARBALL_FOLDER
|
||||||
printf "\nCopying librewolf settings to extracted binary tarball\n";
|
printf "\nCopying librewolf settings to extracted binary tarball\n";
|
||||||
|
|
||||||
git clone $_SETTINGS_REPO $_EXTRACTED_TARBALL_FOLDER/settings;
|
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:
|
# no need to keep that in there:
|
||||||
rm -rf "${_EXTRACTED_TARBALL_FOLDER}/settings/.git";
|
rm -rf "${_EXTRACTED_TARBALL_FOLDER}/settings/.git";
|
||||||
cp $TOGGLE_SETTINGS_SCRIPT $_EXTRACTED_TARBALL_FOLDER/settings;
|
cp $TOGGLE_SETTINGS_SCRIPT $_EXTRACTED_TARBALL_FOLDER/settings;
|
||||||
|
|
@ -38,7 +42,7 @@ distini="$_EXTRACTED_TARBALL_FOLDER/distribution/distribution.ini"
|
||||||
|
|
||||||
install -Dvm644 /dev/stdin "$distini" <<END
|
install -Dvm644 /dev/stdin "$distini" <<END
|
||||||
[Global]
|
[Global]
|
||||||
id=io.gitlab.LibreWolf
|
id=io.gitlab.librewolf-community
|
||||||
version=1.0
|
version=1.0
|
||||||
about=LibreWolf
|
about=LibreWolf
|
||||||
|
|
||||||
|
|
@ -50,7 +54,7 @@ END
|
||||||
|
|
||||||
# Create Appstream metadate file
|
# Create Appstream metadate file
|
||||||
export DATE=$(date +%Y-%m-%d)
|
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
|
# Repacks the binary tarball
|
||||||
printf "\nRecompressing binary tarball\n";
|
printf "\nRecompressing binary tarball\n";
|
||||||
|
|
@ -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
|
|
||||||
Loading…
Add table
Reference in a new issue