226 lines
8.6 KiB
Diff
226 lines
8.6 KiB
Diff
|
Index: gnome-python-extras-2.25.3/configure.ac
|
||
|
===================================================================
|
||
|
--- gnome-python-extras-2.25.3.orig/configure.ac 2009-02-15 23:20:23.000000000 +0100
|
||
|
+++ gnome-python-extras-2.25.3/configure.ac 2009-03-09 17:43:01.417674203 +0100
|
||
|
@@ -19,6 +19,7 @@ m4_define(gtkhtml2_required_version,
|
||
|
m4_define(mozilla_required_version, 1.2b)
|
||
|
m4_define(firefox_required_version, 1.0)
|
||
|
m4_define(xulrunner_required_version, 1.8)
|
||
|
+m4_define(xulrunner19_required_version, 1.9)
|
||
|
m4_define(libgda_required_version, 3.99.11)
|
||
|
m4_define(gksu_required_version, 1.2.5)
|
||
|
m4_define(gksu2_required_version, 2.0.4)
|
||
|
@@ -230,65 +231,88 @@ AM_CONDITIONAL(BUILD_EGG, $build_eggrece
|
||
|
dnl should we build the gtkmozembed module?
|
||
|
AC_ARG_BINDING([gtkmozembed], [ON], [gtkmozembed])
|
||
|
AC_ARG_WITH(gtkmozembed, AS_HELP_STRING(
|
||
|
- [--with-gtkmozembed=mozilla|firefox|xulrunner],
|
||
|
+ [--with-gtkmozembed=mozilla|firefox|xulrunner|xulrunner-1.9],
|
||
|
[package that provides libgtkmozembed]),
|
||
|
[mozpackage=$withval], [mozpackage=any])
|
||
|
|
||
|
if "$build_gtkmozembed"; then
|
||
|
if test $mozpackage = any ; then
|
||
|
|
||
|
+PKG_CHECK_MODULES(GTKMOZEMBED, [libxul-embedding >= xulrunner19_required_version
|
||
|
+ gtk+-2.0 >= gtk_required_version],
|
||
|
+ [build_gtkmozembed=true; mozpackage=xulrunner-1.9; mozpkgconfig=libxul-embedding],
|
||
|
+ [
|
||
|
PKG_CHECK_MODULES(GTKMOZEMBED, [xulrunner-gtkmozembed >= xulrunner_required_version
|
||
|
gtk+-2.0 >= gtk_required_version],
|
||
|
- [build_gtkmozembed=true; mozpackage=xulrunner],
|
||
|
+ [build_gtkmozembed=true; mozpackage=xulrunner; mozpkgconfig=$mozpackage-gtkmozembed],
|
||
|
[
|
||
|
PKG_CHECK_MODULES(GTKMOZEMBED, [firefox-gtkmozembed >= firefox_required_version
|
||
|
gtk+-2.0 >= gtk_required_version],
|
||
|
- [build_gtkmozembed=true; mozpackage=firefox],
|
||
|
+ [build_gtkmozembed=true; mozpackage=firefox; mozpkgconfig=$mozpackage-gtkmozembed],
|
||
|
[
|
||
|
PKG_CHECK_MODULES(GTKMOZEMBED, [mozilla-gtkmozembed >= mozilla_required_version
|
||
|
gtk+-2.0 >= gtk_required_version],
|
||
|
- [build_gtkmozembed=true; mozpackage=mozilla],
|
||
|
+ [build_gtkmozembed=true; mozpackage=mozilla; mozpkgconfig=$mozpackage-gtkmozembed],
|
||
|
build_gtkmozembed=false)
|
||
|
])
|
||
|
])
|
||
|
+ ])
|
||
|
|
||
|
else
|
||
|
|
||
|
+GTKMOZEMBED_CODEGEN_DEFINES=""
|
||
|
case $mozpackage in
|
||
|
- xulrunner) mozpackage_required_version=xulrunner_required_version ;;
|
||
|
- firefox) mozpackage_required_version=firefox_required_version ;;
|
||
|
- mozilla)
|
||
|
- mozpackage_required_version=mozilla_required_version
|
||
|
- AC_MSG_CHECKING([for extra gtkmozembed code generation flags])
|
||
|
- PKG_CHECK_MODULES(XUL19, mozilla-gtkmozembed >= 0.21 gtk+-2.0,
|
||
|
- GTKMOZEMBED_CODEGEN_DEFINES="-DHAVE_XUL19",
|
||
|
- GTKMOZEMBED_CODEGEN_DEFINES="")
|
||
|
- AC_MSG_RESULT([$GTKMOZEMBED_CODEGEN_DEFINES])
|
||
|
- ;;
|
||
|
- *) AC_MSG_ERROR([--with-gtkmozembed argument must be either 'mozilla', 'firefox', or 'xulrunner'])
|
||
|
+ xulrunner-1.9) mozpackage_required_version=xulrunner19_required_version ; mozpkgconfig=libxul-embedding ; GTKMOZEMBED_CODEGEN_DEFINES="-DHAVE_XUL19" ;;
|
||
|
+ xulrunner) mozpackage_required_version=xulrunner_required_version ; mozpkgconfig=$mozpackage-gtkmozembed ;;
|
||
|
+ firefox) mozpackage_required_version=firefox_required_version ; mozpkgconfig=$mozpackage-gtkmozembed ;;
|
||
|
+ mozilla) mozpackage_required_version=mozilla_required_version ; mozpkgconfig=$mozpackage-gtkmozembed ;;
|
||
|
+ *) AC_MSG_ERROR([--with-gtkmozembed argument must be either 'mozilla', 'firefox', 'xulrunner-1.9' or 'xulrunner'])
|
||
|
esac
|
||
|
AC_SUBST(GTKMOZEMBED_CODEGEN_DEFINES)
|
||
|
|
||
|
-PKG_CHECK_MODULES(GTKMOZEMBED, [$mozpackage-gtkmozembed >= $mozpackage_required_version,
|
||
|
- gtk+-2.0 >= gtk_required_version],
|
||
|
+PKG_CHECK_MODULES(GTKMOZEMBED, [$mozpkgconfig >= $mozpackage_required_version,
|
||
|
+ gtk+-2.0 >= gtk_required_version],
|
||
|
build_gtkmozembed=true,
|
||
|
build_gtkmozembed=false)
|
||
|
|
||
|
fi
|
||
|
|
||
|
AM_CONDITIONAL(BUILD_GTKMOZEMBED, $build_gtkmozembed)
|
||
|
-if test -n "$export_dynamic"; then
|
||
|
- GTKMOZEMBED_LIBS=`echo $GTKMOZEMBED_LIBS | sed -e "s/$export_dynamic//"`
|
||
|
-fi
|
||
|
-MOZILLA_HOME="`$PKG_CONFIG --variable=libdir $mozpackage-gtkmozembed`"
|
||
|
-if test -z "$MOZILLA_HOME"; then
|
||
|
- MOZILLA_HOME="`$PKG_CONFIG --variable=sdkdir $mozpackage-gtkmozembed`/lib"
|
||
|
-fi
|
||
|
-AC_SUBST(MOZILLA_HOME)
|
||
|
+if test $mozpackage = xulrunner-1.9; then
|
||
|
+ GTKMOZEMBED_CFLAGS="$(pkg-config --cflags --define-variable=includetype=unstable libxul-embedding gtk+-2.0)"
|
||
|
+else
|
||
|
+ MOZILLA_HOME="`$PKG_CONFIG --variable=libdir $mozpackage-gtkmozembed`"
|
||
|
+ if test -z "$MOZILLA_HOME"; then
|
||
|
+ MOZILLA_HOME="`$PKG_CONFIG --variable=sdkdir $mozpackage-gtkmozembed`/lib"
|
||
|
+ fi
|
||
|
+ AC_SUBST(MOZILLA_HOME)
|
||
|
+fi # $mozpackage = xulrunner-1.9
|
||
|
|
||
|
fi # if build_gtkmozembed
|
||
|
|
||
|
AM_CONDITIONAL(BUILD_GTKMOZEMBED, $build_gtkmozembed)
|
||
|
+
|
||
|
+AC_LANG_PUSH(C++)
|
||
|
+_SAVE_CPPFLAGS=$CPPFLAGS
|
||
|
+_SAVE_CXXFLAGS=$CXXFLAGS
|
||
|
+CXXFLAGS=$GTKMOZEMBED_CFLAGS
|
||
|
+CPPFLAGS=
|
||
|
+AC_COMPILE_IFELSE([AC_LANG_SOURCE(
|
||
|
+[[#ifndef XPCOM_GLUE
|
||
|
+#error "no xpcom glue"
|
||
|
+#endif]])],
|
||
|
+[have_xpcom_glue=yes], [have_xpcom_glue=yes]
|
||
|
+)
|
||
|
+CPPFLAGS=$_SAVE_CPPFLAGS
|
||
|
+CXXFLAGS=$_SAVE_CXXFLAGS
|
||
|
+AC_LANG_POP(C++)
|
||
|
+
|
||
|
+AM_CONDITIONAL(HAVE_XPCOM_GLUE, [test $have_xpcom_glue=yes])
|
||
|
+if test "$have_xpcom_glue" = "yes"; then
|
||
|
+ AC_DEFINE(HAVE_XPCOM_GLUE, 1,
|
||
|
+ [Define to 1 if libxpcomglue is being used.])
|
||
|
+fi
|
||
|
+
|
||
|
if test -n "$export_dynamic"; then
|
||
|
GTKMOZEMBED_LIBS=`echo $GTKMOZEMBED_LIBS | sed -e "s/$export_dynamic//"`
|
||
|
fi
|
||
|
Index: gnome-python-extras-2.25.3/gtkmozembed/Makefile.am
|
||
|
===================================================================
|
||
|
--- gnome-python-extras-2.25.3.orig/gtkmozembed/Makefile.am 2008-12-12 02:06:29.000000000 +0100
|
||
|
+++ gnome-python-extras-2.25.3/gtkmozembed/Makefile.am 2009-03-09 17:11:56.390812130 +0100
|
||
|
@@ -13,9 +13,15 @@ pkgpyexecdir = $(pyexecdir)/gtk-2.0
|
||
|
pkgpyexec_LTLIBRARIES = gtkmozembed.la
|
||
|
gtkmozembed_la_LDFLAGS = -module -avoid-version \
|
||
|
-export-symbols-regex initgtkmozembed \
|
||
|
- -R$(MOZILLA_HOME) -L$(MOZILLA_HOME)
|
||
|
+ $(NULL)
|
||
|
+
|
||
|
+# only use rpath for non-glue builds
|
||
|
+if !HAVE_XPCOM_GLUE
|
||
|
+ gtkmozembed_la_LDFLAGS + = -R$(MOZILLA_HOME) -L$(MOZILLA_HOME)
|
||
|
+endif
|
||
|
+
|
||
|
gtkmozembed_la_LIBADD = $(GTKMOZEMBED_LIBS)
|
||
|
-gtkmozembed_la_SOURCES = gtkmozembedmodule.c
|
||
|
+gtkmozembed_la_SOURCES = gtkmozembedmodule.cpp
|
||
|
nodist_gtkmozembed_la_SOURCES = gtkmozembed.c
|
||
|
gtkmozembed.c: gtkmozembed.defs gtkmozembed.override
|
||
|
CLEANFILES = gtkmozembed.c
|
||
|
Index: gnome-python-extras-2.25.3/gtkmozembed/gtkmozembedmodule.cpp
|
||
|
===================================================================
|
||
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||
|
+++ gnome-python-extras-2.25.3/gtkmozembed/gtkmozembedmodule.cpp 2009-03-09 16:47:51.857680474 +0100
|
||
|
@@ -0,0 +1,72 @@
|
||
|
+#ifdef HAVE_CONFIG_H
|
||
|
+#include "config.h"
|
||
|
+#endif
|
||
|
+
|
||
|
+/* include this first, before NO_IMPORT_PYGOBJECT is defined */
|
||
|
+#include <pygobject.h>
|
||
|
+#include <pygtk/pygtk.h>
|
||
|
+
|
||
|
+#ifdef XPCOM_GLUE
|
||
|
+#include "gtkmozembed_glue.cpp"
|
||
|
+#endif
|
||
|
+
|
||
|
+G_BEGIN_DECLS
|
||
|
+void initgtkmozembed(void);
|
||
|
+void pygtkmozembed_add_constants(PyObject *module, const gchar *strip_prefix);
|
||
|
+void pygtkmozembed_register_classes (PyObject *d);
|
||
|
+G_END_DECLS
|
||
|
+
|
||
|
+extern PyMethodDef pygtkmozembed_functions[];
|
||
|
+
|
||
|
+void
|
||
|
+initgtkmozembed(void)
|
||
|
+{
|
||
|
+ PyObject *m, *d;
|
||
|
+ int argc = 0;
|
||
|
+
|
||
|
+ init_pygobject ();
|
||
|
+
|
||
|
+#ifdef XPCOM_GLUE
|
||
|
+ static const GREVersionRange greVersion = {
|
||
|
+ "1.9b", PR_TRUE,
|
||
|
+ "1.9.*", PR_TRUE
|
||
|
+ };
|
||
|
+ char xpcomLocation[4096];
|
||
|
+ nsresult rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcomLocation, 4096);
|
||
|
+ if (NS_FAILED(rv)) {
|
||
|
+ printf("GRE_GetGREPathWithProperties failed\n");
|
||
|
+ return;
|
||
|
+ }
|
||
|
+
|
||
|
+ // Startup the XPCOM Glue that links us up with XPCOM.
|
||
|
+ XPCOMGlueStartup(xpcomLocation);
|
||
|
+ if (NS_FAILED(rv)) {
|
||
|
+ printf("XPCOMGlueStartup failed\n");
|
||
|
+ return;
|
||
|
+ }
|
||
|
+
|
||
|
+ rv = GTKEmbedGlueStartup();
|
||
|
+ if (NS_FAILED(rv)) {printf("location: %s \n", xpcomLocation);
|
||
|
+ printf("GTKEmbedGlueStartup failed\n");
|
||
|
+ return;
|
||
|
+ }
|
||
|
+
|
||
|
+ //gtk_moz_embed_set_comp_path(xpcomLocation);
|
||
|
+
|
||
|
+ char *lastSlash = strrchr(xpcomLocation, '/');
|
||
|
+ if (lastSlash)
|
||
|
+ *lastSlash = '\0';
|
||
|
+
|
||
|
+ gtk_moz_embed_set_path(xpcomLocation);
|
||
|
+#endif
|
||
|
+
|
||
|
+ m = Py_InitModule ("gtkmozembed", pygtkmozembed_functions);
|
||
|
+ d = PyModule_GetDict (m);
|
||
|
+
|
||
|
+ pygtkmozembed_add_constants(m, "GTK_MOZ_EMBED_");
|
||
|
+ pygtkmozembed_register_classes (d);
|
||
|
+
|
||
|
+ if (PyErr_Occurred ()) {
|
||
|
+ Py_FatalError ("can't initialise module gtkmozembed");
|
||
|
+ }
|
||
|
+}
|