Compare commits

2 Commits
1.1 ... main

8 changed files with 261 additions and 25 deletions

27
_service Normal file
View File

@@ -0,0 +1,27 @@
<?xml version="1.0"?>
<services>
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://gitlab.gnome.org/GNOME/pygobject.git</param>
<param name="revision">3.52.3</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">v?(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
<!-- <param name="changesgenerate">enable</param> -->
</service>
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/python/pythoncapi-compat.git</param>
<param name="revision">2d18aecd7b2f549d38a13e27b682ea4966f37bd8</param>
<param name="versionformat">vendored</param>
</service>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">zst</param>
</service>
<service name="set_version" mode="manual">
<param name="basename">pygobject</param>
</service>
</services>

BIN
pygobject-3.44.1.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
pygobject-3.52.3.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

4
pygobject.obsinfo Normal file
View File

@@ -0,0 +1,4 @@
name: pygobject
version: 3.52.3
mtime: 1742148884
commit: 1c675e47a160662e5247a387dcd35e0d36b3c4d2

View File

@@ -1,3 +1,181 @@
-------------------------------------------------------------------
Tue Apr 1 20:36:38 UTC 2025 - Christian Boltz <suse-beta@cboltz.de>
- Re-add BuildRequires pkgconfig(gobject-introspection-1.0) to
fix "cannot import name GLib, introspection typelib not found"
error (boo#1240549)
-------------------------------------------------------------------
Sun Mar 16 18:35:28 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 3.52.3:
+ Remove invalid error check for gi_constant_info_get_value.
-------------------------------------------------------------------
Wed Mar 12 11:26:02 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 3.52.2:
+ Revert to legacy license definition in pyproject.toml.
- Drop pygobject-license.patch: variant of this has been merged
upstream.
-------------------------------------------------------------------
Mon Mar 10 12:54:17 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 3.52.1
+ Use `girepository` 2.0 for GIR mappings.
+ Use Python's vectorcall protocol internally.
+ Improved API for asyncio.
+ Deprecation: The pygtkcompat module now throws an exception
when imported.
+ Method signatures are exposed from PyGObject now.
+ Use gobject-introspection-tests for testing.
+ Convenience API for Gdk.RGBA got GDK 4, similar to GDK 3.
+ Added a [pre-commit](https://pre-commit.com/) configuration.
+ Use standard `enum` module for enums and flags in PyGObject.
+ Added an option to skip automatic initialization of GTK and
GDK.
+ PyGObject is no longer automatically tested on i386
architecture.
+ Fixed iterator protocol implementation for properties.
+ Various code and documentation improvements.
- Add pythoncapi-compat as subproject.
- Pass -Dtests=false to meson: disable tests for now, as we do not
have the submodule for that.
- Pass -Dwheel=false to meson, as we use our own python
single-spec mechanism to install the python bindings.
- Add pygobject-license.patch: Fix build by not relying on PE-639
yet.
- Replace pkgconfig(gobject-introspection-1.0) BuildRequires with
pkgconfig(girepository-2.0): follow upstreams changes.
- Drop pkgconfig(gmodule-2.0) BuildRequires: no longer needed.
-------------------------------------------------------------------
Wed Feb 5 14:19:09 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 3.51.0:
+ Use `girepository` 2.0 for GIR mappings.
+ Use Python's vectorcall protocol internally.
+ Improved API for asyncio.
+ Deprecation: The pygtkcompat module now throws an exception
when imported.
+ Method signatures are exposed from PyGObject now.
+ Convenience API for Gdk.RGBA got GDK 4, similar to GDK 3.
+ Use standard `enum` module for enums and flags in PyGObject.
+ Added an option to skip automatic initialization of GTK and
GDK.
+ Fixed iterator protocol implementation for properties.
+ Various code and documentation improvements.
-------------------------------------------------------------------
Wed Oct 30 15:08:11 UTC 2024 - Yunhe Guo <i@guoyunhe.me>
- Add python-pygobject provides: help packages to eliminate rpmlint
warnings when comparing requrements.txt vs the packages depdency.
'pygobject' is the proper upstream name.
-------------------------------------------------------------------
Thu Sep 12 12:32:33 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 3.50.0:
+ tests: Fix event test errors when GTK is not installed
-------------------------------------------------------------------
Fri Sep 6 18:59:31 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 3.49.0:
+ Rename master branch to main
+ Drop support for Python 3.8
+ Add Override for Gio.DataInputStream
+ Treat GParamSpec as any other fundamental type
+ override connection.register_object to prevent an invocation
object from leaking
+ Various PyPy related fixes
+ bind_property: Accept keyword arguments
+ Various documentation improvements
+ Python2 / GTK2 cleanups
+ asyncio integration with support to await Gio async functions
+ meson: move from .egg-info to .dist-info/METADATA
+ build: fixes for building with gobject-introspection 1.81
- Stop removing executable bits from examples, no longer needed.
-------------------------------------------------------------------
Mon Apr 8 06:47:10 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 3.48.2:
+ Fix support for fundamental (primitive) types, such as
Gst.Bitmask.
-------------------------------------------------------------------
Mon Mar 11 08:00:09 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 3.48.1:
+ Fix installation with pip failing in some environments with
ModuleNotFoundError in g-ir-scanner.
-------------------------------------------------------------------
Sat Mar 9 18:38:20 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 3.48.0:
+ test: fix some tests on macOS.
+ docs: some dark mode fixes.
-------------------------------------------------------------------
Tue Feb 13 07:52:01 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 3.47.0:
+ Drop setuptools in favor of meson-python.
+ Fundamental type support.
+ Fundamental type support for GValues.
+ pygi-convert.sh: migrate FILE_CHOOSER_CONFIRMATION_*.
+ gimodule, cairo: Use multi-phase initialization as per PEP-489.
+ Deprecate classes in gi.option module.
+ Deprecate pygtkcompat.
+ Add support for (optional) nullable GErrors.
+ Fix CssProvider not valid in GTK2.
+ Fix double free if array item cannot be marshalled to Python.
+ Raise exception if a callback property is encountered.
+ build: Fix pycairo detection "script" for Windows.
+ Replace deprecated ``pkgutil.find_loader`` call.
+ Avoid segfault on property access for incompletely initialized
objects.
+ pygenum: When getting a member instance, use correct key for
the lookup.
+ Project / Development / CI:
- Remove pborelli from the maintainer list.
- Add Arjan Molenaar to maintainers.
- Remove runtests script.
-------------------------------------------------------------------
Sun Sep 10 19:51:54 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
- Update to version 3.46.0:
+ Add support for Python 3.12.
+ Drop GTK 2 support.
+ Complete the PEP-451 implementation in gi.importer.
+ Replace usage of deprecated FFI closure API.
+ Fix invalid marshalling in some cases for boxed values, for
example with Gtk.StyleContext.get_property().
+ Consistent setting of enum and flag property.
+ Fix docstring for methods that return an array and have a
length (out) argument.
+ Overrides:
- Fix incompatibility for CssProvider.load_from_data() (GTK
4.10).
- Allow Gdk.{Color,RGBA} instances to be compared with other
objects.
- Add overrides for Gdk.FileList in Gdk-4.0.
+ Updated documentation.
- Add explicit BuildRequires on pkgconfig(libffi). This is looked
by the build scripts and was already being pulled in by something
else.
-------------------------------------------------------------------
Sat Jun 10 10:10:50 UTC 2023 - ecsos <ecsos@oensuse.org>
- Add %{?sle15_python_module_pythons}: build additional python
flavors besides the 'default' when building for SLE15.
-------------------------------------------------------------------
Fri Mar 24 20:01:52 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-gobject
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
# Define these before the call of python_subpackages
%define introspection_real_package %(rpm -q --qf '%%{NAME}' -f $(readlink %{_libdir}/libgirepository-1.0.so -f))
%define introspection_real_package %(rpm -q --qf '%%{NAME}' -f $(readlink %{_libdir}/libgirepository-2.0.so -f))
%define cairo_real_package %(rpm -q --qf '%%{NAME}' --whatprovides cairo)
# Don't BuildRequire pkgconfig(gdk-3.0) to find the real package for libgdk-3!
# It produces a dependency cycle: avahi - gtk3-devel - python-dbus-python
@@ -28,31 +28,42 @@
%global __requires_exclude typelib\\(%%namespaces\\)
%global __requires_exclude_from ^%{_libdir}/python.*/site-packages/gi/__init__.py$
%define _name pygobject
%define glib_version 2.80.0
%define gi_version 1.64.0
%define pycairo_version 1.16.0
%define libffi_version 3.0
%{?sle15_python_module_pythons}
Name: python-gobject
Version: 3.44.1
Version: 3.52.3
Release: 0
Summary: Python bindings for GObject
License: LGPL-2.1-or-later
Group: Development/Languages/Python
URL: https://wiki.gnome.org/Projects/PyGObject/
Source0: https://download.gnome.org/sources/pygobject/3.44/%{_name}-%{version}.tar.xz
Source0: %{_name}-%{version}.tar.zst
Source1: pythoncapi-compat-vendored.tar.zst
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pycairo >= 1.16.0}
BuildRequires: %{python_module meson-python}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pycairo >= %{pycairo_version}}
BuildRequires: %{python_module pycairo-devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(cairo-gobject)
BuildRequires: pkgconfig(gio-2.0) >= 2.38.0
BuildRequires: pkgconfig(glib-2.0) >= 2.38.0
# build cycle!
# BuildRequires: pkgconfig(gdk-3.0) >= 2.38.0
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.46.0
BuildRequires: pkgconfig(gio-2.0) >= %{glib_version}
BuildRequires: pkgconfig(girepository-2.0) >= %{glib_version}
BuildRequires: pkgconfig(glib-2.0) >= %{glib_version}
BuildRequires: pkgconfig(gobject-2.0) >= %{glib_version}
BuildRequires: pkgconfig(gobject-introspection-1.0) >= %{gi_version}
BuildRequires: pkgconfig(libffi) >= %{libffi_version}
# Trigger an automatic installation of python(2|3.*)-gobject when python and libgirepository are installed.
Supplements: (python and %{introspection_real_package})
Provides: python-pygobject = %{version}
%python_subpackages
%description
@@ -102,9 +113,9 @@ addon libraries such as pygtk.
%package -n %{name}-common-devel
Summary: Shared development files for GObject's Python bindings
Group: Development/Languages/Python
Requires: glib2-devel >= 2.56.0
Requires: gobject-introspection-devel >= 1.56.0
Requires: libffi-devel >= 3.0.0
Requires: glib2-devel >= %{glib_version}
Requires: gobject-introspection-devel >= %{gi_version}
Requires: libffi-devel >= %{libffi_version}
Requires: pkgconfig(cairo)
Requires: pkgconfig(cairo-gobject)
Provides: %{python_module gobject-common-devel = %{version}}
@@ -115,20 +126,31 @@ addon libraries such as pygtk in both Python2 and Python3.
%prep
%setup -q -n %{_name}-%{version}
# Remove the executable bits from example scripts:
find examples -name '*.py' -exec chmod -R -x {} +
%autopatch -p1
pushd subprojects
tar xf %{SOURCE1} --xform=s/pythoncapi-compat-vendored/pythoncapi-compat/
pushd pythoncapi-compat
patch -p1 < ../packagefiles/pythoncapi-compat-meson.diff
popd
popd
%build
export CFLAGS="%{optflags}"
%python_build
%meson -Dtests=false -Dwheel=false
%meson_build
%pyproject_wheel
%install
%python_install
%meson_install
%pyproject_install
# Incorrectly installed by a python38-setuptools vendored distutils
# which does not play well with the distro patched python38.
# Later flavors installed the correct files into lib64 as well
if [ "%{_libdir}" != "%{_prefix}/lib" -a -d %{buildroot}%{_prefix}/lib/pkgconfig ]; then
rm -r %{buildroot}%{_prefix}/lib/pkgconfig
else
echo 'Removing %{buildroot}%{_prefix}/lib/pkgconfig is no longer needed.' \
'Please fix the spec.'
fi
%{python_expand # delete unwanted python scripts and their compiled cache files
@@ -142,6 +164,8 @@ find %{buildroot}%{$python_sitearch} -name GIMarshallingTests* -delete -print
}
find %{buildroot} "(" -name '*.la' -or -name '*.a' ")" -delete
# Nuke a stray metadata file
find %{buildroot}%{python_sitearch}/PyGObject*/ "(" -name 'METADATA' ")" -delete -print
%{?python_compileall}
%python_expand %fdupes %{buildroot}%{$python_sitearch}
@@ -149,23 +173,20 @@ find %{buildroot} "(" -name '*.la' -or -name '*.a' ")" -delete
%files %{python_files}
%license COPYING
%doc NEWS
%doc examples/
%{python_sitearch}/gi/
%{python_sitearch}/PyGObject-%{version}*-py*.egg-info
# Lives in cairo subpackage
%exclude %{python_sitearch}/gi/_gi_cairo*.so
%{python_sitearch}/pygobject-*.dist-info/
# Lives in Gdk subpackage
%exclude %{python_sitearch}/gi/_gtktemplate.py
%exclude %{python_sitearch}/gi/overrides/Gdk.*
%exclude %{python_sitearch}/gi/overrides/GdkPixbuf.py
%exclude %{python_sitearch}/gi/overrides/Gtk.*
%exclude %{python_sitearch}/gi/overrides/keysyms.*
%exclude %{python_sitearch}/gi/overrides/Pango.*
%pycache_only %exclude %{python_sitearch}/gi/__pycache__/_gtktemplate*
%pycache_only %exclude %{python_sitearch}/gi/overrides/__pycache__/Gdk.*
%pycache_only %exclude %{python_sitearch}/gi/overrides/__pycache__/GdkPixbuf.*
%pycache_only %exclude %{python_sitearch}/gi/overrides/__pycache__/Gtk.*
%pycache_only %exclude %{python_sitearch}/gi/overrides/__pycache__/keysyms.*
%pycache_only %exclude %{python_sitearch}/gi/overrides/__pycache__/Pango.*
%files %{python_files Gdk}
@@ -173,13 +194,11 @@ find %{buildroot} "(" -name '*.la' -or -name '*.a' ")" -delete
%{python_sitearch}/gi/overrides/Gdk.*
%{python_sitearch}/gi/overrides/GdkPixbuf.py
%{python_sitearch}/gi/overrides/Gtk.*
%{python_sitearch}/gi/overrides/keysyms.*
%{python_sitearch}/gi/overrides/Pango.*
%pycache_only %{python_sitearch}/gi/__pycache__/_gtktemplate*
%pycache_only %{python_sitearch}/gi/overrides/__pycache__/Gdk.*
%pycache_only %{python_sitearch}/gi/overrides/__pycache__/GdkPixbuf.*
%pycache_only %{python_sitearch}/gi/overrides/__pycache__/Gtk.*
%pycache_only %{python_sitearch}/gi/overrides/__pycache__/keysyms.*
%pycache_only %{python_sitearch}/gi/overrides/__pycache__/Pango.*
%files %{python_files cairo}
@@ -187,6 +206,7 @@ find %{buildroot} "(" -name '*.la' -or -name '*.a' ")" -delete
%files %{python_files devel}
%doc README.rst
%{_includedir}/python%{python_version}/pygobject/
%files -n %{name}-common-devel
%{_includedir}/pygobject-3.0/

BIN
pythoncapi-compat-vendored.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,4 @@
name: pythoncapi-compat
version: vendored
mtime: 1724663410
commit: 2d18aecd7b2f549d38a13e27b682ea4966f37bd8