From 5daeba5df2e71a0f7fdf4ebd630405a386e40e68 Mon Sep 17 00:00:00 2001 From: Johannes Date: Tue, 10 Mar 2020 20:28:48 +0100 Subject: [PATCH] firefox: update to 74.0. --- srcpkgs/firefox/patches/fix-seccomp-bpf.patch | 14 ---- srcpkgs/firefox/patches/fix-toolkit.patch | 78 ------------------- srcpkgs/firefox/patches/fix-tools.patch | 17 ---- srcpkgs/firefox/patches/libgen.patch | 66 ++++++++++++++++ srcpkgs/firefox/patches/neon.patch | 46 ----------- srcpkgs/firefox/template | 5 +- 6 files changed, 68 insertions(+), 158 deletions(-) delete mode 100644 srcpkgs/firefox/patches/fix-seccomp-bpf.patch delete mode 100644 srcpkgs/firefox/patches/fix-toolkit.patch create mode 100644 srcpkgs/firefox/patches/libgen.patch delete mode 100644 srcpkgs/firefox/patches/neon.patch diff --git a/srcpkgs/firefox/patches/fix-seccomp-bpf.patch b/srcpkgs/firefox/patches/fix-seccomp-bpf.patch deleted file mode 100644 index ed94fc39ed..0000000000 --- a/srcpkgs/firefox/patches/fix-seccomp-bpf.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig 2015-09-23 09:10:08.812740571 +0200 -+++ security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-09-23 09:11:38.404746155 +0200 -@@ -23,6 +23,11 @@ - #include "sandbox/linux/services/android_ucontext.h" - #endif - -+// musl libc defines siginfo_t __si_fields instead of _sifields -+#if defined(OS_LINUX) && !defined(__GLIBC__) -+#define _sifields __si_fields -+#endif -+ - namespace { - - struct arch_sigsys { diff --git a/srcpkgs/firefox/patches/fix-toolkit.patch b/srcpkgs/firefox/patches/fix-toolkit.patch deleted file mode 100644 index 86e8ef4785..0000000000 --- a/srcpkgs/firefox/patches/fix-toolkit.patch +++ /dev/null @@ -1,78 +0,0 @@ ---- toolkit.orig/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h.orig 2016-07-05 21:00:03.672000517 +0200 -+++ toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2016-07-05 21:05:37.347806230 +0200 -@@ -1134,6 +1134,12 @@ - #ifndef __NR_fallocate - #define __NR_fallocate 285 - #endif -+ -+#undef __NR_pread -+#define __NR_pread __NR_pread64 -+#undef __NR_pwrite -+#define __NR_pwrite __NR_pwrite64 -+ - /* End of x86-64 definitions */ - #elif defined(__mips__) - #if _MIPS_SIM == _MIPS_SIM_ABI32 ---- toolkit.orig/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc 2014-03-15 05:19:36.000000000 +0000 -+++ toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc 2014-04-17 10:24:33.793431933 +0000 -@@ -45,6 +45,7 @@ - #include - #include - #include -+#include - - #include - #include ---- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.cc 2014-03-15 05:19:36.000000000 +0000 -+++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc 2014-04-17 10:24:33.793431933 +0000 -@@ -41,6 +41,10 @@ - - #include "common/using_std_string.h" - -+#ifndef N_UNDF -+#define N_UNDF 0 -+#endif -+ - using std::vector; - - namespace google_breakpad { ---- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.h 2014-03-15 05:19:36.000000000 +0000 -+++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h 2014-04-17 10:24:33.793431933 +0000 -@@ -55,7 +55,7 @@ - - #ifdef HAVE_MACH_O_NLIST_H - #include --#elif defined(HAVE_A_OUT_H) -+#elif 0 - #include - #endif - ---- toolkit.orig/mozapps/update/common/updatedefines.h 2019-01-29 11:34:36.416804577 +0100 -+++ toolkit/mozapps/update/common/updatedefines.h 2019-01-29 11:34:59.193583777 +0100 -@@ -102,7 +102,7 @@ - - # ifdef SOLARIS - # include --# else -+# elif !(defined(__linux__)) || defined(__GLIBC__) - # include - # endif - # include ---- toolkit.orig/mozapps/update/updater/updater.cpp 2014-03-15 05:19:37.000000000 +0000 -+++ toolkit/mozapps/update/updater/updater.cpp 2014-04-17 10:24:33.796765327 +0000 -@@ -3978,6 +3978,7 @@ - - int add_dir_entries(const NS_tchar* dirpath, ActionList* list) { - int rv = OK; -+#if !defined(__linux__) || defined(__GLIBC__) - FTS* ftsdir; - FTSENT* ftsdirEntry; - mozilla::UniquePtr searchpath(get_full_path(dirpath)); -@@ -4085,6 +4086,7 @@ - } - - fts_close(ftsdir); -+#endif - - return rv; - } diff --git a/srcpkgs/firefox/patches/fix-tools.patch b/srcpkgs/firefox/patches/fix-tools.patch index 0ed043fb5b..d29da8bb54 100644 --- a/srcpkgs/firefox/patches/fix-tools.patch +++ b/srcpkgs/firefox/patches/fix-tools.patch @@ -1,20 +1,3 @@ ---- tools/profiler/lul/LulElf.cpp.orig 2019-01-29 12:05:34.223834130 +0100 -+++ tools/profiler/lul/LulElf.cpp 2019-01-29 12:08:02.480400845 +0100 -@@ -469,10 +469,10 @@ - // Return the non-directory portion of FILENAME: the portion after the - // last slash, or the whole filename if there are no slashes. - string BaseFileName(const string& filename) { -- // Lots of copies! basename's behavior is less than ideal. -- char* c_filename = strdup(filename.c_str()); -- string base = basename(c_filename); -- free(c_filename); -+ // basename's behavior is less than ideal so avoid it -+ const char *c_filename = filename.c_str(); -+ const char *p = strrchr(c_filename, '/'); -+ string base = p ? p+1 : c_filename; - return base; - } - --- tools/profiler/core/platform-linux-android.cpp.orig 2019-01-29 12:09:40.980448579 +0100 +++ tools/profiler/core/platform-linux-android.cpp 2019-01-29 12:11:09.689590967 +0100 @@ -253,7 +253,11 @@ diff --git a/srcpkgs/firefox/patches/libgen.patch b/srcpkgs/firefox/patches/libgen.patch new file mode 100644 index 0000000000..41239bfaea --- /dev/null +++ b/srcpkgs/firefox/patches/libgen.patch @@ -0,0 +1,66 @@ + +# HG changeset patch +# User Samuel Holland +# Date 1581604569 0 +# Node ID a3096ca24124886f8642cb45d2091af0cc4010e1 +# Parent ddce7f4b64d96e68a86d7a519f1828d06e37176d +Bug 1041962 - Include libgen.h for basename r=jseward + +Currently, the GNU version of basename from string.h is used, which +has behavior that conflicts with the POSIX version in libgen.h. + +The GNU basename is not available in all libcs. In particular, it +is missing in musl libc, causing a build failure: + + error: 'basename' was not declared in this scope + +The GNU version has the following implementation: + + char *p = strrchr (filename, '/'); + return p ? p + 1 : (char *) filename; + +The POSIX version has slightly different semantics. It may modify +its argument string, or copy part of it to static storage. However, +it will also delete trailing slashes, while the GNU version will +return the empty string if there is a trailing slash. + +This change resolves the issue by including libgen.h, adopting POSIX +basename semantics. This should be a safe change for the following +reasons: + +- The google-breakpad code, from which this code was derived, has + also switched to the POSIX basename: + https://chromium.googlesource.com/breakpad/breakpad/+/072f86ca83bb7138fe33f10b6380badd9ef7f065%5E%21/#F4 + +- The version of LulElf.cpp in mozglue/baseprofiler has also switched + to the POSIX basename: + https://hg.mozilla.org/mozilla-central/annotate/de1c3ae8df14cdb2c94a817b02dcffcb2cee12e2/mozglue/baseprofiler/lul/LulElf.cpp#l54 + +- The BaseFileName function is called only with paths to ELF files, + never directories, so the paths will never contain a trailing + slash, and the two versions of basename will behave identically. + +Differential Revision: https://phabricator.services.mozilla.com/D61047 + +diff --git a/tools/profiler/lul/LulElf.cpp b/tools/profiler/lul/LulElf.cpp +--- tools/profiler/lul/LulElf.cpp ++++ tools/profiler/lul/LulElf.cpp +@@ -42,16 +42,17 @@ + // This file is derived from the following files in + // toolkit/crashreporter/google-breakpad: + // src/common/linux/dump_symbols.cc + // src/common/linux/elfutils.cc + // src/common/linux/file_id.cc + + #include + #include ++#include + #include + #include + #include + #include + #include + #include + + #include + diff --git a/srcpkgs/firefox/patches/neon.patch b/srcpkgs/firefox/patches/neon.patch deleted file mode 100644 index b3b66e1065..0000000000 --- a/srcpkgs/firefox/patches/neon.patch +++ /dev/null @@ -1,46 +0,0 @@ - -# HG changeset patch -# User Andrew Osmond -# Date 1579706360 0 -# Node ID b3d8b08265b800165d684281d19ac845a8ff9a66 -# Parent 50c371b37a9fcd994a5866db73bd0d078e19f95d -Bug 1610814 - Fix NEON compile error with gcc and RGB unpacking. r=lsalzman - -This patch makes us use the correct intrinsic for loading a uint8x16 -register. It is not entirely clear why clang accepts this without -complaint but beyond the types, it should be equivalent. - -Differential Revision: https://phabricator.services.mozilla.com/D60667 - -diff --git a/gfx/2d/SwizzleNEON.cpp b/gfx/2d/SwizzleNEON.cpp ---- gfx/2d/SwizzleNEON.cpp -+++ gfx/2d/SwizzleNEON.cpp -@@ -407,25 +407,25 @@ void UnpackRowRGB24_NEON(const uint8_t* - } - - uint8x16_t alpha = vreinterpretq_u8_u32(vdupq_n_u32(0xFF000000)); - - // Process all 4-pixel chunks as one vector. - src -= 4 * 3; - dst -= 4 * 4; - while (src >= aSrc) { -- uint8x16_t px = vld1q_u16(reinterpret_cast(src)); -+ uint8x16_t px = vld1q_u8(src); - // G2R2B1G1 R1B0G0R0 -> X1R1G1B1 X0R0G0B0 - uint8x8_t pxlo = vtbl1_u8(vget_low_u8(px), masklo); - // B3G3R3B2 G2R2B1G1 -> X3R3G3B3 X2R2G2B2 - uint8x8_t pxhi = - vtbl1_u8(vext_u8(vget_low_u8(px), vget_high_u8(px), 4), maskhi); - px = vcombine_u8(pxlo, pxhi); - px = vorrq_u8(px, alpha); -- vst1q_u16(reinterpret_cast(dst), px); -+ vst1q_u8(dst, px); - src -= 4 * 3; - dst -= 4 * 4; - } - } - - // Force instantiation of swizzle variants here. - template void UnpackRowRGB24_NEON(const uint8_t*, uint8_t*, int32_t); - template void UnpackRowRGB24_NEON(const uint8_t*, uint8_t*, int32_t); - diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template index 8a3ee7ef2e..9ede664874 100644 --- a/srcpkgs/firefox/template +++ b/srcpkgs/firefox/template @@ -3,7 +3,7 @@ # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-i18n". # pkgname=firefox -version=73.0.1 +version=74.0 revision=1 build_helper="rust" short_desc="Mozilla Firefox web browser" @@ -11,7 +11,7 @@ maintainer="Johannes " 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=53415180e74da60fc91700ce1ff33bf5b6f51e65353017a98270899a08e0c3d2 +checksum=74589c2836d7c30134636823c3caefbcaed0ea7c3abb2def9e3ddd9f86d9440a lib32disabled=yes @@ -66,7 +66,6 @@ post_extract() { post_patch() { _clear_vendor_checksums audio_thread_priority - _clear_vendor_checksums backtrace-sys _clear_vendor_checksums num-traits }