diff --git a/srcpkgs/icecat/patches/0002-Use-C99-math-isfinite.patch b/srcpkgs/icecat/patches/0002-Use-C99-math-isfinite.patch new file mode 100644 index 00000000000..0c20a7ea239 --- /dev/null +++ b/srcpkgs/icecat/patches/0002-Use-C99-math-isfinite.patch @@ -0,0 +1,17 @@ +--- xpcom/ds/nsMathUtils.h.orig ++++ xpcom/ds/nsMathUtils.h +@@ -104,12 +104,12 @@ + #ifdef WIN32 + // NOTE: '!!' casts an int to bool without spamming MSVC warning C4800. + return !!_finite(aNum); +-#elif defined(XP_DARWIN) ++#elif defined(XP_DARWIN) || defined(_GLIBCXX_CMATH) + // Darwin has deprecated |finite| and recommends |isfinite|. The former is + // not present in the iOS SDK. + return std::isfinite(aNum); + #else +- return finite(aNum); ++ return isfinite(aNum); + #endif + } + diff --git a/srcpkgs/icecat/patches/firefox-install-dir.patch b/srcpkgs/icecat/patches/firefox-install-dir.patch new file mode 100644 index 00000000000..a829abf2e09 --- /dev/null +++ b/srcpkgs/icecat/patches/firefox-install-dir.patch @@ -0,0 +1,17 @@ +--- config/baseconfig.mk.orig 2014-04-28 23:05:04.491525412 +0200 ++++ config/baseconfig.mk 2014-04-28 23:05:39.922751247 +0200 +@@ -2,10 +2,10 @@ + # directly in python/mozbuild/mozbuild/base.py for gmake validation. + # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending + # whether a normal build is happening or whether the check is running. +-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) ++includedir := $(includedir)/$(MOZ_APP_NAME) ++idldir = $(datadir)/idl/$(MOZ_APP_NAME) ++installdir = $(libdir)/$(MOZ_APP_NAME) ++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel + ifndef TOP_DIST + TOP_DIST = dist + endif diff --git a/srcpkgs/icecat/patches/fix-basename.patch b/srcpkgs/icecat/patches/fix-basename.patch deleted file mode 100644 index 6821b82974d..00000000000 --- a/srcpkgs/icecat/patches/fix-basename.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- tools/profiler/LulElf.cpp 2015-07-14 00:10:06.000000000 +0200 -+++ tools/profiler/LulElf.cpp 2015-08-21 14:49:06.100695125 +0200 -@@ -579,10 +579,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; - } - diff --git a/srcpkgs/icecat/patches/fix-cpr_linux_threads.patch b/srcpkgs/icecat/patches/fix-cpr_linux_threads.patch deleted file mode 100644 index ba163cdbf8d..00000000000 --- a/srcpkgs/icecat/patches/fix-cpr_linux_threads.patch +++ /dev/null @@ -1,71 +0,0 @@ ---- media/webrtc/signaling/src/sipcc/cpr/linux/cpr_linux_threads.c 2015-08-23 18:02:03.001781892 +0200 -+++ media/webrtc/signaling/src/sipcc/cpr/linux/cpr_linux_threads.c 2015-08-23 18:11:53.961749937 +0200 -@@ -2,16 +2,16 @@ - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -+#include -+#include -+#include -+#include - #include "cpr.h" - #include "cpr_stdlib.h" - #include "cpr_stdio.h" - #include "thread_monitor.h" - #include "prtypes.h" - #include "mozilla/Assertions.h" --#include --#include --#include --#include - - #define LINUX_MIN_THREAD_PRIORITY (-20) /* tbd: check MV linux: current val from Larry port */ - #define LINUX_MAX_THREAD_PRIORITY (+19) /* tbd: check MV linux. current val from Larry port */ -@@ -92,7 +92,11 @@ - * that an application does not attempt to create - * the same thread twice. - */ -+#if defined(__GLIBC__) - threadPtr->u.handleInt = threadId; -+#else -+ threadPtr->u.handlePtr = threadId; -+#endif - threadPtr->threadId = ++id; - CSFLogRegisterThread(threadPtr); - return (cprThread_t)threadPtr; -@@ -115,7 +119,11 @@ - - cprThreadPtr = (cpr_thread_t *) thread; - MOZ_ASSERT(cprThreadPtr); -+#if defined(__GLIBC__) - pthread_join(cprThreadPtr->u.handleInt, NULL); -+#else -+ pthread_join(cprThreadPtr->u.handlePtr, NULL); -+#endif - } - - /** -@@ -143,7 +151,11 @@ - /* - * Make sure thread is trying to destroy itself. - */ -+#if defined(__GLIBC__) - if ((pthread_t) cprThreadPtr->u.handleInt == pthread_self()) { -+#else -+ if (pthread_equal(cprThreadPtr->u.handlePtr, pthread_self())) { -+#endif - CPR_INFO("%s: Destroying Thread %d", __FUNCTION__, cprThreadPtr->threadId); - pthread_exit(NULL); - return CPR_SUCCESS; -@@ -210,7 +222,11 @@ - cprGetThreadId (cprThread_t thread) - { - if (thread) { -+#if defined(__GLIBC__) - return ((cpr_thread_t *)thread)->u.handleInt; -+#else -+ return ((cpr_thread_t *)thread)->u.handlePtr; -+#endif - } - return 0; - } diff --git a/srcpkgs/icecat/patches/fix-fortify-inline.patch b/srcpkgs/icecat/patches/fix-fortify-inline.patch new file mode 100644 index 00000000000..c1190197d32 --- /dev/null +++ b/srcpkgs/icecat/patches/fix-fortify-inline.patch @@ -0,0 +1,11 @@ +--- media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h ++++ media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h +@@ -27,8 +27,5 @@ + typedef int16_t int16; + typedef unsigned short ushort; + typedef unsigned long ulong; +-#ifndef __GNUC_STDC_INLINE__ +-#define inline +-#endif + + #endif /* _SDP_OS_DEFS_H_ */ diff --git a/srcpkgs/icecat/patches/fix-gcc-tests.patch b/srcpkgs/icecat/patches/fix-gcc-tests.patch new file mode 100644 index 00000000000..90856346bea --- /dev/null +++ b/srcpkgs/icecat/patches/fix-gcc-tests.patch @@ -0,0 +1,26 @@ +--- configure.orig 2015-05-29 18:30:41.474423097 +0200 ++++ configure 2015-05-29 18:30:53.451550589 +0200 +@@ -10966,8 +10966,8 @@ ac_have_llvm_pr8927="no" + ac_ext=c + # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. + ac_cpp='$CPP $CPPFLAGS' +-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' ++ac_compile='${CC-cc} -c conftest.$ac_ext 1>&5' ++ac_link='${CC-cc} -o conftest${ac_exeext} conftest.$ac_ext $LIBS 1>&5' + cross_compiling=$ac_cv_prog_cc_cross + + +--- js/src/configure.orig 2015-05-29 18:31:25.049874012 +0200 ++++ js/src/configure 2015-05-29 18:31:36.898995291 +0200 +@@ -9820,8 +9820,8 @@ ac_have_llvm_pr8927="no" + ac_ext=c + # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. + ac_cpp='$CPP $CPPFLAGS' +-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' ++ac_compile='${CC-cc} -c conftest.$ac_ext 1>&5' ++ac_link='${CC-cc} -o conftest${ac_exeext} conftest.$ac_ext $LIBS 1>&5' + cross_compiling=$ac_cv_prog_cc_cross + + diff --git a/srcpkgs/icecat/patches/fix-linux-include.patch b/srcpkgs/icecat/patches/fix-linux-include.patch new file mode 100644 index 00000000000..0a57d3a3136 --- /dev/null +++ b/srcpkgs/icecat/patches/fix-linux-include.patch @@ -0,0 +1,10 @@ +--- xpcom/io/nsLocalFileUnix.cpp.orig ++++ xpcom/io/nsLocalFileUnix.cpp +@@ -28,6 +28,7 @@ + #define USE_LINUX_QUOTACTL + #include + #include ++#include + #endif + + #include "xpcom-private.h" diff --git a/srcpkgs/icecat/patches/fix-media.patch b/srcpkgs/icecat/patches/fix-media.patch new file mode 100644 index 00000000000..42e9a94fcf7 --- /dev/null +++ b/srcpkgs/icecat/patches/fix-media.patch @@ -0,0 +1,10 @@ +--- media.orig/mtransport/third_party/nICEr/src/stun/addrs.c ++++ media/mtransport/third_party/nICEr/src/stun/addrs.c +@@ -45,7 +45,6 @@ + #include + #include + #ifndef ANDROID +-#include + #include + #else + #include diff --git a/srcpkgs/icecat/patches/fix-mozilla-bug999496.patch b/srcpkgs/icecat/patches/fix-mozilla-bug999496.patch deleted file mode 100644 index c23c863e421..00000000000 --- a/srcpkgs/icecat/patches/fix-mozilla-bug999496.patch +++ /dev/null @@ -1,64 +0,0 @@ -# HG changeset patch -# User Simon Wilper -# Date 1400002680 -43200 -# Wed May 14 05:38:00 2014 +1200 -# Node ID 1f10a80678532ff186f314bb98050fd81f22a7fe -# Parent a54ace627db8f12a9b2c5d3b60a675576887c445 -Bug 999496 - Move AudioData::SizeOfIncludingThis to MediaData.cpp. r=kinetik - ---- content/media/MediaData.cpp -+++ content/media/MediaData.cpp -@@ -33,16 +33,26 @@ AudioData::EnsureAudioBuffer() - AudioDataValue* data = static_cast(mAudioBuffer->Data()); - for (uint32_t i = 0; i < mFrames; ++i) { - for (uint32_t j = 0; j < mChannels; ++j) { - data[j*mFrames + i] = mAudioData[i*mChannels + j]; - } - } - } - -+size_t -+AudioData::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const -+{ -+ size_t size = aMallocSizeOf(this) + aMallocSizeOf(mAudioData); -+ if (mAudioBuffer) { -+ size += mAudioBuffer->SizeOfIncludingThis(aMallocSizeOf); -+ } -+ return size; -+} -+ - static bool - ValidatePlane(const VideoData::YCbCrBuffer::Plane& aPlane) - { - return aPlane.mWidth <= PlanarYCbCrImage::MAX_DIMENSION && - aPlane.mHeight <= PlanarYCbCrImage::MAX_DIMENSION && - aPlane.mWidth * aPlane.mHeight < MAX_VIDEO_WIDTH * MAX_VIDEO_HEIGHT && - aPlane.mStride > 0; - } ---- content/media/MediaData.h -+++ content/media/MediaData.h -@@ -75,23 +75,17 @@ public: - MOZ_COUNT_CTOR(AudioData); - } - - ~AudioData() - { - MOZ_COUNT_DTOR(AudioData); - } - -- size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const { -- size_t size = aMallocSizeOf(this) + aMallocSizeOf(mAudioData); -- if (mAudioBuffer) { -- size += mAudioBuffer->SizeOfIncludingThis(aMallocSizeOf); -- } -- return size; -- } -+ size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const; - - // If mAudioBuffer is null, creates it from mAudioData. - void EnsureAudioBuffer(); - - const uint32_t mFrames; - const uint32_t mChannels; - // At least one of mAudioBuffer/mAudioData must be non-null. - // mChannels channels, each with mFrames frames diff --git a/srcpkgs/icecat/patches/fix-netwerk.patch b/srcpkgs/icecat/patches/fix-netwerk.patch new file mode 100644 index 00000000000..669b994229d --- /dev/null +++ b/srcpkgs/icecat/patches/fix-netwerk.patch @@ -0,0 +1,37 @@ +--- netwerk.orig/sctp/src/netinet/sctp_os_userspace.h ++++ netwerk/sctp/src/netinet/sctp_os_userspace.h +@@ -400,11 +400,8 @@ + }; + + #else /* !defined(Userspace_os_Windows) */ +-#include /* needed? added from old __FreeBSD__ */ + #include +-#if defined(__Userspace_os_DragonFly) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_Linux) || defined(__Userspace_os_NetBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID) + #include +-#endif + typedef pthread_mutex_t userland_mutex_t; + typedef pthread_cond_t userland_cond_t; + typedef pthread_t userland_thread_t; +--- netwerk.orig/sctp/src/netinet/sctp_pcb.c ++++ netwerk/sctp/src/netinet/sctp_pcb.c +@@ -30,6 +30,9 @@ + * THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#define _BSD_SOURCE /* for IPPORT_RESERVED */ ++#include ++ + #ifdef __FreeBSD__ + #include + __FBSDID("$FreeBSD: head/sys/netinet/sctp_pcb.c 258765 2013-11-30 12:51:19Z tuexen $"); +--- netwerk.orig/sctp/src/user_queue.h ++++ netwerk/sctp/src/user_queue.h +@@ -31,7 +31,7 @@ + #ifndef _USER_QUEUE_H_ + #define _USER_QUEUE_H_ + +-#if !defined (__Userspace_os_Windows) ++#if defined(__Userspace_os_FreeBSD) + #include + #endif + /* diff --git a/srcpkgs/icecat/patches/fix-nullptr.patch b/srcpkgs/icecat/patches/fix-nullptr.patch deleted file mode 100644 index 7ee7c5d7834..00000000000 --- a/srcpkgs/icecat/patches/fix-nullptr.patch +++ /dev/null @@ -1,177 +0,0 @@ -Patch taken from Arch Linux -https://aur.archlinux.org/cgit/aur.git/plain/fixing_nullptr_31.7.0.patch?h=icecat - ---- js/src/builtin/TypedObject.cpp 2015-06-03 22:48:47.000000000 +0200 -+++ js/src/builtin/TypedObject.cpp 2015-06-08 16:45:30.918154529 +0200 -@@ -710,12 +710,12 @@ - contents.append(")"); - RootedAtom stringRepr(cx, contents.finishAtom()); - if (!stringRepr) -- return nullptr; -+ return false; - - // Extract ArrayType.prototype - RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal)); - if (!arrayTypePrototype) -- return nullptr; -+ return false; - - // Create the instance of ArrayType - Rooted obj(cx); -@@ -728,7 +728,7 @@ - if (!JSObject::defineProperty(cx, obj, cx->names().length, - UndefinedHandleValue, nullptr, nullptr, - JSPROP_READONLY | JSPROP_PERMANENT)) -- return nullptr; -+ return false; - - args.rval().setObject(*obj); - return true; -@@ -762,7 +762,7 @@ - if (!size.isValid()) { - JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr, - JSMSG_TYPEDOBJECT_TOO_BIG); -- return nullptr; -+ return false; - } - - // Construct a canonical string `new ArrayType().dimension(N)`: -@@ -775,7 +775,7 @@ - contents.append(")"); - RootedAtom stringRepr(cx, contents.finishAtom()); - if (!stringRepr) -- return nullptr; -+ return false; - - // Create the sized type object. - Rooted obj(cx); -@@ -793,7 +793,7 @@ - if (!JSObject::defineProperty(cx, obj, cx->names().length, - lengthVal, nullptr, nullptr, - JSPROP_READONLY | JSPROP_PERMANENT)) -- return nullptr; -+ return false; - - // Add `unsized` property, which is a link from the sized - // array to the unsized array. -@@ -801,7 +801,7 @@ - if (!JSObject::defineProperty(cx, obj, cx->names().unsized, - unsizedTypeDescrValue, nullptr, nullptr, - JSPROP_READONLY | JSPROP_PERMANENT)) -- return nullptr; -+ return false; - - args.rval().setObject(*obj); - return true; -@@ -1253,7 +1253,7 @@ - Rooted proto(cx); - proto = NewObjectWithProto(cx, objProto, nullptr, TenuredObject); - if (!proto) -- return nullptr; -+ return false; - proto->initTypeDescrSlot(*descr); - descr->initReservedSlot(JS_DESCR_SLOT_TYPROTO, ObjectValue(*proto)); - -@@ -1358,14 +1358,14 @@ - #define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \ - if (!DefineSimpleTypeDescr(cx, global, module, constant_, \ - cx->names().name_)) \ -- return nullptr; -+ return false; - JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE) - #undef BINARYDATA_SCALAR_DEFINE - - #define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \ - if (!DefineSimpleTypeDescr(cx, global, module, constant_, \ - cx->names().name_)) \ -- return nullptr; -+ return false; - JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE) - #undef BINARYDATA_REFERENCE_DEFINE - -@@ -1375,14 +1375,14 @@ - arrayType = DefineMetaTypeDescr( - cx, global, module, TypedObjectModuleObject::ArrayTypePrototype); - if (!arrayType) -- return nullptr; -+ return false; - - RootedValue arrayTypeValue(cx, ObjectValue(*arrayType)); - if (!JSObject::defineProperty(cx, module, cx->names().ArrayType, - arrayTypeValue, - nullptr, nullptr, - JSPROP_READONLY | JSPROP_PERMANENT)) -- return nullptr; -+ return false; - - // StructType. - -@@ -1390,14 +1390,14 @@ - structType = DefineMetaTypeDescr( - cx, global, module, TypedObjectModuleObject::StructTypePrototype); - if (!structType) -- return nullptr; -+ return false; - - RootedValue structTypeValue(cx, ObjectValue(*structType)); - if (!JSObject::defineProperty(cx, module, cx->names().StructType, - structTypeValue, - nullptr, nullptr, - JSPROP_READONLY | JSPROP_PERMANENT)) -- return nullptr; -+ return false; - - // Everything is setup, install module on the global object: - RootedValue moduleValue(cx, ObjectValue(*module)); -@@ -1407,7 +1407,7 @@ - nullptr, nullptr, - 0)) - { -- return nullptr; -+ return false; - } - - return module; -@@ -2466,7 +2466,7 @@ - if (length < 0) { - JS_ReportErrorNumber(cx, js_GetErrorMessage, - nullptr, JSMSG_TYPEDOBJECT_BAD_ARGS); -- return nullptr; -+ return false; - } - Rooted obj(cx, createZeroed(cx, callee, length)); - if (!obj) - ---- js/src/frontend/BytecodeCompiler.cpp 2015-06-03 22:48:48.000000000 +0200 -+++ js/src/frontend/BytecodeCompiler.cpp 2015-06-08 01:15:08.080302638 +0200 -@@ -544,7 +544,7 @@ - - RootedScriptSource sourceObject(cx, CreateScriptSourceObject(cx, options)); - if (!sourceObject) -- return nullptr; -+ return false; - ScriptSource* ss = sourceObject->source(); - - SourceCompressionTask sct(cx); ---- js/xpconnect/wrappers/XrayWrapper.cpp 2015-06-03 22:48:45.000000000 +0200 -+++ js/xpconnect/wrappers/XrayWrapper.cpp 2015-06-08 01:15:35.672193557 +0200 -@@ -351,7 +351,7 @@ - { - JSAutoCompartment ac(cx, target); - if (!JS_GetClassPrototype(cx, key, protop)) -- return nullptr; -+ return false; - } - return JS_WrapObject(cx, protop); - } ---- netwerk/ipc/NeckoParent.cpp 2015-06-03 22:46:41.000000000 +0200 -+++ netwerk/ipc/NeckoParent.cpp 2015-06-08 01:16:10.200055747 +0200 -@@ -359,7 +359,7 @@ - RtspChannelParent* p = static_cast(aActor); - return p->Init(aConnectArgs); - #else -- return nullptr; -+ return false; - #endif - } - diff --git a/srcpkgs/icecat/patches/fix-stdint_h.patch b/srcpkgs/icecat/patches/fix-stdint_h.patch deleted file mode 100644 index 010f7ee5a4e..00000000000 --- a/srcpkgs/icecat/patches/fix-stdint_h.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- security/sandbox/linux/SandboxFilter.cpp 2015-07-14 00:09:13.000000000 +0200 -+++ security/sandbox/linux/SandboxFilter.cpp 2015-08-23 11:12:36.040110310 +0200 -@@ -6,6 +6,7 @@ - - #include "SandboxFilter.h" - -+#include - #include "linux_seccomp.h" - #include "linux_syscalls.h" - diff --git a/srcpkgs/icecat/patches/fix-toolkit.patch b/srcpkgs/icecat/patches/fix-toolkit.patch index dc68da2c652..a360db4db3b 100644 --- a/srcpkgs/icecat/patches/fix-toolkit.patch +++ b/srcpkgs/icecat/patches/fix-toolkit.patch @@ -1,4 +1,4 @@ ---- toolkit.orig/google-breakpad/src/common/linux/dump_symbols.cc 2014-03-15 05:19:36.000000000 +0000 +--- 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 @@ -75,3 +75,70 @@ return rv; } +--- toolkit.orig/xre/nsSigHandlers.cpp 2014-03-15 05:19:38.000000000 +0000 ++++ toolkit/xre/nsSigHandlers.cpp 2014-04-17 10:24:33.796765327 +0000 +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + #include "prthread.h" + #include "plstr.h" + #include "prenv.h" +@@ -152,7 +153,7 @@ + status->__invalid = status->__denorm = status->__zdiv = status->__ovrfl = status->__undfl = + status->__precis = status->__stkflt = status->__errsumm = 0; + +- __uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr; ++ u_int32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr; + *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */ + *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */ + #endif +@@ -172,13 +173,13 @@ + *sw &= ~FPU_STATUS_FLAGS; + #endif + #if defined(__amd64__) +- __uint16_t *cw = &uc->uc_mcontext.fpregs->cwd; ++ u_int16_t *cw = &uc->uc_mcontext.fpregs->cwd; + *cw |= FPU_EXCEPTION_MASK; + +- __uint16_t *sw = &uc->uc_mcontext.fpregs->swd; ++ u_int16_t *sw = &uc->uc_mcontext.fpregs->swd; + *sw &= ~FPU_STATUS_FLAGS; + +- __uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr; ++ u_int32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr; + *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */ + *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */ + #endif +@@ -187,24 +188,24 @@ + ucontext_t *uc = (ucontext_t *)context; + + #if defined(__i386) +- uint32_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[0]; ++ u_int32_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[0]; + *cw |= FPU_EXCEPTION_MASK; + +- uint32_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1]; ++ u_int32_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1]; + *sw &= ~FPU_STATUS_FLAGS; + + /* address of the instruction that caused the exception */ +- uint32_t *ip = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[3]; ++ u_int32_t *ip = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[3]; + uc->uc_mcontext.gregs[REG_PC] = *ip; + #endif + #if defined(__amd64__) +- uint16_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.cw; ++ u_int16_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.cw; + *cw |= FPU_EXCEPTION_MASK; + +- uint16_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.sw; ++ u_int16_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.sw; + *sw &= ~FPU_STATUS_FLAGS; + +- uint32_t *mxcsr = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr; ++ u_int32_t *mxcsr = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr; + *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */ + *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */ + #endif diff --git a/srcpkgs/icecat/patches/fix-tools.patch b/srcpkgs/icecat/patches/fix-tools.patch new file mode 100644 index 00000000000..d057b96d709 --- /dev/null +++ b/srcpkgs/icecat/patches/fix-tools.patch @@ -0,0 +1,65 @@ +--- tools/profiler/local_debug_info_symbolizer.cc ++++ tools/profiler/local_debug_info_symbolizer.cc +@@ -3,6 +3,7 @@ + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + ++#include + #include "PlatformMacros.h" + #include "nsAutoPtr.h" + +--- tools/profiler/platform-linux.cc ++++ tools/profiler/platform-linux.cc +@@ -84,7 +84,7 @@ + + #define SIGNAL_SAVE_PROFILE SIGUSR2 + +-#if defined(__GLIBC__) ++#if 1 + // glibc doesn't implement gettid(2). + #include + pid_t gettid() +--- tools/profiler/platform.h ++++ tools/profiler/platform.h +@@ -29,6 +29,8 @@ + #ifndef TOOLS_PLATFORM_H_ + #define TOOLS_PLATFORM_H_ + ++#include ++ + #ifdef ANDROID + #include + #else +--- tools/profiler/LulElf.cpp ++++ tools/profiler/LulElf.cpp +@@ -579,10 +579,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/platform-linux.cc.orig 2015-06-11 18:39:35.689739054 +0200 ++++ tools/profiler/platform-linux.cc 2015-06-11 18:40:04.479706749 +0200 +@@ -651,11 +651,13 @@ void OS::Startup() { + void TickSample::PopulateContext(void* aContext) + { + MOZ_ASSERT(aContext); ++#if defined(__GLIBC__) + ucontext_t* pContext = reinterpret_cast(aContext); + if (!getcontext(pContext)) { + context = pContext; + SetSampleContext(this, aContext); + } ++#endif + } + + void OS::SleepMicro(int microseconds) diff --git a/srcpkgs/icecat/patches/fix-vpx_image.patch b/srcpkgs/icecat/patches/fix-vpx_image.patch deleted file mode 100644 index f516a97caaf..00000000000 --- a/srcpkgs/icecat/patches/fix-vpx_image.patch +++ /dev/null @@ -1,93 +0,0 @@ -Need to include vpx_image to define the values for -VPX_IMAGE_FMT_I420, VPX_PLANE_Y, VPX_PLANE_X and VPX_PLANE_V - ---- media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc 2015-07-14 00:06:45.000000000 +0200 -+++ media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc 2015-08-21 12:41:27.575008456 +0200 -@@ -20,6 +20,7 @@ - - #include "vpx/vpx_encoder.h" - #include "vpx/vpx_decoder.h" -+#include "vpx/vpx_image.h" - #include "vpx/vp8cx.h" - #include "vpx/vp8dx.h" - -@@ -180,7 +181,7 @@ - // Creating a wrapper to the image - setting image data to NULL. Actual - // pointer will be set in encode. Setting align to 1, as it is meaningless - // (actual memory is not allocated). -- raw_ = vpx_img_wrap(NULL, IMG_FMT_I420, codec_.width, codec_.height, -+ raw_ = vpx_img_wrap(NULL, VPX_IMG_FMT_I420, codec_.width, codec_.height, - 1, NULL); - // populate encoder configuration with default values - if (vpx_codec_enc_config_default(vpx_codec_vp8_cx(), config_, 0)) { -@@ -349,9 +350,9 @@ - } - // Image in vpx_image_t format. - // Input image is const. VP8's raw image is not defined as const. -- raw_->planes[PLANE_Y] = const_cast(input_image.buffer(kYPlane)); -- raw_->planes[PLANE_U] = const_cast(input_image.buffer(kUPlane)); -- raw_->planes[PLANE_V] = const_cast(input_image.buffer(kVPlane)); -+ raw_->planes[VPX_PLANE_Y] = const_cast(input_image.buffer(kYPlane)); -+ raw_->planes[VPX_PLANE_U] = const_cast(input_image.buffer(kUPlane)); -+ raw_->planes[VPX_PLANE_V] = const_cast(input_image.buffer(kVPlane)); - // TODO(mikhal): Stride should be set in initialization. - raw_->stride[VPX_PLANE_Y] = input_image.stride(kYPlane); - raw_->stride[VPX_PLANE_U] = input_image.stride(kUPlane); ---- content/media/encoder/VP8TrackEncoder.cpp 2015-07-14 00:07:06.000000000 +0200 -+++ content/media/encoder/VP8TrackEncoder.cpp 2015-08-21 13:14:09.852184395 +0200 -@@ -6,6 +6,7 @@ - #include "VP8TrackEncoder.h" - #include "vpx/vp8cx.h" - #include "vpx/vpx_encoder.h" -+#include "vpx/vpx_image.h" - #include "VideoUtils.h" - #include "prsystem.h" - #include "WebMWriter.h" -@@ -84,7 +85,7 @@ - // Creating a wrapper to the image - setting image data to NULL. Actual - // pointer will be set in encode. Setting align to 1, as it is meaningless - // (actual memory is not allocated). -- vpx_img_wrap(mVPXImageWrapper, IMG_FMT_I420, -+ vpx_img_wrap(mVPXImageWrapper, VPX_IMG_FMT_I420, - mFrameWidth, mFrameHeight, 1, nullptr); - - config.g_w = mFrameWidth; -@@ -239,9 +240,9 @@ - uint8_t *cb = mMuteFrame.Elements() + yPlaneSize; - uint8_t *cr = mMuteFrame.Elements() + yPlaneSize + uvPlaneSize; - -- mVPXImageWrapper->planes[PLANE_Y] = y; -- mVPXImageWrapper->planes[PLANE_U] = cb; -- mVPXImageWrapper->planes[PLANE_V] = cr; -+ mVPXImageWrapper->planes[VPX_PLANE_Y] = y; -+ mVPXImageWrapper->planes[VPX_PLANE_U] = cb; -+ mVPXImageWrapper->planes[VPX_PLANE_V] = cr; - mVPXImageWrapper->stride[VPX_PLANE_Y] = mFrameWidth; - mVPXImageWrapper->stride[VPX_PLANE_U] = halfWidth; - mVPXImageWrapper->stride[VPX_PLANE_V] = halfWidth; -@@ -297,9 +298,9 @@ - const PlanarYCbCrImage::Data *data = yuv->GetData(); - - if (isYUV420(data) && !data->mCbSkip) { // 420 planar -- mVPXImageWrapper->planes[PLANE_Y] = data->mYChannel; -- mVPXImageWrapper->planes[PLANE_U] = data->mCbChannel; -- mVPXImageWrapper->planes[PLANE_V] = data->mCrChannel; -+ mVPXImageWrapper->planes[VPX_PLANE_Y] = data->mYChannel; -+ mVPXImageWrapper->planes[VPX_PLANE_U] = data->mCbChannel; -+ mVPXImageWrapper->planes[VPX_PLANE_V] = data->mCrChannel; - mVPXImageWrapper->stride[VPX_PLANE_Y] = data->mYStride; - mVPXImageWrapper->stride[VPX_PLANE_U] = data->mCbCrStride; - mVPXImageWrapper->stride[VPX_PLANE_V] = data->mCbCrStride; -@@ -355,9 +356,9 @@ - return NS_ERROR_NOT_IMPLEMENTED; - } - -- mVPXImageWrapper->planes[PLANE_Y] = y; -- mVPXImageWrapper->planes[PLANE_U] = cb; -- mVPXImageWrapper->planes[PLANE_V] = cr; -+ mVPXImageWrapper->planes[VPX_PLANE_Y] = y; -+ mVPXImageWrapper->planes[VPX_PLANE_U] = cb; -+ mVPXImageWrapper->planes[VPX_PLANE_V] = cr; - mVPXImageWrapper->stride[VPX_PLANE_Y] = mFrameWidth; - mVPXImageWrapper->stride[VPX_PLANE_U] = halfWidth; - mVPXImageWrapper->stride[VPX_PLANE_V] = halfWidth; diff --git a/srcpkgs/icecat/patches/musl-execinfo.patch b/srcpkgs/icecat/patches/musl-execinfo.patch deleted file mode 100644 index eef552b5037..00000000000 --- a/srcpkgs/icecat/patches/musl-execinfo.patch +++ /dev/null @@ -1,13 +0,0 @@ -There is no in musl libc. - ---- ipc/chromium/src/base/debug_util_posix.cc 2015-07-14 00:07:38.000000000 +0200 -+++ ipc/chromium/src/base/debug_util_posix.cc 2015-08-21 10:33:48.949321779 +0200 -@@ -5,7 +5,7 @@ - #include "build/build_config.h" - #include "base/debug_util.h" - --#define MOZ_HAVE_EXECINFO_H (defined(OS_LINUX) && !defined(ANDROID)) -+#define MOZ_HAVE_EXECINFO_H (defined(OS_LINUX) && defined(__GLIBC__) && !defined(ANDROID)) - - #include - #include diff --git a/srcpkgs/icecat/patches/musl-net_if.patch b/srcpkgs/icecat/patches/musl-net_if.patch deleted file mode 100644 index 8f80e5b59a1..00000000000 --- a/srcpkgs/icecat/patches/musl-net_if.patch +++ /dev/null @@ -1,47 +0,0 @@ -Avoid double definition of struct ifmap, struct ifconf, -etc. with musl libc. - ---- media/mtransport/third_party/nICEr/src/stun/addrs.c 2015-07-14 00:06:51.000000000 +0200 -+++ media/mtransport/third_party/nICEr/src/stun/addrs.c 2015-08-21 13:08:44.161155194 +0200 -@@ -44,7 +44,7 @@ - #else /* UNIX */ - #include - #include --#ifndef ANDROID -+#if !defined(ANDROID) && defined(__GLIBC__) - #include - #include - #else -@@ -62,11 +62,13 @@ - #include - #include - #else -+#if defined(__GLIBC__) - #include - #include -+#endif - #include -+#if !defined(ANDROID) && defined(__GLIBC__) - #include --#ifndef ANDROID - #include - #endif - #endif -@@ -616,7 +618,7 @@ - - #ifdef LINUX - int si = sizeof(struct ifreq); --#ifndef ANDROID -+#if !defined(ANDROID) && defined(__GLIBC__) - struct ethtool_cmd ecmd; - struct iwreq wrq; - #endif -@@ -642,7 +644,7 @@ - else { - addrs[n].interface.type = NR_INTERFACE_TYPE_UNKNOWN; - addrs[n].interface.estimated_speed = 0; --#if defined(LINUX) && !defined(ANDROID) -+#if defined(LINUX) && defined(__GLIBC__) && !defined(ANDROID) - /* TODO (Bug 896851): interface property for Android */ - /* Getting ethtool for ethernet information. */ - ecmd.cmd = ETHTOOL_GSET; diff --git a/srcpkgs/icecat/patches/musl-netdb_h.patch b/srcpkgs/icecat/patches/musl-netdb_h.patch deleted file mode 100644 index fae289c7c3d..00000000000 --- a/srcpkgs/icecat/patches/musl-netdb_h.patch +++ /dev/null @@ -1,12 +0,0 @@ -Include to define IPPORT_RESERVED for musl libc - ---- netwerk/sctp/src/netinet/sctp_pcb.c 2015-07-14 00:06:57.000000000 +0200 -+++ netwerk/sctp/src/netinet/sctp_pcb.c 2015-08-21 10:13:21.509211726 +0200 -@@ -35,6 +35,7 @@ - __FBSDID("$FreeBSD: head/sys/netinet/sctp_pcb.c 258765 2013-11-30 12:51:19Z tuexen $"); - #endif - -+#include - #include - #ifdef __FreeBSD__ - #include diff --git a/srcpkgs/icecat/patches/musl-no_fpehandler.patch b/srcpkgs/icecat/patches/musl-no_fpehandler.patch deleted file mode 100644 index db9c274e0b2..00000000000 --- a/srcpkgs/icecat/patches/musl-no_fpehandler.patch +++ /dev/null @@ -1,23 +0,0 @@ -Disable fpehandler() for musl libc as it requires access -to the internals of ucontext_t which are not available. - ---- toolkit/xre/nsSigHandlers.cpp 2015-07-14 00:08:05.000000000 +0200 -+++ toolkit/sre/nsSigHandlers.cpp 2015-08-23 13:04:47.979746292 +0200 -@@ -132,7 +132,7 @@ - - #endif - --#ifdef SA_SIGINFO -+#if defined(SA_SIGINFO) && defined(__GLIBC__) - static void fpehandler(int signum, siginfo_t *si, void *context) - { - /* Integer divide by zero or integer overflow. */ -@@ -237,7 +237,7 @@ - } - #endif // CRAWL_STACK_ON_SIGSEGV - --#ifdef SA_SIGINFO -+#if defined(SA_SIGINFO) && defined(__GLIBC__) - /* Install a handler for floating point exceptions and disable them if they occur. */ - struct sigaction sa, osa; - sa.sa_flags = SA_ONSTACK | SA_RESTART | SA_SIGINFO; diff --git a/srcpkgs/icecat/patches/musl-u_int64_t.patch b/srcpkgs/icecat/patches/musl-u_int64_t.patch deleted file mode 100644 index 74d723a302d..00000000000 --- a/srcpkgs/icecat/patches/musl-u_int64_t.patch +++ /dev/null @@ -1,61 +0,0 @@ -In musl libc headers there is no u_int64_t defined, -thus use the type uint64_t instead. - ---- tools/profiler/local_debug_info_symbolizer.cc 2015-07-14 00:10:06.000000000 +0200 -+++ tools/profiler/local_debug_info_symbolizer.cc 2015-08-21 13:35:17.690298070 +0200 -@@ -222,7 +222,7 @@ - debug_info_module = it->second; - } - -- u_int64_t address = frame->instruction - frame->module->base_address(); -+ uint64_t address = frame->instruction - frame->module->base_address(); - Module::Function* function = - debug_info_module->FindFunctionByAddress(address); - if (function) { -@@ -282,7 +282,7 @@ - if (it == symbols_.end()) return NULL; - - Module* module = it->second; -- u_int64_t address = frame->instruction - frame->module->base_address(); -+ uint64_t address = frame->instruction - frame->module->base_address(); - Module::StackFrameEntry* entry = - module->FindStackFrameEntryByAddress(address); - if (!entry) ---- tools/profiler/UnwinderThread2.cpp 2015-07-14 00:10:06.000000000 +0200 -+++ tools/profiler/UnwinderThread2.cpp 2015-08-21 15:38:53.699962995 +0200 -@@ -456,7 +456,7 @@ - ////////////////////////////////////////////////////////// - - // This is the interface to LUL. --typedef struct { u_int64_t pc; u_int64_t sp; } PCandSP; -+typedef struct { uint64_t pc; uint64_t sp; } PCandSP; - - // Forward declaration. Implementation is below. - static -@@ -1318,7 +1318,7 @@ - else { - // We have at least one N and one P entry available. - // Scan forwards to find the SP of the current P entry -- u_int64_t sp_cur_P = 0; -+ uint64_t sp_cur_P = 0; - unsigned int m = next_P + 1; - while (1) { - /* This assertion should hold because in a well formed -@@ -1329,7 +1329,7 @@ - if (ent.is_ent_hint('Q')) - break; - if (ent.is_ent('S')) { -- sp_cur_P = reinterpret_cast(ent.get_tagPtr()); -+ sp_cur_P = reinterpret_cast(ent.get_tagPtr()); - break; - } - m++; -@@ -1338,7 +1338,7 @@ - if (0) LOG(" P <= last_was_P && sp_cur_P == 0"); - use_P = true; - } else { -- u_int64_t sp_cur_N = pairs[next_N].sp; -+ uint64_t sp_cur_N = pairs[next_N].sp; - use_P = (sp_cur_P > sp_cur_N); - if (0) LOGF(" %s <= sps P %p N %p", - use_P ? "P" : "N", (void*)(intptr_t)sp_cur_P, diff --git a/srcpkgs/icecat/patches/musl-ucontext.patch b/srcpkgs/icecat/patches/musl-ucontext.patch deleted file mode 100644 index bbaed7dacde..00000000000 --- a/srcpkgs/icecat/patches/musl-ucontext.patch +++ /dev/null @@ -1,55 +0,0 @@ -Musl libc doesn't expose the ucontext_t internals, but -just an opaque struct __ucontext, thus disable code which -tries to access the members. - -Define gettid(2) for musl libc as well. - ---- tools/profiler/platform-linux.cc 2015-07-14 00:10:07.000000000 +0200 -+++ tools/profiler/platform-linux.cc 2015-08-21 13:52:40.411391562 +0200 -@@ -87,14 +87,13 @@ - - #define SIGNAL_SAVE_PROFILE SIGUSR2 - --#if defined(__GLIBC__) --// glibc doesn't implement gettid(2). -+// We need a definition of gettid(2), but neither glibc nor -+// musl libc provide a wrapper for it. - #include - pid_t gettid() - { - return (pid_t) syscall(SYS_gettid); - } --#endif - - /* static */ Thread::tid_t - Thread::GetCurrentId() -@@ -164,6 +163,7 @@ - - static void SetSampleContext(TickSample* sample, void* context) - { -+#if defined(__GLIBC__) - // Extracting the sample from the context is extremely machine dependent. - ucontext_t* ucontext = reinterpret_cast(context); - mcontext_t& mcontext = ucontext->uc_mcontext; -@@ -196,6 +196,7 @@ - // Implement this on MIPS. - UNIMPLEMENTED(); - #endif -+#endif - } - - #ifdef ANDROID -@@ -590,11 +594,13 @@ - void TickSample::PopulateContext(void* aContext) - { - MOZ_ASSERT(aContext); -+#if defined(__GLIBC__) - ucontext_t* pContext = reinterpret_cast(aContext); - if (!getcontext(pContext)) { - context = pContext; - SetSampleContext(this, aContext); - } -+#endif - } - - // WARNING: Works with values up to 1 second diff --git a/srcpkgs/icecat/patches/stat.patch b/srcpkgs/icecat/patches/stat.patch new file mode 100644 index 00000000000..10d13c5471f --- /dev/null +++ b/srcpkgs/icecat/patches/stat.patch @@ -0,0 +1,25 @@ +--- dom/system/OSFileConstants.cpp.orig 2013-04-17 06:17:29.798371189 +0000 ++++ dom/system/OSFileConstants.cpp 2013-04-17 06:30:30.032285977 +0000 +@@ -509,6 +509,11 @@ + INT_CONSTANT(_STAT_VER), + #endif // defined(_STAT_VER) + ++ // glibc's stat/lstat/fstat are macros while uclibc's are not ++#if defined(__GLIBC__) && !defined(__UCLIBC__) ++ { "OSFILE_STAT_MACROS", INT_TO_JSVAL(1) }, ++#endif // defined(stat) ++ + PROP_END + }; + +--- toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2014-04-03 13:08:26.686409787 +0000 ++++ toolkit/components/osfile/modules/osfile_unix_back.jsm 2014-04-03 13:34:14.101716259 +0000 +@@ -512,7 +512,7 @@ + /*path*/ Type.fd, + /*buf*/ Type.stat.out_ptr + ); +- } else if (Const._STAT_VER != undefined) { ++ } else if (Const.OSFILE_STAT_MACROS != undefined) { + const ver = Const._STAT_VER; + let xstat_name, lxstat_name, fxstat_name; + if (OS.Constants.Sys.Name == "SunOS") { diff --git a/srcpkgs/icecat/template b/srcpkgs/icecat/template index d2be8af1ed7..33f1584d090 100644 --- a/srcpkgs/icecat/template +++ b/srcpkgs/icecat/template @@ -1,13 +1,13 @@ # Template build file for 'icecat'. pkgname=icecat -version=31.8.0 -revision=2 +version=38.3.0 +revision=1 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="370087d0adadf8b1c1e6a9920e26488a8902b9dc461d305f258fddb26a129d87" +checksum="08fe9724a84aef2182265b230c68fa37a36a5d93ffd5118ec0739718dc71a66e" lib32disabled=yes diff --git a/srcpkgs/icecat/update b/srcpkgs/icecat/update new file mode 100644 index 00000000000..9bed5c29c8d --- /dev/null +++ b/srcpkgs/icecat/update @@ -0,0 +1,2 @@ +site=https://ftp.gnu.org/gnu/gnuzilla/ +pattern="\K[\d]+\.[\d]+\.[\d]+"