diff --git a/packages/python/devel/pygobject/010-binary-constants-module.diff b/packages/python/devel/pygobject/010-binary-constants-module.diff new file mode 100644 index 0000000000..1c07abaebb --- /dev/null +++ b/packages/python/devel/pygobject/010-binary-constants-module.diff @@ -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 ++#include ++ ++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 \