aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md6
-rw-r--r--PKGBUILD27
-rwxr-xr-xbinary_tarball/scripts/2_Download_Source_Code.sh2
-rwxr-xr-xbinary_tarball/scripts/3_Configure_Source_Code.sh10
-rwxr-xr-xbinary_tarball/scripts/4_Build_Binary_Tarball.sh4
-rw-r--r--deb_patches/armhf-reduce-linker-memory-use.patch27
-rw-r--r--deb_patches/build-with-libstdc++-7.patch39
-rw-r--r--deb_patches/fix-armhf-webrtc-build.patch4
8 files changed, 85 insertions, 34 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a791a9f..58b0416 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 46f428a..2d2354c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
diff --git a/binary_tarball/scripts/2_Download_Source_Code.sh b/binary_tarball/scripts/2_Download_Source_Code.sh
index c50149d..6364dd2 100755
--- a/binary_tarball/scripts/2_Download_Source_Code.sh
+++ b/binary_tarball/scripts/2_Download_Source_Code.sh
@@ -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
diff --git a/binary_tarball/scripts/3_Configure_Source_Code.sh b/binary_tarball/scripts/3_Configure_Source_Code.sh
index 84b4858..99e3d6a 100755
--- a/binary_tarball/scripts/3_Configure_Source_Code.sh
+++ b/binary_tarball/scripts/3_Configure_Source_Code.sh
@@ -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
diff --git a/binary_tarball/scripts/4_Build_Binary_Tarball.sh b/binary_tarball/scripts/4_Build_Binary_Tarball.sh
index ad9cf0f..cad87a0 100755
--- a/binary_tarball/scripts/4_Build_Binary_Tarball.sh
+++ b/binary_tarball/scripts/4_Build_Binary_Tarball.sh
@@ -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
diff --git a/deb_patches/armhf-reduce-linker-memory-use.patch b/deb_patches/armhf-reduce-linker-memory-use.patch
new file mode 100644
index 0000000..3f20011
--- /dev/null
+++ b/deb_patches/armhf-reduce-linker-memory-use.patch
@@ -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
+
+
diff --git a/deb_patches/build-with-libstdc++-7.patch b/deb_patches/build-with-libstdc++-7.patch
index 55d0036..82cf9cc 100644
--- a/deb_patches/build-with-libstdc++-7.patch
+++ b/deb_patches/build-with-libstdc++-7.patch
@@ -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',
diff --git a/deb_patches/fix-armhf-webrtc-build.patch b/deb_patches/fix-armhf-webrtc-build.patch
index 44e88a6..7f56b3e 100644
--- a/deb_patches/fix-armhf-webrtc-build.patch
+++ b/deb_patches/fix-armhf-webrtc-build.patch
@@ -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
bgstack15