firefox: update to 69.0.

[ci skip]
This commit is contained in:
Johannes 2019-09-03 23:53:57 +02:00 committed by Johannes
parent 27396a9fc5
commit f75fc1abdc
4 changed files with 44 additions and 71 deletions

View file

@ -1,11 +0,0 @@
--- tools/profiler/core/platform-linux-android.cpp.orig 2019-07-09 22:58:30.039475686 +0200
+++ tools/profiler/core/platform-linux-android.cpp 2019-07-09 22:58:39.331437677 +0200
@@ -73,7 +73,7 @@
int profiler_current_thread_id() {
// glibc doesn't provide a wrapper for gettid().
-#if defined(__GLIBC__)
+#if defined(__linux__)
return static_cast<int>(static_cast<pid_t>(syscall(SYS_gettid)));
#else
return static_cast<int>(gettid());

View file

@ -0,0 +1,22 @@
source: https://github.com/padenot/audio_thread_priority/commit/a1443a02667c649cb72873a45b98fffbd2eac5a8
commit a1443a02667c649cb72873a45b98fffbd2eac5a8
Author: Paul Adenot <paul@paul.cx>
Date: Mon Aug 19 15:00:39 2019 +0200
initialize sched_param using std::mem::zeroed to fix compilation against other libc than glibc
diff --git a/src/rt_linux.rs b/src/rt_linux.rs
index d8c0114..fbb4fde 100644
--- third_party/rust/audio_thread_priority/src/rt_linux.rs.orig 2019-09-03 22:57:00.197152845 +0200
+++ third_party/rust/audio_thread_priority/src/rt_linux.rs 2019-09-03 23:05:42.219159018 +0200
@@ -93,8 +93,8 @@ pub fn promote_current_thread_to_real_time_internal(audio_buffer_frames: u32,
{
let thread_id = unsafe { libc::syscall(libc::SYS_gettid) };
let pthread_id = unsafe { libc::pthread_self() };
+ let mut param = unsafe { std::mem::zeroed::<libc::sched_param>() };
let mut policy = 0;
- let mut param = libc::sched_param { sched_priority: 0 };
if unsafe { libc::pthread_getschedparam(pthread_id, &mut policy, &mut param) } < 0 {
error!("pthread_getschedparam error {}", pthread_id);

View file

@ -1,50 +0,0 @@
diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp
--- js/xpconnect/src/XPCWrappedNative.cpp
+++ js/xpconnect/src/XPCWrappedNative.cpp
@@ -1152,16 +1152,20 @@ bool XPCWrappedNative::CallMethod(XPCCal
if (NS_FAILED(rv)) {
return Throw(rv, ccx);
}
JS::Rooted<CallMethodHelper> helper(ccx, /* init = */ ccx);
return helper.get().Call();
}
+#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+__attribute__ ((noinline,noclone))
+#endif
bool CallMethodHelper::Call() {
mCallContext.SetRetVal(JS::UndefinedValue());
mCallContext.GetContext()->SetPendingException(nullptr);
if (mVTableIndex == 0) {
return QueryInterfaceFastPath();
}
@@ -1310,16 +1314,20 @@ bool CallMethodHelper::GetOutParamSource
return false;
}
}
}
return true;
}
+#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+__attribute__ ((noinline,noclone))
+#endif
bool CallMethodHelper::GatherAndConvertResults() {
// now we iterate through the native params to gather and convert results
uint8_t paramCount = mMethodInfo->GetParamCount();
for (uint8_t i = 0; i < paramCount; i++) {
const nsXPTParamInfo& paramInfo = mMethodInfo->GetParam(i);
if (!paramInfo.IsOut()) {
continue;
}

View file

@ -3,7 +3,7 @@
# THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-i18n".
#
pkgname=firefox
version=68.0.2
version=69.0
revision=1
build_helper="rust"
short_desc="Mozilla Firefox web browser"
@ -11,7 +11,7 @@ maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="MPL-2.0, GPL-2.0-or-later, LGPL-2.1-or-later"
homepage="https://www.mozilla.org/firefox/"
distfiles="${MOZILLA_SITE}/${pkgname}/releases/${version}/source/${pkgname}-${version}.source.tar.xz"
checksum=9b3e6d8f99819f9eda9ebba403b644a2b96d19450b42cae422bbf4386902a840
checksum=413c3febdfeb69eade818824eecbdb11eaeda71de229573810afd641ba741ec5
lib32disabled=yes
@ -31,11 +31,6 @@ conflicts="firefox-esr>=0"
build_options="alsa dbus pulseaudio startup_notification xscreensaver sndio wayland"
build_options_default="alsa dbus pulseaudio startup_notification xscreensaver sndio wayland"
# 19:55.85 /usr/bin/ld: failed to set dynamic section sizes: memory exhausted
if [ "$XBPS_WORDSIZE" -eq 32 ]; then
nodebug=yes
fi
case $XBPS_TARGET_MACHINE in
armv6*)
broken="required NEON extensions are not supported on armv6"
@ -44,6 +39,13 @@ case $XBPS_TARGET_MACHINE in
ppc*) broken="ftbfs in several places" ;;
esac
# we need this because cargo verifies checksums of all files in vendor
# crates when it builds and gives us no way to override or update the
# file sanely... so just clear out the file list
_clear_vendor_checksums() {
sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/$1/.cargo-checksum.json
}
post_extract() {
case "$XBPS_TARGET_MACHINE" in
*-musl)
@ -59,6 +61,11 @@ post_extract() {
# Note: This is for Void Linux use ONLY.
echo -n "cd894504-7a2a-4263-abff-ff73ee89ffca" > mozilla-api-key
}
post_patch() {
_clear_vendor_checksums audio_thread_priority
}
do_build() {
cp "${FILESDIR}/mozconfig" "${wrksrc}/.mozconfig"
@ -114,9 +121,14 @@ do_build() {
;;
esac
if [ "$XBPS_WORDSIZE" -eq 32 ]; then
# ENOMEM
echo "ac_add_options --disable-debug-symbols" >>.mozconfig
# work around large debug symbols on 32-bit hosts
if [ "$XBPS_WORDSIZE" = "32" ]; then
export CFLAGS="${CFLAGS/-g/-g1}"
export CXXFLAGS="${CXXFLAGS/-g/-g1}"
export LDFLAGS+=" -Wl,--no-keep-memory"
# patch the rust debug level, this is hardcoded
sed -i "s/debug_info = '2'/debug_info = '1'/" \
build/moz.configure/toolchain.configure
fi
export LDFLAGS+=" -Wl,-rpath=/usr/lib/firefox"