icecat: update to 60.7.0
Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
This commit is contained in:
parent
fa54e07d7b
commit
5163d0e87c
12 changed files with 417 additions and 56 deletions
|
@ -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,
|
|
||||||
};
|
|
20
srcpkgs/icecat/patches/fix-i686-musl.patch
Normal file
20
srcpkgs/icecat/patches/fix-i686-musl.patch
Normal file
|
@ -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
|
|
@ -48,17 +48,6 @@
|
||||||
#endif
|
#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 <sys/stat.h>
|
|
||||||
-#else
|
|
||||||
+#elif !defined(__linux__) || defined(__GLIBC__)
|
|
||||||
# include <fts.h>
|
|
||||||
#endif
|
|
||||||
# include <dirent.h>
|
|
||||||
--- toolkit.orig/mozapps/update/updater/updater.cpp 2014-03-15 05:19:37.000000000 +0000
|
--- 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
|
+++ toolkit/mozapps/update/updater/updater.cpp 2014-04-17 10:24:33.796765327 +0000
|
||||||
@@ -3432,6 +3432,7 @@
|
@@ -3432,6 +3432,7 @@
|
||||||
|
@ -77,3 +66,14 @@
|
||||||
|
|
||||||
return rv;
|
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 <sys/stat.h>
|
||||||
|
-#else
|
||||||
|
+#elif !defined(__linux__) || defined(__GLIBC__)
|
||||||
|
#include <fts.h>
|
||||||
|
#endif
|
||||||
|
#include <dirent.h>
|
||||||
|
|
|
@ -9,29 +9,39 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "MainThreadUtils.h"
|
#include "MainThreadUtils.h"
|
||||||
--- tools/profiler/lul/LulElf.cpp
|
--- tools/profiler/lul/LulElf.cpp 2019-01-24 18:31:42.000000000 +0100
|
||||||
+++ tools/profiler/lul/LulElf.cpp
|
+++ - 2019-01-31 11:19:53.198257189 +0100
|
||||||
@@ -579,10 +579,10 @@
|
@@ -460,9 +460,9 @@
|
||||||
// Return the non-directory portion of FILENAME: the portion after the
|
|
||||||
// last slash, or the whole filename if there are no slashes.
|
// last slash, or the whole filename if there are no slashes.
|
||||||
string BaseFileName(const string &filename) {
|
string BaseFileName(const string& filename) {
|
||||||
- // Lots of copies! basename's behavior is less than ideal.
|
// Lots of copies! basename's behavior is less than ideal.
|
||||||
- char *c_filename = strdup(filename.c_str());
|
- char* c_filename = strdup(filename.c_str());
|
||||||
- string base = basename(c_filename);
|
- string base = basename(c_filename);
|
||||||
- free(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, '/');
|
+ const char *p = strrchr(c_filename, '/');
|
||||||
+ string base = p ? p+1 : c_filename;
|
+ string base = p ? p+1 : c_filename;
|
||||||
return base;
|
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
|
// Request profiling signals.
|
||||||
+++ tools/profiler/core/platform-linux-android.cpp
|
struct sigaction sa;
|
||||||
@@ -534,9 +534,11 @@
|
+#if defined(GP_ARCH_arm)
|
||||||
void
|
+ sa.sa_sigaction = SigprofHandler;
|
||||||
Registers::SyncPopulate()
|
+#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 defined(__GLIBC__)
|
||||||
if (!getcontext(&sSyncUContext)) {
|
if (!getcontext(&sSyncUContext)) {
|
||||||
PopulateRegsFromContext(*this, &sSyncUContext);
|
PopulateRegsFromContext(*this, &sSyncUContext);
|
||||||
|
@ -39,4 +49,3 @@
|
||||||
+#endif
|
+#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
11
srcpkgs/icecat/patches/fix-webrtc-arm.patch
Normal file
11
srcpkgs/icecat/patches/fix-webrtc-arm.patch
Normal file
|
@ -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
|
19
srcpkgs/icecat/patches/ppc-no-static-sizes.patch
Normal file
19
srcpkgs/icecat/patches/ppc-no-static-sizes.patch
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HG changeset patch
|
||||||
|
# Parent b735e618c2a860972197942f6680c941e3c9a67f
|
||||||
|
# User Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
|
||||||
|
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
|
32
srcpkgs/icecat/patches/remove-rustc-check.patch
Normal file
32
srcpkgs/icecat/patches/remove-rustc-check.patch
Normal file
|
@ -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)
|
||||||
|
|
19
srcpkgs/icecat/patches/rust-unitialized-field.patch
Normal file
19
srcpkgs/icecat/patches/rust-unitialized-field.patch
Normal file
|
@ -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::<cmsghdr>())
|
|
@ -0,0 +1,64 @@
|
||||||
|
# HG changeset patch
|
||||||
|
# User Lars T Hansen <lhansen@mozilla.com>
|
||||||
|
# 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
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
# HG changeset patch
|
||||||
|
# User Lars T Hansen <lhansen@mozilla.com>
|
||||||
|
# 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
|
||||||
|
|
97
srcpkgs/icecat/patches/sndio.patch
Normal file
97
srcpkgs/icecat/patches/sndio.patch
Normal file
|
@ -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.
|
|
@ -1,29 +1,26 @@
|
||||||
# Template file for 'icecat'
|
# Template file for 'icecat'
|
||||||
pkgname=icecat
|
pkgname=icecat
|
||||||
version=60.3.0
|
version=60.7.0
|
||||||
revision=4
|
revision=1
|
||||||
short_desc="GNU version of the Firefox browser"
|
hostmakedepends="autoconf213 unzip zip pkg-config perl python yasm
|
||||||
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
|
cargo llvm clang rust cbindgen"
|
||||||
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"
|
|
||||||
makedepends="gtk+-devel hunspell-devel libXt-devel libatomic-devel
|
makedepends="gtk+-devel hunspell-devel libXt-devel libatomic-devel
|
||||||
libevent-devel libnotify-devel libvpx5-devel nss-devel rust-std sqlite-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 alsa 'alsa-lib-devel') $(vopt_if dbus 'dbus-glib-devel')
|
||||||
$(vopt_if gtk3 'gtk+3-devel') $(vopt_if pulseaudio 'pulseaudio-devel')
|
$(vopt_if gtk3 'gtk+3-devel') $(vopt_if pulseaudio 'pulseaudio-devel')
|
||||||
$(vopt_if startup_notification 'startup-notification-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"
|
depends="desktop-file-utils hicolor-icon-theme nss>=3.19"
|
||||||
|
short_desc="GNU version of the Firefox browser"
|
||||||
|
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
|
||||||
|
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="alsa dbus gtk3 pulseaudio startup_notification sndio xscreensaver"
|
||||||
build_options_default="alsa dbus gtk3 pulseaudio startup_notification xscreensaver"
|
build_options_default="alsa dbus gtk3 pulseaudio startup_notification sndio xscreensaver"
|
||||||
|
|
||||||
CXXFLAGS="-Wno-class-memaccess -Wno-unused-function"
|
CXXFLAGS="-Wno-class-memaccess -Wno-unused-function"
|
||||||
|
|
||||||
|
@ -31,12 +28,15 @@ post_extract() {
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
*-musl)
|
*-musl)
|
||||||
cp "${FILESDIR}/stab.h" toolkit/crashreporter/google-breakpad/src/
|
cp "${FILESDIR}/stab.h" toolkit/crashreporter/google-breakpad/src/
|
||||||
patch -Np0 -i ${FILESDIR}/musl-cmsghdr.patch
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
# Google API key (see http://www.chromium.org/developers/how-tos/api-keys)
|
# Google API key (see http://www.chromium.org/developers/how-tos/api-keys)
|
||||||
# Note: This is for Void Linux use ONLY.
|
# Note: This is for Void Linux use ONLY.
|
||||||
echo -n "AIzaSyCIFdBA7eQP43R6kXRwTq7j6Mvj1ITze90" > google-api-key
|
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() {
|
do_build() {
|
||||||
local triplet
|
local triplet
|
||||||
|
@ -89,8 +89,11 @@ do_build() {
|
||||||
export MOZ_MAKE_FLAGS="${makejobs}"
|
export MOZ_MAKE_FLAGS="${makejobs}"
|
||||||
|
|
||||||
cat >>.mozconfig <<EOF
|
cat >>.mozconfig <<EOF
|
||||||
ac_add_options --with-google-api-keyfile="${wrksrc}/google-api-key"
|
ac_add_options --with-google-location-service-api-keyfile="${wrksrc}/google-api-key"
|
||||||
|
ac_add_options --with-google-safebrowsing-api-keyfile="${wrksrc}/google-api-key"
|
||||||
|
ac_add_options --with-mozilla-api-keyfile="${wrksrc}/mozilla-api-key"
|
||||||
ac_add_options $(vopt_enable alsa)
|
ac_add_options $(vopt_enable alsa)
|
||||||
|
ac_add_options $(vopt_enable sndio)
|
||||||
ac_add_options $(vopt_enable dbus)
|
ac_add_options $(vopt_enable dbus)
|
||||||
ac_add_options $(vopt_enable dbus necko-wifi)
|
ac_add_options $(vopt_enable dbus necko-wifi)
|
||||||
ac_add_options $(vopt_enable pulseaudio)
|
ac_add_options $(vopt_enable pulseaudio)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue