From d96c64c9898446b4cbc879626f43597e98f01b210166e5bd35c7000581bf0c65 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Fri, 19 Aug 2011 13:21:58 +0000 Subject: [PATCH] Accepting request 79291 from devel:languages:python Update to 2.90.2 - Please forward this and also python-gobject2 to Factory (forwarded request 79274 from dimstar) OBS-URL: https://build.opensuse.org/request/show/79291 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gobject?expand=0&rev=10 --- pygobject-2.28.6.tar.bz2 | 3 -- pygobject-2.90.2.tar.bz2 | 3 ++ python-gobject-python3.patch | 91 ------------------------------------ python-gobject.changes | 39 ++++++++++++++++ python-gobject.spec | 60 +++++++++++------------- python3-gobject.changes | 39 ++++++++++++++++ python3-gobject.spec | 60 +++++++++++------------- 7 files changed, 133 insertions(+), 162 deletions(-) delete mode 100644 pygobject-2.28.6.tar.bz2 create mode 100644 pygobject-2.90.2.tar.bz2 delete mode 100644 python-gobject-python3.patch diff --git a/pygobject-2.28.6.tar.bz2 b/pygobject-2.28.6.tar.bz2 deleted file mode 100644 index e2c7984..0000000 --- a/pygobject-2.28.6.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4bfe017fa845940184c82a4d8949db3414cb29dfc84815fb763697dc85bdcee -size 888240 diff --git a/pygobject-2.90.2.tar.bz2 b/pygobject-2.90.2.tar.bz2 new file mode 100644 index 0000000..9178e2d --- /dev/null +++ b/pygobject-2.90.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45bd788ecd819305ef6a1fc1e2771cd78a4532d7a29a3bb358a612b058b1d96e +size 687809 diff --git a/python-gobject-python3.patch b/python-gobject-python3.patch deleted file mode 100644 index 8c0b2f8..0000000 --- a/python-gobject-python3.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 4e5833d0c2fe548617e5ea510f05920fd0caf73b Mon Sep 17 00:00:00 2001 -From: Ignacio Casal Quinteiro -Date: Thu, 21 Apr 2011 14:52:20 +0000 -Subject: [python3] fix build. PYcairo_IMPORT doesn't exists anymore - ---- -(limited to 'gi/pygi-foreign-cairo.c') - -diff --git a/gi/pygi-foreign-cairo.c b/gi/pygi-foreign-cairo.c -index 10d5643..8353294 100644 ---- a/gi/pygi-foreign-cairo.c -+++ b/gi/pygi-foreign-cairo.c -@@ -30,7 +30,7 @@ - #include - #endif - --Pycairo_CAPI_t *Pycairo_CAPI; -+static Pycairo_CAPI_t *Pycairo_CAPI; - - #include "pygi-foreign.h" - -@@ -115,7 +115,12 @@ cairo_surface_release (GIBaseInfo *base_info, - static PyMethodDef _gi_cairo_functions[] = {}; - PYGLIB_MODULE_START(_gi_cairo, "_gi_cairo") - { -+#if PY_VERSION_HEX < 0x03000000 - Pycairo_IMPORT; -+#else -+ Pycairo_CAPI = (Pycairo_CAPI_t*) PyCObject_Import("cairo", "CAPI"); -+#endif -+ - if (Pycairo_CAPI == NULL) - return PYGLIB_MODULE_ERROR_RETURN; - --- -cgit v0.9 -From 426c7109d4c0dbf0d56cc075f97f33b3451f79a8 Mon Sep 17 00:00:00 2001 -From: John (J5) Palmieri -Date: Wed, 27 Apr 2011 19:47:19 +0000 -Subject: use PyCapsule when importing pycairo/require pycairo 1.10.0 for python3 builds - -* PyCObject is deprecated and pycairo 1.10.0 is first release to fix this issue ---- -diff --git a/configure.ac b/configure.ac -index 0cc920b..fb69237 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -17,7 +17,8 @@ m4_define(pygobject_version, pygobject_major_version.pygobject_minor_version.pyg - - dnl versions of packages we require ... - m4_define(introspection_required_version, 0.10.2) --m4_define(pycairo_required_version, 1.2.0) -+m4_define(py2cairo_required_version, 1.2.0) -+m4_define(py3cairo_required_version, 1.10.0) - m4_define(glib_required_version, 2.24.0) - m4_define(gio_required_version, 2.24.0) - m4_define(giounix_required_version, 2.22.4) -@@ -226,9 +227,15 @@ if test "$enable_introspection" != no; then - AC_SUBST(GI_DATADIR) - - if test "$enable_cairo" != no; then -- PKG_CHECK_MODULES(PYCAIRO, -- pycairo >= pycairo_required_version -- ) -+ if test $build_py3k = true; then -+ PKG_CHECK_MODULES(PYCAIRO, -+ py3cairo >= py3cairo_required_version -+ ) -+ else -+ PKG_CHECK_MODULES(PYCAIRO, -+ pycairo >= py2cairo_required_version -+ ) -+ fi - fi - fi - AM_CONDITIONAL(ENABLE_INTROSPECTION, test "$enable_introspection" = "yes") -diff --git a/gi/pygi-foreign-cairo.c b/gi/pygi-foreign-cairo.c -index 8353294..af84733 100644 ---- a/gi/pygi-foreign-cairo.c -+++ b/gi/pygi-foreign-cairo.c -@@ -118,7 +118,7 @@ PYGLIB_MODULE_START(_gi_cairo, "_gi_cairo") - #if PY_VERSION_HEX < 0x03000000 - Pycairo_IMPORT; - #else -- Pycairo_CAPI = (Pycairo_CAPI_t*) PyCObject_Import("cairo", "CAPI"); -+ Pycairo_CAPI = (Pycairo_CAPI_t*) PyCapsule_Import("cairo.CAPI", 0); - #endif - - if (Pycairo_CAPI == NULL) --- -cgit v0.9 diff --git a/python-gobject.changes b/python-gobject.changes index 5d9fa0a..e187802 100644 --- a/python-gobject.changes +++ b/python-gobject.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Thu Aug 18 23:07:58 CEST 2011 - dimstar@opensuse.org + +- Update to version 2.90.2: + + remove tests that were removed from gi + + don't calculate item_size using is_pointer + + Updated signal example to use GObject introspection + + Updated properties example to use GObject introspection + + Add override for GLib.Variant.split_signature() + + [pygi-convert.sh] Handle the import of pygtk and require + Gtk 3.0 + + Install pygobject.h again. +- Do not provide python-gobject2-devel anymore. It's a package of + its own. + +------------------------------------------------------------------- +Mon Aug 15 09:01:29 UTC 2011 - dimstar@opensuse.org + +- Update to 2.90.1 (3.0 pre-release): + + New rewritten invoker is twice as fast and easier to extend and + debug + + Complete break from static bindings so we may improve the core + without breaking legacy APIs + + Better type handling + + Parallel installable with PyGObject 2.28 for legacy binding + support (2.28 must be compiled with –disable-introspection) + + Fixed object array handling + + Added more overrides for PyGTK API emulation + + Support for function calling using keyword arguments + + GObject and GLib symbols can now have overrides + + All static bit removed or made private + + GVariants now work from callback returns +- Add xz BuildRequires to be able to decompress the tar.xz source. +- Drop python-gobject-python3.patch: fixed upstream. +- Split out shared library libpygobject-gi-2.0-python. +- No longer obsolete and provide: python-gobject2. We are no longer + compatible to what python-gobject2 used to provide. For + compatibility, a python-gobject2 package is being re-instated. + ------------------------------------------------------------------- Fri Jun 17 11:53:53 CEST 2011 - vuntz@opensuse.org diff --git a/python-gobject.spec b/python-gobject.spec index 96afc1b..8492f56 100644 --- a/python-gobject.spec +++ b/python-gobject.spec @@ -30,26 +30,24 @@ Name: python-gobject %define _name pygobject Summary: Python bindings for GObject -Version: 2.28.6 -Release: 2 +Version: 2.90.2 +Release: 1 License: LGPLv2.1+ Group: Development/Libraries/Python Url: http://ftp.gnome.org/pub/GNOME/sources/pygobject/ -Source: http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.28/%{_name}-%{version}.tar.bz2 -# PATCH-FIX-UPSTREAM python-gobject-python3.patch vuntz@opensuse.org -- Taken from git, various fixes for python3 -Patch0: python-gobject-python3.patch +Source: http://download.gnome.org/sources/pygobject/2.90/%{_name}-%{version}.tar.bz2 BuildRequires: fdupes BuildRequires: glib2-devel -BuildRequires: gobject-introspection-devel +BuildRequires: gobject-introspection-devel >= 0.10.2 BuildRequires: libffi-devel +# Only needed because we don't (and won't) support building xz tarballs by default... See bnc#697467 +BuildRequires: xz %if %{build_for_python3} BuildRequires: python3-cairo-devel BuildRequires: python3-devel %else BuildRequires: python-cairo-devel BuildRequires: python-devel -Provides: python-gobject2 = %{version} -Obsoletes: python-gobject2 < %{version} %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %{local_py_requires} @@ -63,10 +61,6 @@ License: LGPLv2.1+ Summary: Python bindings for GObject -- Cairo bindings Group: Development/Libraries/Python Requires: %{name} = %{version} -%if ! %{build_for_python3} -Provides: python-gobject2-cairo = %{version} -Obsoletes: python-gobject2-cairo < %{version} -%endif %define cairo_real_package %(rpm -q --qf '%%{NAME}' --whatprovides cairo) Supplements: packageand(%{name}:%{cairo_real_package}) @@ -76,19 +70,25 @@ GLib's GObjects. This package contains the Python Cairo bindings for GObject. +%package -n libpyglib-gi-2_0-python0 +Summary: Python Gobject Introspeciton binding +Group: System/Libraries + +%description -n libpyglib-gi-2_0-python0 +Pygobjects is an extension module for python that gives you access to +GLib's GObjects. + +The bindings are handled by gobject-introspection libraries. + %package devel License: LGPLv2.1+ Summary: Python bindings for GObject Group: Development/Libraries/Python Requires: %{name} = %{version} +Requires: libpyglib-gi-2_0-python0 = %{version} %if %{build_for_python3} # Several files are conflicting between python2 and python3 builds Conflicts: python-gobject-devel -%else -Provides: python-gobject2-devel = %{version} -Obsoletes: python-gobject2-devel < %{version} -Provides: python-gobject2-doc = %{version} -Obsoletes: python-gobject2-doc < %{version} %endif %description devel @@ -97,8 +97,6 @@ addon libraries such as pygtk. %prep %setup -q -n %{_name}-%{version} -%patch0 -p1 -autoreconf -fi %build %if %{build_for_python3} @@ -116,47 +114,41 @@ rm examples/Makefile* %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig +%post -n libpyglib-gi-2_0-python0 -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%postun -n libpyglib-gi-2_0-python0 -p /sbin/ldconfig %files %defattr(-,root,root) %doc AUTHORS NEWS README ChangeLog examples %dir %{local_py_sitedir}/gtk-2.0 %{local_py_sitedir}/gi/ -%{local_py_sitedir}/gtk-2.0/gio/ -%{local_py_sitedir}/glib/ -%{local_py_sitedir}/gobject/ %{local_py_sitedir}/gtk-2.0/dsextras.py* -%{local_py_sitedir}/pygtk.* -%{_libdir}/*.so.* # Live in cairo subpackage %exclude %{local_py_sitedir}/gi/_gi_cairo.so +%files -n libpyglib-gi-2_0-python0 +%defattr(-, root, root) +%{_libdir}/libpyglib-gi-2.0-python.so.0* + %files cairo %defattr(-,root,root) %{local_py_sitedir}/gi/_gi_cairo.so %files devel %defattr(-,root,root) -%{_includedir}/pygtk-2.0/ +%{_includedir}/pygobject-3.0/ %{_libdir}/*.so -%{_libdir}/pkgconfig/pygobject-2.0.pc -## codegen -%{_bindir}/pygobject-codegen-2.0 +%{_libdir}/pkgconfig/pygobject-3.0.pc # we explicitly list the directories here to be sure we don't include something # that should live in the main package %dir %{_datadir}/%{_name} -%dir %{_datadir}/%{_name}/2.0 -%{_datadir}/%{_name}/2.0/codegen/ -%{_datadir}/%{_name}/2.0/defs/ %{_datadir}/%{_name}/xsl/ ## doc: we need the files there since building API docs for other python ## bindings require some files from here # Own these repositories to not depend on gtk-doc while building: %dir %{_datadir}/gtk-doc %dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/pygobject/ +%doc %{_datadir}/gtk-doc/html/pygobject/ %changelog diff --git a/python3-gobject.changes b/python3-gobject.changes index 5d9fa0a..e187802 100644 --- a/python3-gobject.changes +++ b/python3-gobject.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Thu Aug 18 23:07:58 CEST 2011 - dimstar@opensuse.org + +- Update to version 2.90.2: + + remove tests that were removed from gi + + don't calculate item_size using is_pointer + + Updated signal example to use GObject introspection + + Updated properties example to use GObject introspection + + Add override for GLib.Variant.split_signature() + + [pygi-convert.sh] Handle the import of pygtk and require + Gtk 3.0 + + Install pygobject.h again. +- Do not provide python-gobject2-devel anymore. It's a package of + its own. + +------------------------------------------------------------------- +Mon Aug 15 09:01:29 UTC 2011 - dimstar@opensuse.org + +- Update to 2.90.1 (3.0 pre-release): + + New rewritten invoker is twice as fast and easier to extend and + debug + + Complete break from static bindings so we may improve the core + without breaking legacy APIs + + Better type handling + + Parallel installable with PyGObject 2.28 for legacy binding + support (2.28 must be compiled with –disable-introspection) + + Fixed object array handling + + Added more overrides for PyGTK API emulation + + Support for function calling using keyword arguments + + GObject and GLib symbols can now have overrides + + All static bit removed or made private + + GVariants now work from callback returns +- Add xz BuildRequires to be able to decompress the tar.xz source. +- Drop python-gobject-python3.patch: fixed upstream. +- Split out shared library libpygobject-gi-2.0-python. +- No longer obsolete and provide: python-gobject2. We are no longer + compatible to what python-gobject2 used to provide. For + compatibility, a python-gobject2 package is being re-instated. + ------------------------------------------------------------------- Fri Jun 17 11:53:53 CEST 2011 - vuntz@opensuse.org diff --git a/python3-gobject.spec b/python3-gobject.spec index eb50c20..47eb161 100644 --- a/python3-gobject.spec +++ b/python3-gobject.spec @@ -1,5 +1,5 @@ # -# spec file for package python3-gobject +# spec file for package python-gobject # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -30,26 +30,24 @@ Name: python3-gobject %define _name pygobject Summary: Python bindings for GObject -Version: 2.28.6 +Version: 2.90.2 Release: 1 License: LGPLv2.1+ Group: Development/Libraries/Python Url: http://ftp.gnome.org/pub/GNOME/sources/pygobject/ -Source: http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.28/%{_name}-%{version}.tar.bz2 -# PATCH-FIX-UPSTREAM python-gobject-python3.patch vuntz@opensuse.org -- Taken from git, various fixes for python3 -Patch0: python-gobject-python3.patch +Source: http://download.gnome.org/sources/pygobject/2.90/%{_name}-%{version}.tar.bz2 BuildRequires: fdupes BuildRequires: glib2-devel -BuildRequires: gobject-introspection-devel +BuildRequires: gobject-introspection-devel >= 0.10.2 BuildRequires: libffi-devel +# Only needed because we don't (and won't) support building xz tarballs by default... See bnc#697467 +BuildRequires: xz %if %{build_for_python3} BuildRequires: python3-cairo-devel BuildRequires: python3-devel %else BuildRequires: python-cairo-devel BuildRequires: python-devel -Provides: python-gobject2 = %{version} -Obsoletes: python-gobject2 < %{version} %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %{local_py_requires} @@ -63,10 +61,6 @@ License: LGPLv2.1+ Summary: Python bindings for GObject -- Cairo bindings Group: Development/Libraries/Python Requires: %{name} = %{version} -%if ! %{build_for_python3} -Provides: python-gobject2-cairo = %{version} -Obsoletes: python-gobject2-cairo < %{version} -%endif %define cairo_real_package %(rpm -q --qf '%%{NAME}' --whatprovides cairo) Supplements: packageand(%{name}:%{cairo_real_package}) @@ -76,19 +70,25 @@ GLib's GObjects. This package contains the Python Cairo bindings for GObject. +%package -n libpyglib-gi-2_0-python0 +Summary: Python Gobject Introspeciton binding +Group: System/Libraries + +%description -n libpyglib-gi-2_0-python0 +Pygobjects is an extension module for python that gives you access to +GLib's GObjects. + +The bindings are handled by gobject-introspection libraries. + %package devel License: LGPLv2.1+ Summary: Python bindings for GObject Group: Development/Libraries/Python Requires: %{name} = %{version} +Requires: libpyglib-gi-2_0-python0 = %{version} %if %{build_for_python3} # Several files are conflicting between python2 and python3 builds Conflicts: python-gobject-devel -%else -Provides: python-gobject2-devel = %{version} -Obsoletes: python-gobject2-devel < %{version} -Provides: python-gobject2-doc = %{version} -Obsoletes: python-gobject2-doc < %{version} %endif %description devel @@ -97,8 +97,6 @@ addon libraries such as pygtk. %prep %setup -q -n %{_name}-%{version} -%patch0 -p1 -autoreconf -fi %build %if %{build_for_python3} @@ -116,47 +114,41 @@ rm examples/Makefile* %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig +%post -n libpyglib-gi-2_0-python0 -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%postun -n libpyglib-gi-2_0-python0 -p /sbin/ldconfig %files %defattr(-,root,root) %doc AUTHORS NEWS README ChangeLog examples %dir %{local_py_sitedir}/gtk-2.0 %{local_py_sitedir}/gi/ -%{local_py_sitedir}/gtk-2.0/gio/ -%{local_py_sitedir}/glib/ -%{local_py_sitedir}/gobject/ %{local_py_sitedir}/gtk-2.0/dsextras.py* -%{local_py_sitedir}/pygtk.* -%{_libdir}/*.so.* # Live in cairo subpackage %exclude %{local_py_sitedir}/gi/_gi_cairo.so +%files -n libpyglib-gi-2_0-python0 +%defattr(-, root, root) +%{_libdir}/libpyglib-gi-2.0-python.so.0* + %files cairo %defattr(-,root,root) %{local_py_sitedir}/gi/_gi_cairo.so %files devel %defattr(-,root,root) -%{_includedir}/pygtk-2.0/ +%{_includedir}/pygobject-3.0/ %{_libdir}/*.so -%{_libdir}/pkgconfig/pygobject-2.0.pc -## codegen -%{_bindir}/pygobject-codegen-2.0 +%{_libdir}/pkgconfig/pygobject-3.0.pc # we explicitly list the directories here to be sure we don't include something # that should live in the main package %dir %{_datadir}/%{_name} -%dir %{_datadir}/%{_name}/2.0 -%{_datadir}/%{_name}/2.0/codegen/ -%{_datadir}/%{_name}/2.0/defs/ %{_datadir}/%{_name}/xsl/ ## doc: we need the files there since building API docs for other python ## bindings require some files from here # Own these repositories to not depend on gtk-doc while building: %dir %{_datadir}/gtk-doc %dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/pygobject/ +%doc %{_datadir}/gtk-doc/html/pygobject/ %changelog