Also (re-)adds some debian armhf-patches – not really needed, but making
it easier to apply the libstdc++-related patches without having to
modify them.
master
ohfp 2020-07-30 17:51:35 +02:00
parent 702a1ce4d3
commit d73ef25178
No known key found for this signature in database
GPG Key ID: 2954CC8585E27A3F
8 changed files with 85 additions and 34 deletions

View File

@ -7,6 +7,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
This project follows the official Firefox releases, but also uses
[Arch Linux Package Versioning](https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning) to mark individual releases in between versions.
## [79.0-1] - 2020-07-30
### Changed
- New upstream release 79.0
## [78.0.2-1] - 2020-07-10
### Changed

View File

@ -6,7 +6,7 @@
pkgname=librewolf
_pkgname=LibreWolf
# how to get ci vars instead?
pkgver=78.0.2
pkgver=79.0
pkgrel=1
pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom."
arch=(x86_64 aarch64)
@ -15,7 +15,7 @@ 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
autoconf2.13 rust clang llvm jack gtk2 nodejs cbindgen nasm
python-setuptools python-psutil git binutils)
python-setuptools python-psutil git binutils lld)
optdepends=('networkmanager: Location detection via available WiFi networks'
'libnotify: Notification integration'
'pulseaudio: Audio support'
@ -27,7 +27,8 @@ source_x86_64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/f
"git+https://gitlab.com/${pkgname}-community/browser/common.git"
"git+https://gitlab.com/${pkgname}-community/settings.git"
"megabar.patch"
"remove_addons.patch")
"remove_addons.patch"
https://raw.githubusercontent.com/archlinux/svntogit-packages/master/firefox/repos/extra-x86_64/bug1654465.diff)
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"
@ -35,22 +36,25 @@ source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/
"megabar.patch"
"remove_addons.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
https://raw.githubusercontent.com/archlinux/svntogit-packages/master/firefox/repos/extra-x86_64/bug1654465.diff)
sha256sums_x86_64=('1aa00ec6d40a771d525b867b175be28eda096becc745875bcceb133a985750fc'
sha256sums_x86_64=('12a922855914ec6b4d4f06a4ac58bc549aca6bdafd3722d68a3d709a935e5713'
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
'SKIP'
'SKIP'
'2bef819c55935f6c72a7aa28273ecddfce0888429a32465feb6c34a16ff1ed9c'
'4425388d62cbb7ec3808926ae5e04021b17af8a0b6ba47c08a253ecfdcc264c0')
sha256sums_aarch64=('1aa00ec6d40a771d525b867b175be28eda096becc745875bcceb133a985750fc'
'4425388d62cbb7ec3808926ae5e04021b17af8a0b6ba47c08a253ecfdcc264c0'
'e577f7e5636deda0026b0e385186f3ecb2212c9b84b6a2949a1811dab3e410d6')
sha256sums_aarch64=('12a922855914ec6b4d4f06a4ac58bc549aca6bdafd3722d68a3d709a935e5713'
'0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2'
'SKIP'
'SKIP'
'2bef819c55935f6c72a7aa28273ecddfce0888429a32465feb6c34a16ff1ed9c'
'4425388d62cbb7ec3808926ae5e04021b17af8a0b6ba47c08a253ecfdcc264c0'
'6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7'
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9'
'e577f7e5636deda0026b0e385186f3ecb2212c9b84b6a2949a1811dab3e410d6')
prepare() {
mkdir mozbuild
@ -115,7 +119,7 @@ END
export CXXFLAGS+=" -g0"
export RUSTFLAGS="-Cdebuginfo=0"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
export LDFLAGS+=" -Wl,--no-keep-memory"
patch -p1 -i ../arm.patch
patch -p1 -i ../build-arm-libopus.patch
@ -127,6 +131,9 @@ ac_add_options --enable-optimize
END
fi
# https://bugzilla.mozilla.org/show_bug.cgi?id=1654465
patch -Np1 -i ../bug1654465.diff
# Remove some pre-installed addons that might be questionable
patch -p1 -i ../remove_addons.patch
@ -216,6 +223,8 @@ 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
ac_add_options --disable-elf-hack
END
else

View File

@ -1,6 +1,8 @@
#!/bin/bash
printf "\n\n--------------------------------- SOURCE CODE DOWNLOAD --------------------------------------\n";
set -e
if [[ -z ${pkgver} || -z ${pkgrel} ]]; then
echo '$pkgrel and/or $pkgver not provided'
exit 1

View File

@ -1,6 +1,8 @@
#!/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)/../../)}
@ -87,7 +89,7 @@ END
export CXXFLAGS+=" -g0"
export RUSTFLAGS="-Cdebuginfo=0"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl"
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
@ -110,7 +112,13 @@ END
fi
# hopefully the magic sauce that makes things build on 16.04 and later on work "everywhere":
patch -p1 -i "${CI_PROJECT_DIR}/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}/fix-armhf-webrtc-build.patch"
patch -p1 -i "${CI_PROJECT_DIR}/webrtc-fix-compiler-flags-for-armhf.patch"
# https://bugzilla.mozilla.org/show_bug.cgi?id=1654465
patch -p1 -i ${CI_PROJECT_DIR}/bug1654465.diff
# Remove some pre-installed addons that might be questionable
patch -p1 -i ${CI_PROJECT_DIR}/remove_addons.patch

View File

@ -1,6 +1,8 @@
#!/bin/bash
printf "\n\n--------------------------------------- BUILD -----------------------------------------------\n";
set -e
# Setup Script Variables
srcdir=$1;
OUTPUT_TARBALL=$2;
@ -37,7 +39,7 @@ if [[ $CARCH == 'aarch64' ]]; then
export CFLAGS+=" -g0"
export CXXFLAGS+=" -g0"
export RUSTFLAGS="-Cdebuginfo=0"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl"
fi
# LTO needs more open files

View File

@ -0,0 +1,27 @@
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
@@ -2056,15 +2056,16 @@ def select_linker(linker, c_compiler, de
set_config('LINKER_KIND', select_linker.KIND)
-@depends_if(select_linker, macos_sdk)
-def linker_ldflags(linker, macos_sdk):
+@depends_if(select_linker, macos_sdk, host)
+def linker_ldflags(linker, macos_sdk, host):
flags = list(linker.LINKER_FLAG or [])
if macos_sdk:
if linker.KIND == 'ld64':
flags.append('-Wl,-syslibroot,%s' % macos_sdk)
else:
flags.append('-Wl,--sysroot=%s' % macos_sdk)
-
+ elif host.cpu == 'arm':
+ flags.append('-Wl,--no-keep-memory')
return flags

View File

@ -1,5 +1,7 @@
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
index ce42ab7..b07514f 100755
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
@@ -1252,6 +1252,7 @@ try_compile(includes=['cstddef'],
@ -10,7 +12,7 @@ index ce42ab7..b07514f 100755
check_msg='for new enough STL headers from libstdc++',
when=needs_libstdcxx_newness_check,
onerror=die_on_old_libstdcxx)
@@ -1433,6 +1434,10 @@ set_config('_DEPEND_CFLAGS', depend_cflags(c_compiler))
@@ -1433,6 +1434,10 @@ set_config('_DEPEND_CFLAGS', depend_cfla
set_config('_HOST_DEPEND_CFLAGS', depend_cflags(host_c_compiler))
@ -21,29 +23,14 @@ index ce42ab7..b07514f 100755
@depends(c_compiler)
def preprocess_option(compiler):
# The uses of PREPROCESS_OPTION depend on the spacing for -o/-Fi.
@@ -2133,7 +2138,7 @@ def linker_ldflags(linker, macos_sdk):
flags.append('-Wl,-syslibroot,%s' % macos_sdk)
else:
@@ -2137,6 +2142,7 @@ def linker_ldflags(linker, macos_sdk, ho
flags.append('-Wl,--sysroot=%s' % macos_sdk)
-
elif host.cpu == 'arm':
flags.append('-Wl,--no-keep-memory')
+ flags.append('-static-libstdc++')
return flags
diff --git a/layout/style/test/moz.build b/layout/style/test/moz.build
index 5b77bd8..3b8f869 100644
--- 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',
diff --git a/servo/components/style/build_gecko.rs b/servo/components/style/build_gecko.rs
index dfd2a21..5696e2a 100644
--- a/servo/components/style/build_gecko.rs
+++ b/servo/components/style/build_gecko.rs
@@ -149,6 +149,8 @@ impl BuilderExt for Builder {
@ -55,3 +42,13 @@ index dfd2a21..5696e2a 100644
for dir in SEARCH_PATHS.iter() {
builder = builder.clang_arg("-I").clang_arg(dir.to_str().unwrap());
}
--- 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',

View File

@ -37,9 +37,9 @@ diff -r 53fd96ca5aa4 media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linu
- "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c"
-]
-
if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "0"
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -53,20 +49,36 @@
DEFINES["WEBRTC_ARCH_ARM64"] = True
DEFINES["WEBRTC_HAS_NEON"] = True