pygobject:

- add a patch to lets crosscompile
This commit is contained in:
Stephan Raue 2009-09-28 14:20:24 +02:00
parent 47e0e7e664
commit 5ab6f3ab9f

View File

@ -0,0 +1,120 @@
diff -Naur pygobject-2.16.1/gobject/_constants.c pygobject-2.16.1.patch/gobject/_constants.c
--- pygobject-2.16.1/gobject/_constants.c 1970-01-01 01:00:00.000000000 +0100
+++ pygobject-2.16.1.patch/gobject/_constants.c 2009-03-17 15:45:46.000000000 +0100
@@ -0,0 +1,26 @@
+#include <Python.h>
+#include <glibconfig.h>
+
+DL_EXPORT(void)
+init_constants(void)
+{
+ PyObject *m, *d;
+
+ m = Py_InitModule("gobject._constants", NULL);
+ d = PyModule_GetDict(m);
+
+ PyDict_SetItemString(d, "G_MINFLOAT", PyFloat_FromDouble(G_MINFLOAT));
+ PyDict_SetItemString(d, "G_MAXFLOAT", PyFloat_FromDouble(G_MAXFLOAT));
+ PyDict_SetItemString(d, "G_MINDOUBLE", PyFloat_FromDouble(G_MINDOUBLE));
+ PyDict_SetItemString(d, "G_MAXDOUBLE", PyFloat_FromDouble(G_MAXDOUBLE));
+ PyDict_SetItemString(d, "G_MINSHORT", PyLong_FromLong(G_MINSHORT));
+ PyDict_SetItemString(d, "G_MAXSHORT", PyLong_FromLong(G_MAXSHORT));
+ PyDict_SetItemString(d, "G_MAXUSHORT", PyLong_FromUnsignedLong(G_MAXUSHORT));
+ PyDict_SetItemString(d, "G_MININT", PyLong_FromLong(G_MININT));
+ PyDict_SetItemString(d, "G_MAXINT", PyLong_FromLong(G_MAXINT));
+ PyDict_SetItemString(d, "G_MAXUINT", PyLong_FromUnsignedLong(G_MAXUINT));
+ PyDict_SetItemString(d, "G_MINLONG", PyLong_FromLong(G_MINLONG));
+ PyDict_SetItemString(d, "G_MAXLONG", PyLong_FromLong(G_MAXLONG));
+ PyDict_SetItemString(d, "G_MAXULONG", PyLong_FromUnsignedLong(G_MAXULONG));
+}
+
diff -Naur pygobject-2.16.1/gobject/constants.py pygobject-2.16.1.patch/gobject/constants.py
--- pygobject-2.16.1/gobject/constants.py 1970-01-01 01:00:00.000000000 +0100
+++ pygobject-2.16.1.patch/gobject/constants.py 2009-03-17 15:45:51.000000000 +0100
@@ -0,0 +1,51 @@
+# -*- Mode: Python; py-indent-offset: 4 -*-
+# pygobject - Python bindings for the GObject library
+# Copyright (C) 2006-2007 Johan Dahlin
+#
+# gobject/constants.py: GObject type constants
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA
+
+import sys
+
+import gobject._gobject
+_gobject = sys.modules['gobject._gobject']
+from _constants import *
+
+# TYPE_INVALID defined in gobjectmodule.c
+TYPE_NONE = _gobject.type_from_name('void')
+TYPE_INTERFACE = _gobject.type_from_name('GInterface')
+TYPE_CHAR = _gobject.type_from_name('gchar')
+TYPE_UCHAR = _gobject.type_from_name('guchar')
+TYPE_BOOLEAN = _gobject.type_from_name('gboolean')
+TYPE_INT = _gobject.type_from_name('gint')
+TYPE_UINT = _gobject.type_from_name('guint')
+TYPE_LONG = _gobject.type_from_name('glong')
+TYPE_ULONG = _gobject.type_from_name('gulong')
+TYPE_INT64 = _gobject.type_from_name('gint64')
+TYPE_UINT64 = _gobject.type_from_name('guint64')
+TYPE_ENUM = _gobject.type_from_name('GEnum')
+TYPE_FLAGS = _gobject.type_from_name('GFlags')
+TYPE_FLOAT = _gobject.type_from_name('gfloat')
+TYPE_DOUBLE = _gobject.type_from_name('gdouble')
+TYPE_STRING = _gobject.type_from_name('gchararray')
+TYPE_POINTER = _gobject.type_from_name('gpointer')
+TYPE_BOXED = _gobject.type_from_name('GBoxed')
+TYPE_PARAM = _gobject.type_from_name('GParam')
+TYPE_OBJECT = _gobject.type_from_name('GObject')
+TYPE_PYOBJECT = _gobject.type_from_name('PyObject')
+TYPE_UNICHAR = TYPE_UINT
+
diff -Naur pygobject-2.16.1/gobject/Makefile.am pygobject-2.16.1.patch/gobject/Makefile.am
--- pygobject-2.16.1/gobject/Makefile.am 2009-02-18 00:20:53.000000000 +0100
+++ pygobject-2.16.1.patch/gobject/Makefile.am 2009-03-17 15:36:54.000000000 +0100
@@ -11,7 +11,7 @@
pygobject_PYTHON = \
__init__.py \
propertyhelper.py
-pygobject_LTLIBRARIES = _gobject.la
+pygobject_LTLIBRARIES = _gobject.la _constants.la
nodist_pygobject_PYTHON = constants.py
common_ldflags = -module -avoid-version
@@ -19,18 +19,11 @@
common_ldflags += -no-undefined
endif
-constants.py: generate-constants$(EXEEXT) constants.py.in
- rm -f constants.py
- cp $(srcdir)/constants.py.in constants.py
- chmod 644 constants.py
- $(top_builddir)/gobject/generate-constants$(EXEEXT) >> constants.py
- chmod 444 constants.py
-
-generate_constants_CFLAGS = $(GLIB_CFLAGS) $(PYTHON_INCLUDES)
-
-noinst_PROGRAMS = generate-constants
CLEANFILES = constants.py
-EXTRA_DIST = constants.py.in
+
+_constants_la_CFLAGS = $(PYTHON_INCLUDES) $(GLIB_CFLAGS)
+_constants_la_LDFLAGS = $(common_ldflags) -export-symbols-regex init_constants
+_constants_la_SOURCES = _constants.c
_gobject_la_CFLAGS = \
-I$(top_srcdir)/glib \