diff options
Diffstat (limited to 'www/seamonkey/patches')
58 files changed, 1572 insertions, 971 deletions
diff --git a/www/seamonkey/patches/patch-aa b/www/seamonkey/patches/patch-aa index a2908ae28cb..1f966b41db5 100644 --- a/www/seamonkey/patches/patch-aa +++ b/www/seamonkey/patches/patch-aa @@ -1,8 +1,8 @@ -$NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-aa,v 1.27 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/configure.in.orig 2015-03-09 05:34:34.000000000 +0000 +--- mozilla/configure.in.orig 2015-09-02 09:28:08.000000000 +0000 +++ mozilla/configure.in -@@ -1766,7 +1766,13 @@ Linux) +@@ -1794,7 +1794,13 @@ Linux) MOZ_ENABLE_PROFILER_SPS= esac ;; @@ -17,7 +17,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ *) MOZ_ENABLE_PROFILER_SPS= ;; -@@ -1870,7 +1876,7 @@ case "$host" in +@@ -1898,7 +1904,7 @@ case "$host" in ;; *-darwin*) @@ -26,7 +26,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ HOST_NSPR_MDCPUCFG='\"md/_darwin.cfg\"' HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}" ;; -@@ -2002,7 +2008,6 @@ case "$target" in +@@ -2022,7 +2028,6 @@ case "$target" in AC_DEFINE(XP_DARWIN) _PLATFORM_DEFAULT_TOOLKIT='cairo-uikit' else @@ -34,7 +34,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ AC_DEFINE(XP_DARWIN) _PLATFORM_DEFAULT_TOOLKIT='cairo-cocoa' # The ExceptionHandling framework is needed for Objective-C exception -@@ -2622,8 +2627,7 @@ MOZ_CXX11 +@@ -2641,8 +2646,7 @@ MOZ_CXX11 AC_LANG_C @@ -44,7 +44,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ dnl =============================================================== if test "$GNU_CC" -a "$OS_TARGET" != WINNT; then AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) -@@ -3645,6 +3649,14 @@ if test -n "$YASM"; then +@@ -3663,6 +3667,14 @@ if test -n "$YASM"; then _YASM_BUILD=` echo ${YASM_VERSION} | $AWK -F\. '{ print $4 }'` fi @@ -59,7 +59,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ if test -z "$SKIP_LIBRARY_CHECKS"; then dnl system JPEG support dnl ======================================================== -@@ -3672,11 +3684,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then +@@ -3690,11 +3702,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then #include <jpeglib.h> ], [ #if JPEG_LIB_VERSION < $MOZJPEG #error "Insufficient JPEG library version ($MOZJPEG required)." @@ -72,7 +72,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ MOZ_NATIVE_JPEG=1, AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg])) fi -@@ -4391,6 +4399,10 @@ cairo-gonk) +@@ -4392,6 +4400,10 @@ cairo-gonk) esac @@ -83,7 +83,16 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ AC_SUBST(MOZ_PDF_PRINTING) if test "$MOZ_PDF_PRINTING"; then PDF_SURFACE_FEATURE="#define CAIRO_HAS_PDF_SURFACE 1" -@@ -5131,6 +5143,9 @@ if test -n "$MOZ_WEBRTC"; then +@@ -4408,7 +4420,7 @@ fi + + if test "$COMPILE_ENVIRONMENT"; then + if test "$MOZ_ENABLE_GTK3"; then +- PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 atk-bridge-2.0 $GDK_PACKAGES) ++ PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 $GDK_PACKAGES) + MOZ_GTK3_CFLAGS="-I${_topsrcdir}/widget/gtk/compat-gtk3 $MOZ_GTK3_CFLAGS" + dnl Contrary to MOZ_GTK2_LIBS, MOZ_GTK3_LIBS needs to be literally added to TK_LIBS instead + dnl of a make reference because of how TK_LIBS is mangled in toolkit/library/moz.build +@@ -5149,6 +5161,9 @@ if test -n "$MOZ_WEBRTC"; then MOZ_VPX=1 MOZ_VPX_ERROR_CONCEALMENT=1 @@ -93,7 +102,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ dnl enable once Signaling lands MOZ_WEBRTC_SIGNALING=1 AC_DEFINE(MOZ_WEBRTC_SIGNALING) -@@ -5234,6 +5249,57 @@ if test "${ac_cv_c_attribute_aligned}" ! +@@ -5252,6 +5267,157 @@ if test "${ac_cv_c_attribute_aligned}" ! fi dnl ======================================================== @@ -127,7 +136,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ +MOZ_NATIVE_VORBIS=) + +if test -n "$MOZ_NATIVE_VORBIS"; then -+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.4) ++ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5) +fi + +AC_SUBST(MOZ_NATIVE_VORBIS) @@ -148,13 +157,23 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ +AC_SUBST(MOZ_NATIVE_TREMOR) + +dnl ======================================================== - dnl = Disable Opus audio codec support - dnl ======================================================== - MOZ_ARG_DISABLE_BOOL(opus, -@@ -5242,6 +5308,89 @@ MOZ_ARG_DISABLE_BOOL(opus, - MOZ_OPUS=1) - - dnl ======================================================== ++dnl Check for libcelt ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-celt, ++[ --with-system-celt Use system libcelt (located with pkgconfig)], ++MOZ_NATIVE_CELT=1, ++MOZ_NATIVE_CELT=) ++ ++if test -n "$MOZ_NATIVE_CELT"; then ++ PKG_CHECK_MODULES(MOZ_CELT, celt) ++else ++ MOZ_CELT_CFLAGS='-I$(topsrcdir)/media/libopus' ++fi ++ ++AC_SUBST(MOZ_NATIVE_CELT) ++ ++dnl ======================================================== +dnl Check for libopus +dnl ======================================================== + @@ -241,7 +260,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ dnl = Disable VP8 decoder support dnl ======================================================== MOZ_ARG_DISABLE_BOOL(webm, -@@ -5600,6 +5749,67 @@ fi +@@ -5606,6 +5772,67 @@ fi AC_SUBST(MOZ_WEBM_ENCODER) dnl ================================== @@ -309,7 +328,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ dnl = Check alsa availability on Linux dnl ================================== -@@ -5613,12 +5823,23 @@ MOZ_ARG_ENABLE_BOOL(alsa, +@@ -5619,12 +5846,23 @@ MOZ_ARG_ENABLE_BOOL(alsa, MOZ_ALSA=1, MOZ_ALSA=) @@ -321,7 +340,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ if test -n "$MOZ_ALSA"; then PKG_CHECK_MODULES(MOZ_ALSA, alsa, , [echo "$MOZ_ALSA_PKG_ERRORS" - AC_MSG_ERROR([Need alsa for Ogg, Wave or WebM decoding on Linux. Disable with --disable-ogg --disable-wave --disable-webm. (On Ubuntu, you might try installing the package libasound2-dev.)])]) + AC_MSG_ERROR([Need alsa for audio output on Linux. (On Ubuntu, you might try installing the package libasound2-dev.)])]) fi +if test -n "$DISABLE_LIBASOUND_DLOPEN"; then @@ -333,7 +352,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ AC_SUBST(MOZ_ALSA) dnl ======================================================== -@@ -6046,7 +6267,9 @@ MOZ_ARG_DISABLE_BOOL(gamepad, +@@ -6046,7 +6284,9 @@ MOZ_ARG_DISABLE_BOOL(gamepad, if test "$MOZ_GAMEPAD"; then case "$OS_TARGET" in Darwin) @@ -343,8 +362,8 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ + fi ;; WINNT) - case "$MOZ_WINSDK_MAXVER" in -@@ -8089,6 +8312,49 @@ if test "$USE_FC_FREETYPE"; then + MOZ_GAMEPAD_BACKEND=windows +@@ -8066,6 +8306,49 @@ if test "$USE_FC_FREETYPE"; then fi dnl ======================================================== @@ -357,7 +376,7 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ +MOZ_NATIVE_HARFBUZZ=) + +if test -n "$MOZ_NATIVE_HARFBUZZ"; then -+ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.25) ++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.34) +fi + +AC_SUBST(MOZ_NATIVE_HARFBUZZ) @@ -394,12 +413,3 @@ $NetBSD: patch-aa,v 1.26 2015/03/17 19:50:42 ryoon Exp $ dnl Check for pixman and cairo dnl ======================================================== -@@ -8344,7 +8610,7 @@ case "$OS_TARGET" in - NECKO_WIFI=1 - fi - ;; -- Darwin|FreeBSD|SunOS|WINNT) -+ Darwin|DragonFly|FreeBSD|SunOS|WINNT) - NECKO_WIFI=1 - ;; - Linux) diff --git a/www/seamonkey/patches/patch-ak b/www/seamonkey/patches/patch-ak deleted file mode 100644 index fa3c313ecd9..00000000000 --- a/www/seamonkey/patches/patch-ak +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-ak,v 1.12 2014/11/02 05:40:31 ryoon Exp $ - ---- mozilla/js/src/ctypes/libffi/configure.orig 2014-10-14 06:36:16.000000000 +0000 -+++ mozilla/js/src/ctypes/libffi/configure -@@ -17226,7 +17226,7 @@ case "$host" in - powerpc-*-aix* | rs6000-*-aix*) - TARGET=POWERPC_AIX; TARGETDIR=powerpc - ;; -- powerpc-*-freebsd* | powerpc-*-openbsd*) -+ powerpc-*-freebsd* | powerpc-*-openbsd* | powerpc-*-netbsd*) - TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc - HAVE_LONG_DOUBLE_VARIANT=1 - ;; diff --git a/www/seamonkey/patches/patch-ao b/www/seamonkey/patches/patch-ao index cf8b2b62f31..da3e582738b 100644 --- a/www/seamonkey/patches/patch-ao +++ b/www/seamonkey/patches/patch-ao @@ -1,12 +1,14 @@ -$NetBSD: patch-ao,v 1.14 2014/03/30 04:13:17 ryoon Exp $ +$NetBSD: patch-ao,v 1.15 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/toolkit/mozapps/installer/packager.mk.orig 2014-03-19 01:42:17.000000000 +0000 +--- mozilla/toolkit/mozapps/installer/packager.mk.orig 2015-09-02 09:27:31.000000000 +0000 +++ mozilla/toolkit/mozapps/installer/packager.mk -@@ -775,7 +775,7 @@ endif +@@ -122,8 +122,8 @@ endif + (cd $(DESTDIR)$(installdir) && tar -xf -) $(NSINSTALL) -D $(DESTDIR)$(bindir) $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME) - ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir) +- ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir) -ifdef INSTALL_SDK # Here comes the hard part ++ ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)/$(MOZILLA_PKG_NAME) +ifeq ($(MOZ_APP_NAME),xulrunner) $(NSINSTALL) -D $(DESTDIR)$(includedir) (cd $(DIST)/include && $(TAR) $(TAR_CREATE_FLAGS) - .) | \ diff --git a/www/seamonkey/patches/patch-mozilla_accessible_atk_Platform.cpp b/www/seamonkey/patches/patch-mozilla_accessible_atk_Platform.cpp new file mode 100644 index 00000000000..2b533cbe5b6 --- /dev/null +++ b/www/seamonkey/patches/patch-mozilla_accessible_atk_Platform.cpp @@ -0,0 +1,98 @@ +$NetBSD: patch-mozilla_accessible_atk_Platform.cpp,v 1.1 2015/09/21 05:03:45 ryoon Exp $ + +--- mozilla/accessible/atk/Platform.cpp.orig 2015-09-02 09:27:10.000000000 +0000 ++++ mozilla/accessible/atk/Platform.cpp +@@ -18,8 +18,9 @@ + #include <dbus/dbus.h> + #endif + #include <gtk/gtk.h> ++ + #if (MOZ_WIDGET_GTK == 3) +-#include <atk-bridge.h> ++extern "C" __attribute__((weak,visibility("default"))) int atk_bridge_adaptor_init(int*, char **[]); + #endif + + using namespace mozilla; +@@ -46,7 +47,6 @@ static gulong sToplevel_hide_hook = 0; + + GType g_atk_hyperlink_impl_type = G_TYPE_INVALID; + +-#if (MOZ_WIDGET_GTK == 2) + struct GnomeAccessibilityModule + { + const char *libName; +@@ -67,11 +67,13 @@ static GnomeAccessibilityModule sAtkBrid + "gnome_accessibility_module_shutdown", nullptr + }; + ++#if (MOZ_WIDGET_GTK == 2) + static GnomeAccessibilityModule sGail = { + "libgail.so", nullptr, + "gnome_accessibility_module_init", nullptr, + "gnome_accessibility_module_shutdown", nullptr + }; ++#endif + + static nsresult + LoadGtkModule(GnomeAccessibilityModule& aModule) +@@ -98,7 +100,11 @@ LoadGtkModule(GnomeAccessibilityModule& + else + subLen = loc2 - loc1; + nsAutoCString sub(Substring(libPath, loc1, subLen)); ++#if (MOZ_WIDGET_GTK == 2) + sub.AppendLiteral("/gtk-2.0/modules/"); ++#else ++ sub.AppendLiteral("/gtk-3.0/modules/"); ++#endif + sub.Append(aModule.libName); + aModule.lib = PR_LoadLibrary(sub.get()); + if (aModule.lib) +@@ -123,7 +129,6 @@ LoadGtkModule(GnomeAccessibilityModule& + } + return NS_OK; + } +-#endif // (MOZ_WIDGET_GTK == 2) + + void + a11y::PlatformInit() +@@ -175,14 +180,17 @@ a11y::PlatformInit() + + // Init atk-bridge now + PR_SetEnv("NO_AT_BRIDGE=0"); +-#if (MOZ_WIDGET_GTK == 2) +- rv = LoadGtkModule(sAtkBridge); +- if (NS_SUCCEEDED(rv)) { +- (*sAtkBridge.init)(); +- } +-#else +- atk_bridge_adaptor_init(nullptr, nullptr); ++#if (MOZ_WIDGET_GTK == 3) ++ if (atk_bridge_adaptor_init) { ++ atk_bridge_adaptor_init(nullptr, nullptr); ++ } else + #endif ++ { ++ nsresult rv = LoadGtkModule(sAtkBridge); ++ if (NS_SUCCEEDED(rv)) { ++ (*sAtkBridge.init)(); ++ } ++ } + + if (!sToplevel_event_hook_added) { + sToplevel_event_hook_added = true; +@@ -210,7 +218,6 @@ a11y::PlatformShutdown() + sToplevel_hide_hook); + } + +-#if (MOZ_WIDGET_GTK == 2) + if (sAtkBridge.lib) { + // Do not shutdown/unload atk-bridge, + // an exit function registered will take care of it +@@ -221,6 +228,7 @@ a11y::PlatformShutdown() + sAtkBridge.init = nullptr; + sAtkBridge.shutdown = nullptr; + } ++#if (MOZ_WIDGET_GTK == 2) + if (sGail.lib) { + // Do not shutdown gail because + // 1) Maybe it's not init-ed by us. e.g. GtkEmbed diff --git a/www/seamonkey/patches/patch-mozilla_b2g_installer_Makefile.in b/www/seamonkey/patches/patch-mozilla_b2g_installer_Makefile.in deleted file mode 100644 index 31a0a7c5a7a..00000000000 --- a/www/seamonkey/patches/patch-mozilla_b2g_installer_Makefile.in +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-mozilla_b2g_installer_Makefile.in,v 1.3 2015/03/17 19:50:42 ryoon Exp $ - ---- mozilla/b2g/installer/Makefile.in.orig 2015-03-09 05:34:16.000000000 +0000 -+++ mozilla/b2g/installer/Makefile.in -@@ -79,6 +79,10 @@ ifneq (,$(filter rtsp,$(NECKO_PROTOCOLS) - DEFINES += -DMOZ_RTSP - endif - -+ifdef MOZ_DEBUG -+DEFINES += -DMOZ_DEBUG=1 -+endif -+ - ifdef GKMEDIAS_SHARED_LIBRARY - DEFINES += -DGKMEDIAS_SHARED_LIBRARY - endif diff --git a/www/seamonkey/patches/patch-mozilla_b2g_installer_package-manifest.in b/www/seamonkey/patches/patch-mozilla_b2g_installer_package-manifest.in deleted file mode 100644 index f8c8f58c7c2..00000000000 --- a/www/seamonkey/patches/patch-mozilla_b2g_installer_package-manifest.in +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-mozilla_b2g_installer_package-manifest.in,v 1.3 2015/03/17 19:50:42 ryoon Exp $ - ---- mozilla/b2g/installer/package-manifest.in.orig 2015-03-09 05:34:16.000000000 +0000 -+++ mozilla/b2g/installer/package-manifest.in -@@ -609,7 +609,7 @@ - @BINPATH@/components/EngineeringModeAPI.js - @BINPATH@/components/EngineeringModeService.js - --#ifdef MOZ_DEBUG -+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG) - @BINPATH@/components/TestInterfaceJS.js - @BINPATH@/components/TestInterfaceJS.manifest - #endif diff --git a/www/seamonkey/patches/patch-mozilla_browser_app_nsBrowserApp.cpp b/www/seamonkey/patches/patch-mozilla_browser_app_nsBrowserApp.cpp index 45956b1846c..5dfb1ccf5d2 100644 --- a/www/seamonkey/patches/patch-mozilla_browser_app_nsBrowserApp.cpp +++ b/www/seamonkey/patches/patch-mozilla_browser_app_nsBrowserApp.cpp @@ -1,6 +1,6 @@ -$NetBSD: patch-mozilla_browser_app_nsBrowserApp.cpp,v 1.3 2015/01/29 22:22:26 wiz Exp $ +$NetBSD: patch-mozilla_browser_app_nsBrowserApp.cpp,v 1.4 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/browser/app/nsBrowserApp.cpp.orig 2014-06-13 00:46:02.000000000 +0000 +--- mozilla/browser/app/nsBrowserApp.cpp.orig 2015-09-02 09:27:14.000000000 +0000 +++ mozilla/browser/app/nsBrowserApp.cpp @@ -18,8 +18,10 @@ #include <unistd.h> @@ -14,7 +14,7 @@ $NetBSD: patch-mozilla_browser_app_nsBrowserApp.cpp,v 1.3 2015/01/29 22:22:26 wi #include "MacQuirks.h" #endif -@@ -447,7 +449,7 @@ TimeStamp_Now() +@@ -459,7 +461,7 @@ TimeStamp_Now() } return sGetTickCount64() * freq.QuadPart; @@ -23,3 +23,11 @@ $NetBSD: patch-mozilla_browser_app_nsBrowserApp.cpp,v 1.3 2015/01/29 22:22:26 wi return mach_absolute_time(); #elif defined(HAVE_CLOCK_MONOTONIC) struct timespec ts; +@@ -606,6 +608,7 @@ int main(int argc, char* argv[]) + TriggerQuirks(); + #endif + ++ setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); + int gotCounters; + #if defined(XP_UNIX) + struct rusage initialRUsage; diff --git a/www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4 b/www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4 index 9a528762e12..86b00ee7d08 100644 --- a/www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4 +++ b/www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4 @@ -1,6 +1,6 @@ -$NetBSD: patch-mozilla_build_autoconf_nss.m4,v 1.6 2013/01/07 21:55:30 ryoon Exp $ +$NetBSD: patch-mozilla_build_autoconf_nss.m4,v 1.7 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/build/autoconf/nss.m4.orig 2012-11-18 10:19:31.000000000 +0000 +--- mozilla/build/autoconf/nss.m4.orig 2015-09-02 09:28:02.000000000 +0000 +++ mozilla/build/autoconf/nss.m4 @@ -22,18 +22,18 @@ AC_ARG_WITH(nss-exec-prefix, if test -n "$nss_config_exec_prefix"; then @@ -35,12 +35,12 @@ $NetBSD: patch-mozilla_build_autoconf_nss.m4,v 1.6 2013/01/07 21:55:30 ryoon Exp - nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \ + nss_config_major_version=`$NSS_CONFIG $nss_config_args nss --modversion | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\(\.\([[0-9]]*\)\)\{0,1\}/\1/'` - nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \ + nss_config_minor_version=`$NSS_CONFIG $nss_config_args nss --modversion | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\(\.\([[0-9]]*\)\)\{0,1\}/\2/'` - nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \ + nss_config_micro_version=`$NSS_CONFIG $nss_config_args nss --modversion | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - min_nss_major_version=`echo $min_nss_version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\(\.\([[0-9]]*\)\)\{0,1\}/\4/'` + if test -z "$nss_config_micro_version"; then + nss_config_micro_version="0" diff --git a/www/seamonkey/patches/patch-mozilla_config_Makefile.in b/www/seamonkey/patches/patch-mozilla_config_Makefile.in index ccd7423abd0..fd1f7685c01 100644 --- a/www/seamonkey/patches/patch-mozilla_config_Makefile.in +++ b/www/seamonkey/patches/patch-mozilla_config_Makefile.in @@ -1,8 +1,8 @@ -$NetBSD: patch-mozilla_config_Makefile.in,v 1.4 2014/06/22 08:54:39 ryoon Exp $ +$NetBSD: patch-mozilla_config_Makefile.in,v 1.5 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/config/Makefile.in.orig 2014-06-13 00:46:03.000000000 +0000 +--- mozilla/config/Makefile.in.orig 2015-09-02 09:28:07.000000000 +0000 +++ mozilla/config/Makefile.in -@@ -77,6 +77,15 @@ export:: $(export-preqs) +@@ -77,6 +77,16 @@ export:: $(export-preqs) -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ @@ -12,6 +12,7 @@ $NetBSD: patch-mozilla_config_Makefile.in,v 1.4 2014/06/22 08:54:39 ryoon Exp $ + -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \ + -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \ + -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \ ++ -DMOZ_NATIVE_CELT=$(MOZ_NATIVE_CELT) \ + -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \ + -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \ + -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \ diff --git a/www/seamonkey/patches/patch-mozilla_config_external_moz.build b/www/seamonkey/patches/patch-mozilla_config_external_moz.build index 6149d67b0f6..77201536793 100644 --- a/www/seamonkey/patches/patch-mozilla_config_external_moz.build +++ b/www/seamonkey/patches/patch-mozilla_config_external_moz.build @@ -1,8 +1,8 @@ -$NetBSD: patch-mozilla_config_external_moz.build,v 1.5 2015/02/15 02:11:03 ryoon Exp $ +$NetBSD: patch-mozilla_config_external_moz.build,v 1.6 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/config/external/moz.build.orig 2015-02-05 04:39:28.000000000 +0000 +--- mozilla/config/external/moz.build.orig 2015-09-02 09:28:07.000000000 +0000 +++ mozilla/config/external/moz.build -@@ -19,13 +19,19 @@ if CONFIG['MOZ_UPDATER']: +@@ -19,10 +19,19 @@ if CONFIG['MOZ_UPDATER']: # There's no "native brotli" yet, but probably in the future... external_dirs += ['modules/brotli'] @@ -10,6 +10,9 @@ $NetBSD: patch-mozilla_config_external_moz.build,v 1.5 2015/02/15 02:11:03 ryoon +if not CONFIG['MOZ_NATIVE_OGG']: + external_dirs += ['media/libogg'] + ++if not CONFIG['MOZ_NATIVE_CELT'] or not CONFIG['MOZ_NATIVE_OPUS']: ++ external_dirs += ['media/libopus'] ++ +if not CONFIG['MOZ_NATIVE_THEORA']: + external_dirs += ['media/libtheora'] + @@ -20,12 +23,8 @@ $NetBSD: patch-mozilla_config_external_moz.build,v 1.5 2015/02/15 02:11:03 ryoon +if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']: external_dirs += ['media/libtremor'] --if CONFIG['MOZ_OPUS']: -+if CONFIG['MOZ_OPUS'] and not CONFIG['MOZ_NATIVE_OPUS']: - external_dirs += ['media/libopus'] - if CONFIG['MOZ_WEBM']: -@@ -40,14 +46,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ +@@ -37,15 +46,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ if not CONFIG['MOZ_NATIVE_PNG']: external_dirs += ['media/libpng'] @@ -39,6 +38,7 @@ $NetBSD: patch-mozilla_config_external_moz.build,v 1.5 2015/02/15 02:11:03 ryoon 'media/kiss_fft', 'media/libcubeb', - 'media/libogg', +- 'media/libopus', - 'media/libtheora', - 'media/libspeex_resampler', 'media/libstagefright', diff --git a/www/seamonkey/patches/patch-mozilla_config_system-headers b/www/seamonkey/patches/patch-mozilla_config_system-headers index 08f7f2b0b3e..80140033381 100644 --- a/www/seamonkey/patches/patch-mozilla_config_system-headers +++ b/www/seamonkey/patches/patch-mozilla_config_system-headers @@ -1,16 +1,16 @@ -$NetBSD: patch-mozilla_config_system-headers,v 1.14 2015/09/13 15:05:35 joerg Exp $ +$NetBSD: patch-mozilla_config_system-headers,v 1.15 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/config/system-headers.orig 2015-03-22 02:59:55.000000000 +0000 +--- mozilla/config/system-headers.orig 2015-09-02 09:28:08.000000000 +0000 +++ mozilla/config/system-headers -@@ -457,6 +457,7 @@ frame/log.h - frame/req.h - freetype/freetype.h - freetype/ftcache.h -+freetype/ftfntfmt.h - freetype/ftglyph.h - freetype/ftsynth.h - freetype/ftoutln.h -@@ -470,6 +471,7 @@ freetype/ftbitmap.h +@@ -189,7 +189,6 @@ asm/signal.h + ASRegistry.h + assert.h + atk/atk.h +-atk-bridge.h + atlcom.h + atlconv.h + atlctl.cpp +@@ -471,6 +470,7 @@ freetype/ftbitmap.h freetype/ftxf86.h freetype.h ftcache.h @@ -18,7 +18,15 @@ $NetBSD: patch-mozilla_config_system-headers,v 1.14 2015/09/13 15:05:35 joerg Ex ftglyph.h ftsynth.h ftoutln.h -@@ -1265,7 +1267,6 @@ X11/Xlocale.h +@@ -636,6 +636,7 @@ libgnomevfs/gnome-vfs-mime-handlers.h + libgnomevfs/gnome-vfs-mime-utils.h + libgnomevfs/gnome-vfs-ops.h + libgnomevfs/gnome-vfs-standard-callbacks.h ++libv4l2.h + lib$routines.h + limits + limits.h +@@ -1266,7 +1267,6 @@ X11/Xlocale.h X11/Xos.h X11/Xutil.h zmouse.h @@ -26,7 +34,7 @@ $NetBSD: patch-mozilla_config_system-headers,v 1.14 2015/09/13 15:05:35 joerg Ex #if MOZ_NATIVE_PNG==1 png.h #endif -@@ -1327,10 +1328,13 @@ vorbis/codec.h +@@ -1328,10 +1328,13 @@ vorbis/codec.h theora/theoradec.h tremor/ivorbiscodec.h speex/speex_resampler.h @@ -40,7 +48,7 @@ $NetBSD: patch-mozilla_config_system-headers,v 1.14 2015/09/13 15:05:35 joerg Ex #endif gst/gst.h gst/app/gstappsink.h -@@ -1359,3 +1363,37 @@ unicode/utypes.h +@@ -1360,3 +1363,43 @@ unicode/utypes.h #endif libutil.h unwind.h @@ -66,6 +74,12 @@ $NetBSD: patch-mozilla_config_system-headers,v 1.14 2015/09/13 15:05:35 joerg Ex +#if MOZ_NATIVE_TREMOR==1 +tremor/ivorbiscodec.h +#endif ++#if MOZ_NATIVE_CELT==1 ++celt.h ++celt_header.h ++celt/celt.h ++celt/celt_header.h ++#endif +#if MOZ_NATIVE_OPUS==1 +opus.h +opus_multistream.h diff --git a/www/seamonkey/patches/patch-mozilla_config_system__wrappers_unwind.h b/www/seamonkey/patches/patch-mozilla_config_system__wrappers_unwind.h new file mode 100644 index 00000000000..808279a2ef9 --- /dev/null +++ b/www/seamonkey/patches/patch-mozilla_config_system__wrappers_unwind.h @@ -0,0 +1,9 @@ +$NetBSD: patch-mozilla_config_system__wrappers_unwind.h,v 1.7 2015/09/21 05:03:45 ryoon Exp $ + +--- mozilla/config/system_wrappers/unwind.h.orig 2015-09-21 03:33:26.000000000 +0000 ++++ mozilla/config/system_wrappers/unwind.h +@@ -0,0 +1,4 @@ ++#pragma GCC system_header ++#pragma GCC visibility push(default) ++#include_next <unwind.h> ++#pragma GCC visibility pop diff --git a/www/seamonkey/patches/patch-mozilla_dom_media_moz.build b/www/seamonkey/patches/patch-mozilla_dom_media_moz.build index 55deec5e543..b87f27739bc 100644 --- a/www/seamonkey/patches/patch-mozilla_dom_media_moz.build +++ b/www/seamonkey/patches/patch-mozilla_dom_media_moz.build @@ -1,8 +1,8 @@ -$NetBSD: patch-mozilla_dom_media_moz.build,v 1.1 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_dom_media_moz.build,v 1.2 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/dom/media/moz.build.orig 2015-03-09 05:34:53.000000000 +0000 +--- mozilla/dom/media/moz.build.orig 2015-09-02 09:28:33.000000000 +0000 +++ mozilla/dom/media/moz.build -@@ -270,6 +270,27 @@ if CONFIG['ANDROID_VERSION'] > '15': +@@ -280,6 +280,27 @@ if CONFIG['ANDROID_VERSION'] > '15': CFLAGS += CONFIG['GSTREAMER_CFLAGS'] CXXFLAGS += CONFIG['GSTREAMER_CFLAGS'] @@ -29,4 +29,4 @@ $NetBSD: patch-mozilla_dom_media_moz.build,v 1.1 2015/03/17 19:50:42 ryoon Exp $ + include('/ipc/chromium/chromium-config.mozbuild') - FINAL_LIBRARY = 'xul' + # Suppress some GCC warnings being treated as errors: diff --git a/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp b/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp index cdcbee3bc71..16cca1cf5ca 100644 --- a/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp +++ b/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp @@ -1,8 +1,8 @@ -$NetBSD: patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp,v 1.9 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp,v 1.10 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/dom/plugins/ipc/PluginModuleChild.cpp.orig 2015-03-09 05:35:00.000000000 +0000 +--- mozilla/dom/plugins/ipc/PluginModuleChild.cpp.orig 2015-09-02 09:28:36.000000000 +0000 +++ mozilla/dom/plugins/ipc/PluginModuleChild.cpp -@@ -307,7 +307,7 @@ PluginModuleChild::InitForChrome(const s +@@ -320,7 +320,7 @@ PluginModuleChild::InitForChrome(const s // TODO: use PluginPRLibrary here @@ -11,7 +11,7 @@ $NetBSD: patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp,v 1.9 2015/03/17 19 mShutdownFunc = (NP_PLUGINSHUTDOWN) PR_FindFunctionSymbol(mLibrary, "NP_Shutdown"); -@@ -1869,7 +1869,7 @@ PluginModuleChild::AnswerNP_GetEntryPoin +@@ -1882,7 +1882,7 @@ PluginModuleChild::AnswerNP_GetEntryPoin AssertPluginThread(); MOZ_ASSERT(mIsChrome); @@ -20,12 +20,12 @@ $NetBSD: patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp,v 1.9 2015/03/17 19 return true; #elif defined(OS_WIN) || defined(OS_MACOSX) *_retval = mGetEntryPointsFunc(&mFunctions); -@@ -1899,7 +1899,7 @@ PluginModuleChild::AnswerNP_Initialize(c - SendBackUpXResources(FileDescriptor(xSocketFd)); +@@ -1927,7 +1927,7 @@ PluginModuleChild::DoNP_Initialize(const #endif + NPError result; -#if defined(OS_LINUX) || defined(OS_BSD) +#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS) - *_retval = mInitializeFunc(&sBrowserFuncs, &mFunctions); - return true; + result = mInitializeFunc(&sBrowserFuncs, &mFunctions); #elif defined(OS_WIN) || defined(OS_MACOSX) + result = mInitializeFunc(&sBrowserFuncs); diff --git a/www/seamonkey/patches/patch-mozilla_extensions_spellcheck_hunspell_src_mozHunspell.cpp b/www/seamonkey/patches/patch-mozilla_extensions_spellcheck_hunspell_src_mozHunspell.cpp index 494deb7af72..bfb12874d0b 100644 --- a/www/seamonkey/patches/patch-mozilla_extensions_spellcheck_hunspell_src_mozHunspell.cpp +++ b/www/seamonkey/patches/patch-mozilla_extensions_spellcheck_hunspell_src_mozHunspell.cpp @@ -1,16 +1,18 @@ -$NetBSD: patch-mozilla_extensions_spellcheck_hunspell_src_mozHunspell.cpp,v 1.3 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_extensions_spellcheck_hunspell_src_mozHunspell.cpp,v 1.4 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp.orig 2015-03-09 05:35:11.000000000 +0000 +--- mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp.orig 2015-09-02 09:28:48.000000000 +0000 +++ mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp -@@ -400,6 +400,12 @@ mozHunspell::LoadDictionaryList(bool aNo +@@ -400,6 +400,14 @@ mozHunspell::LoadDictionaryList(bool aNo } } + // load system hunspell dictionaries -+ nsIFile* hunDir; ++ nsCOMPtr<nsIFile> hunDir; + NS_NewNativeLocalFile(NS_LITERAL_CSTRING("@PREFIX@/share/hunspell"), -+ true, &hunDir); -+ LoadDictionariesFromDir(hunDir); ++ true, getter_AddRefs(hunDir)); ++ if (hunDir) { ++ LoadDictionariesFromDir(hunDir); ++ } + // find dictionaries from extensions requiring restart nsCOMPtr<nsISimpleEnumerator> dictDirs; diff --git a/www/seamonkey/patches/patch-mozilla_image_decoders_nsJPEGDecoder.cpp b/www/seamonkey/patches/patch-mozilla_image_decoders_nsJPEGDecoder.cpp index f1dce9b548c..ac3d08870b4 100644 --- a/www/seamonkey/patches/patch-mozilla_image_decoders_nsJPEGDecoder.cpp +++ b/www/seamonkey/patches/patch-mozilla_image_decoders_nsJPEGDecoder.cpp @@ -1,15 +1,15 @@ -$NetBSD: patch-mozilla_image_decoders_nsJPEGDecoder.cpp,v 1.2 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_image_decoders_nsJPEGDecoder.cpp,v 1.3 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/image/decoders/nsJPEGDecoder.cpp.orig 2015-03-09 05:34:16.000000000 +0000 +--- mozilla/image/decoders/nsJPEGDecoder.cpp.orig 2015-09-02 09:27:13.000000000 +0000 +++ mozilla/image/decoders/nsJPEGDecoder.cpp -@@ -21,13 +21,28 @@ +@@ -23,13 +23,28 @@ extern "C" { #include "iccjpeg.h" -} +#ifdef JCS_EXTENSIONS - #if defined(IS_BIG_ENDIAN) + #if MOZ_BIG_ENDIAN #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB #else #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX @@ -32,7 +32,7 @@ $NetBSD: patch-mozilla_image_decoders_nsJPEGDecoder.cpp,v 1.2 2015/03/17 19:50:4 static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width); -@@ -358,6 +373,7 @@ nsJPEGDecoder::WriteInternal(const char* +@@ -373,6 +388,7 @@ nsJPEGDecoder::WriteInternal(const char* case JCS_GRAYSCALE: case JCS_RGB: case JCS_YCbCr: @@ -40,7 +40,7 @@ $NetBSD: patch-mozilla_image_decoders_nsJPEGDecoder.cpp,v 1.2 2015/03/17 19:50:4 // if we're not color managing we can decode directly to // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB if (mCMSMode != eCMSMode_All) { -@@ -366,6 +382,9 @@ nsJPEGDecoder::WriteInternal(const char* +@@ -381,6 +397,9 @@ nsJPEGDecoder::WriteInternal(const char* } else { mInfo.out_color_space = JCS_RGB; } @@ -50,7 +50,7 @@ $NetBSD: patch-mozilla_image_decoders_nsJPEGDecoder.cpp,v 1.2 2015/03/17 19:50:4 break; case JCS_CMYK: case JCS_YCCK: -@@ -424,6 +443,15 @@ nsJPEGDecoder::WriteInternal(const char* +@@ -450,6 +469,15 @@ nsJPEGDecoder::WriteInternal(const char* return; // I/O suspension } @@ -66,9 +66,9 @@ $NetBSD: patch-mozilla_image_decoders_nsJPEGDecoder.cpp,v 1.2 2015/03/17 19:50:4 // If this is a progressive JPEG ... mState = mInfo.buffered_image ? -@@ -596,7 +624,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus - uint32_t* imageRow = ((uint32_t*)mImageData) + - (mInfo.output_scanline * mInfo.output_width); +@@ -632,7 +660,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus + + MOZ_ASSERT(imageRow, "Should have a row buffer here"); +#ifdef JCS_EXTENSIONS if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) { @@ -78,7 +78,7 @@ $NetBSD: patch-mozilla_image_decoders_nsJPEGDecoder.cpp,v 1.2 2015/03/17 19:50:4 // Special case: scanline will be directly converted into packed ARGB if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) { *suspend = true; // suspend -@@ -911,6 +943,282 @@ term_source (j_decompress_ptr jd) +@@ -959,6 +991,282 @@ term_source (j_decompress_ptr jd) } // namespace mozilla diff --git a/www/seamonkey/patches/patch-mozilla_intl_unicharutil_util_moz.build b/www/seamonkey/patches/patch-mozilla_intl_unicharutil_util_moz.build index f75520b3d8e..8a42331ba57 100644 --- a/www/seamonkey/patches/patch-mozilla_intl_unicharutil_util_moz.build +++ b/www/seamonkey/patches/patch-mozilla_intl_unicharutil_util_moz.build @@ -1,11 +1,13 @@ -$NetBSD: patch-mozilla_intl_unicharutil_util_moz.build,v 1.1 2015/01/02 04:26:21 ryoon Exp $ +$NetBSD: patch-mozilla_intl_unicharutil_util_moz.build,v 1.2 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/intl/unicharutil/util/moz.build.orig 2014-12-03 06:22:47.000000000 +0000 +--- mozilla/intl/unicharutil/util/moz.build.orig 2015-09-02 09:27:18.000000000 +0000 +++ mozilla/intl/unicharutil/util/moz.build -@@ -37,3 +37,6 @@ if CONFIG['_MSC_VER']: - +@@ -38,5 +38,8 @@ if CONFIG['_MSC_VER']: if CONFIG['ENABLE_INTL_API']: CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS'] -+ + +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['GNU_CXX']: + FAIL_ON_WARNINGS = True diff --git a/www/seamonkey/patches/patch-mozilla_js_public_CallArgs.h b/www/seamonkey/patches/patch-mozilla_js_public_CallArgs.h new file mode 100644 index 00000000000..1ffcb8b02ae --- /dev/null +++ b/www/seamonkey/patches/patch-mozilla_js_public_CallArgs.h @@ -0,0 +1,13 @@ +$NetBSD: patch-mozilla_js_public_CallArgs.h,v 1.1 2015/09/21 05:03:45 ryoon Exp $ + +--- mozilla/js/public/CallArgs.h.orig 2015-09-02 09:27:18.000000000 +0000 ++++ mozilla/js/public/CallArgs.h +@@ -344,7 +344,7 @@ class MOZ_STACK_CLASS CallArgs : public + * Returns true if there are at least |required| arguments passed in. If + * false, it reports an error message on the context. + */ +- bool requireAtLeast(JSContext* cx, const char* fnname, unsigned required); ++ JS_PUBLIC_API(bool) requireAtLeast(JSContext* cx, const char* fnname, unsigned required); + + }; + diff --git a/www/seamonkey/patches/patch-mozilla_js_src_asmjs_AsmJSSignalHandlers.cpp b/www/seamonkey/patches/patch-mozilla_js_src_asmjs_AsmJSSignalHandlers.cpp index 9ad678ab4e6..ba81031d4d3 100644 --- a/www/seamonkey/patches/patch-mozilla_js_src_asmjs_AsmJSSignalHandlers.cpp +++ b/www/seamonkey/patches/patch-mozilla_js_src_asmjs_AsmJSSignalHandlers.cpp @@ -1,48 +1,8 @@ -$NetBSD: patch-mozilla_js_src_asmjs_AsmJSSignalHandlers.cpp,v 1.2 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_js_src_asmjs_AsmJSSignalHandlers.cpp,v 1.3 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/js/src/asmjs/AsmJSSignalHandlers.cpp.orig 2015-03-09 05:34:25.000000000 +0000 +--- mozilla/js/src/asmjs/AsmJSSignalHandlers.cpp.orig 2015-09-02 09:27:18.000000000 +0000 +++ mozilla/js/src/asmjs/AsmJSSignalHandlers.cpp -@@ -504,8 +504,38 @@ AsmJSFaultHandler(LPEXCEPTION_POINTERS e - #elif defined(XP_MACOSX) - # include <mach/exc.h> - -+# if defined(ARM_THREAD_STATE) -+typedef arm_thread_state_t moz_platform_thread_state_t; -+static const thread_state_flavor_t MOZ_PLATFORM_THREAD_STATE_FLAVOR = ARM_THREAD_STATE; -+static const mach_msg_type_number_t MOZ_PLATFORM_THREAD_STATE_COUNT = ARM_THREAD_STATE_COUNT; -+ -+# elif defined(PPC_THREAD_STATE) -+typedef ppc_thread_state_t moz_platform_thread_state_t; -+static const thread_state_flavor_t MOZ_PLATFORM_THREAD_STATE_FLAVOR = PPC_THREAD_STATE; -+static const mach_msg_type_number_t MOZ_PLATFORM_THREAD_STATE_COUNT = PPC_THREAD_STATE_COUNT; -+ -+# elif defined(PPC_THREAD_STATE64) -+typedef ppc_thread_state64_t moz_platform_thread_state_t; -+static const thread_state_flavor_t MOZ_PLATFORM_THREAD_STATE_FLAVOR = PPC_THREAD_STATE64; -+static const mach_msg_type_number_t MOZ_PLATFORM_THREAD_STATE_COUNT = PPC_THREAD_STATE64_COUNT; -+ -+# elif defined(x86_THREAD_STATE) -+typedef x86_thread_state_t moz_platform_thread_state_t; -+static const thread_state_flavor_t MOZ_PLATFORM_THREAD_STATE_FLAVOR = x86_THREAD_STATE; -+static const mach_msg_type_number_t MOZ_PLATFORM_THREAD_STATE_COUNT = x86_THREAD_STATE_COUNT; -+ -+# else -+# error Type unknown for platform-specific thread_state_t -+# endif -+ -+# if defined(__DARWIN_UNIX03) -+# define REG_FIELD(NAME) __ ## NAME -+# else -+# define REG_FIELD(NAME) NAME -+# endif -+ - static uint8_t ** --ContextToPC(x86_thread_state_t &state) -+ContextToPC(moz_platform_thread_state_t &state) - { - # if defined(JS_CPU_X64) - static_assert(sizeof(state.uts.ts64.__rip) == sizeof(void*), -@@ -617,10 +647,11 @@ HandleMachException(JSRuntime *rt, const +@@ -637,10 +637,11 @@ HandleMachException(JSRuntime* rt, const mach_port_t rtThread = request.body.thread.name; // Read out the JSRuntime thread's register state. diff --git a/www/seamonkey/patches/patch-mozilla_js_src_gc_Memory.cpp b/www/seamonkey/patches/patch-mozilla_js_src_gc_Memory.cpp deleted file mode 100644 index 8269fe88374..00000000000 --- a/www/seamonkey/patches/patch-mozilla_js_src_gc_Memory.cpp +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-mozilla_js_src_gc_Memory.cpp,v 1.4 2014/11/02 05:40:31 ryoon Exp $ - ---- mozilla/js/src/gc/Memory.cpp.orig 2014-10-14 06:36:16.000000000 +0000 -+++ mozilla/js/src/gc/Memory.cpp -@@ -406,7 +406,7 @@ static inline void * - MapMemory(size_t length, int prot = PROT_READ | PROT_WRITE, - int flags = MAP_PRIVATE | MAP_ANON, int fd = -1, off_t offset = 0) - { --#if defined(__ia64__) -+#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) - /* - * The JS engine assumes that all allocated pointers have their high 17 bits clear, - * which ia64's mmap doesn't support directly. However, we can emulate it by passing diff --git a/www/seamonkey/patches/patch-mozilla_js_src_jit_ExecutableAllocator.h b/www/seamonkey/patches/patch-mozilla_js_src_jit_ExecutableAllocator.h index 305259599a1..d04070ce5fb 100644 --- a/www/seamonkey/patches/patch-mozilla_js_src_jit_ExecutableAllocator.h +++ b/www/seamonkey/patches/patch-mozilla_js_src_jit_ExecutableAllocator.h @@ -1,10 +1,10 @@ -$NetBSD: patch-mozilla_js_src_jit_ExecutableAllocator.h,v 1.2 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_js_src_jit_ExecutableAllocator.h,v 1.3 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/js/src/jit/ExecutableAllocator.h.orig 2015-03-09 05:34:36.000000000 +0000 +--- mozilla/js/src/jit/ExecutableAllocator.h.orig 2015-09-02 09:27:29.000000000 +0000 +++ mozilla/js/src/jit/ExecutableAllocator.h -@@ -425,6 +425,11 @@ public: - - #undef GCC_VERSION +@@ -419,6 +419,11 @@ class ExecutableAllocator { + { + __clear_cache(code, reinterpret_cast<char*>(code) + size); } +#elif defined(JS_CODEGEN_ARM) && (defined(__FreeBSD__) || defined(__NetBSD__)) + static void cacheFlush(void* code, size_t size) diff --git a/www/seamonkey/patches/patch-mozilla_js_src_jit_LIR.cpp b/www/seamonkey/patches/patch-mozilla_js_src_jit_LIR.cpp index 390bb01d531..efef5b0bb30 100644 --- a/www/seamonkey/patches/patch-mozilla_js_src_jit_LIR.cpp +++ b/www/seamonkey/patches/patch-mozilla_js_src_jit_LIR.cpp @@ -1,9 +1,9 @@ -$NetBSD: patch-mozilla_js_src_jit_LIR.cpp,v 1.1 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_js_src_jit_LIR.cpp,v 1.2 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/js/src/jit/LIR.cpp.orig 2015-03-09 05:34:37.000000000 +0000 +--- mozilla/js/src/jit/LIR.cpp.orig 2015-09-02 09:27:30.000000000 +0000 +++ mozilla/js/src/jit/LIR.cpp -@@ -314,7 +314,7 @@ LNode::printName(FILE *fp, Opcode op) - const char *name = names[op]; +@@ -323,7 +323,7 @@ LNode::printName(FILE* fp, Opcode op) + const char* name = names[op]; size_t len = strlen(name); for (size_t i = 0; i < len; i++) - fprintf(fp, "%c", tolower(name[i])); diff --git a/www/seamonkey/patches/patch-mozilla_js_src_jit_MIR.cpp b/www/seamonkey/patches/patch-mozilla_js_src_jit_MIR.cpp index 4419ecfe174..bab28f2dfbf 100644 --- a/www/seamonkey/patches/patch-mozilla_js_src_jit_MIR.cpp +++ b/www/seamonkey/patches/patch-mozilla_js_src_jit_MIR.cpp @@ -1,13 +1,13 @@ -$NetBSD: patch-mozilla_js_src_jit_MIR.cpp,v 1.1 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_js_src_jit_MIR.cpp,v 1.2 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/js/src/jit/MIR.cpp.orig 2015-03-09 05:34:37.000000000 +0000 +--- mozilla/js/src/jit/MIR.cpp.orig 2015-09-02 09:27:30.000000000 +0000 +++ mozilla/js/src/jit/MIR.cpp -@@ -68,7 +68,7 @@ MDefinition::PrintOpcodeName(FILE *fp, M - const char *name = names[op]; +@@ -71,7 +71,7 @@ MDefinition::PrintOpcodeName(FILE* fp, M + const char* name = names[op]; size_t len = strlen(name); for (size_t i = 0; i < len; i++) - fprintf(fp, "%c", tolower(name[i])); + fprintf(fp, "%c", tolower(((unsigned char)name[i]))); } - static MConstant * + const Value& diff --git a/www/seamonkey/patches/patch-mozilla_js_src_jit_arm_Architecture-arm.cpp b/www/seamonkey/patches/patch-mozilla_js_src_jit_arm_Architecture-arm.cpp index 9fb89beddc6..5a1f1bef77c 100644 --- a/www/seamonkey/patches/patch-mozilla_js_src_jit_arm_Architecture-arm.cpp +++ b/www/seamonkey/patches/patch-mozilla_js_src_jit_arm_Architecture-arm.cpp @@ -1,12 +1,12 @@ -$NetBSD: patch-mozilla_js_src_jit_arm_Architecture-arm.cpp,v 1.2 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_js_src_jit_arm_Architecture-arm.cpp,v 1.3 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/js/src/jit/arm/Architecture-arm.cpp.orig 2015-03-09 05:34:37.000000000 +0000 +--- mozilla/js/src/jit/arm/Architecture-arm.cpp.orig 2015-09-02 09:27:31.000000000 +0000 +++ mozilla/js/src/jit/arm/Architecture-arm.cpp @@ -16,7 +16,7 @@ #include "jit/arm/Assembler-arm.h" #include "jit/RegisterSets.h" --#if defined(ANDROID) || defined(JS_ARM_SIMULATOR) +-#if !defined(__linux__) || defined(ANDROID) || defined(JS_ARM_SIMULATOR) +#if !defined(__linux__) || defined(ANDROID) || defined(JS_ARM_SIMULATOR) || defined(__NetBSD__) // The Android NDK and B2G do not include the hwcap.h kernel header, and it is not // defined when building the simulator, so inline the header defines we need. diff --git a/www/seamonkey/patches/patch-mozilla_js_src_jsapi.cpp b/www/seamonkey/patches/patch-mozilla_js_src_jsapi.cpp index ebc56e01bff..1617833f5c9 100644 --- a/www/seamonkey/patches/patch-mozilla_js_src_jsapi.cpp +++ b/www/seamonkey/patches/patch-mozilla_js_src_jsapi.cpp @@ -1,22 +1,13 @@ -$NetBSD: patch-mozilla_js_src_jsapi.cpp,v 1.3 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_js_src_jsapi.cpp,v 1.4 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/js/src/jsapi.cpp.orig 2015-03-09 05:34:38.000000000 +0000 +--- mozilla/js/src/jsapi.cpp.orig 2015-09-02 09:27:32.000000000 +0000 +++ mozilla/js/src/jsapi.cpp -@@ -233,7 +233,7 @@ JS_ConvertArgumentsVA(JSContext *cx, con - assertSameCompartment(cx, args); - required = true; - while ((c = *format++) != '\0') { -- if (isspace(c)) -+ if (isspace(((unsigned char)c))) - continue; - if (c == '/') { - required = false; -@@ -522,7 +522,7 @@ MessageParameterCount(const char *format - { - unsigned numfmtspecs = 0; - for (const char *fmt = format; *fmt != '\0'; fmt++) { -- if (*fmt == '{' && isdigit(fmt[1])) -+ if (*fmt == '{' && isdigit((unsigned char)fmt[1])) - ++numfmtspecs; - } - return numfmtspecs; +@@ -115,7 +115,7 @@ using js::frontend::Parser; + #define JS_ADDRESSOF_VA_LIST(ap) (&(ap)) + #endif + +-bool ++JS_PUBLIC_API(bool) + JS::CallArgs::requireAtLeast(JSContext* cx, const char* fnname, unsigned required) { + if (length() < required) { + char numArgsStr[40]; diff --git a/www/seamonkey/patches/patch-mozilla_js_src_shell_jsoptparse.cpp b/www/seamonkey/patches/patch-mozilla_js_src_shell_jsoptparse.cpp index cb1b95dd830..88e86deec77 100644 --- a/www/seamonkey/patches/patch-mozilla_js_src_shell_jsoptparse.cpp +++ b/www/seamonkey/patches/patch-mozilla_js_src_shell_jsoptparse.cpp @@ -1,8 +1,8 @@ -$NetBSD: patch-mozilla_js_src_shell_jsoptparse.cpp,v 1.1 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_js_src_shell_jsoptparse.cpp,v 1.2 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/js/src/shell/jsoptparse.cpp.orig 2015-03-09 05:34:41.000000000 +0000 +--- mozilla/js/src/shell/jsoptparse.cpp.orig 2015-09-02 09:27:36.000000000 +0000 +++ mozilla/js/src/shell/jsoptparse.cpp -@@ -90,11 +90,11 @@ PrintParagraph(const char *text, unsigne +@@ -90,7 +90,7 @@ PrintParagraph(const char* text, unsigne printf("%*s", startColno, ""); while (*it != '\0') { @@ -10,9 +10,4 @@ $NetBSD: patch-mozilla_js_src_shell_jsoptparse.cpp,v 1.1 2015/03/17 19:50:42 ryo + MOZ_ASSERT(!isspace((unsigned char)*it)); /* Delimit the current token. */ - const char *limit = it; -- while (!isspace(*limit) && *limit != '\0') -+ while (!isspace(((unsigned char)*limit)) && *limit != '\0') - ++limit; - - /* + const char* limit = it; diff --git a/www/seamonkey/patches/patch-mozilla_js_xpconnect_src_XPCConvert.cpp b/www/seamonkey/patches/patch-mozilla_js_xpconnect_src_XPCConvert.cpp new file mode 100644 index 00000000000..461259484a4 --- /dev/null +++ b/www/seamonkey/patches/patch-mozilla_js_xpconnect_src_XPCConvert.cpp @@ -0,0 +1,13 @@ +$NetBSD: patch-mozilla_js_xpconnect_src_XPCConvert.cpp,v 1.1 2015/09/21 05:03:45 ryoon Exp $ + +--- mozilla/js/xpconnect/src/XPCConvert.cpp.orig 2015-09-02 09:28:14.000000000 +0000 ++++ mozilla/js/xpconnect/src/XPCConvert.cpp +@@ -134,7 +134,7 @@ XPCConvert::NativeData2JS(MutableHandleV + d.setNumber(*static_cast<const float*>(s)); + return true; + case nsXPTType::T_DOUBLE: +- d.setNumber(*static_cast<const double*>(s)); ++ d.setNumber(CanonicalizeNaN(*static_cast<const double*>(s))); + return true; + case nsXPTType::T_BOOL : + d.setBoolean(*static_cast<const bool*>(s)); diff --git a/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c index 6c8c89d3c6a..dcbc55659f7 100644 --- a/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c +++ b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c @@ -1,10 +1,10 @@ -$NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.5 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/media/libcubeb/src/cubeb_alsa.c.orig 2015-03-09 05:34:21.000000000 +0000 +--- mozilla/media/libcubeb/src/cubeb_alsa.c.orig 2015-09-02 09:27:22.000000000 +0000 +++ mozilla/media/libcubeb/src/cubeb_alsa.c -@@ -6,12 +6,18 @@ - */ +@@ -7,12 +7,18 @@ #undef NDEBUG + #define _DEFAULT_SOURCE #define _BSD_SOURCE +#if defined(__NetBSD__) +#define _NETBSD_SOURCE @@ -21,7 +21,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 #include <unistd.h> #include <alsa/asoundlib.h> #include "cubeb/cubeb.h" -@@ -24,6 +30,51 @@ +@@ -25,6 +31,51 @@ #define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin" @@ -73,7 +73,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 /* ALSA is not thread-safe. snd_pcm_t instances are individually protected by the owning cubeb_stream's mutex. snd_pcm_t creation and destruction is not thread-safe until ALSA 1.0.24 (see alsa-lib.git commit 91c9c8f1), -@@ -64,6 +115,8 @@ struct cubeb { +@@ -65,6 +116,8 @@ struct cubeb { workaround is not required. */ snd_config_t * local_config; int is_pa; @@ -82,7 +82,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 }; enum stream_state { -@@ -257,32 +310,35 @@ alsa_refill_stream(cubeb_stream * stm) +@@ -258,32 +311,35 @@ alsa_refill_stream(cubeb_stream * stm) long got; void * p; int draining; @@ -137,7 +137,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 /* This should never happen. */ if ((unsigned int) avail > stm->buffer_size) { -@@ -293,8 +349,8 @@ alsa_refill_stream(cubeb_stream * stm) +@@ -294,8 +350,8 @@ alsa_refill_stream(cubeb_stream * stm) available to write. If avail is still zero here, the stream must be in a funky state, so recover and try again. */ if (avail == 0) { @@ -148,7 +148,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 if (avail <= 0) { pthread_mutex_unlock(&stm->mutex); stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR); -@@ -302,7 +358,7 @@ alsa_refill_stream(cubeb_stream * stm) +@@ -303,7 +359,7 @@ alsa_refill_stream(cubeb_stream * stm) } } @@ -157,7 +157,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 assert(p); pthread_mutex_unlock(&stm->mutex); -@@ -311,10 +367,11 @@ alsa_refill_stream(cubeb_stream * stm) +@@ -312,10 +368,11 @@ alsa_refill_stream(cubeb_stream * stm) if (got < 0) { pthread_mutex_unlock(&stm->mutex); stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR); @@ -170,7 +170,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 if (stm->params.format == CUBEB_SAMPLE_FLOAT32NE) { float * b = (float *) p; -@@ -327,14 +384,62 @@ alsa_refill_stream(cubeb_stream * stm) +@@ -328,14 +385,64 @@ alsa_refill_stream(cubeb_stream * stm) b[i] *= stm->volume; } } @@ -206,6 +206,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 + return ERROR; + } + continue; ++#if defined(EBADFD) + case -EBADFD: + fprintf(stderr, "%s: snc_pcm_writei returned -%s, giving up\n", + __func__, "EBADFD"); @@ -213,6 +214,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 + stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR); + pthread_mutex_unlock(&stm->mutex); + return ERROR; ++#endif + } + if (wrote < 0) { + fprintf(stderr, "%s: snc_pcm_writei returned unexpected error %lld, " @@ -241,7 +243,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 } if (got != avail) { long buffer_fill = stm->buffer_size - (avail - got); -@@ -342,7 +447,7 @@ alsa_refill_stream(cubeb_stream * stm) +@@ -343,7 +450,7 @@ alsa_refill_stream(cubeb_stream * stm) /* Fill the remaining buffer with silence to guarantee one full period has been written. */ @@ -250,7 +252,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 set_timeout(&stm->drain_timeout, buffer_time * 1000); -@@ -453,26 +558,26 @@ get_slave_pcm_node(snd_config_t * lconf, +@@ -454,26 +561,26 @@ get_slave_pcm_node(snd_config_t * lconf, slave_def = NULL; @@ -282,7 +284,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 if (r < 0) { break; } -@@ -481,7 +586,7 @@ get_slave_pcm_node(snd_config_t * lconf, +@@ -482,7 +589,7 @@ get_slave_pcm_node(snd_config_t * lconf, if (r < 0 || r > (int) sizeof(node_name)) { break; } @@ -291,7 +293,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 if (r < 0) { break; } -@@ -490,7 +595,7 @@ get_slave_pcm_node(snd_config_t * lconf, +@@ -491,7 +598,7 @@ get_slave_pcm_node(snd_config_t * lconf, } while (0); if (slave_def) { @@ -300,7 +302,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 } return NULL; -@@ -513,22 +618,22 @@ init_local_config_with_workaround(char c +@@ -514,22 +621,22 @@ init_local_config_with_workaround(char c lconf = NULL; @@ -327,7 +329,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 if (r < 0) { break; } -@@ -537,7 +642,7 @@ init_local_config_with_workaround(char c +@@ -538,7 +645,7 @@ init_local_config_with_workaround(char c if (r < 0 || r > (int) sizeof(node_name)) { break; } @@ -336,7 +338,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 if (r < 0) { break; } -@@ -548,12 +653,12 @@ init_local_config_with_workaround(char c +@@ -549,12 +656,12 @@ init_local_config_with_workaround(char c } /* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */ @@ -351,7 +353,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 if (r < 0) { break; } -@@ -564,18 +669,18 @@ init_local_config_with_workaround(char c +@@ -565,18 +672,18 @@ init_local_config_with_workaround(char c /* Don't clobber an explicit existing handle_underrun value, set it only if it doesn't already exist. */ @@ -373,7 +375,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 if (r < 0) { break; } -@@ -583,7 +688,7 @@ init_local_config_with_workaround(char c +@@ -584,7 +691,7 @@ init_local_config_with_workaround(char c return lconf; } while (0); @@ -382,7 +384,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 return NULL; } -@@ -595,9 +700,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, s +@@ -596,9 +703,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, s pthread_mutex_lock(&cubeb_alsa_mutex); if (local_config) { @@ -394,7 +396,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 } pthread_mutex_unlock(&cubeb_alsa_mutex); -@@ -610,7 +715,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm) +@@ -611,7 +718,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm) int r; pthread_mutex_lock(&cubeb_alsa_mutex); @@ -403,7 +405,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 pthread_mutex_unlock(&cubeb_alsa_mutex); return r; -@@ -667,12 +772,65 @@ alsa_init(cubeb ** context, char const * +@@ -668,12 +775,65 @@ alsa_init(cubeb ** context, char const * pthread_attr_t attr; snd_pcm_t * dummy; @@ -470,7 +472,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 cubeb_alsa_error_handler_set = 1; } pthread_mutex_unlock(&cubeb_alsa_mutex); -@@ -680,6 +838,8 @@ alsa_init(cubeb ** context, char const * +@@ -681,6 +841,8 @@ alsa_init(cubeb ** context, char const * ctx = calloc(1, sizeof(*ctx)); assert(ctx); @@ -479,7 +481,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 ctx->ops = &alsa_ops; r = pthread_mutex_init(&ctx->mutex, NULL); -@@ -729,7 +889,7 @@ alsa_init(cubeb ** context, char const * +@@ -730,7 +892,7 @@ alsa_init(cubeb ** context, char const * config fails with EINVAL, the PA PCM is too old for this workaround. */ if (r == -EINVAL) { pthread_mutex_lock(&cubeb_alsa_mutex); @@ -488,7 +490,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 pthread_mutex_unlock(&cubeb_alsa_mutex); ctx->local_config = NULL; } else if (r >= 0) { -@@ -768,9 +928,13 @@ alsa_destroy(cubeb * ctx) +@@ -769,9 +931,13 @@ alsa_destroy(cubeb * ctx) pthread_mutex_destroy(&ctx->mutex); free(ctx->fds); @@ -503,7 +505,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 pthread_mutex_unlock(&cubeb_alsa_mutex); } -@@ -838,7 +1002,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre +@@ -839,7 +1005,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre return CUBEB_ERROR; } @@ -512,7 +514,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 assert(r == 0); /* Ugly hack: the PA ALSA plugin allows buffer configurations that can't -@@ -848,23 +1012,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stre +@@ -849,23 +1015,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stre latency = latency < 500 ? 500 : latency; } @@ -542,7 +544,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 assert((nfds_t) r == stm->nfds); r = pthread_cond_init(&stm->cond, NULL); -@@ -895,7 +1059,7 @@ alsa_stream_destroy(cubeb_stream * stm) +@@ -896,7 +1062,7 @@ alsa_stream_destroy(cubeb_stream * stm) pthread_mutex_lock(&stm->mutex); if (stm->pcm) { if (stm->state == DRAINING) { @@ -551,7 +553,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 } alsa_locked_pcm_close(stm->pcm); stm->pcm = NULL; -@@ -905,7 +1069,10 @@ alsa_stream_destroy(cubeb_stream * stm) +@@ -906,7 +1072,10 @@ alsa_stream_destroy(cubeb_stream * stm) pthread_mutex_destroy(&stm->mutex); r = pthread_cond_destroy(&stm->cond); @@ -563,42 +565,42 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 alsa_unregister_stream(stm); -@@ -937,12 +1104,12 @@ alsa_get_max_channel_count(cubeb * ctx, +@@ -938,12 +1107,12 @@ alsa_get_max_channel_count(cubeb * ctx, return CUBEB_ERROR; } -- rv = snd_pcm_hw_params_any(stm->pcm, hw_params); -+ rv = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params); - if (rv < 0) { +- r = snd_pcm_hw_params_any(stm->pcm, hw_params); ++ r = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params); + if (r < 0) { return CUBEB_ERROR; } -- rv = snd_pcm_hw_params_get_channels_max(hw_params, max_channels); -+ rv = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels); - if (rv < 0) { +- r = snd_pcm_hw_params_get_channels_max(hw_params, max_channels); ++ r = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels); + if (r < 0) { return CUBEB_ERROR; } -@@ -962,34 +1129,34 @@ alsa_get_preferred_sample_rate(cubeb * c +@@ -963,34 +1132,34 @@ alsa_get_preferred_sample_rate(cubeb * c /* get a pcm, disabling resampling, so we get a rate the * hardware/dmix/pulse/etc. supports. */ -- rv = snd_pcm_open(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); -+ rv = WRAP(snd_pcm_open)(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); - if (rv < 0) { +- r = snd_pcm_open(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); ++ r = WRAP(snd_pcm_open)(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); + if (r < 0) { return CUBEB_ERROR; } -- rv = snd_pcm_hw_params_any(pcm, hw_params); -+ rv = WRAP(snd_pcm_hw_params_any)(pcm, hw_params); - if (rv < 0) { +- r = snd_pcm_hw_params_any(pcm, hw_params); ++ r = WRAP(snd_pcm_hw_params_any)(pcm, hw_params); + if (r < 0) { - snd_pcm_close(pcm); + WRAP(snd_pcm_close)(pcm); return CUBEB_ERROR; } -- rv = snd_pcm_hw_params_get_rate(hw_params, rate, &dir); -+ rv = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir); - if (rv >= 0) { +- r = snd_pcm_hw_params_get_rate(hw_params, rate, &dir); ++ r = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir); + if (r >= 0) { /* There is a default rate: use it. */ - snd_pcm_close(pcm); + WRAP(snd_pcm_close)(pcm); @@ -608,9 +610,9 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 /* Use a common rate, alsa may adjust it based on hw/etc. capabilities. */ *rate = 44100; -- rv = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL); -+ rv = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL); - if (rv < 0) { +- r = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL); ++ r = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL); + if (r < 0) { - snd_pcm_close(pcm); + WRAP(snd_pcm_close)(pcm); return CUBEB_ERROR; @@ -621,7 +623,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 return CUBEB_OK; } -@@ -1013,7 +1180,7 @@ alsa_stream_start(cubeb_stream * stm) +@@ -1014,7 +1183,7 @@ alsa_stream_start(cubeb_stream * stm) ctx = stm->context; pthread_mutex_lock(&stm->mutex); @@ -630,7 +632,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 gettimeofday(&stm->last_activity, NULL); pthread_mutex_unlock(&stm->mutex); -@@ -1047,7 +1214,7 @@ alsa_stream_stop(cubeb_stream * stm) +@@ -1048,7 +1217,7 @@ alsa_stream_stop(cubeb_stream * stm) pthread_mutex_unlock(&ctx->mutex); pthread_mutex_lock(&stm->mutex); @@ -639,7 +641,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 pthread_mutex_unlock(&stm->mutex); return CUBEB_OK; -@@ -1063,14 +1230,17 @@ alsa_stream_get_position(cubeb_stream * +@@ -1064,14 +1233,17 @@ alsa_stream_get_position(cubeb_stream * pthread_mutex_lock(&stm->mutex); delay = -1; @@ -660,7 +662,7 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.4 2015/03/17 19:50:4 *position = 0; if (stm->write_position >= (snd_pcm_uframes_t) delay) { -@@ -1089,7 +1259,7 @@ alsa_stream_get_latency(cubeb_stream * s +@@ -1090,7 +1262,7 @@ alsa_stream_get_latency(cubeb_stream * s snd_pcm_sframes_t delay; /* This function returns the delay in frames until a frame written using snd_pcm_writei is sent to the DAC. The DAC delay should be < 1ms anyways. */ diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_signaling_signaling.gyp b/www/seamonkey/patches/patch-mozilla_media_webrtc_signaling_signaling.gyp deleted file mode 100644 index 73dc9560f57..00000000000 --- a/www/seamonkey/patches/patch-mozilla_media_webrtc_signaling_signaling.gyp +++ /dev/null @@ -1,20 +0,0 @@ -$NetBSD: patch-mozilla_media_webrtc_signaling_signaling.gyp,v 1.3 2014/06/22 08:54:39 ryoon Exp $ - ---- mozilla/media/webrtc/signaling/signaling.gyp.orig 2014-06-13 00:46:10.000000000 +0000 -+++ mozilla/media/webrtc/signaling/signaling.gyp -@@ -825,14 +825,13 @@ - ['OS=="mac"', { - 'defines' : [ - 'SIP_OS_OSX', -- '_POSIX_SOURCE', -+ # using BSD extensions, leave _POSIX_SOURCE undefined - 'CPR_MEMORY_LITTLE_ENDIAN', - 'NO_SOCKET_POLLING', - 'USE_TIMER_SELECT_BASED', - 'FULL_BUILD', - 'STUBBED_OUT', - 'USE_PRINTF', -- '_DARWIN_C_SOURCE', - 'NO_NSPR_10_SUPPORT', - ], - }], diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi index 3532be61bda..c485c4c4cc8 100644 --- a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi +++ b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi @@ -1,17 +1,27 @@ -$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi,v 1.2 2014/06/22 08:54:39 ryoon Exp $ +$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi,v 1.3 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi.orig 2014-06-13 00:45:44.000000000 +0000 +--- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi.orig 2015-09-02 09:27:27.000000000 +0000 +++ mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi -@@ -14,9 +14,9 @@ +@@ -17,18 +17,11 @@ 'conditions': [ ['build_with_mozilla==1', { # Mozilla provides its own build of the opus library. - 'include_dirs': [ - '/media/libopus/include', -- ] +- '/media/libopus/src', +- '/media/libopus/celt', + 'cflags_mozilla': [ ++ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt', + '$(MOZ_OPUS_CFLAGS)', -+ ], ++ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src', + ], +- 'direct_dependent_settings': { +- 'include_dirs': [ +- '/media/libopus/include', +- '/media/libopus/src', +- '/media/libopus/celt', +- ], +- }, }, { 'dependencies': [ '<(DEPTH)/third_party/opus/opus.gyp:opus' diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi new file mode 100644 index 00000000000..6e98f0b8efe --- /dev/null +++ b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi @@ -0,0 +1,28 @@ +$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_neteq_neteq.gypi,v 1.1 2015/09/21 05:03:45 ryoon Exp $ + +--- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi.orig 2015-09-02 09:27:27.000000000 +0000 ++++ mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi +@@ -84,19 +84,11 @@ + ], + }], + ['build_with_mozilla==1', { +- 'include_dirs': [ +- # Need Opus header files for the audio classifier. +- '<(DEPTH)/../../../media/opus/celt', +-# '<(DEPTH)/third_party/opus/src/src', ++ 'cflags_mozilla': [ ++ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt', ++ '$(MOZ_OPUS_CFLAGS)', ++ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src', + ], +- 'direct_dependent_settings': { +- 'include_dirs': [ +- '../../../../../../media/opus/celt', +- # Need Opus header files for the audio classifier. +- '<(DEPTH)/../../../media/opus/celt', +-# '<(DEPTH)/third_party/opus/src/src', +- ], +- }, + }], + ], + 'sources': [ diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi index 14fc181e933..a435e576a6f 100644 --- a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi +++ b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi @@ -1,6 +1,6 @@ -$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi,v 1.3 2014/11/02 05:40:31 ryoon Exp $ +$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi,v 1.4 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi.orig 2014-10-14 06:36:31.000000000 +0000 +--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi.orig 2015-09-02 09:27:28.000000000 +0000 +++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi @@ -7,6 +7,9 @@ # be found in the AUTHORS file in the root of the source tree. @@ -11,24 +11,24 @@ $NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__c + }, 'targets': [ { - 'target_name': 'video_capture_module', -@@ -46,6 +49,19 @@ - 'linux/video_capture_linux.cc', - 'linux/video_capture_linux.h', - ], -+ 'conditions': [ -+ ['use_libv4l2==1', { -+ 'defines': [ -+ 'HAVE_LIBV4L2', -+ ], -+ 'cflags_mozilla': [ -+ '$(MOZ_LIBV4L2_CFLAGS)', -+ ], -+ 'libraries': [ -+ '-lv4l2', -+ ], -+ }], + # Note this library is missing an implementation for the video capture. +@@ -69,6 +72,19 @@ + 'linux/video_capture_linux.cc', + 'linux/video_capture_linux.h', + ], ++ 'conditions': [ ++ ['use_libv4l2==1', { ++ 'defines': [ ++ 'HAVE_LIBV4L2', + ], - }], # linux - ['OS=="mac"', { - 'sources': [ ++ 'cflags_mozilla': [ ++ '$(MOZ_LIBV4L2_CFLAGS)', ++ ], ++ 'libraries': [ ++ '-lv4l2', ++ ], ++ }], ++ ], + }], # linux + ['OS=="mac"', { + 'sources': [ diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__coding_main_source_receiver.cc b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__coding_main_source_receiver.cc deleted file mode 100644 index 686890a8c31..00000000000 --- a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__coding_main_source_receiver.cc +++ /dev/null @@ -1,20 +0,0 @@ -$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__coding_main_source_receiver.cc,v 1.1 2015/03/17 19:50:42 ryoon Exp $ - ---- mozilla/media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc.orig 2015-03-09 05:34:40.000000000 +0000 -+++ mozilla/media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc -@@ -159,12 +159,13 @@ VCMEncodedFrame* VCMReceiver::FrameForDe - // Assume that render timing errors are due to changes in the video stream. - if (next_render_time_ms < 0) { - timing_error = true; -- } else if (std::abs(next_render_time_ms - now_ms) > max_video_delay_ms_) { -+ } else if (std::abs(static_cast<int>(next_render_time_ms - now_ms)) > -+ max_video_delay_ms_) { - WEBRTC_TRACE(webrtc::kTraceWarning, webrtc::kTraceVideoCoding, - VCMId(vcm_id_, receiver_id_), - "This frame is out of our delay bounds, resetting jitter " - "buffer: %d > %d", -- static_cast<int>(std::abs(next_render_time_ms - now_ms)), -+ std::abs(static_cast<int>(next_render_time_ms - now_ms)), - max_video_delay_ms_); - timing_error = true; - } else if (static_cast<int>(timing_->TargetVideoDelay()) > diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp index de86a7771e4..8e0283dfd1f 100644 --- a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp +++ b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp @@ -1,6 +1,6 @@ -$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp,v 1.4 2015/02/15 02:11:03 ryoon Exp $ +$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp,v 1.5 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp.orig 2015-02-05 04:39:00.000000000 +0000 +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp.orig 2015-09-02 09:27:31.000000000 +0000 +++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp @@ -14,6 +14,13 @@ Cygwin fix provided by:
Scott McMurray
@@ -27,6 +27,6 @@ $NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreads +# endif
+#endif
+
- namespace boost {
- namespace detail {
- //This only works on unsigned data types
+ #ifdef getchar
+ #undef getchar
+ #endif
diff --git a/www/seamonkey/patches/patch-mozilla_memory_build_mozjemalloc__compat.c b/www/seamonkey/patches/patch-mozilla_memory_build_mozjemalloc__compat.c index d67bc2c16b7..d0d3e73944d 100644 --- a/www/seamonkey/patches/patch-mozilla_memory_build_mozjemalloc__compat.c +++ b/www/seamonkey/patches/patch-mozilla_memory_build_mozjemalloc__compat.c @@ -1,35 +1,9 @@ -$NetBSD: patch-mozilla_memory_build_mozjemalloc__compat.c,v 1.2 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_memory_build_mozjemalloc__compat.c,v 1.3 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/memory/build/mozjemalloc_compat.c.orig 2015-03-09 05:34:43.000000000 +0000 +--- mozilla/memory/build/mozjemalloc_compat.c.orig 2015-09-02 09:27:33.000000000 +0000 +++ mozilla/memory/build/mozjemalloc_compat.c -@@ -12,6 +12,8 @@ - #include "jemalloc_types.h" - #include "mozilla/Types.h" - -+#include <stdbool.h> -+ - #if defined(MOZ_NATIVE_JEMALLOC) - - MOZ_IMPORT_API int -@@ -47,6 +49,16 @@ je_(nallocm)(size_t *rsize, size_t size, - je_(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0); \ - } while (0) - -+#define CTL_IJ_GET(n, v, i, j) do { \ -+ size_t mib[6]; \ -+ size_t miblen = sizeof(mib) / sizeof(mib[0]); \ -+ size_t sz = sizeof(v); \ -+ je_(mallctlnametomib)(n, mib, &miblen); \ -+ mib[2] = i; \ -+ mib[4] = j; \ -+ je_(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0); \ -+} while (0) -+ - MOZ_MEMORY_API size_t - malloc_good_size_impl(size_t size) - { -@@ -61,6 +73,48 @@ malloc_good_size_impl(size_t size) - return size; +@@ -131,6 +131,48 @@ compute_bin_unused(unsigned int narenas) + return bin_unused; } +static size_t @@ -77,13 +51,3 @@ $NetBSD: patch-mozilla_memory_build_mozjemalloc__compat.c,v 1.2 2015/03/17 19:50 MOZ_JEMALLOC_API void jemalloc_stats_impl(jemalloc_stats_t *stats) { -@@ -93,7 +147,8 @@ jemalloc_stats_impl(jemalloc_stats_t *st - // We could get this value out of base.c::base_pages, but that really should - // be an upstream change, so don't worry about it for now. - stats->bookkeeping = 0; -- stats->bin_unused = 0; -+ -+ stats->bin_unused = compute_bin_unused(narenas); - } - - MOZ_JEMALLOC_API void diff --git a/www/seamonkey/patches/patch-mozilla_memory_jemalloc_src_configure b/www/seamonkey/patches/patch-mozilla_memory_jemalloc_src_configure index 1f47e60e119..6c282bcf910 100644 --- a/www/seamonkey/patches/patch-mozilla_memory_jemalloc_src_configure +++ b/www/seamonkey/patches/patch-mozilla_memory_jemalloc_src_configure @@ -1,31 +1,13 @@ -$NetBSD: patch-mozilla_memory_jemalloc_src_configure,v 1.1 2014/11/02 05:40:31 ryoon Exp $ +$NetBSD: patch-mozilla_memory_jemalloc_src_configure,v 1.2 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/memory/jemalloc/src/configure.orig 2014-10-14 06:36:32.000000000 +0000 +--- mozilla/memory/jemalloc/src/configure.orig 2015-09-02 09:27:33.000000000 +0000 +++ mozilla/memory/jemalloc/src/configure -@@ -6344,7 +6344,7 @@ else +@@ -6566,7 +6566,7 @@ else + LG_PAGE="detect" fi - if test "x$have_sbrk" = "x1" ; then -- if test "x$sbrk_deprecated" == "x1" ; then -+ if test "x$sbrk_deprecated" = "x1" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling dss allocation because sbrk is deprecated" >&5 - $as_echo "Disabling dss allocation because sbrk is deprecated" >&6; } - enable_dss="0" -@@ -6945,7 +6945,7 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $je_cv_gcc_builtin_ffsl" >&5 - $as_echo "$je_cv_gcc_builtin_ffsl" >&6; } - --if test "x${je_cv_gcc_builtin_ffsl}" == "xyes" ; then -+if test "x${je_cv_gcc_builtin_ffsl}" = "xyes" ; then - $as_echo "#define JEMALLOC_INTERNAL_FFSL __builtin_ffsl" >>confdefs.h - - $as_echo "#define JEMALLOC_INTERNAL_FFS __builtin_ffs" >>confdefs.h -@@ -6988,7 +6988,7 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $je_cv_function_ffsl" >&5 - $as_echo "$je_cv_function_ffsl" >&6; } - -- if test "x${je_cv_function_ffsl}" == "xyes" ; then -+ if test "x${je_cv_function_ffsl}" = "xyes" ; then - $as_echo "#define JEMALLOC_INTERNAL_FFSL ffsl" >>confdefs.h - - $as_echo "#define JEMALLOC_INTERNAL_FFS ffs" >>confdefs.h +-if test "x$LG_PAGE" == "xdetect"; then ++if test "x$LG_PAGE" = "xdetect"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LG_PAGE" >&5 + $as_echo_n "checking LG_PAGE... " >&6; } + if ${je_cv_lg_page+:} false; then : diff --git a/www/seamonkey/patches/patch-mozilla_memory_mozalloc_VolatileBufferOSX.cpp b/www/seamonkey/patches/patch-mozilla_memory_volatile_VolatileBufferOSX.cpp index ab6978efbf1..3676aa9fc63 100644 --- a/www/seamonkey/patches/patch-mozilla_memory_mozalloc_VolatileBufferOSX.cpp +++ b/www/seamonkey/patches/patch-mozilla_memory_volatile_VolatileBufferOSX.cpp @@ -1,8 +1,8 @@ -$NetBSD: patch-mozilla_memory_mozalloc_VolatileBufferOSX.cpp,v 1.1 2015/02/15 02:11:03 ryoon Exp $ +$NetBSD: patch-mozilla_memory_volatile_VolatileBufferOSX.cpp,v 1.1 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/memory/mozalloc/VolatileBufferOSX.cpp.orig 2015-02-05 04:39:05.000000000 +0000 -+++ mozilla/memory/mozalloc/VolatileBufferOSX.cpp -@@ -46,7 +46,14 @@ VolatileBuffer::Init(size_t aSize, size_ +--- mozilla/memory/volatile/VolatileBufferOSX.cpp.orig 2015-09-02 09:27:34.000000000 +0000 ++++ mozilla/memory/volatile/VolatileBufferOSX.cpp +@@ -47,7 +47,14 @@ VolatileBuffer::Init(size_t aSize, size_ } heap_alloc: diff --git a/www/seamonkey/patches/patch-mozilla_mfbt_Attributes.h b/www/seamonkey/patches/patch-mozilla_mfbt_Attributes.h index 61c15cdd1c4..ae4bb7f78ce 100644 --- a/www/seamonkey/patches/patch-mozilla_mfbt_Attributes.h +++ b/www/seamonkey/patches/patch-mozilla_mfbt_Attributes.h @@ -1,16 +1,16 @@ -$NetBSD: patch-mozilla_mfbt_Attributes.h,v 1.1 2014/11/02 05:40:31 ryoon Exp $ +$NetBSD: patch-mozilla_mfbt_Attributes.h,v 1.2 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/mfbt/Attributes.h.orig 2014-10-14 06:36:32.000000000 +0000 +--- mozilla/mfbt/Attributes.h.orig 2015-09-02 09:27:34.000000000 +0000 +++ mozilla/mfbt/Attributes.h -@@ -51,6 +51,7 @@ +@@ -50,6 +50,7 @@ + * don't indicate support for them here, due to * http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug */ - # if _MSC_VER >= 1800 -+# define MOZ_HAVE_CXX11_ALIGNAS - # define MOZ_HAVE_CXX11_DELETE - # endif - # if _MSC_VER >= 1700 -@@ -74,6 +75,9 @@ ++# define MOZ_HAVE_CXX11_ALIGNAS + # define MOZ_HAVE_NEVER_INLINE __declspec(noinline) + # define MOZ_HAVE_NORETURN __declspec(noreturn) + # ifdef __clang__ +@@ -70,6 +71,9 @@ # ifndef __has_extension # define __has_extension __has_feature /* compatibility, for older versions of clang */ # endif @@ -20,13 +20,13 @@ $NetBSD: patch-mozilla_mfbt_Attributes.h,v 1.1 2014/11/02 05:40:31 ryoon Exp $ # if __has_extension(cxx_constexpr) # define MOZ_HAVE_CXX11_CONSTEXPR # endif -@@ -95,6 +99,9 @@ +@@ -84,6 +88,9 @@ # endif #elif defined(__GNUC__) # if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L +# if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0) +# define MOZ_HAVE_CXX11_ALIGNAS +# endif - # if MOZ_GCC_VERSION_AT_LEAST(4, 7, 0) - # define MOZ_HAVE_CXX11_OVERRIDE - # define MOZ_HAVE_CXX11_FINAL final + # define MOZ_HAVE_CXX11_CONSTEXPR + # define MOZ_HAVE_EXPLICIT_CONVERSION + # endif diff --git a/www/seamonkey/patches/patch-mozilla_netwerk_base_public_nsNetUtil.h b/www/seamonkey/patches/patch-mozilla_netwerk_base_nsNetUtil.h index 35963c5b524..c342e5b7d99 100644 --- a/www/seamonkey/patches/patch-mozilla_netwerk_base_public_nsNetUtil.h +++ b/www/seamonkey/patches/patch-mozilla_netwerk_base_nsNetUtil.h @@ -1,7 +1,7 @@ -$NetBSD: patch-mozilla_netwerk_base_public_nsNetUtil.h,v 1.1 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_netwerk_base_nsNetUtil.h,v 1.1 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/netwerk/base/public/nsNetUtil.h.orig 2015-03-09 05:34:54.000000000 +0000 -+++ mozilla/netwerk/base/public/nsNetUtil.h +--- mozilla/netwerk/base/nsNetUtil.h.orig 2015-09-02 09:27:59.000000000 +0000 ++++ mozilla/netwerk/base/nsNetUtil.h @@ -13,6 +13,7 @@ #include "nsMemory.h" #include "nsCOMPtr.h" @@ -10,7 +10,7 @@ $NetBSD: patch-mozilla_netwerk_base_public_nsNetUtil.h,v 1.1 2015/03/17 19:50:42 #include "nsHashKeys.h" #include "plstr.h" -@@ -2869,6 +2870,26 @@ NS_IsSrcdocChannel(nsIChannel *aChannel) +@@ -2828,6 +2829,26 @@ NS_IsSrcdocChannel(nsIChannel *aChannel) bool NS_IsReasonableHTTPHeaderValue(const nsACString& aValue); /** diff --git a/www/seamonkey/patches/patch-mozilla_netwerk_dns_Makefile.in b/www/seamonkey/patches/patch-mozilla_netwerk_dns_Makefile.in deleted file mode 100644 index ec1a30b57b8..00000000000 --- a/www/seamonkey/patches/patch-mozilla_netwerk_dns_Makefile.in +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-mozilla_netwerk_dns_Makefile.in,v 1.2 2014/06/22 08:54:39 ryoon Exp $ - ---- mozilla/netwerk/dns/Makefile.in.orig 2014-06-13 00:45:47.000000000 +0000 -+++ mozilla/netwerk/dns/Makefile.in -@@ -5,6 +5,10 @@ - - include $(topsrcdir)/config/rules.mk - -+ifdef MOZ_NATIVE_HARFBUZZ -+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) -+endif -+ - # Generate the include file containing compact, static definitions - # for effective TLD data. - etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat diff --git a/www/seamonkey/patches/patch-mozilla_netwerk_dns_moz.build b/www/seamonkey/patches/patch-mozilla_netwerk_dns_moz.build index 7709dde90b6..e67d1889e2a 100644 --- a/www/seamonkey/patches/patch-mozilla_netwerk_dns_moz.build +++ b/www/seamonkey/patches/patch-mozilla_netwerk_dns_moz.build @@ -1,11 +1,13 @@ -$NetBSD: patch-mozilla_netwerk_dns_moz.build,v 1.1 2015/01/02 04:26:21 ryoon Exp $ +$NetBSD: patch-mozilla_netwerk_dns_moz.build,v 1.2 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/netwerk/dns/moz.build.orig 2014-12-03 06:23:17.000000000 +0000 +--- mozilla/netwerk/dns/moz.build.orig 2015-09-02 09:28:02.000000000 +0000 +++ mozilla/netwerk/dns/moz.build -@@ -63,3 +63,6 @@ GENERATED_FILES = [ - LOCAL_INCLUDES += [ - '../base/src', +@@ -68,5 +68,8 @@ LOCAL_INCLUDES += [ + '/netwerk/base', ] -+ + +if CONFIG['MOZ_NATIVE_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] > '19': + CXXFLAGS += ['-I%s/bionic/libc/dns/include' % CONFIG['ANDROID_SOURCE']] diff --git a/www/seamonkey/patches/patch-mozilla_netwerk_wifi_moz.build b/www/seamonkey/patches/patch-mozilla_netwerk_wifi_moz.build deleted file mode 100644 index 192d74063c7..00000000000 --- a/www/seamonkey/patches/patch-mozilla_netwerk_wifi_moz.build +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-mozilla_netwerk_wifi_moz.build,v 1.6 2015/01/02 04:26:21 ryoon Exp $ - ---- mozilla/netwerk/wifi/moz.build.orig 2014-12-03 06:23:17.000000000 +0000 -+++ mozilla/netwerk/wifi/moz.build -@@ -35,7 +35,7 @@ if CONFIG['OS_ARCH'] == 'Darwin': - UNIFIED_SOURCES += [ - 'osx_corewlan.mm', - ] --elif CONFIG['OS_ARCH'] == 'FreeBSD': -+elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD'): - UNIFIED_SOURCES += [ - 'nsWifiScannerFreeBSD.cpp', - ] diff --git a/www/seamonkey/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp b/www/seamonkey/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp deleted file mode 100644 index ea5537ef56e..00000000000 --- a/www/seamonkey/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp +++ /dev/null @@ -1,16 +0,0 @@ -$NetBSD: patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp,v 1.4 2015/01/02 04:26:21 ryoon Exp $ - ---- mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp.orig 2014-12-03 06:23:17.000000000 +0000 -+++ mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp -@@ -13,7 +13,11 @@ - #include <sys/socket.h> - #include <net/if.h> - #include <net/if_media.h> -+#ifdef __DragonFly__ -+#include <netproto/802_11/ieee80211_ioctl.h> -+#else - #include <net80211/ieee80211_ioctl.h> -+#endif - - #include <ifaddrs.h> - #include <string.h> diff --git a/www/seamonkey/patches/patch-mozilla_toolkit_library_moz.build b/www/seamonkey/patches/patch-mozilla_toolkit_library_moz.build index 782814814c0..7ed6eec0e99 100644 --- a/www/seamonkey/patches/patch-mozilla_toolkit_library_moz.build +++ b/www/seamonkey/patches/patch-mozilla_toolkit_library_moz.build @@ -1,6 +1,6 @@ -$NetBSD: patch-mozilla_toolkit_library_moz.build,v 1.3 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_toolkit_library_moz.build,v 1.4 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/toolkit/library/moz.build.orig 2015-03-09 05:34:27.000000000 +0000 +--- mozilla/toolkit/library/moz.build.orig 2015-09-02 09:27:31.000000000 +0000 +++ mozilla/toolkit/library/moz.build @@ -214,6 +214,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF ] @@ -10,7 +10,7 @@ $NetBSD: patch-mozilla_toolkit_library_moz.build,v 1.3 2015/03/17 19:50:42 ryoon OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] if CONFIG['MOZ_NATIVE_JPEG']: -@@ -225,6 +226,27 @@ if CONFIG['MOZ_NATIVE_PNG']: +@@ -225,6 +226,30 @@ if CONFIG['MOZ_NATIVE_PNG']: if CONFIG['MOZ_NATIVE_HUNSPELL']: OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] @@ -26,6 +26,9 @@ $NetBSD: patch-mozilla_toolkit_library_moz.build,v 1.3 2015/03/17 19:50:42 ryoon +if CONFIG['MOZ_NATIVE_TREMOR']: + OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] + ++if CONFIG['MOZ_NATIVE_CELT']: ++ OS_LIBS += CONFIG['MOZ_CELT_LIBS'] ++ +if CONFIG['MOZ_NATIVE_OPUS']: + OS_LIBS += CONFIG['MOZ_OPUS_LIBS'] + @@ -38,7 +41,7 @@ $NetBSD: patch-mozilla_toolkit_library_moz.build,v 1.3 2015/03/17 19:50:42 ryoon if CONFIG['MOZ_NATIVE_LIBEVENT']: OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] -@@ -234,8 +256,14 @@ if CONFIG['MOZ_NATIVE_LIBVPX']: +@@ -234,8 +259,14 @@ if CONFIG['MOZ_NATIVE_LIBVPX']: if not CONFIG['MOZ_TREE_PIXMAN']: OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS'] @@ -55,7 +58,7 @@ $NetBSD: patch-mozilla_toolkit_library_moz.build,v 1.3 2015/03/17 19:50:42 ryoon if CONFIG['HAVE_CLOCK_MONOTONIC']: OS_LIBS += CONFIG['REALTIME_LIBS'] -@@ -364,7 +392,7 @@ if CONFIG['OS_ARCH'] == 'WINNT': +@@ -365,7 +396,7 @@ if CONFIG['OS_ARCH'] == 'WINNT': if CONFIG['MOZ_ENABLE_QT']: OS_LIBS += CONFIG['XEXT_LIBS'] diff --git a/www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPInstallManager.jsm b/www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPInstallManager.jsm index 47aafb8dc7e..defed4740da 100644 --- a/www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPInstallManager.jsm +++ b/www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPInstallManager.jsm @@ -1,16 +1,8 @@ -$NetBSD: patch-mozilla_toolkit_modules_GMPInstallManager.jsm,v 1.1 2014/11/02 05:40:31 ryoon Exp $ +$NetBSD: patch-mozilla_toolkit_modules_GMPInstallManager.jsm,v 1.2 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/toolkit/modules/GMPInstallManager.jsm.orig 2014-10-14 06:36:44.000000000 +0000 +--- mozilla/toolkit/modules/GMPInstallManager.jsm.orig 2015-09-02 09:27:31.000000000 +0000 +++ mozilla/toolkit/modules/GMPInstallManager.jsm -@@ -107,6 +107,7 @@ let GMPPrefs = { - */ - KEY_LOG_ENABLED: "media.gmp-manager.log", - KEY_ADDON_LAST_UPDATE: "media.{0}.lastUpdate", -+ KEY_ADDON_PATH: "media.{0}.path", - KEY_ADDON_VERSION: "media.{0}.version", - KEY_ADDON_AUTOUPDATE: "media.{0}.autoupdate", - KEY_URL: "media.gmp-manager.url", -@@ -888,9 +889,7 @@ GMPDownloader.prototype = { +@@ -874,9 +874,7 @@ GMPDownloader.prototype = { let gmpAddon = this._gmpAddon; let installToDirPath = Cc["@mozilla.org/file/local;1"]. createInstance(Ci.nsIFile); @@ -21,17 +13,17 @@ $NetBSD: patch-mozilla_toolkit_modules_GMPInstallManager.jsm,v 1.1 2014/11/02 05 installToDirPath.initWithPath(path); log.info("install to directory path: " + installToDirPath.path); let gmpInstaller = new GMPExtractor(zipPath, installToDirPath.path); -@@ -899,10 +898,12 @@ GMPDownloader.prototype = { +@@ -885,10 +883,12 @@ GMPDownloader.prototype = { // Success, set the prefs let now = Math.round(Date.now() / 1000); - GMPPrefs.set(GMPPrefs.KEY_ADDON_LAST_UPDATE, now, gmpAddon.id); + GMPPrefs.set(GMPPrefs.KEY_PLUGIN_LAST_UPDATE, now, gmpAddon.id); - // Setting the version pref signals installation completion to consumers, - // if you need to set other prefs etc. do it before this. + // Setting the path pref signals installation completion to consumers, + // so set the version and potential other information they use first. - GMPPrefs.set(GMPPrefs.KEY_ADDON_VERSION, gmpAddon.version, + GMPPrefs.set(GMPPrefs.KEY_PLUGIN_VERSION, gmpAddon.version, gmpAddon.id); -+ GMPPrefs.set(GMPPrefs.KEY_ADDON_PATH, ++ GMPPrefs.set(GMPPrefs.KEY_PLUGIN_PATH, + installToDirPath.path, gmpAddon.id); this._deferred.resolve(extractedPaths); }, err => { diff --git a/www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPUtils.jsm b/www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPUtils.jsm new file mode 100644 index 00000000000..21707ebca96 --- /dev/null +++ b/www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPUtils.jsm @@ -0,0 +1,12 @@ +$NetBSD: patch-mozilla_toolkit_modules_GMPUtils.jsm,v 1.1 2015/09/21 05:03:45 ryoon Exp $ + +--- mozilla/toolkit/modules/GMPUtils.jsm.orig 2015-09-02 09:27:31.000000000 +0000 ++++ mozilla/toolkit/modules/GMPUtils.jsm +@@ -74,6 +74,7 @@ this.GMPPrefs = { + KEY_EME_ENABLED: "media.eme.enabled", + KEY_PLUGIN_ENABLED: "media.{0}.enabled", + KEY_PLUGIN_LAST_UPDATE: "media.{0}.lastUpdate", ++ KEY_PLUGIN_PATH: "media.{0}.path", + KEY_PLUGIN_VERSION: "media.{0}.version", + KEY_PLUGIN_AUTOUPDATE: "media.{0}.autoupdate", + KEY_PLUGIN_FORCEVISIBLE: "media.{0}.forcevisible", diff --git a/www/seamonkey/patches/patch-mozilla_toolkit_mozapps_extensions_internal_GMPProvider.jsm b/www/seamonkey/patches/patch-mozilla_toolkit_mozapps_extensions_internal_GMPProvider.jsm new file mode 100644 index 00000000000..939bc8ddefe --- /dev/null +++ b/www/seamonkey/patches/patch-mozilla_toolkit_mozapps_extensions_internal_GMPProvider.jsm @@ -0,0 +1,132 @@ +$NetBSD: patch-mozilla_toolkit_mozapps_extensions_internal_GMPProvider.jsm,v 1.1 2015/09/21 05:03:45 ryoon Exp $ + +--- mozilla/toolkit/mozapps/extensions/internal/GMPProvider.jsm.orig 2015-09-02 09:27:31.000000000 +0000 ++++ mozilla/toolkit/mozapps/extensions/internal/GMPProvider.jsm +@@ -101,12 +101,11 @@ function GMPWrapper(aPluginInfo) { + Log.repository.getLoggerWithMessagePrefix("Toolkit.GMP", + "GMPWrapper(" + + this._plugin.id + ") "); +- Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, +- this._plugin.id), ++ Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, this._plugin.id), + this.onPrefEnabledChanged, this); +- Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_VERSION, ++ Preferences.observe(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, + this._plugin.id), +- this.onPrefVersionChanged, this); ++ this.onPrefPathChanged, this); + if (this._plugin.isEME) { + Preferences.observe(GMPPrefs.KEY_EME_ENABLED, + this.onPrefEMEGlobalEnabledChanged, this); +@@ -123,17 +122,14 @@ GMPWrapper.prototype = { + optionsType: AddonManager.OPTIONS_TYPE_INLINE, + get optionsURL() { return this._plugin.optionsURL; }, + ++ + set gmpPath(aPath) { this._gmpPath = aPath; }, + get gmpPath() { +- if (!this._gmpPath && this.isInstalled) { +- this._gmpPath = OS.Path.join(OS.Constants.Path.profileDir, +- this._plugin.id, +- GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, +- null, this._plugin.id)); ++ if (!this._gmpPath) { ++ this._gmpPath = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); + } + return this._gmpPath; + }, +- + get id() { return this._plugin.id; }, + get type() { return "plugin"; }, + get isGMPlugin() { return true; }, +@@ -144,8 +140,13 @@ GMPWrapper.prototype = { + get description() { return this._plugin.description; }, + get fullDescription() { return this._plugin.fullDescription; }, + +- get version() { return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, +- this._plugin.id); }, ++ get version() { ++ if (this.isInstalled) { ++ return GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, null, ++ this._plugin.id); ++ } ++ return null; ++ }, + + get isActive() { return !this.appDisabled && !this.userDisabled; }, + get appDisabled() { +@@ -292,24 +293,17 @@ GMPWrapper.prototype = { + + get pluginMimeTypes() { return []; }, + get pluginLibraries() { +- if (this.isInstalled) { +- let path = this.version; +- return [path]; +- } +- return []; ++ let path = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); ++ return path && path.length ? [OS.Path.basename(path)] : []; + }, + get pluginFullpath() { +- if (this.isInstalled) { +- let path = OS.Path.join(OS.Constants.Path.profileDir, +- this._plugin.id, +- this.version); +- return [path]; +- } +- return []; ++ let path = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); ++ return path && path.length ? [path] : []; + }, + + get isInstalled() { +- return this.version && this.version.length > 0; ++ let path = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, null, this._plugin.id); ++ return path && path.length > 0; + }, + + _handleEnabledChanged: function() { +@@ -389,10 +383,10 @@ GMPWrapper.prototype = { + } + }, + +- onPrefVersionChanged: function() { ++ onPrefPathChanged: function() { + AddonManagerPrivate.callAddonListeners("onUninstalling", this, false); + if (this._gmpPath) { +- this._log.info("onPrefVersionChanged() - unregistering gmp directory " + ++ this._log.info("onPrefPathChanged() - unregistering gmp directory " + + this._gmpPath); + gmpService.removeAndDeletePluginDirectory(this._gmpPath, true /* can defer */); + } +@@ -401,15 +395,10 @@ GMPWrapper.prototype = { + AddonManagerPrivate.callInstallListeners("onExternalInstall", null, this, + null, false); + AddonManagerPrivate.callAddonListeners("onInstalling", this, false); +- this._gmpPath = null; +- if (this.isInstalled) { +- this._gmpPath = OS.Path.join(OS.Constants.Path.profileDir, +- this._plugin.id, +- GMPPrefs.get(GMPPrefs.KEY_PLUGIN_VERSION, +- null, this._plugin.id)); +- } ++ this._gmpPath = GMPPrefs.get(GMPPrefs.KEY_PLUGIN_PATH, ++ null, this._plugin.id); + if (this._gmpPath && this.isActive) { +- this._log.info("onPrefVersionChanged() - registering gmp directory " + ++ this._log.info("onPrefPathChanged() - registering gmp directory " + + this._gmpPath); + gmpService.addPluginDirectory(this._gmpPath); + } +@@ -431,9 +420,9 @@ GMPWrapper.prototype = { + Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_ENABLED, + this._plugin.id), + this.onPrefEnabledChanged, this); +- Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_VERSION, ++ Preferences.ignore(GMPPrefs.getPrefKey(GMPPrefs.KEY_PLUGIN_PATH, + this._plugin.id), +- this.onPrefVersionChanged, this); ++ this.onPrefPathChanged, this); + if (this._plugin.isEME) { + Preferences.ignore(GMPPrefs.KEY_EME_ENABLED, + this.onPrefEMEGlobalEnabledChanged, this); diff --git a/www/seamonkey/patches/patch-mozilla_toolkit_mozapps_extensions_internal_OpenH264Provider.jsm b/www/seamonkey/patches/patch-mozilla_toolkit_mozapps_extensions_internal_OpenH264Provider.jsm deleted file mode 100644 index 2522c1b9ec5..00000000000 --- a/www/seamonkey/patches/patch-mozilla_toolkit_mozapps_extensions_internal_OpenH264Provider.jsm +++ /dev/null @@ -1,118 +0,0 @@ -$NetBSD: patch-mozilla_toolkit_mozapps_extensions_internal_OpenH264Provider.jsm,v 1.1 2014/11/02 05:40:31 ryoon Exp $ - ---- mozilla/toolkit/mozapps/extensions/internal/OpenH264Provider.jsm.orig 2014-10-14 06:36:45.000000000 +0000 -+++ mozilla/toolkit/mozapps/extensions/internal/OpenH264Provider.jsm -@@ -29,6 +29,7 @@ const SEC_IN_A_DAY = 24 * 6 - const OPENH264_PLUGIN_ID = "gmp-gmpopenh264"; - const OPENH264_PREF_BRANCH = "media." + OPENH264_PLUGIN_ID + "."; - const OPENH264_PREF_ENABLED = "enabled"; -+const OPENH264_PREF_PATH = "path"; - const OPENH264_PREF_VERSION = "version"; - const OPENH264_PREF_LASTUPDATE = "lastUpdate"; - const OPENH264_PREF_AUTOUPDATE = "autoupdate"; -@@ -99,7 +100,12 @@ let OpenH264Wrapper = { - get description() { return pluginsBundle.GetStringFromName("openH264_description"); }, - get fullDescription() { return OPENH264_FULLDESCRIPTION; }, - -- get version() { return prefs.get(OPENH264_PREF_VERSION, ""); }, -+ get version() { -+ if (this.isInstalled) { -+ return prefs.get(OPENH264_PREF_VERSION, ""); -+ } -+ return ""; -+ }, - - get isActive() { return !this.userDisabled; }, - get appDisabled() { return false; }, -@@ -223,24 +229,17 @@ let OpenH264Wrapper = { - - get pluginMimeTypes() { return []; }, - get pluginLibraries() { -- if (this.isInstalled) { -- let path = this.version; -- return [path]; -- } -- return []; -+ let path = prefs.get(OPENH264_PREF_PATH, null); -+ return path && path.length ? [OS.Path.basename(path)] : []; - }, - get pluginFullpath() { -- if (this.isInstalled) { -- let path = OS.Path.join(OS.Constants.Path.profileDir, -- OPENH264_PLUGIN_ID, -- this.version); -- return [path]; -- } -- return []; -+ let path = prefs.get(OPENH264_PREF_PATH, null); -+ return path && path.length ? [path] : []; - }, - - get isInstalled() { -- return this.version.length > 0; -+ let path = prefs.get(OPENH264_PREF_PATH, ""); -+ return path.length > 0; - }, - }; - -@@ -251,19 +250,14 @@ let OpenH264Provider = { - "OpenH264Provider" + "::"); - OpenH264Wrapper._log = Log.repository.getLoggerWithMessagePrefix("Toolkit.OpenH264Provider", - "OpenH264Wrapper" + "::"); -- this.gmpPath = null; -- if (OpenH264Wrapper.isInstalled) { -- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir, -- OPENH264_PLUGIN_ID, -- prefs.get(OPENH264_PREF_VERSION, null)); -- } -+ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null); - let enabled = prefs.get(OPENH264_PREF_ENABLED, true); - this._log.trace("startup() - enabled=" + enabled + ", gmpPath="+this.gmpPath); - - - Services.obs.addObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED, false); - prefs.observe(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this); -- prefs.observe(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this); -+ prefs.observe(OPENH264_PREF_PATH, this.onPrefPathChanged, this); - prefs.observe(OPENH264_PREF_LOGGING, configureLogging); - - if (this.gmpPath && enabled) { -@@ -280,7 +274,7 @@ let OpenH264Provider = { - this._log.trace("shutdown()"); - Services.obs.removeObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED); - prefs.ignore(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this); -- prefs.ignore(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this); -+ prefs.ignore(OPENH264_PREF_PATH, this.onPrefPathChanged, this); - prefs.ignore(OPENH264_PREF_LOGGING, configureLogging); - - return OpenH264Wrapper._updateTask; -@@ -306,25 +300,20 @@ let OpenH264Provider = { - wrapper); - }, - -- onPrefVersionChanged: function() { -+ onPrefPathChanged: function() { - let wrapper = OpenH264Wrapper; - - AddonManagerPrivate.callAddonListeners("onUninstalling", wrapper, false); - if (this.gmpPath) { -- this._log.info("onPrefVersionChanged() - unregistering gmp directory " + this.gmpPath); -+ this._log.info("onPrefPathChanged() - removing gmp directory " + this.gmpPath); - gmpService.removePluginDirectory(this.gmpPath); - } - AddonManagerPrivate.callAddonListeners("onUninstalled", wrapper); - - AddonManagerPrivate.callInstallListeners("onExternalInstall", null, wrapper, null, false); -- this.gmpPath = null; -- if (OpenH264Wrapper.isInstalled) { -- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir, -- OPENH264_PLUGIN_ID, -- prefs.get(OPENH264_PREF_VERSION, null)); -- } -+ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null); - if (this.gmpPath && wrapper.isActive) { -- this._log.info("onPrefVersionChanged() - registering gmp directory " + this.gmpPath); -+ this._log.info("onPrefPathChanged() - adding gmp directory " + this.gmpPath); - gmpService.addPluginDirectory(this.gmpPath); - } - AddonManagerPrivate.callAddonListeners("onInstalled", wrapper); diff --git a/www/seamonkey/patches/patch-mozilla_widget_gtk_gtk2drawing.c b/www/seamonkey/patches/patch-mozilla_widget_gtk_gtk2drawing.c new file mode 100644 index 00000000000..f2df4479511 --- /dev/null +++ b/www/seamonkey/patches/patch-mozilla_widget_gtk_gtk2drawing.c @@ -0,0 +1,22 @@ +$NetBSD: patch-mozilla_widget_gtk_gtk2drawing.c,v 1.3 2015/09/21 05:03:45 ryoon Exp $ + +--- mozilla/widget/gtk/gtk2drawing.c.orig 2015-09-02 09:27:33.000000000 +0000 ++++ mozilla/widget/gtk/gtk2drawing.c +@@ -831,7 +831,7 @@ moz_gtk_get_focus_outline_size(gint* foc + return MOZ_GTK_SUCCESS; + } + +-gint ++static gint + moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, + gint* focus_width, gint* focus_pad) + { +@@ -928,7 +928,7 @@ moz_gtk_splitter_get_metrics(gint orient + return MOZ_GTK_SUCCESS; + } + +-gint ++static gint + moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border) + { + static const GtkBorder default_inner_border = { 1, 1, 1, 1 }; diff --git a/www/seamonkey/patches/patch-mozilla_widget_gtk_gtk3drawing.c b/www/seamonkey/patches/patch-mozilla_widget_gtk_gtk3drawing.c index d57b720b48c..42b3fabec6c 100644 --- a/www/seamonkey/patches/patch-mozilla_widget_gtk_gtk3drawing.c +++ b/www/seamonkey/patches/patch-mozilla_widget_gtk_gtk3drawing.c @@ -1,69 +1,833 @@ -$NetBSD: patch-mozilla_widget_gtk_gtk3drawing.c,v 1.2 2015/02/15 02:11:03 ryoon Exp $ +$NetBSD: patch-mozilla_widget_gtk_gtk3drawing.c,v 1.3 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/widget/gtk/gtk3drawing.c.orig 2015-02-05 04:38:47.000000000 +0000 +--- mozilla/widget/gtk/gtk3drawing.c.orig 2015-09-02 09:27:33.000000000 +0000 +++ mozilla/widget/gtk/gtk3drawing.c -@@ -64,6 +64,7 @@ static GtkWidget* gScrolledWindowWidget; - +@@ -65,6 +65,7 @@ static GtkWidget* gScrolledWindowWidget; static style_prop_t style_prop_func; static gboolean have_arrow_scaling; -+static gboolean checkbox_check_state; + static gboolean checkbox_check_state; ++static gboolean notebook_has_tab_gap; static gboolean is_initialized; #define ARROW_UP 0 -@@ -71,6 +72,10 @@ static gboolean is_initialized; - #define ARROW_RIGHT G_PI_2 - #define ARROW_LEFT (G_PI+G_PI_2) +@@ -725,6 +726,14 @@ moz_gtk_init() + else + checkbox_check_state = GTK_STATE_FLAG_ACTIVE; -+#if !GTK_CHECK_VERSION(3,14,0) -+#define GTK_STATE_FLAG_CHECKED (1 << 11) -+#endif ++ if(!gtk_check_version(3, 12, 0)) { ++ ensure_tab_widget(); ++ gtk_widget_style_get(gTabWidget, "has-tab-gap", ¬ebook_has_tab_gap, NULL); ++ } ++ else { ++ notebook_has_tab_gap = TRUE; ++ } + - static GtkStateFlags - GetStateFlagsFromGtkWidgetState(GtkWidgetState* state) - { -@@ -714,6 +719,11 @@ moz_gtk_init() - is_initialized = TRUE; - have_arrow_scaling = (gtk_major_version > 2 || - (gtk_major_version == 2 && gtk_minor_version >= 12)); -+ if (gtk_major_version > 3 || -+ (gtk_major_version == 3 && gtk_minor_version >= 14)) -+ checkbox_check_state = GTK_STATE_FLAG_CHECKED; -+ else -+ checkbox_check_state = GTK_STATE_FLAG_ACTIVE; - /* Add style property to GtkEntry. * Adding the style property to the normal GtkEntry class means that it -@@ -1004,10 +1014,10 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec - gtk_widget_set_sensitive(w, !state->disabled); - gtk_widget_set_direction(w, direction); + * will work without issues inside GtkComboBox and for Spinbuttons. */ +@@ -762,37 +771,17 @@ moz_gtk_radio_get_metrics(gint* indicato + gint + moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width) + { +- gboolean interior_focus; +- gint focus_width = 0; ++ GtkBorder border; ++ GtkBorder padding; ++ GtkStyleContext *style; + + ensure_entry_widget(); +- gtk_widget_style_get(gEntryWidget, +- "interior-focus", &interior_focus, +- "focus-line-width", &focus_width, +- NULL); +- if (interior_focus) { +- GtkBorder border; +- GtkStyleContext *style = gtk_widget_get_style_context(gEntryWidget); +- gtk_style_context_get_border(style, 0, &border); +- *focus_h_width = border.left + focus_width; +- *focus_v_width = border.top + focus_width; +- } else { +- *focus_h_width = focus_width; +- *focus_v_width = focus_width; +- } +- return MOZ_GTK_SUCCESS; +-} +- +-gint +-moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, +- gint* focus_width, gint* focus_pad) +-{ +- gtk_widget_style_get (widget, +- "interior-focus", interior_focus, +- "focus-line-width", focus_width, +- "focus-padding", focus_pad, +- NULL); ++ style = gtk_widget_get_style_context(gEntryWidget); + ++ gtk_style_context_get_border(style, 0, &border); ++ gtk_style_context_get_padding(style, 0, &padding); ++ *focus_h_width = border.left + padding.left; ++ *focus_v_width = border.top + padding.top; + return MOZ_GTK_SUCCESS; + } + +@@ -880,24 +869,6 @@ moz_gtk_splitter_get_metrics(gint orient + return MOZ_GTK_SUCCESS; + } + +-gint +-moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border) +-{ +- static const GtkBorder default_inner_border = { 1, 1, 1, 1 }; +- GtkBorder *tmp_border; +- +- gtk_widget_style_get (widget, "inner-border", &tmp_border, NULL); +- +- if (tmp_border) { +- *inner_border = *tmp_border; +- gtk_border_free(tmp_border); +- } +- else +- *inner_border = default_inner_border; +- +- return MOZ_GTK_SUCCESS; +-} +- + static gint + moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect, + GtkWidgetState* state, +@@ -908,19 +879,8 @@ moz_gtk_button_paint(cairo_t *cr, GdkRec + GtkStyleContext* style = gtk_widget_get_style_context(widget); + gint x = rect->x, y=rect->y, width=rect->width, height=rect->height; + +- gboolean interior_focus; +- gint focus_width, focus_pad; +- +- moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad); + gtk_widget_set_direction(widget, direction); +- +- if (!interior_focus && state->focused) { +- x += focus_width + focus_pad; +- y += focus_width + focus_pad; +- width -= 2 * (focus_width + focus_pad); +- height -= 2 * (focus_width + focus_pad); +- } +- ++ + gtk_style_context_save(style); + gtk_style_context_set_state(style, state_flags); + +@@ -953,20 +913,12 @@ moz_gtk_button_paint(cairo_t *cr, GdkRec + } + + if (state->focused) { +- if (interior_focus) { +- GtkBorder border; +- gtk_style_context_get_border(style, state_flags, &border); +- x += border.left + focus_pad; +- y += border.top + focus_pad; +- width -= 2 * (border.left + focus_pad); +- height -= 2 * (border.top + focus_pad); +- } else { +- x -= focus_width + focus_pad; +- y -= focus_width + focus_pad; +- width += 2 * (focus_width + focus_pad); +- height += 2 * (focus_width + focus_pad); +- } +- ++ GtkBorder border; ++ gtk_style_context_get_border(style, state_flags, &border); ++ x += border.left; ++ y += border.top; ++ width -= (border.left + border.right); ++ height -= (border.top + border.bottom); + gtk_render_focus(style, cr, x, y, width, height); + } + gtk_style_context_restore(style); +@@ -1056,33 +1008,23 @@ calculate_button_inner_rect(GtkWidget* b + GtkTextDirection direction, + gboolean ignore_focus) + { +- GtkBorder inner_border; +- gboolean interior_focus; +- gint focus_width, focus_pad; + GtkStyleContext* style; + GtkBorder border; ++ GtkBorder padding = {0, 0, 0, 0}; + + style = gtk_widget_get_style_context(button); + + /* This mirrors gtkbutton's child positioning */ +- moz_gtk_button_get_inner_border(button, &inner_border); +- moz_gtk_widget_get_focus(button, &interior_focus, +- &focus_width, &focus_pad); +- +- if (ignore_focus) +- focus_width = focus_pad = 0; +- + gtk_style_context_get_border(style, 0, &border); ++ if (!ignore_focus) ++ gtk_style_context_get_padding(style, 0, &padding); + +- inner_rect->x = rect->x + border.left + focus_width + focus_pad; +- inner_rect->x += direction == GTK_TEXT_DIR_LTR ? +- inner_border.left : inner_border.right; +- inner_rect->y = rect->y + inner_border.top + border.top + +- focus_width + focus_pad; +- inner_rect->width = MAX(1, rect->width - inner_border.left - +- inner_border.right - (border.left + focus_pad + focus_width) * 2); +- inner_rect->height = MAX(1, rect->height - inner_border.top - +- inner_border.bottom - (border.top + focus_pad + focus_width) * 2); ++ inner_rect->x = rect->x + border.left + padding.left; ++ inner_rect->y = rect->y + padding.top + border.top; ++ inner_rect->width = MAX(1, rect->width - padding.left - ++ padding.right - border.left * 2); ++ inner_rect->height = MAX(1, rect->height - padding.top - ++ padding.bottom - border.top * 2); + + return MOZ_GTK_SUCCESS; + } +@@ -1230,6 +1172,7 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWi + GtkStyleContext* style; + GtkScrollbar *scrollbar; + GtkAdjustment *adj; ++ GtkBorder margin; + + ensure_scrollbar_widget(); + +@@ -1239,15 +1182,20 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWi + scrollbar = GTK_SCROLLBAR(gVertScrollbarWidget); + + gtk_widget_set_direction(GTK_WIDGET(scrollbar), direction); +- ++ + style = gtk_widget_get_style_context(GTK_WIDGET(scrollbar)); gtk_style_context_save(style); -- +- + + gtk_style_context_add_class(style, GTK_STYLE_CLASS_SLIDER); + gtk_style_context_set_state(style, state_flags); + +- gtk_render_slider(style, cr, rect->x, rect->y, +- rect->width, rect->height, ++ gtk_style_context_get_margin (style, state_flags, &margin); ++ ++ gtk_render_slider(style, cr, ++ rect->x + margin.left, ++ rect->y + margin.top, ++ rect->width - margin.left - margin.right, ++ rect->height - margin.top - margin.bottom, + (widget == MOZ_GTK_SCROLLBAR_THUMB_HORIZONTAL) ? + GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL); + +@@ -1451,19 +1399,12 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRect + { + gint x = rect->x, y = rect->y, width = rect->width, height = rect->height; + GtkStyleContext* style; +- gboolean interior_focus; +- gint focus_width; + int draw_focus_outline_only = state->depressed; // NS_THEME_FOCUS_OUTLINE + + gtk_widget_set_direction(widget, direction); + + style = gtk_widget_get_style_context(widget); + +- gtk_widget_style_get(widget, +- "interior-focus", &interior_focus, +- "focus-line-width", &focus_width, +- NULL); +- + if (draw_focus_outline_only) { + // Inflate the given 'rect' with the focus outline size. + gint h, v; +@@ -1495,14 +1436,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRect + /* This will get us the lit borders that focused textboxes enjoy on + * some themes. */ + gtk_style_context_set_state(style, GTK_STATE_FLAG_FOCUSED); +- if (!interior_focus) { +- /* Indent the border a little bit if we have exterior focus +- (this is what GTK does to draw native entries) */ +- x += focus_width; +- y += focus_width; +- width -= 2 * focus_width; +- height -= 2 * focus_width; +- } + } + + if (state->disabled) { +@@ -1514,11 +1447,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRect + } + gtk_render_frame(style, cr, x, y, width, height); + +- if (state->focused && !state->disabled) { +- if (!interior_focus) { +- gtk_render_focus(style, cr, rect->x, rect->y, rect->width, rect->height); +- } +- } + gtk_style_context_restore(style); + + return MOZ_GTK_SUCCESS; +@@ -1823,8 +1751,6 @@ moz_gtk_container_paint(cairo_t *cr, Gdk + GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); + GtkStyleContext* style; + GtkWidget *widget; +- gboolean interior_focus; +- gint focus_width, focus_pad; + if (isradio) { - gtk_style_context_add_class(style, GTK_STYLE_CLASS_RADIO); -- gtk_style_context_set_state(style, selected ? GTK_STATE_FLAG_ACTIVE : -+ gtk_style_context_set_state(style, selected ? checkbox_check_state : - GTK_STATE_FLAG_NORMAL); - gtk_render_option(style, cr, x, y, width, height); - if (state->focused) { -@@ -1025,7 +1035,7 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec - gtk_style_context_set_state(style, GTK_STATE_FLAG_INCONSISTENT); - gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON(gCheckboxWidget), TRUE); - } else if (selected) { -- gtk_style_context_set_state(style, GTK_STATE_FLAG_ACTIVE); -+ gtk_style_context_set_state(style, checkbox_check_state); + ensure_radiobutton_widget(); +@@ -1837,7 +1763,6 @@ moz_gtk_container_paint(cairo_t *cr, Gdk + + style = gtk_widget_get_style_context(widget); + gtk_style_context_save(style); +- moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad); + gtk_style_context_set_state(style, state_flags); + + /* this is for drawing a prelight box */ +@@ -1846,10 +1771,6 @@ moz_gtk_container_paint(cairo_t *cr, Gdk + rect->x, rect->y, rect->width, rect->height); + } + +- if (state->focused && !interior_focus) { +- gtk_render_focus(style, cr, +- rect->x, rect->y, rect->width, rect->height); +- } + gtk_style_context_restore(style); + + return MOZ_GTK_SUCCESS; +@@ -1862,7 +1783,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, + { + GtkStyleContext *style; + GtkWidget *widget; +- gboolean interior_focus; + + if (!state->focused) + return MOZ_GTK_SUCCESS; +@@ -1883,10 +1803,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, + } + gtk_widget_set_direction(widget, direction); + +- gtk_widget_style_get(widget, "interior-focus", &interior_focus, NULL); +- if (!interior_focus) +- return MOZ_GTK_SUCCESS; +- + gtk_style_context_set_state(style, GetStateFlagsFromGtkWidgetState(state)); + gtk_render_focus(style, cr, + rect->x, rect->y, rect->width, rect->height); +@@ -2105,6 +2021,9 @@ moz_gtk_get_tab_thickness(void) + GtkStyleContext * style; + + ensure_tab_widget(); ++ if (!notebook_has_tab_gap) ++ return 0; /* tabs do not overdraw the tabpanel border with "no gap" style */ ++ + style = gtk_widget_get_style_context(gTabWidget); + gtk_style_context_add_class(style, GTK_STYLE_CLASS_NOTEBOOK); + gtk_style_context_get_border(style, 0, &border); +@@ -2150,7 +2069,7 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectan + ensure_tab_widget(); + gtk_widget_set_direction(gTabWidget, direction); + +- style = gtk_widget_get_style_context(gTabWidget); ++ style = gtk_widget_get_style_context(gTabWidget); + gtk_style_context_save(style); + moz_gtk_tab_prepare_style_context(style, flags); + +@@ -2167,143 +2086,155 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectan + + focusRect = backRect = tabRect; + +- if ((flags & MOZ_GTK_TAB_SELECTED) == 0) { +- /* Only draw the tab */ +- gtk_render_extension(style, cr, +- tabRect.x, tabRect.y, tabRect.width, tabRect.height, +- (flags & MOZ_GTK_TAB_BOTTOM) ? +- GTK_POS_TOP : GTK_POS_BOTTOM ); +- } else { +- /* Draw the tab and the gap +- * We want the gap to be positioned exactly on the tabpanel top +- * border; since tabbox.css may set a negative margin so that the tab +- * frame rect already overlaps the tabpanel frame rect, we need to take +- * that into account when drawing. To that effect, nsNativeThemeGTK +- * passes us this negative margin (bmargin in the graphic below) in the +- * lowest bits of |flags|. We use it to set gap_voffset, the distance +- * between the top of the gap and the bottom of the tab (resp. the +- * bottom of the gap and the top of the tab when we draw a bottom tab), +- * while ensuring that the gap always touches the border of the tab, +- * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results +- * with big negative or positive margins. +- * Here is a graphical explanation in the case of top tabs: +- * ___________________________ +- * / \ +- * | T A B | +- * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel +- * : ^ bmargin : ^ +- * : | (-negative margin, : | +- * bottom : v passed in flags) : | gap_height +- * of -> :.............................: | (the size of the +- * the tab . part of the gap . | tabpanel top border) +- * . outside of the tab . v +- * ---------------------------------------------- +- * +- * To draw the gap, we use gtk_paint_box_gap(), see comment in +- * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall, +- * which should suffice to ensure that the only visible border is the +- * pierced one. If the tab is in the middle, we make the box_gap begin +- * a bit to the left of the tab and end a bit to the right, adjusting +- * the gap position so it still is under the tab, because we want the +- * rendering of a gap in the middle of a tabpanel. This is the role of +- * the gints gap_{l,r}_offset. On the contrary, if the tab is the +- * first, we align the start border of the box_gap with the start +- * border of the tab (left if LTR, right if RTL), by setting the +- * appropriate offset to 0.*/ +- gint gap_loffset, gap_roffset, gap_voffset, gap_height; +- +- /* Get height needed by the gap */ +- gap_height = moz_gtk_get_tab_thickness(); +- +- /* Extract gap_voffset from the first bits of flags */ +- gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK; +- if (gap_voffset > gap_height) +- gap_voffset = gap_height; +- +- /* Set gap_{l,r}_offset to appropriate values */ +- gap_loffset = gap_roffset = 20; /* should be enough */ +- if (flags & MOZ_GTK_TAB_FIRST) { +- if (direction == GTK_TEXT_DIR_RTL) +- gap_roffset = initial_gap; +- else +- gap_loffset = initial_gap; +- } +- +- if (flags & MOZ_GTK_TAB_BOTTOM) { +- /* Draw the tab on bottom */ +- focusRect.y += gap_voffset; +- focusRect.height -= gap_voffset; +- ++ if (notebook_has_tab_gap) { ++ if ((flags & MOZ_GTK_TAB_SELECTED) == 0) { ++ /* Only draw the tab */ + gtk_render_extension(style, cr, +- tabRect.x, tabRect.y + gap_voffset, tabRect.width, +- tabRect.height - gap_voffset, GTK_POS_TOP); +- +- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); +- +- backRect.y += (gap_voffset - gap_height); +- backRect.height = gap_height; +- +- /* Draw the gap; erase with background color before painting in +- * case theme does not */ +- gtk_render_background(style, cr, backRect.x, backRect.y, +- backRect.width, backRect.height); +- cairo_save(cr); +- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); +- cairo_clip(cr); +- +- gtk_render_frame_gap(style, cr, +- tabRect.x - gap_loffset, +- tabRect.y + gap_voffset - 3 * gap_height, +- tabRect.width + gap_loffset + gap_roffset, +- 3 * gap_height, GTK_POS_BOTTOM, +- gap_loffset, gap_loffset + tabRect.width); +- cairo_restore(cr); ++ tabRect.x, tabRect.y, tabRect.width, tabRect.height, ++ (flags & MOZ_GTK_TAB_BOTTOM) ? ++ GTK_POS_TOP : GTK_POS_BOTTOM ); } else { - gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON(gCheckboxWidget), FALSE); +- /* Draw the tab on top */ +- focusRect.height -= gap_voffset; +- gtk_render_extension(style, cr, +- tabRect.x, tabRect.y, tabRect.width, +- tabRect.height - gap_voffset, GTK_POS_BOTTOM); +- +- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); +- +- backRect.y += (tabRect.height - gap_voffset); +- backRect.height = gap_height; ++ /* Draw the tab and the gap ++ * We want the gap to be positioned exactly on the tabpanel top ++ * border; since tabbox.css may set a negative margin so that the tab ++ * frame rect already overlaps the tabpanel frame rect, we need to take ++ * that into account when drawing. To that effect, nsNativeThemeGTK ++ * passes us this negative margin (bmargin in the graphic below) in the ++ * lowest bits of |flags|. We use it to set gap_voffset, the distance ++ * between the top of the gap and the bottom of the tab (resp. the ++ * bottom of the gap and the top of the tab when we draw a bottom tab), ++ * while ensuring that the gap always touches the border of the tab, ++ * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results ++ * with big negative or positive margins. ++ * Here is a graphical explanation in the case of top tabs: ++ * ___________________________ ++ * / \ ++ * | T A B | ++ * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel ++ * : ^ bmargin : ^ ++ * : | (-negative margin, : | ++ * bottom : v passed in flags) : | gap_height ++ * of -> :.............................: | (the size of the ++ * the tab . part of the gap . | tabpanel top border) ++ * . outside of the tab . v ++ * ---------------------------------------------- ++ * ++ * To draw the gap, we use gtk_paint_box_gap(), see comment in ++ * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall, ++ * which should suffice to ensure that the only visible border is the ++ * pierced one. If the tab is in the middle, we make the box_gap begin ++ * a bit to the left of the tab and end a bit to the right, adjusting ++ * the gap position so it still is under the tab, because we want the ++ * rendering of a gap in the middle of a tabpanel. This is the role of ++ * the gints gap_{l,r}_offset. On the contrary, if the tab is the ++ * first, we align the start border of the box_gap with the start ++ * border of the tab (left if LTR, right if RTL), by setting the ++ * appropriate offset to 0.*/ ++ gint gap_loffset, gap_roffset, gap_voffset, gap_height; ++ ++ /* Get height needed by the gap */ ++ gap_height = moz_gtk_get_tab_thickness(); ++ ++ /* Extract gap_voffset from the first bits of flags */ ++ gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK; ++ if (gap_voffset > gap_height) ++ gap_voffset = gap_height; ++ ++ /* Set gap_{l,r}_offset to appropriate values */ ++ gap_loffset = gap_roffset = 20; /* should be enough */ ++ if (flags & MOZ_GTK_TAB_FIRST) { ++ if (direction == GTK_TEXT_DIR_RTL) ++ gap_roffset = initial_gap; ++ else ++ gap_loffset = initial_gap; ++ } + +- /* Draw the gap; erase with background color before painting in +- * case theme does not */ +- gtk_render_background(style, cr, backRect.x, backRect.y, +- backRect.width, backRect.height); +- +- cairo_save(cr); +- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); +- cairo_clip(cr); +- +- gtk_render_frame_gap(style, cr, +- tabRect.x - gap_loffset, +- tabRect.y + tabRect.height - gap_voffset, +- tabRect.width + gap_loffset + gap_roffset, +- 3 * gap_height, GTK_POS_TOP, +- gap_loffset, gap_loffset + tabRect.width); +- cairo_restore(cr); ++ if (flags & MOZ_GTK_TAB_BOTTOM) { ++ /* Draw the tab on bottom */ ++ focusRect.y += gap_voffset; ++ focusRect.height -= gap_voffset; ++ ++ gtk_render_extension(style, cr, ++ tabRect.x, tabRect.y + gap_voffset, tabRect.width, ++ tabRect.height - gap_voffset, GTK_POS_TOP); ++ ++ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); ++ ++ backRect.y += (gap_voffset - gap_height); ++ backRect.height = gap_height; ++ ++ /* Draw the gap; erase with background color before painting in ++ * case theme does not */ ++ gtk_render_background(style, cr, backRect.x, backRect.y, ++ backRect.width, backRect.height); ++ cairo_save(cr); ++ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); ++ cairo_clip(cr); ++ ++ gtk_render_frame_gap(style, cr, ++ tabRect.x - gap_loffset, ++ tabRect.y + gap_voffset - 3 * gap_height, ++ tabRect.width + gap_loffset + gap_roffset, ++ 3 * gap_height, GTK_POS_BOTTOM, ++ gap_loffset, gap_loffset + tabRect.width); ++ cairo_restore(cr); ++ } else { ++ /* Draw the tab on top */ ++ focusRect.height -= gap_voffset; ++ gtk_render_extension(style, cr, ++ tabRect.x, tabRect.y, tabRect.width, ++ tabRect.height - gap_voffset, GTK_POS_BOTTOM); ++ ++ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB); ++ ++ backRect.y += (tabRect.height - gap_voffset); ++ backRect.height = gap_height; ++ ++ /* Draw the gap; erase with background color before painting in ++ * case theme does not */ ++ gtk_render_background(style, cr, backRect.x, backRect.y, ++ backRect.width, backRect.height); ++ ++ cairo_save(cr); ++ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height); ++ cairo_clip(cr); ++ ++ gtk_render_frame_gap(style, cr, ++ tabRect.x - gap_loffset, ++ tabRect.y + tabRect.height - gap_voffset, ++ tabRect.width + gap_loffset + gap_roffset, ++ 3 * gap_height, GTK_POS_TOP, ++ gap_loffset, gap_loffset + tabRect.width); ++ cairo_restore(cr); ++ } } -@@ -2588,8 +2598,9 @@ moz_gtk_check_menu_item_paint(cairo_t *c - gtk_style_context_add_class(style, GTK_STYLE_CLASS_CHECK); ++ } else { ++ gtk_render_background(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height); ++ gtk_render_frame(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height); } -- if (checked) -- state_flags |= GTK_STATE_FLAG_ACTIVE; -+ if (checked) { -+ state_flags |= checkbox_check_state; -+ } - - gtk_style_context_set_state(style, state_flags); - gtk_style_context_get_padding(style, state_flags, &padding); ++ gtk_style_context_restore(style); ++ + if (state->focused) { + /* Paint the focus ring */ +- GtkBorder border; +- gtk_style_context_get_border(style, GetStateFlagsFromGtkWidgetState(state), &border); ++ GtkBorder padding; ++ ++ gtk_style_context_save(style); ++ moz_gtk_tab_prepare_style_context(style, flags); + +- focusRect.x += border.left; +- focusRect.width -= (border.left + border.right); +- focusRect.y += border.top; +- focusRect.height -= (border.top + border.bottom); ++ gtk_style_context_get_padding(style, GetStateFlagsFromGtkWidgetState(state), &padding); ++ ++ focusRect.x += padding.left; ++ focusRect.width -= (padding.left + padding.right); ++ focusRect.y += padding.top; ++ focusRect.height -= (padding.top + padding.bottom); + + gtk_render_focus(style, cr, + focusRect.x, focusRect.y, focusRect.width, focusRect.height); ++ ++ gtk_style_context_restore(style); + } + +- gtk_style_context_restore(style); + + return MOZ_GTK_SUCCESS; + } +@@ -2684,26 +2615,18 @@ moz_gtk_get_widget_border(GtkThemeWidget + switch (widget) { + case MOZ_GTK_BUTTON: + { +- GtkBorder inner_border; +- gboolean interior_focus; +- gint focus_width, focus_pad; +- + ensure_button_widget(); ++ style = gtk_widget_get_style_context(gButtonWidget); ++ + *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gButtonWidget)); + + /* Don't add this padding in HTML, otherwise the buttons will + become too big and stuff the layout. */ + if (!inhtml) { +- moz_gtk_widget_get_focus(gButtonWidget, &interior_focus, &focus_width, &focus_pad); +- moz_gtk_button_get_inner_border(gButtonWidget, &inner_border); +- *left += focus_width + focus_pad + inner_border.left; +- *right += focus_width + focus_pad + inner_border.right; +- *top += focus_width + focus_pad + inner_border.top; +- *bottom += focus_width + focus_pad + inner_border.bottom; ++ moz_gtk_add_style_padding(style, left, top, right, bottom); + } + +- moz_gtk_add_style_border(gtk_widget_get_style_context(gButtonWidget), +- left, top, right, bottom); ++ moz_gtk_add_style_border(style, left, top, right, bottom); + return MOZ_GTK_SUCCESS; + } + case MOZ_GTK_ENTRY: +@@ -2711,7 +2634,13 @@ moz_gtk_get_widget_border(GtkThemeWidget + ensure_entry_widget(); + style = gtk_widget_get_style_context(gEntryWidget); + moz_gtk_add_style_border(style, left, top, right, bottom); +- moz_gtk_add_style_padding(style, left, top, right, bottom); ++ ++ /* Use the document padding in HTML ++ and GTK style padding in XUL. */ ++ if (!inhtml) { ++ moz_gtk_add_style_padding(style, left, top, right, bottom); ++ } ++ + return MOZ_GTK_SUCCESS; + } + case MOZ_GTK_TREEVIEW: +@@ -2731,23 +2660,15 @@ moz_gtk_get_widget_border(GtkThemeWidget + * assigned. + * That is why the following code is the same as for MOZ_GTK_BUTTON. + * */ +- +- GtkBorder inner_border; +- gboolean interior_focus; +- gint focus_width, focus_pad; ++ GtkStyleContext *style; + + ensure_tree_header_cell_widget(); + *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gTreeHeaderCellWidget)); + +- moz_gtk_widget_get_focus(gTreeHeaderCellWidget, &interior_focus, &focus_width, &focus_pad); +- moz_gtk_button_get_inner_border(gTreeHeaderCellWidget, &inner_border); +- *left += focus_width + focus_pad + inner_border.left; +- *right += focus_width + focus_pad + inner_border.right; +- *top += focus_width + focus_pad + inner_border.top; +- *bottom += focus_width + focus_pad + inner_border.bottom; +- +- moz_gtk_add_style_border(gtk_widget_get_style_context(gTreeHeaderCellWidget), +- left, top, right, bottom); ++ style = gtk_widget_get_style_context(gTreeHeaderCellWidget); ++ ++ moz_gtk_add_style_border(style, left, top, right, bottom); ++ moz_gtk_add_style_padding(style, left, top, right, bottom); + return MOZ_GTK_SUCCESS; + } + case MOZ_GTK_TREE_HEADER_SORTARROW: +@@ -2767,29 +2688,23 @@ moz_gtk_get_widget_border(GtkThemeWidget + /* We need to account for the arrow on the dropdown, so text + * doesn't come too close to the arrow, or in some cases spill + * into the arrow. */ +- gboolean ignored_interior_focus, wide_separators; +- gint focus_width, focus_pad, separator_width; ++ gboolean wide_separators; ++ gint separator_width; + GtkRequisition arrow_req; + GtkBorder border; + + ensure_combo_box_widgets(); + +- *left = gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); ++ *left = *top = *right = *bottom = ++ gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget)); ++ ++ style = gtk_widget_get_style_context(gComboBoxButtonWidget); + + if (!inhtml) { +- moz_gtk_widget_get_focus(gComboBoxButtonWidget, +- &ignored_interior_focus, +- &focus_width, &focus_pad); +- *left += focus_width + focus_pad; ++ moz_gtk_add_style_padding(style, left, top, right, bottom); + } + +- style = gtk_widget_get_style_context(gComboBoxButtonWidget); +- gtk_style_context_get_border(style, 0, &border); +- +- *top = *left + border.top; +- *left += border.left; +- +- *right = *left; *bottom = *top; ++ moz_gtk_add_style_border(style, left, top, right, bottom); + + /* If there is no separator, don't try to count its width. */ + separator_width = 0; +@@ -2841,60 +2756,23 @@ moz_gtk_get_widget_border(GtkThemeWidget + ensure_frame_widget(); + w = gFrameWidget; + break; +- case MOZ_GTK_CHECKBUTTON_LABEL: +- case MOZ_GTK_RADIOBUTTON_LABEL: +- { +- gboolean interior_focus; +- gint focus_width, focus_pad; +- +- /* If the focus is interior, then the label has a border of +- (focus_width + focus_pad). */ +- if (widget == MOZ_GTK_CHECKBUTTON_LABEL) { +- ensure_checkbox_widget(); +- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, +- &focus_width, &focus_pad); +- } +- else { +- ensure_radiobutton_widget(); +- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, +- &focus_width, &focus_pad); +- } +- +- if (interior_focus) +- *left = *top = *right = *bottom = (focus_width + focus_pad); +- +- return MOZ_GTK_SUCCESS; +- } +- + case MOZ_GTK_CHECKBUTTON_CONTAINER: + case MOZ_GTK_RADIOBUTTON_CONTAINER: + { +- gboolean interior_focus; +- gint focus_width, focus_pad; +- +- /* If the focus is _not_ interior, then the container has a border +- of (focus_width + focus_pad). */ + if (widget == MOZ_GTK_CHECKBUTTON_CONTAINER) { + ensure_checkbox_widget(); +- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus, +- &focus_width, &focus_pad); + w = gCheckboxWidget; + } else { + ensure_radiobutton_widget(); +- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus, +- &focus_width, &focus_pad); + w = gRadiobuttonWidget; + } ++ style = gtk_widget_get_style_context(w); + + *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(w)); +- +- if (!interior_focus) { +- *left += (focus_width + focus_pad); +- *right += (focus_width + focus_pad); +- *top += (focus_width + focus_pad); +- *bottom += (focus_width + focus_pad); +- } +- ++ moz_gtk_add_style_border(style, ++ left, top, right, bottom); ++ moz_gtk_add_style_padding(style, ++ left, top, right, bottom); + return MOZ_GTK_SUCCESS; + } + case MOZ_GTK_MENUPOPUP: +@@ -2921,6 +2799,8 @@ moz_gtk_get_widget_border(GtkThemeWidget + return MOZ_GTK_SUCCESS; + } + /* These widgets have no borders, since they are not containers. */ ++ case MOZ_GTK_CHECKBUTTON_LABEL: ++ case MOZ_GTK_RADIOBUTTON_LABEL: + case MOZ_GTK_SPLITTER_HORIZONTAL: + case MOZ_GTK_SPLITTER_VERTICAL: + case MOZ_GTK_CHECKBUTTON: +@@ -2975,11 +2855,7 @@ moz_gtk_get_tab_border(gint* left, gint* + gtk_style_context_save(style); + moz_gtk_tab_prepare_style_context(style, flags); + +- // TODO add_style_border() should be replaced +- // with focus-line-width and focus-padding +- // see Bug 877605 + *left = *top = *right = *bottom = 0; +- moz_gtk_add_style_border(style, left, top, right, bottom); + moz_gtk_add_style_padding(style, left, top, right, bottom); + + gtk_widget_style_get (gTabWidget, "tab-curvature", &tab_curvature, NULL); +@@ -2990,16 +2866,9 @@ moz_gtk_get_tab_border(gint* left, gint* + int initial_gap; + gtk_widget_style_get (gTabWidget, "initial-gap", &initial_gap, NULL); + if (direction == GTK_TEXT_DIR_RTL) +- *right += initial_gap; ++ *right += initial_gap; + else +- *left += initial_gap; +- } +- +- // Top tabs have no bottom border, bottom tabs have no top border +- if (flags & MOZ_GTK_TAB_BOTTOM) { +- *top = 0; +- } else { +- *bottom = 0; ++ *left += initial_gap; + } + + gtk_style_context_restore(style); diff --git a/www/seamonkey/patches/patch-mozilla_widget_gtk_gtkdrawing.h b/www/seamonkey/patches/patch-mozilla_widget_gtk_gtkdrawing.h new file mode 100644 index 00000000000..e03e8aa93d6 --- /dev/null +++ b/www/seamonkey/patches/patch-mozilla_widget_gtk_gtkdrawing.h @@ -0,0 +1,41 @@ +$NetBSD: patch-mozilla_widget_gtk_gtkdrawing.h,v 1.3 2015/09/21 05:03:45 ryoon Exp $ + +--- mozilla/widget/gtk/gtkdrawing.h.orig 2015-09-02 09:27:33.000000000 +0000 ++++ mozilla/widget/gtk/gtkdrawing.h +@@ -293,16 +293,6 @@ moz_gtk_checkbox_get_metrics(gint* indic + gint + moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing); + +-/** +- * Get the inner-border value for a GtkButton widget (button or tree header) +- * widget: [IN] the widget to get the border value for +- * inner_border: [OUT] the inner border +- * +- * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise +- */ +-gint +-moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border); +- + /** Get the extra size for the focus ring for outline:auto. + * widget: [IN] the widget to get the focus metrics for + * focus_h_width: [OUT] the horizontal width +@@ -313,19 +303,6 @@ moz_gtk_button_get_inner_border(GtkWidge + gint + moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width); + +-/** Get the focus metrics for a treeheadercell, button, checkbox, or radio button. +- * widget: [IN] the widget to get the focus metrics for +- * interior_focus: [OUT] whether the focus is drawn around the +- * label (TRUE) or around the whole container (FALSE) +- * focus_width: [OUT] the width of the focus line +- * focus_pad: [OUT] the padding between the focus line and children +- * +- * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise +- */ +-gint +-moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus, +- gint* focus_width, gint* focus_pad); +- + /** Get the horizontal padding for the menuitem widget or checkmenuitem widget. + * horizontal_padding: [OUT] The left and right padding of the menuitem or checkmenuitem + * diff --git a/www/seamonkey/patches/patch-mozilla_widget_gtk_nsLookAndFeel.cpp b/www/seamonkey/patches/patch-mozilla_widget_gtk_nsLookAndFeel.cpp deleted file mode 100644 index 5aa39dcaf99..00000000000 --- a/www/seamonkey/patches/patch-mozilla_widget_gtk_nsLookAndFeel.cpp +++ /dev/null @@ -1,207 +0,0 @@ -$NetBSD: patch-mozilla_widget_gtk_nsLookAndFeel.cpp,v 1.1 2015/02/15 02:11:03 ryoon Exp $ - ---- mozilla/widget/gtk/nsLookAndFeel.cpp.orig 2015-02-05 04:38:47.000000000 +0000 -+++ mozilla/widget/gtk/nsLookAndFeel.cpp -@@ -38,7 +38,6 @@ nsLookAndFeel::nsLookAndFeel() - mStyle(nullptr), - #else - mBackgroundStyle(nullptr), -- mViewStyle(nullptr), - mButtonStyle(nullptr), - #endif - mDefaultFontCached(false), mButtonFontCached(false), -@@ -53,7 +52,6 @@ nsLookAndFeel::~nsLookAndFeel() - g_object_unref(mStyle); - #else - g_object_unref(mBackgroundStyle); -- g_object_unref(mViewStyle); - g_object_unref(mButtonStyle); - #endif - } -@@ -114,13 +112,19 @@ nsLookAndFeel::NativeGetColor(ColorID aI - case eColorID_IMESelectedRawTextBackground: - case eColorID_IMESelectedConvertedTextBackground: - case eColorID__moz_dragtargetzone: -- aColor = sMozWindowSelectedBackground; -+ case eColorID__moz_cellhighlight: -+ case eColorID__moz_html_cellhighlight: -+ case eColorID_highlight: // preference selected item, -+ aColor = sTextSelectedBackground; - break; - case eColorID_WidgetSelectForeground: - case eColorID_TextSelectForeground: - case eColorID_IMESelectedRawTextForeground: - case eColorID_IMESelectedConvertedTextForeground: -- aColor = sMozWindowSelectedText; -+ case eColorID_highlighttext: -+ case eColorID__moz_cellhighlighttext: -+ case eColorID__moz_html_cellhighlighttext: -+ aColor = sTextSelectedText; - break; - #endif - case eColorID_Widget3DHighlight: -@@ -238,19 +242,6 @@ nsLookAndFeel::NativeGetColor(ColorID aI - GTK_STATE_FLAG_INSENSITIVE, &gdk_color); - aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); - break; -- case eColorID_highlight: // preference selected item, -- // background of selected item -- gtk_style_context_get_background_color(mViewStyle, -- GTK_STATE_FLAG_SELECTED, -- &gdk_color); -- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); -- break; -- case eColorID_highlighttext: -- // text of selected item -- gtk_style_context_get_color(mViewStyle, -- GTK_STATE_FLAG_SELECTED, &gdk_color); -- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); -- break; - case eColorID_inactivecaption: - // inactive window caption - gtk_style_context_get_background_color(mBackgroundStyle, -@@ -284,10 +275,17 @@ nsLookAndFeel::NativeGetColor(ColorID aI - #endif - break; - -+ case eColorID_threedlightshadow: -+ // 3-D highlighted inner edge color -+ // always same as background in GTK code - case eColorID_threedface: - case eColorID_buttonface: - // 3-D face color -- aColor = sFrameBackground; -+#if (MOZ_WIDGET_GTK == 3) -+ aColor = sMozWindowBackground; -+#else -+ aColor = sButtonBackground; -+#endif - break; - - case eColorID_buttontext: -@@ -302,11 +300,6 @@ nsLookAndFeel::NativeGetColor(ColorID aI - aColor = sFrameOuterLightBorder; - break; - -- case eColorID_threedlightshadow: -- // 3-D highlighted inner edge color -- aColor = sFrameBackground; // always same as background in GTK code -- break; -- - case eColorID_buttonshadow: - // 3-D shadow edge color - case eColorID_threedshadow: -@@ -391,19 +384,6 @@ nsLookAndFeel::NativeGetColor(ColorID aI - case eColorID__moz_buttonhovertext: - aColor = sButtonHoverText; - break; -- case eColorID__moz_cellhighlight: -- case eColorID__moz_html_cellhighlight: -- gtk_style_context_get_background_color(mViewStyle, -- GTK_STATE_FLAG_SELECTED, -- &gdk_color); -- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); -- break; -- case eColorID__moz_cellhighlighttext: -- case eColorID__moz_html_cellhighlighttext: -- gtk_style_context_get_color(mViewStyle, -- GTK_STATE_FLAG_SELECTED, &gdk_color); -- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color); -- break; - #endif - case eColorID__moz_menuhover: - aColor = sMenuHover; -@@ -965,7 +945,7 @@ nsLookAndFeel::Init() - GtkStyleContext *style; - - // Gtk manages a screen's CSS in the settings object so we -- // ask Gtk to create it explicitly. Otherwise we may end up -+ // ask Gtk to create it explicitly. Otherwise we may end up - // with wrong color theme, see Bug 972382 - (void)gtk_settings_get_for_screen(gdk_screen_get_default()); - -@@ -975,9 +955,6 @@ nsLookAndFeel::Init() - mBackgroundStyle = create_context(path); - gtk_style_context_add_class(mBackgroundStyle, GTK_STYLE_CLASS_BACKGROUND); - -- mViewStyle = create_context(path); -- gtk_style_context_add_class(mViewStyle, GTK_STYLE_CLASS_VIEW); -- - mButtonStyle = create_context(path); - gtk_style_context_add_class(mButtonStyle, GTK_STYLE_CLASS_BUTTON); - -@@ -990,11 +967,24 @@ nsLookAndFeel::Init() - g_object_unref(style); - - // Text colors -- gtk_style_context_get_background_color(mViewStyle, GTK_STATE_FLAG_NORMAL, &color); -+ style = create_context(path); -+ gtk_style_context_add_class(style, GTK_STYLE_CLASS_VIEW); -+ gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color); - sMozFieldBackground = GDK_RGBA_TO_NS_RGBA(color); -- gtk_style_context_get_color(mViewStyle, GTK_STATE_FLAG_NORMAL, &color); -+ gtk_style_context_get_color(style, GTK_STATE_FLAG_NORMAL, &color); - sMozFieldText = GDK_RGBA_TO_NS_RGBA(color); - -+ // Selected text and background -+ gtk_style_context_get_background_color(style, -+ static_cast<GtkStateFlags>(GTK_STATE_FLAG_FOCUSED|GTK_STATE_FLAG_SELECTED), -+ &color); -+ sTextSelectedBackground = GDK_RGBA_TO_NS_RGBA(color); -+ gtk_style_context_get_color(style, -+ static_cast<GtkStateFlags>(GTK_STATE_FLAG_FOCUSED|GTK_STATE_FLAG_SELECTED), -+ &color); -+ sTextSelectedText = GDK_RGBA_TO_NS_RGBA(color); -+ g_object_unref(style); -+ - // Window colors - style = create_context(path); - gtk_style_context_save(style); -@@ -1003,12 +993,6 @@ nsLookAndFeel::Init() - sMozWindowBackground = GDK_RGBA_TO_NS_RGBA(color); - gtk_style_context_get_color(style, GTK_STATE_FLAG_NORMAL, &color); - sMozWindowText = GDK_RGBA_TO_NS_RGBA(color); -- -- // Selected text and background -- gtk_style_context_get_background_color(style, GTK_STATE_FLAG_SELECTED, &color); -- sMozWindowSelectedBackground = GDK_RGBA_TO_NS_RGBA(color); -- gtk_style_context_get_color(style, GTK_STATE_FLAG_SELECTED, &color); -- sMozWindowSelectedText = GDK_RGBA_TO_NS_RGBA(color); - gtk_style_context_restore(style); - - // tooltip foreground and background -@@ -1141,7 +1125,7 @@ nsLookAndFeel::Init() - - style = gtk_widget_get_style(button); - if (style) { -- sFrameBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]); -+ sButtonBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]); - sFrameOuterLightBorder = - GDK_COLOR_TO_NS_RGB(style->light[GTK_STATE_NORMAL]); - sFrameInnerDarkBorder = -@@ -1189,12 +1173,9 @@ nsLookAndFeel::Init() - GtkWidget *frame = gtk_frame_new(nullptr); - gtk_container_add(GTK_CONTAINER(parent), frame); - -- style = gtk_widget_get_style_context(frame); -- gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color); -- sFrameBackground = GDK_RGBA_TO_NS_RGBA(color); -- - // TODO GTK3 - update sFrameOuterLightBorder - // for GTK_BORDER_STYLE_INSET/OUTSET/GROVE/RIDGE border styles (Bug 978172). -+ style = gtk_widget_get_style_context(frame); - gtk_style_context_get_border_color(style, GTK_STATE_FLAG_NORMAL, &color); - sFrameInnerDarkBorder = sFrameOuterLightBorder = GDK_RGBA_TO_NS_RGBA(color); - #endif -@@ -1257,11 +1238,9 @@ nsLookAndFeel::RefreshImpl() - mStyle = nullptr; - #else - g_object_unref(mBackgroundStyle); -- g_object_unref(mViewStyle); - g_object_unref(mButtonStyle); - - mBackgroundStyle = nullptr; -- mViewStyle = nullptr; - mButtonStyle = nullptr; - #endif - diff --git a/www/seamonkey/patches/patch-mozilla_widget_gtk_nsLookAndFeel.h b/www/seamonkey/patches/patch-mozilla_widget_gtk_nsLookAndFeel.h deleted file mode 100644 index f1a6cbaeefa..00000000000 --- a/www/seamonkey/patches/patch-mozilla_widget_gtk_nsLookAndFeel.h +++ /dev/null @@ -1,32 +0,0 @@ -$NetBSD: patch-mozilla_widget_gtk_nsLookAndFeel.h,v 1.1 2015/02/15 02:11:03 ryoon Exp $ - ---- mozilla/widget/gtk/nsLookAndFeel.h.orig 2015-02-05 04:38:47.000000000 +0000 -+++ mozilla/widget/gtk/nsLookAndFeel.h -@@ -35,7 +35,6 @@ protected: - struct _GtkStyle *mStyle; - #else - struct _GtkStyleContext *mBackgroundStyle; -- struct _GtkStyleContext *mViewStyle; - struct _GtkStyleContext *mButtonStyle; - #endif - -@@ -64,7 +63,7 @@ protected: - nscolor sMenuHoverText; - nscolor sButtonText; - nscolor sButtonHoverText; -- nscolor sFrameBackground; -+ nscolor sButtonBackground; - nscolor sFrameOuterLightBorder; - nscolor sFrameInnerDarkBorder; - nscolor sOddCellBackground; -@@ -75,8 +74,8 @@ protected: - nscolor sMozFieldBackground; - nscolor sMozWindowText; - nscolor sMozWindowBackground; -- nscolor sMozWindowSelectedText; -- nscolor sMozWindowSelectedBackground; -+ nscolor sTextSelectedText; -+ nscolor sTextSelectedBackground; - nscolor sMozScrollbar; - char16_t sInvisibleCharacter; - float sCaretRatio; diff --git a/www/seamonkey/patches/patch-mozilla_widget_gtk_nsNativeThemeGTK.cpp b/www/seamonkey/patches/patch-mozilla_widget_gtk_nsNativeThemeGTK.cpp new file mode 100644 index 00000000000..0e58d924585 --- /dev/null +++ b/www/seamonkey/patches/patch-mozilla_widget_gtk_nsNativeThemeGTK.cpp @@ -0,0 +1,30 @@ +$NetBSD: patch-mozilla_widget_gtk_nsNativeThemeGTK.cpp,v 1.3 2015/09/21 05:03:45 ryoon Exp $ + +--- mozilla/widget/gtk/nsNativeThemeGTK.cpp.orig 2015-09-02 09:27:33.000000000 +0000 ++++ mozilla/widget/gtk/nsNativeThemeGTK.cpp +@@ -761,6 +761,8 @@ nsNativeThemeGTK::GetExtraSizeForWidget( + return false; + + gint gap_height = moz_gtk_get_tab_thickness(); ++ if (!gap_height) ++ return false; + + int32_t extra = gap_height - GetTabMarginPixels(aFrame); + if (extra <= 0) +@@ -1528,9 +1530,15 @@ nsNativeThemeGTK::GetWidgetTransparency( + case NS_THEME_MENUPOPUP: + case NS_THEME_WINDOW: + case NS_THEME_DIALOG: +- // Tooltips use gtk_paint_flat_box(). ++ return eOpaque; ++ // Tooltips use gtk_paint_flat_box() on Gtk2 ++ // but are shaped on Gtk3 + case NS_THEME_TOOLTIP: ++#if (MOZ_WIDGET_GTK == 2) + return eOpaque; ++#else ++ return eTransparent; ++#endif + } + + return eUnknownTransparency; diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_base_nsStackWalk.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_base_nsStackWalk.cpp index d94ba0cbeb2..0b1e839f632 100644 --- a/www/seamonkey/patches/patch-mozilla_xpcom_base_nsStackWalk.cpp +++ b/www/seamonkey/patches/patch-mozilla_xpcom_base_nsStackWalk.cpp @@ -1,6 +1,6 @@ -$NetBSD: patch-mozilla_xpcom_base_nsStackWalk.cpp,v 1.5 2015/02/15 02:11:03 ryoon Exp $ +$NetBSD: patch-mozilla_xpcom_base_nsStackWalk.cpp,v 1.6 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/xpcom/base/nsStackWalk.cpp.orig 2015-02-05 04:38:49.000000000 +0000 +--- mozilla/xpcom/base/nsStackWalk.cpp.orig 2015-09-02 09:27:33.000000000 +0000 +++ mozilla/xpcom/base/nsStackWalk.cpp @@ -34,12 +34,12 @@ static CriticalAddress gCriticalAddress; #define _GNU_SOURCE @@ -27,7 +27,7 @@ $NetBSD: patch-mozilla_xpcom_base_nsStackWalk.cpp,v 1.5 2015/02/15 02:11:03 ryoo #include <pthread.h> #include <CoreServices/CoreServices.h> -@@ -832,7 +832,7 @@ NS_DescribeCodeAddress(void* aPC, nsCode +@@ -830,7 +830,7 @@ NS_DescribeCodeAddress(void* aPC, nsCode } // i386 or PPC Linux stackwalking code @@ -36,7 +36,7 @@ $NetBSD: patch-mozilla_xpcom_base_nsStackWalk.cpp,v 1.5 2015/02/15 02:11:03 ryoo #include <stdlib.h> #include <string.h> -@@ -903,7 +903,7 @@ FramePointerStackWalk(NS_WalkStackCallba +@@ -901,7 +901,7 @@ FramePointerStackWalk(NS_WalkStackCallba (long(next) & 3)) { break; } @@ -45,12 +45,12 @@ $NetBSD: patch-mozilla_xpcom_base_nsStackWalk.cpp,v 1.5 2015/02/15 02:11:03 ryoo // ppc mac or powerpc64 linux void* pc = *(bp + 2); bp += 3; -@@ -933,7 +933,7 @@ FramePointerStackWalk(NS_WalkStackCallba +@@ -931,7 +931,7 @@ FramePointerStackWalk(NS_WalkStackCallba } #define X86_OR_PPC (defined(__i386) || defined(PPC) || defined(__ppc__)) -#if X86_OR_PPC && (NSSTACKWALK_SUPPORTS_MACOSX || NSSTACKWALK_SUPPORTS_LINUX) // i386 or PPC Linux or Mac stackwalking code +#if X86_OR_PPC && (NSSTACKWALK_SUPPORTS_DARWIN || NSSTACKWALK_SUPPORTS_LINUX) // i386 or PPC Linux or Mac stackwalking code - EXPORT_XPCOM_API(nsresult) + XPCOM_API(nsresult) NS_StackWalk(NS_WalkStackCallback aCallback, uint32_t aSkipFrames, diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_build_XPCOMInit.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_build_XPCOMInit.cpp index 16c21d8ab69..2d1acaeebe2 100644 --- a/www/seamonkey/patches/patch-mozilla_xpcom_build_XPCOMInit.cpp +++ b/www/seamonkey/patches/patch-mozilla_xpcom_build_XPCOMInit.cpp @@ -1,8 +1,8 @@ -$NetBSD: patch-mozilla_xpcom_build_XPCOMInit.cpp,v 1.1 2015/02/15 02:11:03 ryoon Exp $ +$NetBSD: patch-mozilla_xpcom_build_XPCOMInit.cpp,v 1.2 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/xpcom/build/XPCOMInit.cpp.orig 2015-02-05 04:38:49.000000000 +0000 +--- mozilla/xpcom/build/XPCOMInit.cpp.orig 2015-09-02 09:27:33.000000000 +0000 +++ mozilla/xpcom/build/XPCOMInit.cpp -@@ -139,7 +139,9 @@ extern nsresult nsStringInputStreamConst +@@ -141,7 +141,9 @@ extern nsresult nsStringInputStreamConst #include "mozilla/VisualEventTracer.h" #endif @@ -10,9 +10,9 @@ $NetBSD: patch-mozilla_xpcom_build_XPCOMInit.cpp,v 1.1 2015/02/15 02:11:03 ryoon #include "ogg/ogg.h" +#endif #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) - #include "vpx_mem/vpx_mem.h" - #endif -@@ -652,11 +654,13 @@ NS_InitXPCOM2(nsIServiceManager** aResul + #if defined(HAVE_STDINT_H) + // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in +@@ -669,11 +671,13 @@ NS_InitXPCOM2(nsIServiceManager** aResul // this oddness. mozilla::SetICUMemoryFunctions(); diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build index 0daad5fd5d2..7930c1544bf 100644 --- a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build +++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build @@ -1,6 +1,6 @@ -$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build,v 1.2 2015/03/17 19:50:42 ryoon Exp $ +$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build,v 1.3 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/xpcom/reflect/xptcall/md/unix/moz.build.orig 2015-03-09 05:34:28.000000000 +0000 +--- mozilla/xpcom/reflect/xptcall/md/unix/moz.build.orig 2015-09-02 09:27:34.000000000 +0000 +++ mozilla/xpcom/reflect/xptcall/md/unix/moz.build @@ -9,7 +9,7 @@ if CONFIG['OS_ARCH'] == 'Darwin': 'xptcinvoke_darwin.cpp', @@ -11,20 +11,12 @@ $NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build,v 1.2 2015/03/17 SOURCES += [ 'xptcinvoke_asm_ppc_rhapsody.s', ] -@@ -19,14 +19,14 @@ if CONFIG['OS_ARCH'] == 'Darwin': - if '86' in CONFIG['OS_TEST'] and CONFIG['OS_TEST'] != 'x86_64': - DEFINES['MOZ_NEED_LEADING_UNDERSCORE'] = True - --if CONFIG['OS_ARCH'] in ('NetBSD', 'GNU'): -+if CONFIG['OS_ARCH'] in ('OpenBSD', 'GNU'): - if CONFIG['CPU_ARCH'] == 'x86': - SOURCES += [ - 'xptcinvoke_gcc_x86_unix.cpp', +@@ -26,7 +26,7 @@ if CONFIG['OS_ARCH'] == 'GNU': 'xptcstubs_gcc_x86_unix.cpp' ] --if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'OpenBSD') or \ -+if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'DragonFly') or \ +-if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'OpenBSD') or \ ++if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'OpenBSD', 'DragonFly') or \ CONFIG['OS_ARCH'].startswith('GNU_'): if CONFIG['OS_TEST'] == 'x86_64': SOURCES += [ diff --git a/www/seamonkey/patches/patch-rc b/www/seamonkey/patches/patch-rc index a739e427870..aaa39d389f3 100644 --- a/www/seamonkey/patches/patch-rc +++ b/www/seamonkey/patches/patch-rc @@ -1,13 +1,15 @@ -$NetBSD: patch-rc,v 1.8 2013/01/07 21:55:30 ryoon Exp $ +$NetBSD: patch-rc,v 1.9 2015/09/21 05:03:45 ryoon Exp $ ---- mozilla/browser/branding/unofficial/locales/en-US/brand.dtd.orig 2012-11-18 10:19:30.000000000 +0000 +--- mozilla/browser/branding/unofficial/locales/en-US/brand.dtd.orig 2015-09-02 09:27:26.000000000 +0000 +++ mozilla/browser/branding/unofficial/locales/en-US/brand.dtd -@@ -2,7 +2,7 @@ +@@ -2,8 +2,8 @@ - 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/. --> +-<!ENTITY brandShorterName "Mozilla Developer Preview"> -<!ENTITY brandShortName "Mozilla Developer Preview"> -<!ENTITY brandFullName "Mozilla Developer Preview"> ++<!ENTITY brandShorterName "Browser"> +<!ENTITY brandShortName "Browser"> +<!ENTITY brandFullName "Browser"> <!ENTITY vendorShortName "mozilla.org"> |