From 5163d0e87c846b4c5a1eaf6553b1fe1da1650b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Tue, 4 Jun 2019 04:07:53 +0200 Subject: [PATCH] icecat: update to 60.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jürgen Buchmüller --- srcpkgs/icecat/files/musl-cmsghdr.patch | 10 -- srcpkgs/icecat/patches/fix-i686-musl.patch | 20 ++++ srcpkgs/icecat/patches/fix-toolkit.patch | 22 ++--- srcpkgs/icecat/patches/fix-tools.patch | 41 +++++--- srcpkgs/icecat/patches/fix-webrtc-arm.patch | 11 +++ .../icecat/patches/ppc-no-static-sizes.patch | 19 ++++ .../icecat/patches/remove-rustc-check.patch | 32 ++++++ .../patches/rust-unitialized-field.patch | 19 ++++ ...nd-restore-non-volatile-x28-on-arm64.patch | 64 ++++++++++++ ...-clobbering-it-in-the-regex-compiler.patch | 97 +++++++++++++++++++ srcpkgs/icecat/patches/sndio.patch | 97 +++++++++++++++++++ srcpkgs/icecat/template | 41 ++++---- 12 files changed, 417 insertions(+), 56 deletions(-) delete mode 100644 srcpkgs/icecat/files/musl-cmsghdr.patch create mode 100644 srcpkgs/icecat/patches/fix-i686-musl.patch create mode 100644 srcpkgs/icecat/patches/fix-webrtc-arm.patch create mode 100644 srcpkgs/icecat/patches/ppc-no-static-sizes.patch create mode 100644 srcpkgs/icecat/patches/remove-rustc-check.patch create mode 100644 srcpkgs/icecat/patches/rust-unitialized-field.patch create mode 100644 srcpkgs/icecat/patches/save-and-restore-non-volatile-x28-on-arm64.patch create mode 100644 srcpkgs/icecat/patches/save-x28-before-clobbering-it-in-the-regex-compiler.patch create mode 100644 srcpkgs/icecat/patches/sndio.patch diff --git a/srcpkgs/icecat/files/musl-cmsghdr.patch b/srcpkgs/icecat/files/musl-cmsghdr.patch deleted file mode 100644 index 0c28f524d9b..00000000000 --- a/srcpkgs/icecat/files/musl-cmsghdr.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- media/audioipc/audioipc/src/cmsg.rs 2018-11-10 19:58:24.408601195 +0100 -+++ media/audioipc/audioipc/src/cmsg.rs 2018-11-10 19:57:56.181599738 +0100 -@@ -108,6 +108,7 @@ - - let cmsghdr = cmsghdr { - cmsg_len: cmsg_len as _, -+ __pad1: 0, - cmsg_level: level, - cmsg_type: kind, - }; diff --git a/srcpkgs/icecat/patches/fix-i686-musl.patch b/srcpkgs/icecat/patches/fix-i686-musl.patch new file mode 100644 index 00000000000..5345a3cd3df --- /dev/null +++ b/srcpkgs/icecat/patches/fix-i686-musl.patch @@ -0,0 +1,20 @@ +--- mozglue/misc/StackWalk.cpp 2017-04-11 04:13:21.000000000 +0200 ++++ mozglue/misc/StackWalk.cpp 2017-11-29 15:23:07.218649970 +0100 +@@ -41,7 +41,7 @@ + #define MOZ_STACKWALK_SUPPORTS_MACOSX 0 + #endif + +-#if (defined(linux) && \ ++#if defined(__GLIBC__) && (defined(linux) && \ + ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ + defined(HAVE__UNWIND_BACKTRACE))) + #define MOZ_STACKWALK_SUPPORTS_LINUX 1 +@@ -911,7 +911,7 @@ + } + + // {x86, ppc} x {Linux, Mac} stackwalking code. +-#if ((defined(__i386) || defined(PPC) || defined(__ppc__)) && \ ++#if defined(__GLIBC__) && ((defined(__i386) || defined(PPC) || defined(__ppc__)) && \ + (MOZ_STACKWALK_SUPPORTS_MACOSX || MOZ_STACKWALK_SUPPORTS_LINUX)) + + MFBT_API bool diff --git a/srcpkgs/icecat/patches/fix-toolkit.patch b/srcpkgs/icecat/patches/fix-toolkit.patch index 7d79879862d..ce4d7d01f82 100644 --- a/srcpkgs/icecat/patches/fix-toolkit.patch +++ b/srcpkgs/icecat/patches/fix-toolkit.patch @@ -48,17 +48,6 @@ #endif ---- toolkit.orig/mozapps/update/common/updatedefines.h 2014-03-15 05:19:37.000000000 +0000 -+++ toolkit/mozapps/update/common/updatedefines.h 2014-04-17 10:24:33.793431933 +0000 -@@ -105,7 +105,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 @@ -3432,6 +3432,7 @@ @@ -77,3 +66,14 @@ return rv; } +--- toolkit/mozapps/update/common/updatedefines.h 2019-01-24 18:31:42.000000000 +0100 ++++ - 2019-01-31 11:15:53.946747750 +0100 +@@ -100,7 +100,7 @@ + + #ifdef SOLARIS + #include +-#else ++#elif !defined(__linux__) || defined(__GLIBC__) + #include + #endif + #include diff --git a/srcpkgs/icecat/patches/fix-tools.patch b/srcpkgs/icecat/patches/fix-tools.patch index d5a94cb5798..1e2fc4f7d39 100644 --- a/srcpkgs/icecat/patches/fix-tools.patch +++ b/srcpkgs/icecat/patches/fix-tools.patch @@ -9,29 +9,39 @@ #include #include #include "MainThreadUtils.h" ---- tools/profiler/lul/LulElf.cpp -+++ tools/profiler/lul/LulElf.cpp -@@ -579,10 +579,10 @@ - // Return the non-directory portion of FILENAME: the portion after the +--- tools/profiler/lul/LulElf.cpp 2019-01-24 18:31:42.000000000 +0100 ++++ - 2019-01-31 11:19:53.198257189 +0100 +@@ -460,9 +460,9 @@ // 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 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* 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 2019-01-24 18:31:43.000000000 +0100 ++++ - 2019-01-31 11:23:07.911772317 +0100 +@@ -253,7 +253,11 @@ ---- tools/profiler/core/platform-linux-android.cpp.orig -+++ tools/profiler/core/platform-linux-android.cpp -@@ -534,9 +534,11 @@ - void - Registers::SyncPopulate() - { + // Request profiling signals. + struct sigaction sa; ++#if defined(GP_ARCH_arm) ++ sa.sa_sigaction = SigprofHandler; ++#else + sa.sa_sigaction = MOZ_SIGNAL_TRAMPOLINE(SigprofHandler); ++#endif + sigemptyset(&sa.sa_mask); + sa.sa_flags = SA_RESTART | SA_SIGINFO; + if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) { +@@ -497,8 +497,10 @@ + ucontext_t sSyncUContext; + + void Registers::SyncPopulate() { +#if defined(__GLIBC__) if (!getcontext(&sSyncUContext)) { PopulateRegsFromContext(*this, &sSyncUContext); @@ -39,4 +49,3 @@ +#endif } #endif - diff --git a/srcpkgs/icecat/patches/fix-webrtc-arm.patch b/srcpkgs/icecat/patches/fix-webrtc-arm.patch new file mode 100644 index 00000000000..222be5f9e21 --- /dev/null +++ b/srcpkgs/icecat/patches/fix-webrtc-arm.patch @@ -0,0 +1,11 @@ +--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features.cc 2019-01-24 18:31:10.000000000 +0100 ++++ - 2019-02-01 00:13:35.690776711 +0100 +@@ -67,7 +67,7 @@ + return 0; + } + +-#if !defined(ANDROID) ++#if !defined(ANDROID) && !defined(__linux__) + #ifdef WEBRTC_ARCH_ARM_V7 + uint64_t WebRtc_GetCPUFeaturesARM(void) { + return kCPUFeatureARMv7 diff --git a/srcpkgs/icecat/patches/ppc-no-static-sizes.patch b/srcpkgs/icecat/patches/ppc-no-static-sizes.patch new file mode 100644 index 00000000000..3f77023bb5f --- /dev/null +++ b/srcpkgs/icecat/patches/ppc-no-static-sizes.patch @@ -0,0 +1,19 @@ +# HG changeset patch +# Parent b735e618c2a860972197942f6680c941e3c9a67f +# User Gustavo Luiz Duarte +Bug 997353 - Do not use compile-time page size for PowerPC. + +The PowerPC architecture allows various memory page sizes, making it impossible +to predict the runtime page size. + +--- memory/build/mozjemalloc.cpp ++++ memory/build/mozjemalloc.cpp +@@ -369,7 +369,7 @@ + // Debug builds are opted out too, for test coverage. + #ifndef MOZ_DEBUG + #if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && \ +- !defined(__aarch64__) ++ !defined(__aarch64__) && !defined(__powerpc__) && !defined(__powerpc64__) + #define MALLOC_STATIC_PAGESIZE 1 + #endif + #endif diff --git a/srcpkgs/icecat/patches/remove-rustc-check.patch b/srcpkgs/icecat/patches/remove-rustc-check.patch new file mode 100644 index 00000000000..f6bebc8aab1 --- /dev/null +++ b/srcpkgs/icecat/patches/remove-rustc-check.patch @@ -0,0 +1,32 @@ +Mozilla rustc check does not support crossbuild: let's remove it + +--- build/moz.configure/rust.configure 2018-10-01 16:28:31.000000000 +0200 ++++ build/moz.configure/rust.configure 2018-10-20 14:21:35.510000000 +0200 +@@ -204,26 +204,6 @@ + + os.write(in_fd, source) + os.close(in_fd) +- +- cmd = [ +- rustc, +- '--crate-type', 'staticlib', +- target_arg, +- '-o', out_path, +- in_path, +- ] +- +- def failed(): +- die(dedent('''\ +- Cannot compile for {} with {} +- The target may be unsupported, or you may not have +- a rust std library for that target installed. Try: +- +- rustup target add {} +- '''.format(host_or_target.alias, rustc, rustc_target.alias))) +- check_cmd_output(*cmd, onerror=failed) +- if not os.path.exists(out_path) or os.path.getsize(out_path) == 0: +- failed() + finally: + os.remove(in_path) + os.remove(out_path) + diff --git a/srcpkgs/icecat/patches/rust-unitialized-field.patch b/srcpkgs/icecat/patches/rust-unitialized-field.patch new file mode 100644 index 00000000000..67ef3a02ab8 --- /dev/null +++ b/srcpkgs/icecat/patches/rust-unitialized-field.patch @@ -0,0 +1,19 @@ +--- ./media/audioipc/audioipc/src/cmsg.rs.orig 2018-05-09 22:19:14.748631939 +0200 ++++ ./media/audioipc/audioipc/src/cmsg.rs 2018-05-09 22:19:22.961620862 +0200 +@@ -106,11 +106,11 @@ impl ControlMsgBuilder { + return Err(Error::NoSpace); + } + +- let cmsghdr = cmsghdr { +- cmsg_len: cmsg_len as _, +- cmsg_level: level, +- cmsg_type: kind, +- }; ++ use std::mem; ++ let mut cmsghdr: cmsghdr = unsafe { mem::zeroed() }; ++ cmsghdr.cmsg_len = cmsg_len as _; ++ cmsghdr.cmsg_level = level; ++ cmsghdr.cmsg_type = kind; + + let cmsghdr = unsafe { + slice::from_raw_parts(&cmsghdr as *const _ as *const _, mem::size_of::()) diff --git a/srcpkgs/icecat/patches/save-and-restore-non-volatile-x28-on-arm64.patch b/srcpkgs/icecat/patches/save-and-restore-non-volatile-x28-on-arm64.patch new file mode 100644 index 00000000000..fa303f6d1e9 --- /dev/null +++ b/srcpkgs/icecat/patches/save-and-restore-non-volatile-x28-on-arm64.patch @@ -0,0 +1,64 @@ +# HG changeset patch +# User Lars T Hansen +# Date 1519822672 -3600 +# Node ID 800abe66894d6b07b24bccecbf6a65e2261076f6 +# Parent 223c97459e96183eb616aed39147207bdb953ba8 +Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl + +Origin: upstream +Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/800abe66894d +--- + js/src/vm/UnboxedObject.cpp | 30 ++++++++++++++++++++++++++---- + 1 file changed, 26 insertions(+), 4 deletions(-) + +diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp +index 35ca20d7405f..1c20a1093d13 100644 +--- js/src/vm/UnboxedObject.cpp ++++ js/src/vm/UnboxedObject.cpp +@@ -86,9 +86,16 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1; + #endif + + #ifdef JS_CODEGEN_ARM64 +- // ARM64 communicates stack address via sp, but uses a pseudo-sp for +- // addressing. +- masm.initStackPtr(); ++ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for ++ // addressing. The register we use for PSP may however also be used by ++ // calling code, and it is nonvolatile, so save it. Do this as a special ++ // case first because the generic save/restore code needs the PSP to be ++ // initialized already. ++ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); ++ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); ++ ++ // Initialize the PSP from the SP. ++ masm.initStackPtr(); + #endif + + MOZ_ASSERT(propertiesReg.volatile_()); +@@ -239,7 +246,22 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1; + if (ScratchDoubleReg.volatile_()) masm.pop(ScratchDoubleReg); + masm.PopRegsInMask(savedNonVolatileRegisters); + +- masm.abiret(); ++#ifdef JS_CODEGEN_ARM64 ++ // Now restore the value that was in the PSP register on entry, and return. ++ ++ // Obtain the correct SP from the PSP. ++ masm.Mov(sp, PseudoStackPointer64); ++ ++ // Restore the saved value of the PSP register, this value is whatever the ++ // caller had saved in it, not any actual SP value, and it must not be ++ // overwritten subsequently. ++ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); ++ ++ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. ++ masm.Ret(vixl::lr); ++#else ++ masm.abiret(); ++#endif + + masm.bind(&failureStoreOther); + +-- +2.21.0 + diff --git a/srcpkgs/icecat/patches/save-x28-before-clobbering-it-in-the-regex-compiler.patch b/srcpkgs/icecat/patches/save-x28-before-clobbering-it-in-the-regex-compiler.patch new file mode 100644 index 00000000000..ee66bad408c --- /dev/null +++ b/srcpkgs/icecat/patches/save-x28-before-clobbering-it-in-the-regex-compiler.patch @@ -0,0 +1,97 @@ +# HG changeset patch +# User Lars T Hansen +# Date 1521449886 -3600 +# Node ID 903a79a1efff18fc7cc50db09a3fe5d768adc9a8 +# Parent 4d2955a9ca7e30ca4c3af9c214ccc77fb2fe7fb8 +Bug 1445907 - Save x28 before clobbering it in the regex compiler. r=sstangl + +Origin: upstream +Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/903a79a1efff +--- +diff --git a/js/src/irregexp/NativeRegExpMacroAssembler.cpp b/js/src/irregexp/NativeRegExpMacroAssembler.cpp +--- js/src/irregexp/NativeRegExpMacroAssembler.cpp ++++ js/src/irregexp/NativeRegExpMacroAssembler.cpp +@@ -118,17 +118,25 @@ NativeRegExpMacroAssembler::GenerateCode + + Label return_temp0; + + // Finalize code - write the entry point code now we know how many + // registers we need. + masm.bind(&entry_label_); + + #ifdef JS_CODEGEN_ARM64 +- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing. ++ // ARM64 communicates stack address via SP, but uses a pseudo-sp (PSP) for ++ // addressing. The register we use for PSP may however also be used by ++ // calling code, and it is nonvolatile, so save it. Do this as a special ++ // case first because the generic save/restore code needs the PSP to be ++ // initialized already. ++ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64())); ++ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex)); ++ ++ // Initialize the PSP from the SP. + masm.initStackPtr(); + #endif + + // Push non-volatile registers which might be modified by jitcode. + size_t pushedNonVolatileRegisters = 0; + for (GeneralRegisterForwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) { + masm.Push(*iter); + pushedNonVolatileRegisters++; +@@ -416,17 +424,32 @@ NativeRegExpMacroAssembler::GenerateCode + masm.pop(temp0); + masm.movePtr(temp0, StackPointer); + #endif + + // Restore non-volatile registers which were saved on entry. + for (GeneralRegisterBackwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) + masm.Pop(*iter); + ++#ifdef JS_CODEGEN_ARM64 ++ // Now restore the value that was in the PSP register on entry, and return. ++ ++ // Obtain the correct SP from the PSP. ++ masm.Mov(sp, PseudoStackPointer64); ++ ++ // Restore the saved value of the PSP register, this value is whatever the ++ // caller had saved in it, not any actual SP value, and it must not be ++ // overwritten subsequently. ++ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex)); ++ ++ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong. ++ masm.Ret(vixl::lr); ++#else + masm.abiret(); ++#endif + + // Backtrack code (branch target for conditional backtracks). + if (backtrack_label_.used()) { + masm.bind(&backtrack_label_); + Backtrack(); + } + + // Backtrack stack overflow code. +diff --git a/js/src/jit-test/tests/regexp/bug1445907.js b/js/src/jit-test/tests/regexp/bug1445907.js +new file mode 100644 +--- /dev/null ++++ b/js/src/jit-test/tests/regexp/bug1445907.js +@@ -0,0 +1,15 @@ ++// On ARM64, we failed to save x28 properly when generating code for the regexp ++// matcher. ++// ++// There's wasm and Debugger code here because the combination forces the use of ++// x28 and exposes the bug when running on the simulator. ++ ++if (!wasmIsSupported()) ++ quit(); ++ ++var g = newGlobal(''); ++var dbg = new Debugger(g); ++g.eval(`var m = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary('(module (func (export "test")))')))`); ++var re = /./; ++dbg.onEnterFrame = function(frame) { re.exec("x") }; ++result = g.eval("m.exports.test()"); + +-- +2.21.0 + diff --git a/srcpkgs/icecat/patches/sndio.patch b/srcpkgs/icecat/patches/sndio.patch new file mode 100644 index 00000000000..097b313e90b --- /dev/null +++ b/srcpkgs/icecat/patches/sndio.patch @@ -0,0 +1,97 @@ +--- old-configure.in.orig ++++ old-configure.in +@@ -2839,6 +2839,22 @@ + + AC_SUBST(MOZ_ALSA) + ++dnl ================================== ++dnl = Check sndio availability ++dnl ================================== ++ ++MOZ_ARG_ENABLE_BOOL(sndio, ++[ --enable-sndio Enable sndio support], ++ MOZ_SNDIO=1, ++ MOZ_SNDIO=) ++ ++if test -n "$MOZ_SNDIO"; then ++ MOZ_SNDIO_LIBS="-lsndio" ++ AC_SUBST_LIST(MOZ_SNDIO_LIBS) ++fi ++ ++AC_SUBST(MOZ_SNDIO) ++ + dnl ======================================================== + dnl = Disable PulseAudio + dnl ======================================================== +--- toolkit/library/moz.build.orig ++++ toolkit/library/moz.build +@@ -235,10 +235,8 @@ + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'): + OS_LIBS += CONFIG['TK_LIBS'] + +-if CONFIG['OS_ARCH'] == 'OpenBSD': +- OS_LIBS += [ +- 'sndio', +- ] ++if CONFIG['MOZ_SNDIO']: ++ OS_LIBS += CONFIG['MOZ_SNDIO_LIBS'] + + if CONFIG['MOZ_ENABLE_DBUS']: + OS_LIBS += CONFIG['MOZ_DBUS_GLIB_LIBS'] +--- media/libcubeb/src/moz.build.orig ++++ media/libcubeb/src/moz.build +@@ -43,7 +43,7 @@ + ] + DEFINES['USE_JACK'] = True + +-if CONFIG['OS_ARCH'] == 'OpenBSD': ++if CONFIG['MOZ_SNDIO']: + SOURCES += [ + 'cubeb_sndio.c', + ] +--- build/moz.configure/old.configure.orig ++++ build/moz.configure/old.configure +@@ -159,6 +159,7 @@ + '--enable-accessibility', + '--enable-address-sanitizer', + '--enable-alsa', ++ '--enable-sndio', + '--enable-bundled-fonts', + '--enable-clang-plugin', + '--enable-content-sandbox', +--- security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp.orig ++++ security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp +@@ -349,6 +349,21 @@ + } + } + } ++ ++#ifdef MOZ_SNDIO ++ // ~/.aucat_cookie (sndio) ++ rv = homeDir->Clone(getter_AddRefs(confDir)); ++ if (NS_SUCCEEDED(rv)) { ++ rv = confDir->AppendNative(NS_LITERAL_CSTRING(".aucat_cookie")); ++ if (NS_SUCCEEDED(rv)) { ++ nsAutoCString tmpPath; ++ rv = confDir->GetNativePath(tmpPath); ++ if (NS_SUCCEEDED(rv)) { ++ policy->AddPath(rdwrcr, tmpPath.get()); ++ } ++ } ++ } ++#endif + } + + // Firefox binary dir. +--- security/sandbox/linux/moz.build.orig ++++ security/sandbox/linux/moz.build +@@ -81,6 +81,9 @@ + if CONFIG['MOZ_ALSA']: + DEFINES['MOZ_ALSA'] = True + ++if CONFIG['MOZ_SNDIO']: ++ DEFINES['MOZ_SNDIO'] = True ++ + # This copy of SafeSPrintf doesn't need to avoid the Chromium logging + # dependency like the one in libxul does, but this way the behavior is + # consistent. See also the comment in SandboxLogging.h. diff --git a/srcpkgs/icecat/template b/srcpkgs/icecat/template index 3c8224044bc..f0ee0f54dff 100644 --- a/srcpkgs/icecat/template +++ b/srcpkgs/icecat/template @@ -1,29 +1,26 @@ # Template file for 'icecat' pkgname=icecat -version=60.3.0 -revision=4 -short_desc="GNU version of the Firefox browser" -maintainer="Jürgen Buchmüller " -homepage="https://www.gnu.org/software/${pkgname}/" -license="MPL-1.1, GPL-2, LGPL-2.1" -distfiles="${GNU_SITE}/${pkgname}/${version}/${pkgname}-${version}-gnu1.tar.bz2" -checksum=6145327092b4b195a4f63d0e86f4857eeba5607ffeb69b6f3bceb36e89a19645 - -lib32disabled=yes -nocross="rustc error[E0463]: can't find crate for 'std'" - -hostmakedepends="autoconf213 cargo cbindgen clang llvm nodejs perl pkg-config - python unzip yasm zip" +version=60.7.0 +revision=1 +hostmakedepends="autoconf213 unzip zip pkg-config perl python yasm + cargo llvm clang rust cbindgen" makedepends="gtk+-devel hunspell-devel libXt-devel libatomic-devel libevent-devel libnotify-devel libvpx5-devel nss-devel rust-std sqlite-devel $(vopt_if alsa 'alsa-lib-devel') $(vopt_if dbus 'dbus-glib-devel') $(vopt_if gtk3 'gtk+3-devel') $(vopt_if pulseaudio 'pulseaudio-devel') $(vopt_if startup_notification 'startup-notification-devel') - $(vopt_if xscreensaver 'libXScrnSaver-devel')" + $(vopt_if xscreensaver 'libXScrnSaver-devel') $(vopt_if sndio 'sndio-devel')" depends="desktop-file-utils hicolor-icon-theme nss>=3.19" +short_desc="GNU version of the Firefox browser" +maintainer="Jürgen Buchmüller " +license="MPL-1.1, GPL-2.0-or-later, LGPL-2.1-or-later" +homepage="https://www.gnu.org/software/${pkgname}/" +distfiles="${GNU_SITE}/${pkgname}/${version}/${pkgname}-${version}-gnu1.tar.bz2" +checksum=6873d55b13e2d95ede3bf5bb59769179e91b1c4e05d8538d1576f18c9a6bb827 +lib32disabled=yes -build_options="alsa dbus gtk3 pulseaudio startup_notification xscreensaver" -build_options_default="alsa dbus gtk3 pulseaudio startup_notification xscreensaver" +build_options="alsa dbus gtk3 pulseaudio startup_notification sndio xscreensaver" +build_options_default="alsa dbus gtk3 pulseaudio startup_notification sndio xscreensaver" CXXFLAGS="-Wno-class-memaccess -Wno-unused-function" @@ -31,12 +28,15 @@ post_extract() { case "$XBPS_TARGET_MACHINE" in *-musl) cp "${FILESDIR}/stab.h" toolkit/crashreporter/google-breakpad/src/ - patch -Np0 -i ${FILESDIR}/musl-cmsghdr.patch ;; esac # Google API key (see http://www.chromium.org/developers/how-tos/api-keys) # Note: This is for Void Linux use ONLY. echo -n "AIzaSyCIFdBA7eQP43R6kXRwTq7j6Mvj1ITze90" > google-api-key + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: This is for Void Linux use ONLY. + echo -n "cd894504-7a2a-4263-abff-ff73ee89ffca" > mozilla-api-key } do_build() { local triplet @@ -89,8 +89,11 @@ do_build() { export MOZ_MAKE_FLAGS="${makejobs}" cat >>.mozconfig <