diff options
Diffstat (limited to 'newmoon/debian/patches/UXP-eliminate-need-for-GTK-2.patch')
-rw-r--r-- | newmoon/debian/patches/UXP-eliminate-need-for-GTK-2.patch | 295 |
1 files changed, 295 insertions, 0 deletions
diff --git a/newmoon/debian/patches/UXP-eliminate-need-for-GTK-2.patch b/newmoon/debian/patches/UXP-eliminate-need-for-GTK-2.patch new file mode 100644 index 0000000..7eaffa9 --- /dev/null +++ b/newmoon/debian/patches/UXP-eliminate-need-for-GTK-2.patch @@ -0,0 +1,295 @@ +# This patch was created by Gordon N. Squash. +# +# This patch can be used to eliminate the Unified XUL Platform's need for both +# GTK+ 2 and GTK+ 3, even when you are compiling UXP only to use GTK+ 3. +# +# This patch is still highly experimental. The author of this patch has not +# yet encountered any issues with this patch, but there are no guarantees. +# +# WARNING! This is not an official patch in any way, shape or form! Do not +# contact the original authors of UXP for support of this patch! +# +diff -uprN palemoon-28.12.0-original/platform/config/recurse.mk palemoon-28.12.0-patched/platform/config/recurse.mk +--- palemoon-28.12.0-original/platform/config/recurse.mk 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/config/recurse.mk 2020-08-19 13:12:24.228334662 -0400 +@@ -161,9 +161,9 @@ endif + + # Interdependencies that moz.build world don't know about yet for compilation. + # Note some others are hardcoded or "guessed" in recursivemake.py and emitter.py +-ifeq ($(MOZ_WIDGET_TOOLKIT),gtk3) +-toolkit/library/target: widget/gtk/mozgtk/gtk3/target +-endif ++#ifeq ($(MOZ_WIDGET_TOOLKIT),gtk3) ++#toolkit/library/target: widget/gtk/mozgtk/gtk3/target ++#endif + ifdef MOZ_LDAP_XPCOM + ldap/target: config/external/nss/target mozglue/build/target + toolkit/library/target: ldap/target +diff -uprN palemoon-28.12.0-original/platform/dom/ipc/moz.build palemoon-28.12.0-patched/platform/dom/ipc/moz.build +--- palemoon-28.12.0-original/platform/dom/ipc/moz.build 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/dom/ipc/moz.build 2020-08-19 11:20:54.768059475 -0400 +@@ -114,6 +114,7 @@ LOCAL_INCLUDES += [ + '/dom/workers', + '/embedding/components/printingui/ipc', + '/extensions/cookie', ++ '/extensions/spellcheck/hunspell/glue', + '/extensions/spellcheck/src', + '/gfx/2d', + '/hal/sandbox', +diff -uprN palemoon-28.12.0-original/platform/dom/plugins/ipc/moz.build palemoon-28.12.0-patched/platform/dom/plugins/ipc/moz.build +--- palemoon-28.12.0-original/platform/dom/plugins/ipc/moz.build 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/dom/plugins/ipc/moz.build 2020-08-18 14:55:40.548143359 -0400 +@@ -121,11 +121,7 @@ LOCAL_INCLUDES += [ + + DEFINES['FORCE_PR_LOG'] = True + +-if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gtk3': +- CXXFLAGS += CONFIG['TK_CFLAGS'] +-else: +- # Force build against gtk+2 for struct offsets and such. +- CXXFLAGS += CONFIG['MOZ_GTK2_CFLAGS'] ++CXXFLAGS += CONFIG['TK_CFLAGS'] + + CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] + +diff -uprN palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginInstanceChild.cpp palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginInstanceChild.cpp +--- palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginInstanceChild.cpp 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginInstanceChild.cpp 2020-08-19 12:33:46.736239327 -0400 +@@ -52,7 +52,9 @@ + #include <gtk/gtk.h> + #include <gdk/gdkx.h> + #include <gdk/gdk.h> ++#if MOZ_WIDGET_GTK == 2 + #include "gtk2xtbin.h" ++#endif + + #elif defined(OS_WIN) + +@@ -152,7 +154,7 @@ + , mAsyncInvalidateTask(0) + , mCachedWindowActor(nullptr) + , mCachedElementActor(nullptr) +-#ifdef MOZ_WIDGET_GTK ++#if MOZ_WIDGET_GTK == 2 + , mXEmbed(false) + #endif // MOZ_WIDGET_GTK + #if defined(OS_WIN) +@@ -201,7 +203,7 @@ + #if defined(MOZ_X11) && defined(XP_UNIX) && !defined(XP_MACOSX) + mWindow.ws_info = &mWsInfo; + memset(&mWsInfo, 0, sizeof(mWsInfo)); +-#ifdef MOZ_WIDGET_GTK ++#if MOZ_WIDGET_GTK == 2 + mWsInfo.display = nullptr; + mXtClient.top_widget = nullptr; + #else +@@ -610,7 +612,7 @@ + return NPERR_GENERIC_ERROR; + + NPWindowType newWindowType = windowed ? NPWindowTypeWindow : NPWindowTypeDrawable; +-#ifdef MOZ_WIDGET_GTK ++#if MOZ_WIDGET_GTK == 2 + if (mWindow.type != newWindowType && mWsInfo.display) { + // plugin type has been changed but we already have a valid display + // so update it for the recent plugin mode +@@ -1202,7 +1204,7 @@ + aWindow.x, aWindow.y, + aWindow.width, aWindow.height)); + +-#ifdef MOZ_WIDGET_GTK ++#if MOZ_WIDGET_GTK == 2 + if (mXEmbed) { + mWindow.window = reinterpret_cast<void*>(aWindow.window); + } +@@ -1231,7 +1233,7 @@ + if (!mWindow.window) + return; + +-#ifdef MOZ_WIDGET_GTK ++#if MOZ_WIDGET_GTK == 2 + if (mXtClient.top_widget) { + xt_client_unrealize(&mXtClient); + xt_client_destroy(&mXtClient); +@@ -1313,7 +1315,7 @@ + CreateWindow(aWindow); + } + +-#ifdef MOZ_WIDGET_GTK ++#if MOZ_WIDGET_GTK == 2 + if (mXEmbed && gtk_check_version(2,18,7) != nullptr) { // older + if (aWindow.type == NPWindowTypeWindow) { + GdkWindow* socket_window = gdk_window_lookup(static_cast<GdkNativeWindow>(aWindow.window)); +@@ -1439,7 +1441,7 @@ + bool + PluginInstanceChild::Initialize() + { +-#ifdef MOZ_WIDGET_GTK ++#if MOZ_WIDGET_GTK == 2 + NPError rv; + + if (mWsInfo.display) { +@@ -4650,7 +4652,7 @@ + + mPendingAsyncCalls.Clear(); + +-#ifdef MOZ_WIDGET_GTK ++#if MOZ_WIDGET_GTK == 2 + if (mWindow.type == NPWindowTypeWindow && !mXEmbed) { + xt_client_xloop_destroy(); + } +diff -uprN palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginInstanceChild.h palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginInstanceChild.h +--- palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginInstanceChild.h 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginInstanceChild.h 2020-08-19 11:51:36.556135241 -0400 +@@ -35,7 +35,7 @@ + + #include <map> + +-#ifdef MOZ_WIDGET_GTK ++#if MOZ_WIDGET_GTK == 2 + #include "gtk2xtbin.h" + #endif + +@@ -458,7 +458,7 @@ private: + + #if defined(MOZ_X11) && defined(XP_UNIX) && !defined(XP_MACOSX) + NPSetWindowCallbackStruct mWsInfo; +-#ifdef MOZ_WIDGET_GTK ++#if MOZ_WIDGET_GTK == 2 + bool mXEmbed; + XtClient mXtClient; + #endif +diff -uprN palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginModuleChild.cpp palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginModuleChild.cpp +--- palemoon-28.12.0-original/platform/dom/plugins/ipc/PluginModuleChild.cpp 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/dom/plugins/ipc/PluginModuleChild.cpp 2020-08-19 12:52:01.880284378 -0400 +@@ -13,6 +13,7 @@ + + #ifdef MOZ_WIDGET_GTK + #include <gtk/gtk.h> ++#include <gtk/gtkx.h> + #endif + + #include "nsIFile.h" +@@ -1094,7 +1095,7 @@ _getvalue(NPP aNPP, + case NPNVSupportsWindowless: + *(NPBool*)aValue = PluginModuleChild::GetChrome()->Settings().supportsWindowless(); + return NPERR_NO_ERROR; +-#if defined(MOZ_WIDGET_GTK) ++#if MOZ_WIDGET_GTK == 2 + case NPNVxDisplay: { + if (aNPP) { + return InstCast(aNPP)->NPN_GetValue(aVariable, aValue); +diff -uprN palemoon-28.12.0-original/platform/dom/plugins/test/testplugin/testplugin.mozbuild palemoon-28.12.0-patched/platform/dom/plugins/test/testplugin/testplugin.mozbuild +--- palemoon-28.12.0-original/platform/dom/plugins/test/testplugin/testplugin.mozbuild 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/dom/plugins/test/testplugin/testplugin.mozbuild 2020-08-18 14:56:31.168144491 -0400 +@@ -49,13 +49,20 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa' and '64' in CONFIG['OS_TEST']: + OS_LIBS += ['-framework Carbon'] + +-if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): ++if CONFIG['MOZ_WIDGET_TOOLKIT'] in 'gtk2': + CXXFLAGS += CONFIG['MOZ_GTK2_CFLAGS'] + CFLAGS += CONFIG['MOZ_GTK2_CFLAGS'] + OS_LIBS += CONFIG['MOZ_GTK2_LIBS'] + OS_LIBS += CONFIG['XLDFLAGS'] + OS_LIBS += CONFIG['XLIBS'] + OS_LIBS += CONFIG['XEXT_LIBS'] ++elif CONFIG['MOZ_WIDGET_TOOLKIT'] in 'gtk3': ++ CXXFLAGS += CONFIG['MOZ_GTK3_CFLAGS'] ++ CFLAGS += CONFIG['MOZ_GTK3_CFLAGS'] ++ OS_LIBS += CONFIG['MOZ_GTK3_LIBS'] ++ OS_LIBS += CONFIG['XLDFLAGS'] ++ OS_LIBS += CONFIG['XLIBS'] ++ OS_LIBS += CONFIG['XEXT_LIBS'] + + if CONFIG['_MSC_VER']: + # This is intended as a temporary hack to support building with VS2015. +diff -uprN palemoon-28.12.0-original/platform/old-configure.in palemoon-28.12.0-patched/platform/old-configure.in +--- palemoon-28.12.0-original/platform/old-configure.in 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/old-configure.in 2020-08-18 14:54:27.952141735 -0400 +@@ -2324,8 +2324,6 @@ if test "$COMPILE_ENVIRONMENT"; then + fi + if test "$MOZ_WIDGET_TOOLKIT" = gtk2; then + GLIB_VERSION_MAX_ALLOWED=$GLIB_VERSION_MIN_REQUIRED +- fi +- if test "$MOZ_ENABLE_GTK"; then + if test "$MOZ_X11"; then + GDK_PACKAGES=gdk-x11-2.0 + fi +@@ -2334,8 +2332,6 @@ if test "$COMPILE_ENVIRONMENT"; then + + PKG_CHECK_MODULES(MOZ_GTK2, gtk+-2.0 >= $GTK2_VERSION gtk+-unix-print-2.0 glib-2.0 >= $GLIB_VERSION gobject-2.0 $GDK_PACKAGES) + MOZ_GTK2_CFLAGS="-I${_topsrcdir}/widget/gtk/compat $MOZ_GTK2_CFLAGS" +- fi +- if test "$MOZ_WIDGET_TOOLKIT" = gtk2; then + TK_CFLAGS=$MOZ_GTK2_CFLAGS + TK_LIBS=$MOZ_GTK2_LIBS + fi +diff -uprN palemoon-28.12.0-original/platform/toolkit/library/moz.build palemoon-28.12.0-patched/platform/toolkit/library/moz.build +--- palemoon-28.12.0-original/platform/toolkit/library/moz.build 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/toolkit/library/moz.build 2020-08-19 14:14:17.820487430 -0400 +@@ -117,10 +117,10 @@ if CONFIG['USE_ICU']: + 'icu', + ] + +-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': +- USE_LIBS += [ +- 'mozgtk_stub', +- ] ++#if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': ++# USE_LIBS += [ ++# 'mozgtk_stub', ++# ] + + if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT'] or \ + CONFIG['MOZ_TREE_FREETYPE']: +@@ -231,16 +231,18 @@ if CONFIG['MOZ_ENABLE_DBUS']: + OS_LIBS += CONFIG['MOZ_DBUS_GLIB_LIBS'] + + if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: +- if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': +- OS_LIBS += [l for l in CONFIG['TK_LIBS'] +- if l not in ('-lgtk-3', '-lgdk-3')] +- else: +- OS_LIBS += CONFIG['TK_LIBS'] ++# if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': ++# OS_LIBS += [l for l in CONFIG['TK_LIBS'] ++# if l not in ('-lgtk-3', '-lgdk-3')] ++# else: ++# OS_LIBS += CONFIG['TK_LIBS'] ++ OS_LIBS += CONFIG['TK_LIBS'] + OS_LIBS += CONFIG['XLDFLAGS'] + OS_LIBS += CONFIG['XLIBS'] + OS_LIBS += CONFIG['XEXT_LIBS'] + OS_LIBS += CONFIG['MOZ_PANGO_LIBS'] +- OS_LIBS += CONFIG['XT_LIBS'] ++ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk2': ++ OS_LIBS += CONFIG['XT_LIBS'] + OS_LIBS += [ + 'gthread-2.0', + ] +diff -uprN palemoon-28.12.0-original/platform/widget/gtk/moz.build palemoon-28.12.0-patched/platform/widget/gtk/moz.build +--- palemoon-28.12.0-original/platform/widget/gtk/moz.build 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/widget/gtk/moz.build 2020-08-19 12:31:16.304233138 -0400 +@@ -4,8 +4,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/. + +-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': +- DIRS += ['mozgtk'] ++#if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': ++# DIRS += ['mozgtk'] + + EXPORTS += [ + 'mozcontainer.h', +diff -uprN palemoon-28.12.0-original/platform/widget/moz.build palemoon-28.12.0-patched/platform/widget/moz.build +--- palemoon-28.12.0-original/platform/widget/moz.build 2020-07-30 05:37:13.000000000 -0400 ++++ palemoon-28.12.0-patched/platform/widget/moz.build 2020-08-18 15:01:26.856151106 -0400 +@@ -53,7 +53,7 @@ if toolkit in ('cocoa', 'gtk2', 'gtk3'): + if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: + DIRS += ['gtk'] + +- if CONFIG['MOZ_X11']: ++ if CONFIG['MOZ_X11'] and CONFIG['MOZ_WIDGET_TOOKIT'] == 'gtk2': + DIRS += ['gtkxtbin'] + + XPIDL_SOURCES += [ |