Merge branch 'master' of https://gitlab.com/librewolf-community/browser/linux into debian
This commit is contained in:
commit
9a0c533c0a
21 changed files with 5722 additions and 53 deletions
48
CHANGELOG.md
48
CHANGELOG.md
|
|
@ -7,6 +7,54 @@ 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.
|
||||||
|
|
||||||
|
## [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
|
## [84.0-1] - 2020-12-25
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
||||||
44
PKGBUILD
44
PKGBUILD
|
|
@ -6,7 +6,7 @@
|
||||||
pkgname=librewolf
|
pkgname=librewolf
|
||||||
_pkgname=LibreWolf
|
_pkgname=LibreWolf
|
||||||
# how to get ci vars instead?
|
# how to get ci vars instead?
|
||||||
pkgver=84.0
|
pkgver=85.0
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom."
|
pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom."
|
||||||
arch=(x86_64 aarch64)
|
arch=(x86_64 aarch64)
|
||||||
|
|
@ -24,34 +24,38 @@ optdepends=('networkmanager: Location detection via available WiFi networks'
|
||||||
'hunspell-en_US: Spell checking, American English')
|
'hunspell-en_US: Spell checking, American English')
|
||||||
options=(!emptydirs !makeflags !strip)
|
options=(!emptydirs !makeflags !strip)
|
||||||
_arch_svn=https://git.archlinux.org/svntogit/packages.git/plain/trunk
|
_arch_svn=https://git.archlinux.org/svntogit/packages.git/plain/trunk
|
||||||
_settings_commit=2f76ae07f7016034273f1887b7f1bedab997909c
|
_settings_commit=640b375dc02c5b089f678ed16b0232d1c0cc0721
|
||||||
source_x86_64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
|
source_x86_64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
|
||||||
$pkgname.desktop
|
$pkgname.desktop
|
||||||
"git+https://gitlab.com/${pkgname}-community/browser/common.git"
|
"git+https://gitlab.com/${pkgname}-community/browser/common.git"
|
||||||
"git+https://gitlab.com/${pkgname}-community/settings.git"
|
"git+https://gitlab.com/${pkgname}-community/settings.git"
|
||||||
"megabar.patch"
|
"megabar.patch"
|
||||||
"remove_addons.patch")
|
"remove_addons.patch"
|
||||||
|
"unity-menubar.patch")
|
||||||
source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
|
source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
|
||||||
$pkgname.desktop
|
$pkgname.desktop
|
||||||
"git+https://gitlab.com/${pkgname}-community/browser/common.git"
|
"git+https://gitlab.com/${pkgname}-community/browser/common.git"
|
||||||
"git+https://gitlab.com/${pkgname}-community/settings.git"
|
"git+https://gitlab.com/${pkgname}-community/settings.git"
|
||||||
"megabar.patch"
|
"megabar.patch"
|
||||||
"remove_addons.patch"
|
"remove_addons.patch"
|
||||||
|
"unity-menubar.patch"
|
||||||
arm.patch
|
arm.patch
|
||||||
https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch)
|
https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch)
|
||||||
|
|
||||||
sha256sums_x86_64=('23273ef0165b243f5d0908c38e7854d38070282c9b526e8d93b7503cd5f69138'
|
sha256sums_x86_64=('5f03712642f5e77de4581d2ba3ee3e87cfa44c3d2fdd8fe0fb56ea05a57f7b50'
|
||||||
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
|
|
||||||
'SKIP'
|
|
||||||
'SKIP'
|
|
||||||
'682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5'
|
|
||||||
'f2f7403c9abd33a7470a5861e247b488693cf8d7d55c506e7e579396b7bf11e6')
|
|
||||||
sha256sums_aarch64=('23273ef0165b243f5d0908c38e7854d38070282c9b526e8d93b7503cd5f69138'
|
|
||||||
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
|
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5'
|
'682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5'
|
||||||
'f2f7403c9abd33a7470a5861e247b488693cf8d7d55c506e7e579396b7bf11e6'
|
'f2f7403c9abd33a7470a5861e247b488693cf8d7d55c506e7e579396b7bf11e6'
|
||||||
|
'ee302586f5291f809759f5eae3e5bad60b13007d9a9d37ac7f397597eb1d8665')
|
||||||
|
sha256sums_aarch64=('5f03712642f5e77de4581d2ba3ee3e87cfa44c3d2fdd8fe0fb56ea05a57f7b50'
|
||||||
|
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5'
|
||||||
|
'f2f7403c9abd33a7470a5861e247b488693cf8d7d55c506e7e579396b7bf11e6'
|
||||||
|
'ee302586f5291f809759f5eae3e5bad60b13007d9a9d37ac7f397597eb1d8665'
|
||||||
'6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7'
|
'6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7'
|
||||||
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
|
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
|
||||||
|
|
||||||
|
|
@ -82,7 +86,7 @@ ac_add_options --enable-update-channel=release
|
||||||
ac_add_options --with-app-name=${pkgname}
|
ac_add_options --with-app-name=${pkgname}
|
||||||
ac_add_options --with-app-basename=${_pkgname}
|
ac_add_options --with-app-basename=${_pkgname}
|
||||||
ac_add_options --with-branding=browser/branding/${pkgname}
|
ac_add_options --with-branding=browser/branding/${pkgname}
|
||||||
ac_add_options --with-distribution-id=io.gitlab.${pkgname}
|
ac_add_options --with-distribution-id=io.gitlab.${pkgname}-community
|
||||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||||
ac_add_options --allow-addon-sideload
|
ac_add_options --allow-addon-sideload
|
||||||
export MOZ_REQUIRE_SIGNING=0
|
export MOZ_REQUIRE_SIGNING=0
|
||||||
|
|
@ -119,7 +123,8 @@ END
|
||||||
export CXXFLAGS+=" -g0"
|
export CXXFLAGS+=" -g0"
|
||||||
export RUSTFLAGS="-Cdebuginfo=0"
|
export RUSTFLAGS="-Cdebuginfo=0"
|
||||||
|
|
||||||
export LDFLAGS+=" -Wl,--no-keep-memory"
|
# we should have more than enough RAM on the CI spot instances.
|
||||||
|
# export LDFLAGS+=" -Wl,--no-keep-memory"
|
||||||
patch -p1 -i ../arm.patch
|
patch -p1 -i ../arm.patch
|
||||||
patch -p1 -i ../build-arm-libopus.patch
|
patch -p1 -i ../build-arm-libopus.patch
|
||||||
|
|
||||||
|
|
@ -138,6 +143,11 @@ fi
|
||||||
# Adapted from https://github.com/WesleyBranton/userChrome.css-Customizations
|
# Adapted from https://github.com/WesleyBranton/userChrome.css-Customizations
|
||||||
patch -p1 -i ../megabar.patch
|
patch -p1 -i ../megabar.patch
|
||||||
|
|
||||||
|
# Debian patch to enable global menubar
|
||||||
|
# disabled until it's updated upstream
|
||||||
|
# also disabled for the default build, as it seems to cause issues in some configurations
|
||||||
|
# patch -p1 -i ../unity-menubar.patch
|
||||||
|
|
||||||
# Disabling Pocket
|
# Disabling Pocket
|
||||||
sed -i "s/'pocket'/#'pocket'/g" browser/components/moz.build
|
sed -i "s/'pocket'/#'pocket'/g" browser/components/moz.build
|
||||||
# this one only to remove an annoying error message:
|
# this one only to remove an annoying error message:
|
||||||
|
|
@ -153,6 +163,14 @@ fi
|
||||||
# allow SearchEngines option in non-ESR builds
|
# allow SearchEngines option in non-ESR builds
|
||||||
sed -i 's#"enterprise_only": true,#"enterprise_only": false,#g' browser/components/enterprisepolicies/schemas/policies-schema.json
|
sed -i 's#"enterprise_only": true,#"enterprise_only": false,#g' browser/components/enterprisepolicies/schemas/policies-schema.json
|
||||||
|
|
||||||
|
_settings_services_sed='s#firefox.settings.services.mozilla.com#f.s.s.m.c.qjz9zk#g'
|
||||||
|
|
||||||
|
# stop some undesired requests (https://gitlab.com/librewolf-community/browser/common/-/issues/10)
|
||||||
|
sed "$_settings_services_sed" -i browser/components/newtab/data/content/activity-stream.bundle.js
|
||||||
|
sed "$_settings_services_sed" -i modules/libpref/init/all.js
|
||||||
|
sed "$_settings_services_sed" -i services/settings/Utils.jsm
|
||||||
|
sed "$_settings_services_sed" -i toolkit/components/search/SearchUtils.jsm
|
||||||
|
|
||||||
rm -f ${srcdir}/common/source_files/mozconfig
|
rm -f ${srcdir}/common/source_files/mozconfig
|
||||||
cp -r ${srcdir}/common/source_files/* ./
|
cp -r ${srcdir}/common/source_files/* ./
|
||||||
}
|
}
|
||||||
|
|
@ -266,7 +284,7 @@ END
|
||||||
local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
|
local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
|
||||||
install -Dvm644 /dev/stdin "$distini" <<END
|
install -Dvm644 /dev/stdin "$distini" <<END
|
||||||
[Global]
|
[Global]
|
||||||
id=io.gitlab.${_pkgname}
|
id=io.gitlab.${pkgname}-community
|
||||||
version=1.0
|
version=1.0
|
||||||
about=LibreWolf
|
about=LibreWolf
|
||||||
|
|
||||||
|
|
|
||||||
324
PKGBUILD_global_menubar
Normal file
324
PKGBUILD_global_menubar
Normal file
|
|
@ -0,0 +1,324 @@
|
||||||
|
# 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=85.0
|
||||||
|
pkgrel=1
|
||||||
|
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 yasm mesa imake inetutils xorg-server-xvfb
|
||||||
|
rust
|
||||||
|
autoconf2.13 clang llvm jack gtk2 nodejs cbindgen nasm
|
||||||
|
python-setuptools python-psutil python-zstandard git binutils lld)
|
||||||
|
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)
|
||||||
|
_arch_svn=https://git.archlinux.org/svntogit/packages.git/plain/trunk
|
||||||
|
_settings_commit=640b375dc02c5b089f678ed16b0232d1c0cc0721
|
||||||
|
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"
|
||||||
|
"unity-menubar.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"
|
||||||
|
"unity-menubar.patch"
|
||||||
|
arm.patch
|
||||||
|
https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch)
|
||||||
|
|
||||||
|
sha256sums_x86_64=('5f03712642f5e77de4581d2ba3ee3e87cfa44c3d2fdd8fe0fb56ea05a57f7b50'
|
||||||
|
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5'
|
||||||
|
'f2f7403c9abd33a7470a5861e247b488693cf8d7d55c506e7e579396b7bf11e6'
|
||||||
|
'ee302586f5291f809759f5eae3e5bad60b13007d9a9d37ac7f397597eb1d8665')
|
||||||
|
sha256sums_aarch64=('5f03712642f5e77de4581d2ba3ee3e87cfa44c3d2fdd8fe0fb56ea05a57f7b50'
|
||||||
|
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5'
|
||||||
|
'f2f7403c9abd33a7470a5861e247b488693cf8d7d55c506e7e579396b7bf11e6'
|
||||||
|
'ee302586f5291f809759f5eae3e5bad60b13007d9a9d37ac7f397597eb1d8665'
|
||||||
|
'6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7'
|
||||||
|
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
mkdir mozbuild
|
||||||
|
cd firefox-$pkgver
|
||||||
|
|
||||||
|
cat >../mozconfig <<END
|
||||||
|
ac_add_options --enable-application=browser
|
||||||
|
mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
|
||||||
|
|
||||||
|
# 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}-community
|
||||||
|
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"
|
||||||
|
|
||||||
|
# we should have more than enough RAM on the CI spot instances.
|
||||||
|
# export LDFLAGS+=" -Wl,--no-keep-memory"
|
||||||
|
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
|
||||||
|
|
||||||
|
# Debian patch to enable global menubar
|
||||||
|
# disabled until it's updated upstream
|
||||||
|
# patch -p1 -i ../unity-menubar.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
|
||||||
|
|
||||||
|
_settings_services_sed='s#firefox.settings.services.mozilla.com#f.s.s.m.c.qjz9zk#g'
|
||||||
|
|
||||||
|
# stop some undesired requests (https://gitlab.com/librewolf-community/browser/common/-/issues/10)
|
||||||
|
sed "$_settings_services_sed" -i browser/components/newtab/data/content/activity-stream.bundle.js
|
||||||
|
sed "$_settings_services_sed" -i modules/libpref/init/all.js
|
||||||
|
sed "$_settings_services_sed" -i services/settings/Utils.jsm
|
||||||
|
sed "$_settings_services_sed" -i toolkit/components/search/SearchUtils.jsm
|
||||||
|
|
||||||
|
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"
|
||||||
|
export MACH_USE_SYSTEM_PYTHON=1
|
||||||
|
|
||||||
|
# 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
|
||||||
|
ac_add_options --enable-linker=lld
|
||||||
|
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=lld
|
||||||
|
ac_add_options --disable-elf-hack
|
||||||
|
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
|
||||||
|
|
||||||
|
cd ${srcdir}/settings
|
||||||
|
git checkout ${_settings_commit}
|
||||||
|
cd ${srcdir}/firefox-$pkgver
|
||||||
|
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}-community
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
@ -1,13 +1,5 @@
|
||||||
This Repository contains all the required material to build the browser on Linux platforms.
|
This Repository contains all the required material to build the browser on Linux platforms.
|
||||||
|
|
||||||
### Status
|
|
||||||
|
|
||||||
Unfortunately, at the moment we are only barely keeping up with maintenance releases following
|
|
||||||
upstream Firefox releases. AppImage and Flatpak-releases are still to be considered experimental.
|
|
||||||
Debian builds are already being built by a third party contributer (see !12), and will hopefully soon be
|
|
||||||
integrated as well. We are fully aware of the issues and wishes/improvements piling up – rest assured,
|
|
||||||
we will get to them as soon as possible!
|
|
||||||
|
|
||||||
### Important
|
### Important
|
||||||
|
|
||||||
The following instructions are currently outdated. The build scripts are currently meant to be
|
The following instructions are currently outdated. The build scripts are currently meant to be
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@ export PATH="${HERE}:${HERE}/usr/bin/:${HERE}/usr/sbin/:${HERE}/usr/games/:${HER
|
||||||
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 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 PYTHONPATH="${HERE}/usr/share/pyshared/${PYTHONPATH:+:$PYTHONPATH}"
|
||||||
export MOZ_LEGACY_PROFILES=1 # Prevent per installation profiles
|
export MOZ_LEGACY_PROFILES=1 # Prevent per installation profiles
|
||||||
export XDG_DATA_DIRS="${HERE}/usr/share/${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}"
|
DEFAULT_XDG_DATA_DIRS='./share/:/usr/share/gnome:/usr/local/share/:/usr/share/'
|
||||||
|
export XDG_DATA_DIRS="${HERE}/usr/share/:${XDG_DATA_DIRS:-$DEFAULT_XDG_DATA_DIRS}"
|
||||||
export PERLLIB="${HERE}/usr/share/perl5/:${HERE}/usr/lib/perl5/${PERLLIB:+:$PERLLIB}"
|
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 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}"
|
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}"
|
||||||
|
|
|
||||||
|
|
@ -10,3 +10,16 @@ StartupNotify=true
|
||||||
Terminal=false
|
Terminal=false
|
||||||
X-MultipleArgs=false
|
X-MultipleArgs=false
|
||||||
Keywords=Internet;WWW;Browser;Web;Explorer;
|
Keywords=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Actions=new-window;new-private-window;profilemanager;
|
||||||
|
|
||||||
|
[Desktop Action new-window]
|
||||||
|
Name=Open a New Window
|
||||||
|
Exec=librewolf %u
|
||||||
|
|
||||||
|
[Desktop Action new-private-window]
|
||||||
|
Name=Open a New Private Window
|
||||||
|
Exec=librewolf --private-window %u
|
||||||
|
|
||||||
|
[Desktop Action profilemanager]
|
||||||
|
Name=Open the Profile Manager
|
||||||
|
Exec=librewolf --ProfileManager %u
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
PKGBUILD_NAME=${PKGBUILD_NAME:-'PKGBUILD'}
|
||||||
pacman --noconfirm -Syu --needed base-devel
|
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
|
# 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`
|
sed -E -i 's/^chmod a-s \"\$BUILDDIR\"$/# chmod a-s \"\$BUILDDIR\"/' `which makepkg`
|
||||||
|
|
@ -9,7 +10,8 @@ usermod -d /home/nobody nobody
|
||||||
# we need to un-expire the account, otherwise PAM will complain
|
# we need to un-expire the account, otherwise PAM will complain
|
||||||
usermod -e '' nobody
|
usermod -e '' nobody
|
||||||
chown -R nobody .
|
chown -R nobody .
|
||||||
# temporary workaround for rust / packed_simd build issue:
|
if [[ ! -z "${GLOBAL_MENUBAR}" ]];then
|
||||||
pacman --noconfirm -U https://archive.archlinux.org/packages/r/rust/rust-1%3A1.47.0-4-x86_64.pkg.tar.zst
|
PKGBUILD_NAME='PKGBUILD_global_menubar'
|
||||||
|
fi
|
||||||
# makepkg will not run as root
|
# makepkg will not run as root
|
||||||
sudo -u nobody -E -H makepkg --noconfirm --nosign --syncdeps --cleanbuild
|
sudo -u nobody -E -H makepkg --noconfirm --nosign --syncdeps --cleanbuild -p "${PKGBUILD_NAME}"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<?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</id>
|
||||||
<launchable type="desktop-id">io.gitlab.LibreWolf</launchable>
|
<launchable type="desktop-id">io.gitlab.LibreWolf.desktop</launchable>
|
||||||
<name>LibreWolf</name>
|
<name>LibreWolf</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>
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ ac_add_options --enable-update-channel=release
|
||||||
ac_add_options --with-app-name=librewolf
|
ac_add_options --with-app-name=librewolf
|
||||||
ac_add_options --with-app-basename=LibreWolf
|
ac_add_options --with-app-basename=LibreWolf
|
||||||
ac_add_options --with-branding=browser/branding/librewolf
|
ac_add_options --with-branding=browser/branding/librewolf
|
||||||
ac_add_options --with-distribution-id=io.gitlab.librewolf
|
ac_add_options --with-distribution-id=io.gitlab.librewolf-community
|
||||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||||
ac_add_options --allow-addon-sideload
|
ac_add_options --allow-addon-sideload
|
||||||
export MOZ_REQUIRE_SIGNING=0
|
export MOZ_REQUIRE_SIGNING=0
|
||||||
|
|
@ -117,6 +117,9 @@ patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/armhf-reduce-linker-memory-use.patch
|
||||||
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/build-with-libstdc++-7.patch"
|
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/build-with-libstdc++-7.patch"
|
||||||
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/fix-armhf-webrtc-build.patch"
|
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/fix-armhf-webrtc-build.patch"
|
||||||
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch"
|
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch"
|
||||||
|
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/reduce-rust-debuginfo.patch"
|
||||||
|
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/relax-cargo-dep.patch"
|
||||||
|
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/use-system-icupkg.patch"
|
||||||
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/python3-remove-variable-annotations.patch"
|
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/python3-remove-variable-annotations.patch"
|
||||||
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/python3-remove-fstrings.patch"
|
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/python3-remove-fstrings.patch"
|
||||||
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/python3-remove-pep487.patch"
|
patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/python3-remove-pep487.patch"
|
||||||
|
|
@ -130,6 +133,11 @@ patch -p1 -i ${CI_PROJECT_DIR}/remove_addons.patch
|
||||||
# Adapted from https://github.com/WesleyBranton/userChrome.css-Customizations
|
# Adapted from https://github.com/WesleyBranton/userChrome.css-Customizations
|
||||||
patch -p1 -i ${CI_PROJECT_DIR}/megabar.patch
|
patch -p1 -i ${CI_PROJECT_DIR}/megabar.patch
|
||||||
|
|
||||||
|
# Debian patch to enable global menubar
|
||||||
|
if [[ ! -z "${GLOBAL_MENUBAR}" ]];then
|
||||||
|
patch -p1 -i ${CI_PROJECT_DIR}/unity-menubar.patch
|
||||||
|
fi
|
||||||
|
|
||||||
# Disabling Pocket
|
# Disabling Pocket
|
||||||
printf "\nDisabling Pocket\n";
|
printf "\nDisabling Pocket\n";
|
||||||
sed -i "s/'pocket'/#'pocket'/g" browser/components/moz.build
|
sed -i "s/'pocket'/#'pocket'/g" browser/components/moz.build
|
||||||
|
|
@ -145,3 +153,10 @@ sed -z "$_cert_sed" -i toolkit/mozapps/extensions/internal/XPIInstall.jsm
|
||||||
|
|
||||||
# allow SearchEngines option in non-ESR builds
|
# allow SearchEngines option in non-ESR builds
|
||||||
sed -i 's#"enterprise_only": true,#"enterprise_only": false,#g' browser/components/enterprisepolicies/schemas/policies-schema.json
|
sed -i 's#"enterprise_only": true,#"enterprise_only": false,#g' browser/components/enterprisepolicies/schemas/policies-schema.json
|
||||||
|
|
||||||
|
# stop some undesired requests (https://gitlab.com/librewolf-community/browser/common/-/issues/10)
|
||||||
|
_settings_services_sed='s#firefox.settings.services.mozilla.com#f.s.s.m.c.qjz9zk#g'
|
||||||
|
sed "$_settings_services_sed" -i browser/components/newtab/data/content/activity-stream.bundle.js
|
||||||
|
sed "$_settings_services_sed" -i modules/libpref/init/all.js
|
||||||
|
sed "$_settings_services_sed" -i services/settings/Utils.jsm
|
||||||
|
sed "$_settings_services_sed" -i toolkit/components/search/SearchUtils.jsm
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ rm -f mozconfig
|
||||||
# source /root/.cargo/env
|
# source /root/.cargo/env
|
||||||
|
|
||||||
# install cbindgen
|
# install cbindgen
|
||||||
cargo install --version 0.15.0 cbindgen
|
cargo install --version 0.16.0 cbindgen
|
||||||
|
|
||||||
if [[ $CARCH == 'aarch64' ]]; then
|
if [[ $CARCH == 'aarch64' ]]; then
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ 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_COMMIT=2f76ae07f7016034273f1887b7f1bedab997909c
|
_SETTINGS_COMMIT=640b375dc02c5b089f678ed16b0232d1c0cc0721
|
||||||
_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
|
||||||
|
|
@ -42,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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -427,6 +427,6 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||||
category_name = util.snake_case(category_name)
|
category_name = util.snake_case(category_name)
|
||||||
- full_path = f"{category_name}::{metric_name}"
|
- full_path = f"{category_name}::{metric_name}"
|
||||||
+ full_path = "{}::{}".format(category_name, metric_name)
|
+ full_path = "{}::{}".format(category_name, metric_name)
|
||||||
objs_by_type[key].append((get_metric_id(metric), full_path))
|
|
||||||
|
|
||||||
# Now for the modules for each category.
|
if metric.type == "event":
|
||||||
|
events_by_id[get_metric_id(metric)] = full_path
|
||||||
|
|
|
||||||
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/toolchain.configure
|
||||||
|
+++ b/build/moz.configure/toolchain.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 = []
|
||||||
|
|
||||||
11
deb_patches/relax-cargo-dep.patch
Normal file
11
deb_patches/relax-cargo-dep.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
--- a/build/moz.configure/rust.configure
|
||||||
|
+++ b/build/moz.configure/rust.configure
|
||||||
|
@@ -168,7 +168,7 @@
|
||||||
|
rustc_min_version = Version("1.47.0")
|
||||||
|
else:
|
||||||
|
rustc_min_version = Version(MINIMUM_RUST_VERSION)
|
||||||
|
- cargo_min_version = rustc_min_version
|
||||||
|
+ cargo_min_version = Version("1.46.0")
|
||||||
|
|
||||||
|
version = rustc_info.version
|
||||||
|
is_nightly = "nightly" in version.version
|
||||||
|
|
@ -14,7 +14,7 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||||
// Some old distros/themes don't properly use the .selection style, so
|
// Some old distros/themes don't properly use the .selection style, so
|
||||||
// fall back to the regular text view style.
|
// fall back to the regular text view style.
|
||||||
@@ -1413,6 +1413,7 @@ bool nsLookAndFeel::WidgetUsesImage(Widg
|
@@ -1413,6 +1413,7 @@ bool nsLookAndFeel::WidgetUsesImage(Widg
|
||||||
GTK_STATE_FLAG_BACKDROP, GTK_STATE_FLAG_INSENSITIVE};
|
};
|
||||||
|
|
||||||
GtkStyleContext* style = GetStyleContext(aNodeType);
|
GtkStyleContext* style = GetStyleContext(aNodeType);
|
||||||
+ if (!style) return false;
|
+ if (!style) return false;
|
||||||
|
|
|
||||||
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,
|
||||||
|
]
|
||||||
|
|
||||||
|
|
@ -10,7 +10,7 @@ FLATPAK_REPO=$2;
|
||||||
FLATPAK_BUNDLE=$3;
|
FLATPAK_BUNDLE=$3;
|
||||||
_SCRIPT_FOLDER=$(realpath $(dirname $0));
|
_SCRIPT_FOLDER=$(realpath $(dirname $0));
|
||||||
_FLATHUB_REPO="flathub https://flathub.org/repo/flathub.flatpakrepo";
|
_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";
|
_FLATHUB_PACKAGES_TO_INSTALL="org.gnome.Platform/${CARCH}/3.38 org.gnome.Sdk/${CARCH}/3.38 org.freedesktop.Platform//19.08 org.freedesktop.Sdk//19.08";
|
||||||
_EXTRACTED_BINARY_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf
|
_EXTRACTED_BINARY_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf
|
||||||
_FLATPAK_JSON_FILE=$_SCRIPT_FOLDER/content/io.gitlab.LibreWolf.json;
|
_FLATPAK_JSON_FILE=$_SCRIPT_FOLDER/content/io.gitlab.LibreWolf.json;
|
||||||
_FLATPAK_BUILD_SOURCE_FOLDER=$_SCRIPT_FOLDER/source;
|
_FLATPAK_BUILD_SOURCE_FOLDER=$_SCRIPT_FOLDER/source;
|
||||||
|
|
@ -50,16 +50,17 @@ mv $_EXTRACTED_BINARY_TARBALL_FOLDER $_FLATPAK_BUILD_SOURCE_FOLDER;
|
||||||
# Build Repo
|
# Build Repo
|
||||||
printf "\nBuilding flatpak repository\n";
|
printf "\nBuilding flatpak repository\n";
|
||||||
cp "$_FLATPAK_JSON_FILE" ./;
|
cp "$_FLATPAK_JSON_FILE" ./;
|
||||||
flatpak-builder --disable-rofiles-fuse --repo="$FLATPAK_REPO" "$_FLATPAK_BUILD_FOLDER" io.gitlab.LibreWolf.json;
|
|
||||||
|
|
||||||
# add appstream metadata
|
# 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?
|
# TODO: firefox uses files/share/appdata/ in their flatpak, but https://docs.flatpak.org/en/latest/conventions.html says otherwise. which is "more" correct? => using both for now, just in case...
|
||||||
install -Dvm644 "$_FLATPAK_BUILD_SOURCE_FOLDER/librewolf/io.gitlab.LibreWolf.appdata.xml" "$_FLATPAK_BUILD_FOLDER/files/share/metainfo/io.gitlab.LibreWolf.appdata.xml"
|
install -Dvm644 "$_FLATPAK_BUILD_SOURCE_FOLDER/librewolf/io.gitlab.LibreWolf.appdata.xml" "$_SCRIPT_FOLDER/source/share/metainfo/io.gitlab.LibreWolf.appdata.xml"
|
||||||
|
install -Dvm644 "$_FLATPAK_BUILD_SOURCE_FOLDER/librewolf/io.gitlab.LibreWolf.appdata.xml" "$_SCRIPT_FOLDER/source/share/appdata/LibreWolf.appdata.xml"
|
||||||
|
|
||||||
# add .desktop file
|
install -Dvm644 "$_SCRIPT_FOLDER/content/io.gitlab.LibreWolf.desktop" "$_SCRIPT_FOLDER/source/share/applications/LibreWolf.desktop"
|
||||||
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 "$_FLATPAK_BUILD_SOURCE_FOLDER/librewolf/browser/chrome/icons/default/default128.png" "$_SCRIPT_FOLDER/source/share/icons/hicolor/128x128/apps/io.gitlab.LibreWolf.png"
|
||||||
install -Dvm644 "$_SCRIPT_FOLDER/content/librewolf.desktop" "$_FLATPAK_BUILD_FOLDER/export/share/application/librewolf.desktop"
|
|
||||||
|
flatpak-builder --disable-rofiles-fuse --repo="$FLATPAK_REPO" "$_FLATPAK_BUILD_FOLDER" io.gitlab.LibreWolf.json;
|
||||||
|
|
||||||
# Build bundle
|
# Build bundle
|
||||||
printf "\nBuilding flatpak bundle\n";
|
printf "\nBuilding flatpak bundle\n";
|
||||||
|
|
|
||||||
25
flatpak/content/io.gitlab.LibreWolf.desktop
Normal file
25
flatpak/content/io.gitlab.LibreWolf.desktop
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=LibreWolf
|
||||||
|
Exec=librewolf %u
|
||||||
|
Icon=io.gitlab.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;
|
||||||
|
Actions=new-window;new-private-window;profilemanager;
|
||||||
|
|
||||||
|
[Desktop Action new-window]
|
||||||
|
Name=Open a New Window
|
||||||
|
Exec=librewolf %u
|
||||||
|
|
||||||
|
[Desktop Action new-private-window]
|
||||||
|
Name=Open a New Private Window
|
||||||
|
Exec=librewolf --private-window %u
|
||||||
|
|
||||||
|
[Desktop Action profilemanager]
|
||||||
|
Name=Open the Profile Manager
|
||||||
|
Exec=librewolf --ProfileManager %u
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
{
|
{
|
||||||
"app-id": "io.gitlab.LibreWolf",
|
"app-id": "io.gitlab.LibreWolf",
|
||||||
"runtime": "org.gnome.Platform",
|
"runtime": "org.gnome.Platform",
|
||||||
"runtime-version": "3.36",
|
"runtime-version": "3.38",
|
||||||
"sdk": "org.gnome.Sdk",
|
"sdk": "org.gnome.Sdk",
|
||||||
"command": "librewolf",
|
"command": "librewolf",
|
||||||
|
"rename-desktop-file": "LibreWolf.desktop",
|
||||||
|
"rename-appdata-file": "LibreWolf.appdata.xml",
|
||||||
|
"rename-icon": "io.gitlab.LibreWolf",
|
||||||
"modules": [
|
"modules": [
|
||||||
"flatpak/content/shared-modules/dbus-glib/dbus-glib-0.110.json",
|
"flatpak/content/shared-modules/dbus-glib/dbus-glib-0.110.json",
|
||||||
{
|
{
|
||||||
|
|
@ -11,6 +14,10 @@
|
||||||
"buildsystem": "simple",
|
"buildsystem": "simple",
|
||||||
"build-commands": [
|
"build-commands": [
|
||||||
"mkdir -p /app/share && mv librewolf -t /app/share",
|
"mkdir -p /app/share && mv librewolf -t /app/share",
|
||||||
|
"mv share/appdata /app/share",
|
||||||
|
"mv share/applications /app/share",
|
||||||
|
"mv share/icons /app/share",
|
||||||
|
"mv share/metainfo /app/share",
|
||||||
"mkdir -p /app/bin && ln -s /app/share/librewolf/librewolf /app/bin/"
|
"mkdir -p /app/bin && ln -s /app/share/librewolf/librewolf /app/bin/"
|
||||||
],
|
],
|
||||||
"sources": [
|
"sources": [
|
||||||
|
|
@ -23,20 +30,24 @@
|
||||||
],
|
],
|
||||||
"finish-args": [
|
"finish-args": [
|
||||||
"--share=ipc",
|
"--share=ipc",
|
||||||
"--socket=x11",
|
"--socket=wayland",
|
||||||
|
"--socket=fallback-x11",
|
||||||
"--socket=pcsc",
|
"--socket=pcsc",
|
||||||
"--socket=pulseaudio",
|
"--socket=pulseaudio",
|
||||||
"--persist=.librewolf",
|
"--persist=.librewolf",
|
||||||
"--persist=.mozilla",
|
"--persist=.mozilla",
|
||||||
"--filesystem=xdg-download:rw",
|
"--filesystem=xdg-download:rw",
|
||||||
"--device=all",
|
"--device=dri",
|
||||||
|
"--filesystem=~/.config/dconf:ro",
|
||||||
|
"--env=DCONF_USER_CONFIG_DIR=.config/dconf",
|
||||||
"--talk-name=org.freedesktop.FileManager1",
|
"--talk-name=org.freedesktop.FileManager1",
|
||||||
"--system-talk-name=org.freedesktop.NetworkManager",
|
"--system-talk-name=org.freedesktop.NetworkManager",
|
||||||
"--talk-name=org.a11y.Bus",
|
"--talk-name=org.a11y.Bus",
|
||||||
"--talk-name=org.gnome.SessionManager",
|
"--talk-name=org.gnome.SessionManager",
|
||||||
"--talk-name=org.freedesktop.ScreenSaver",
|
"--talk-name=org.freedesktop.ScreenSaver",
|
||||||
"--talk-name=org.gtk.vfs.*",
|
"--talk-name=org.gtk.vfs.*",
|
||||||
"--socket=wayland",
|
"--socket=session-bus",
|
||||||
|
"--env=MOZ_ENABLE_WAYLAND=1",
|
||||||
"--share=network"
|
"--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
|
|
||||||
5186
unity-menubar.patch
Normal file
5186
unity-menubar.patch
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue