Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-gobject for openSUSE:Factory checked in at 2023-03-24 15:17:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-gobject (Old) and /work/SRC/openSUSE:Factory/.python-gobject.new.31432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gobject" Fri Mar 24 15:17:25 2023 rev:93 rq:1073201 version:3.44.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-gobject/python-gobject.changes 2022-08-04 13:23:38.460528882 +0200 +++ /work/SRC/openSUSE:Factory/.python-gobject.new.31432/python-gobject.changes 2023-03-24 15:17:35.786002102 +0100 @@ -1,0 +2,21 @@ +Sun Mar 19 09:09:22 UTC 2023 - Bjørn Lie <bjorn....@gmail.com> + +- Update to version 3.44.0: + + No changes compared to 3.43.1 + +------------------------------------------------------------------- +Fri Feb 24 17:30:28 UTC 2023 - Bjørn Lie <bjorn....@gmail.com> + +- Update to version 3.43.1: + + Drop support for Python 3.6 + + meson: bump minimum version to 0.53.0 and update subprojects + + gimodule: fix floating state of python objects created with + g_object_new + + Gtk.Template: Accept PathLike objects as a filename + + info: Show which type/object callables are bound to + + IntrospectionModule: handle two threads loading type at same + time + + Port to Py_TRASHCAN_BEGIN + + Other cleanups/improvements + +------------------------------------------------------------------- Old: ---- pygobject-3.42.2.tar.xz New: ---- pygobject-3.44.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-gobject.spec ++++++ --- /var/tmp/diff_new_pack.SWoEYA/_old 2023-03-24 15:17:36.270004686 +0100 +++ /var/tmp/diff_new_pack.SWoEYA/_new 2023-03-24 15:17:36.274004707 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-gobject # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,13 +29,13 @@ %global __requires_exclude_from ^%{_libdir}/python.*/site-packages/gi/__init__.py$ %define _name pygobject Name: python-gobject -Version: 3.42.2 +Version: 3.44.0 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.42/%{_name}-%{version}.tar.xz +Source0: https://download.gnome.org/sources/pygobject/3.44/%{_name}-%{version}.tar.xz BuildRequires: %{python_module devel} BuildRequires: %{python_module pycairo >= 1.16.0} ++++++ pygobject-3.42.2.tar.xz -> pygobject-3.44.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/Dockerfile new/pygobject-3.44.0/.gitlab-ci/Dockerfile --- old/pygobject-3.42.2/.gitlab-ci/Dockerfile 2022-07-16 15:12:46.069725500 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/Dockerfile 2023-03-19 09:19:42.615385500 +0100 @@ -20,6 +20,7 @@ libreadline-dev \ libsqlite3-dev \ libssl-dev \ + liblzma-dev \ ninja-build \ python3-pip \ xauth \ @@ -41,11 +42,11 @@ RUN curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash -RUN pyenv install pypy3.6-7.3.1 -RUN pyenv install 3.6.12 -RUN pyenv install --debug 3.7.9 -RUN pyenv install --debug 3.8.5 -RUN pyenv install --debug 3.9.0 -RUN pyenv install --debug 3.10.5 +RUN pyenv install pypy3.8-7.3.11 +RUN pyenv install --debug 3.7.16 +RUN pyenv install --debug 3.8.16 +RUN pyenv install --debug 3.9.16 +RUN pyenv install --debug 3.10.9 +RUN pyenv install --debug 3.11.1 ENV PATH="/usr/lib/ccache:${PATH}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/Dockerfile.old new/pygobject-3.44.0/.gitlab-ci/Dockerfile.old --- old/pygobject-3.42.2/.gitlab-ci/Dockerfile.old 2022-04-24 11:29:50.028754200 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/Dockerfile.old 2023-03-19 09:19:42.615385500 +0100 @@ -1,4 +1,4 @@ -FROM i386/ubuntu:bionic +FROM i386/debian:buster ENV DEBIAN_FRONTEND=noninteractive diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/coverage-docker.sh new/pygobject-3.44.0/.gitlab-ci/coverage-docker.sh --- old/pygobject-3.42.2/.gitlab-ci/coverage-docker.sh 2022-04-24 11:29:50.028754200 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/coverage-docker.sh 2023-03-19 09:19:42.615385500 +0100 @@ -2,11 +2,8 @@ set -e -python -m pip install coverage - # Make the Windows paths match our current layout python ./.gitlab-ci/fixup-lcov-paths.py coverage/*.lcov -python ./.gitlab-ci/fixup-covpy-paths.py coverage/.coverage* # Remove external headers (except gi tests) for path in coverage/*.lcov; do @@ -17,25 +14,9 @@ lcov --config-file .gitlab-ci/lcovrc -r "${path}" '*tmp-introspect*' -o "${path}" done -python -m coverage combine coverage -python -m coverage html --show-contexts --ignore-errors -d coverage/report-python genhtml --ignore-errors=source --config-file .gitlab-ci/lcovrc \ - coverage/*.lcov -o coverage/report-c + coverage/*.lcov -o coverage/ cd coverage rm -f .coverage* rm -f *.lcov - -ln -s report-python/index.html index-python.html -ln -s report-c/index.html index-c.html - -cat >index.html <<EOL -<html> -<body> -<ul> -<li><a href="report-c/index.html">C Coverage</a></li> -<li><a href="report-python/index.html">Python Coverage</a></li> -</ul> -</body> -</html> -EOL diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/fixup-lcov-paths.py new/pygobject-3.44.0/.gitlab-ci/fixup-lcov-paths.py --- old/pygobject-3.42.2/.gitlab-ci/fixup-lcov-paths.py 2022-04-24 11:29:50.028754200 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/fixup-lcov-paths.py 2023-03-19 09:19:42.615385500 +0100 @@ -1,6 +1,5 @@ import sys import os -import io import re @@ -11,15 +10,33 @@ for path in paths: print("cov-fixup:", path) - text = io.open(path, "r", encoding="utf-8").read() - text = text.replace("\\\\", "/") + with open(path, "r", encoding="utf-8") as h: + text = h.read() + + text = text.replace("\\\\", "/").replace("\\", "/") new_root = os.getcwd() + + def make_abs(m): + p = m.group(1) + if p.startswith("C:/"): + p = p.replace("C:/", "/c/") + if not p.startswith("/"): + p = os.path.join(new_root, p) + return "SF:" + p + + text = re.sub("SF:(.*?)$", make_abs, text, 0, re.MULTILINE) + + canidate = None for old_root in set(re.findall(":(.*?)/gi/.*?$", text, re.MULTILINE)): - if old_root != new_root: - print("replacing %r with %r" % (old_root, new_root)) - text = text.replace(old_root, new_root) - with io.open(path, "w", encoding="utf-8") as h: - h.write(text) + if canidate is None or len(old_root) < len(canidate): + canidate = old_root + + if canidate: + print("replacing %r with %r" % (canidate, new_root)) + text = text.replace(canidate, new_root) + + with open(path, "w", encoding="utf-8") as h: + h.write(text) if __name__ == "__main__": diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/run-docker-old.sh new/pygobject-3.44.0/.gitlab-ci/run-docker-old.sh --- old/pygobject-3.42.2/.gitlab-ci/run-docker-old.sh 2022-04-24 11:29:50.028754200 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/run-docker-old.sh 2023-03-19 09:19:42.615385500 +0100 @@ -2,7 +2,7 @@ set -e -TAG="registry.gitlab.gnome.org/gnome/pygobject/old:v4" +TAG="registry.gitlab.gnome.org/gnome/pygobject/old:v5" sudo docker build --build-arg HOST_USER_ID="$UID" --tag "${TAG}" \ --file "Dockerfile.old" . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/run-docker.sh new/pygobject-3.44.0/.gitlab-ci/run-docker.sh --- old/pygobject-3.42.2/.gitlab-ci/run-docker.sh 2022-07-16 14:31:16.095827300 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/run-docker.sh 2023-03-19 09:19:42.615385500 +0100 @@ -2,10 +2,10 @@ set -e -TAG="registry.gitlab.gnome.org/gnome/pygobject/main:v15" +TAG="registry.gitlab.gnome.org/gnome/pygobject/main:v19" sudo docker build --build-arg HOST_USER_ID="$UID" --tag "${TAG}" \ --file "Dockerfile" . -sudo docker run -e PYENV_VERSION='3.8.5-debug' --rm --security-opt label=disable \ +sudo docker run -e PYENV_VERSION='3.8.16-debug' --rm --security-opt label=disable \ --volume "$(pwd)/..:/home/user/app" --workdir "/home/user/app" \ --tty --interactive "${TAG}" bash diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/test-docker-old.sh new/pygobject-3.44.0/.gitlab-ci/test-docker-old.sh --- old/pygobject-3.42.2/.gitlab-ci/test-docker-old.sh 2022-04-24 11:29:50.028754200 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/test-docker-old.sh 2023-03-19 09:19:42.619385700 +0100 @@ -20,3 +20,4 @@ python -m pip install pycairo pytest pytest-faulthandler coverage python setup.py build_tests xvfb-run -a python -m coverage run --context "${COV_KEY}" tests/runtests.py +python -m coverage lcov -o "${COV_DIR}/${COV_KEY}.py.lcov" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/test-docker.sh new/pygobject-3.44.0/.gitlab-ci/test-docker.sh --- old/pygobject-3.42.2/.gitlab-ci/test-docker.sh 2022-04-24 11:29:50.028754200 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/test-docker.sh 2023-03-19 09:19:42.619385700 +0100 @@ -52,6 +52,7 @@ "${COV_DIR}/${CI_JOB_NAME}-baseline.lcov" xvfb-run -a python -m coverage run --context "${COV_KEY}" tests/runtests.py +python -m coverage lcov -o "${COV_DIR}/${COV_KEY}.py.lcov" # COLLECT GCOV COVERAGE lcov --config-file .gitlab-ci/lcovrc --directory . --capture --output-file \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/test-flatpak-gtk4.sh new/pygobject-3.44.0/.gitlab-ci/test-flatpak-gtk4.sh --- old/pygobject-3.42.2/.gitlab-ci/test-flatpak-gtk4.sh 2022-04-24 11:29:50.028754200 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/test-flatpak-gtk4.sh 2023-03-19 09:19:42.619385700 +0100 @@ -8,7 +8,10 @@ mkdir -p "${COV_DIR}" export TEST_GTK_VERSION=4.0 -python3 -m pip install --user pytest pytest-faulthandler coverage +python3 -m venv _venv +. _venv/bin/activate +python3 -m pip install pytest pytest-faulthandler coverage python3 setup.py build_tests python3 -m coverage run --context "${COV_KEY}" tests/runtests.py -chmod -R 777 "${COV_DIR}" \ No newline at end of file +python3 -m coverage lcov -o "${COV_DIR}/${COV_KEY}.py.lcov" +chmod -R 777 "${COV_DIR}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/test-flatpak.sh new/pygobject-3.44.0/.gitlab-ci/test-flatpak.sh --- old/pygobject-3.42.2/.gitlab-ci/test-flatpak.sh 2020-05-02 22:42:27.715824100 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/test-flatpak.sh 2023-03-19 09:19:42.619385700 +0100 @@ -2,8 +2,7 @@ set -e -python3 -m pip install --user pytest pytest-faulthandler -# for some reason pip3 fails the first time now.. -# https://gitlab.com/freedesktop-sdk/freedesktop-sdk/issues/776 -python3 -m pip install --user pytest pytest-faulthandler -python3 setup.py test -s \ No newline at end of file +python3 -m venv _venv +. _venv/bin/activate +python3 -m pip install pytest pytest-faulthandler +python3 setup.py test -s diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci/test-msys2.sh new/pygobject-3.44.0/.gitlab-ci/test-msys2.sh --- old/pygobject-3.42.2/.gitlab-ci/test-msys2.sh 2022-04-24 11:29:50.028754200 +0200 +++ new/pygobject-3.44.0/.gitlab-ci/test-msys2.sh 2023-03-19 09:19:42.619385700 +0100 @@ -47,6 +47,7 @@ "${COV_DIR}/${COV_KEY}-baseline.lcov" MSYSTEM= python -m coverage run --context "${COV_KEY}" tests/runtests.py +MSYSTEM= python -m coverage lcov -o "${COV_DIR}/${COV_KEY}.py.lcov" lcov \ --config-file .gitlab-ci/lcovrc \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.gitlab-ci.yml new/pygobject-3.44.0/.gitlab-ci.yml --- old/pygobject-3.42.2/.gitlab-ci.yml 2022-07-16 15:12:46.069725500 +0200 +++ new/pygobject-3.44.0/.gitlab-ci.yml 2023-03-19 09:19:42.615385500 +0100 @@ -1,4 +1,4 @@ -image: registry.gitlab.gnome.org/gnome/pygobject/main:v15 +image: registry.gitlab.gnome.org/gnome/pygobject/main:v19 stages: - build_and_test @@ -35,9 +35,10 @@ paths: - coverage/ variables: - PYENV_VERSION: "3.6.12" + PYENV_VERSION: "3.8.16-debug" script: - bash -x ./.gitlab-ci/coverage-docker.sh + coverage: '/^\s+lines\.+:\s+([\d.]+\%)\s+/' pages: stage: deploy @@ -62,40 +63,40 @@ MSYSTEM: "MINGW64" <<: *mingw-defaults -python3.6: - variables: - PYENV_VERSION: "3.6.12" - <<: *defaults - python3.7: variables: - PYENV_VERSION: "3.7.9-debug" + PYENV_VERSION: "3.7.16-debug" <<: *defaults python3.8: variables: - PYENV_VERSION: "3.8.5-debug" + PYENV_VERSION: "3.8.16-debug" <<: *defaults python3.9: variables: - PYENV_VERSION: "3.9.0-debug" + PYENV_VERSION: "3.9.16-debug" <<: *defaults python3.10: variables: - PYENV_VERSION: "3.10.5-debug" + PYENV_VERSION: "3.10.9-debug" <<: *defaults -pypy3.6: +python3.11: + variables: + PYENV_VERSION: "3.11.1-debug" + <<: *defaults + +pypy3.8: allow_failure: true variables: - PYENV_VERSION: "pypy3.6-7.3.1" + PYENV_VERSION: "pypy3.8-7.3.11" <<: *defaults old-i386-py3: stage: build_and_test - image: registry.gitlab.gnome.org/gnome/pygobject/old:v4 + image: registry.gitlab.gnome.org/gnome/pygobject/old:v5 artifacts: paths: - coverage/ @@ -105,20 +106,24 @@ gnome-master: allow_failure: true stage: build_and_test - image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master + image: quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master tags: - flatpak script: - - xvfb-run -a flatpak run --filesystem=host --share=network --socket=x11 --command=bash org.gnome.Sdk//master -x .gitlab-ci/test-flatpak.sh + # https://gitlab.gnome.org/GNOME/gnome-runtime-images/-/issues/7 + - export DBUS_SYSTEM_BUS_ADDRESS="$(dbus-daemon --session --print-address --fork)" + - xvfb-run -a flatpak run --user --filesystem=host --share=network --socket=x11 --command=bash org.gnome.Sdk//master -x .gitlab-ci/test-flatpak.sh gnome-master-gtk4: allow_failure: true stage: build_and_test - image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master + image: quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master tags: - flatpak script: - - xvfb-run -a flatpak run --filesystem=host --share=network --socket=x11 --command=bash org.gnome.Sdk//master -x .gitlab-ci/test-flatpak-gtk4.sh + # https://gitlab.gnome.org/GNOME/gnome-runtime-images/-/issues/7 + - export DBUS_SYSTEM_BUS_ADDRESS="$(dbus-daemon --session --print-address --fork)" + - xvfb-run -a flatpak run --user --filesystem=host --share=network --socket=x11 --command=bash org.gnome.Sdk//master -x .gitlab-ci/test-flatpak-gtk4.sh artifacts: paths: - - coverage/ \ No newline at end of file + - coverage/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/.readthedocs.yaml new/pygobject-3.44.0/.readthedocs.yaml --- old/pygobject-3.42.2/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/pygobject-3.44.0/.readthedocs.yaml 2023-03-19 09:19:42.619385700 +0100 @@ -0,0 +1,9 @@ +version: 2 + +sphinx: + configuration: docs/conf.py + +python: + version: '3.8' + install: + - requirements: docs/requirements.txt \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/MANIFEST.in new/pygobject-3.44.0/MANIFEST.in --- old/pygobject-3.42.2/MANIFEST.in 2022-04-24 11:29:50.028754200 +0200 +++ new/pygobject-3.44.0/MANIFEST.in 2023-03-19 09:19:42.619385700 +0100 @@ -7,12 +7,13 @@ include pygobject.doap include README.rst include .gitlab-ci.yml +include *.yaml include subprojects/*.wrap include meson.build include meson_options.txt recursive-include examples *.py *.png *.css *.ui *.gif *.gresource *.jpg *.xml recursive-include gi *.h meson.build recursive-include tests *.py *.c *.h *.xml *.supp meson.build -recursive-include docs *.rst *.svg LICENSE *.ico *.png *.css *.py *.dia Makefile +recursive-include docs *.rst *.svg LICENSE *.ico *.png *.css *.py *.dia Makefile *.txt recursive-include .gitlab-ci *.sh *.rst *.py Dockerfile* lcovrc recursive-include pygtkcompat meson.build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/NEWS new/pygobject-3.44.0/NEWS --- old/pygobject-3.42.2/NEWS 2022-07-16 14:11:13.370713700 +0200 +++ new/pygobject-3.44.0/NEWS 2023-03-19 09:24:00.152433600 +0100 @@ -1,3 +1,27 @@ +3.44.0 - 2023-03-19 +------------------- + +No changes compared to 3.43.1 + + +3.43.1 - 2023-01-28 +------------------- + +* Note: PyGObject is in need of more maintainers, please read + https://www.bassi.io/articles/2022/12/02/on-pygobject/ +* Note: This is an unstable release. + +* Drop support for Python 3.6 :mr:`184` +* meson: bump minimum version to 0.53.0 and update subprojects :mr:`227` +* gimodule: fix floating state of python objects created with g_object_new :mr:`129` +* Gtk.Template: Accept PathLike objects as a filename :mr:`195` +* info: Show which type/object callables are bound to :mr:`194` +* IntrospectionModule: handle two threads loading type at same time :mr:`149` +* Port to Py_TRASHCAN_BEGIN :mr:`226` +* Other cleanups/improvements: :mr:`181` :mr:`173` +* This release also includes all changes from 3.42.1 and 3.42.2 + + 3.42.2 - 2022-07-16 ------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/PKG-INFO new/pygobject-3.44.0/PKG-INFO --- old/pygobject-3.42.2/PKG-INFO 2022-07-16 19:51:56.778309300 +0200 +++ new/pygobject-3.44.0/PKG-INFO 2023-03-19 09:26:49.510561500 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: PyGObject -Version: 3.42.2 +Version: 3.44.0 Summary: Python bindings for GObject Introspection Home-page: https://pygobject.readthedocs.io Author: James Henstridge @@ -17,7 +17,7 @@ Classifier: Programming Language :: C Classifier: Programming Language :: Python Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.6, <4 +Requires-Python: >=3.7, <4 License-File: COPYING .. image:: https://pygobject.readthedocs.io/en/latest/_images/pygobject.svg @@ -34,7 +34,7 @@ <https://developer.gnome.org/glib/stable/>`__, `GIO <https://developer.gnome.org/gio/stable/>`__ and many more. -It supports Linux, Windows and macOS and works with **Python 3.6+** and +It supports Linux, Windows and macOS and works with **Python 3.7+** and **PyPy3**. PyGObject, including this documentation, is licensed under the **LGPLv2.1+**. @@ -42,5 +42,3 @@ ---- For more information visit https://pygobject.readthedocs.io - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/PKG-INFO.in new/pygobject-3.44.0/PKG-INFO.in --- old/pygobject-3.42.2/PKG-INFO.in 2022-04-24 11:29:50.028754200 +0200 +++ new/pygobject-3.44.0/PKG-INFO.in 2023-03-19 09:19:42.619385700 +0100 @@ -18,4 +18,4 @@ Classifier: Programming Language :: C Classifier: Programming Language :: Python Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.6, <4 +Requires-Python: >=3.7, <4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/PyGObject.egg-info/PKG-INFO new/pygobject-3.44.0/PyGObject.egg-info/PKG-INFO --- old/pygobject-3.42.2/PyGObject.egg-info/PKG-INFO 2022-07-16 19:51:56.354306200 +0200 +++ new/pygobject-3.44.0/PyGObject.egg-info/PKG-INFO 2023-03-19 09:26:49.230573400 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: PyGObject -Version: 3.42.2 +Version: 3.44.0 Summary: Python bindings for GObject Introspection Home-page: https://pygobject.readthedocs.io Author: James Henstridge @@ -17,7 +17,7 @@ Classifier: Programming Language :: C Classifier: Programming Language :: Python Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.6, <4 +Requires-Python: >=3.7, <4 License-File: COPYING .. image:: https://pygobject.readthedocs.io/en/latest/_images/pygobject.svg @@ -34,7 +34,7 @@ <https://developer.gnome.org/glib/stable/>`__, `GIO <https://developer.gnome.org/gio/stable/>`__ and many more. -It supports Linux, Windows and macOS and works with **Python 3.6+** and +It supports Linux, Windows and macOS and works with **Python 3.7+** and **PyPy3**. PyGObject, including this documentation, is licensed under the **LGPLv2.1+**. @@ -42,5 +42,3 @@ ---- For more information visit https://pygobject.readthedocs.io - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/PyGObject.egg-info/SOURCES.txt new/pygobject-3.44.0/PyGObject.egg-info/SOURCES.txt --- old/pygobject-3.42.2/PyGObject.egg-info/SOURCES.txt 2022-07-16 19:51:56.370306300 +0200 +++ new/pygobject-3.44.0/PyGObject.egg-info/SOURCES.txt 2023-03-19 09:26:49.266571800 +0100 @@ -1,4 +1,5 @@ .gitlab-ci.yml +.readthedocs.yaml COPYING MANIFEST.in NEWS @@ -44,6 +45,7 @@ docs/index.rst docs/maintguide.rst docs/packagingguide.rst +docs/requirements.txt docs/devguide/building_testing.rst docs/devguide/dev_environ.rst docs/devguide/index.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/README.rst new/pygobject-3.44.0/README.rst --- old/pygobject-3.42.2/README.rst 2022-04-24 11:29:50.032753700 +0200 +++ new/pygobject-3.44.0/README.rst 2023-03-19 09:19:42.619385700 +0100 @@ -12,7 +12,7 @@ <https://developer.gnome.org/glib/stable/>`__, `GIO <https://developer.gnome.org/gio/stable/>`__ and many more. -It supports Linux, Windows and macOS and works with **Python 3.6+** and +It supports Linux, Windows and macOS and works with **Python 3.7+** and **PyPy3**. PyGObject, including this documentation, is licensed under the **LGPLv2.1+**. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/docs/getting_started.rst new/pygobject-3.44.0/docs/getting_started.rst --- old/pygobject-3.42.2/docs/getting_started.rst 2022-03-28 06:47:29.139362300 +0200 +++ new/pygobject-3.44.0/docs/getting_started.rst 2023-03-19 09:19:42.619385700 +0100 @@ -34,7 +34,7 @@ Tutorial <https://python-gtk-3-tutorial.readthedocs.io>`__" for more examples on how to create GTK apps and the "`PyGObject API Reference <https://lazka.github.io/pgi-docs>`__" for API documentation for all supported -libraries. +libraries. There are also typing stubs available here `PyGObject-stubs <https://pypi.org/project/PyGObject-stubs/>`_. .. _windows-getting-started: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/docs/guide/deploy.rst new/pygobject-3.44.0/docs/guide/deploy.rst --- old/pygobject-3.42.2/docs/guide/deploy.rst 2022-04-24 11:29:50.032753700 +0200 +++ new/pygobject-3.44.0/docs/guide/deploy.rst 2023-03-19 09:19:42.619385700 +0100 @@ -44,9 +44,11 @@ * `MyPaint <http://mypaint.org/>`__ provides a Windows installer based on MSYS2 and Inno Setup. It uses SCons for building/installing the application. -* ...? +* `Passphraser <https://github.com/zevlee/passphraser>`__ uses the Hello World + GTK template build system (see below). Other options ------------- * `PyInstaller <http://www.pyinstaller.org/>`_ is a program that freezes (packages) Python programs into stand-alone executables, under Windows, Linux, Mac OS X, and more. PyInstaller's packager has built-in support for automatically including PyGObject dependencies with your application without requiring additional configuration. +* `Hello World GTK <https://github.com/zevlee/hello-world-gtk>`_ is a template build system for distributing Python-based GTK applications on Windows, macOS, and Linux. First, an application directory is assembled using PyInstaller. Then, a different program is used to package the resulting directory. For Windows, NSIS3 is used. For macOS, the built-in hdiutil is used. For Linux, AppImageKit is used. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/docs/requirements.txt new/pygobject-3.44.0/docs/requirements.txt --- old/pygobject-3.42.2/docs/requirements.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/pygobject-3.44.0/docs/requirements.txt 2023-03-19 09:19:42.619385700 +0100 @@ -0,0 +1,2 @@ +sphinx>=4.0,<5.0 +sphinx-rtd-theme>=0.5,<2.0 \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/examples/demo/demos/combobox.py new/pygobject-3.44.0/examples/demo/demos/combobox.py --- old/pygobject-3.42.2/examples/demo/demos/combobox.py 2019-12-30 12:13:06.353884500 +0100 +++ new/pygobject-3.44.0/examples/demo/demos/combobox.py 2023-03-19 09:19:42.619385700 +0100 @@ -209,7 +209,7 @@ path = tree_model.get_path(treeiter) indices = path.get_indices() - sensitive = not(indices[0] == 1) + sensitive = not (indices[0] == 1) cell.set_property('sensitive', sensitive) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/gi/_gtktemplate.py new/pygobject-3.44.0/gi/_gtktemplate.py --- old/pygobject-3.42.2/gi/_gtktemplate.py 2022-04-24 11:29:50.032753700 +0200 +++ new/pygobject-3.44.0/gi/_gtktemplate.py 2023-03-19 09:19:42.623386000 +0100 @@ -17,6 +17,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 # USA +import os from collections import abc from functools import partial @@ -296,7 +297,7 @@ return cls else: assert self.filename is not None - file_ = Gio.File.new_for_path(self.filename) + file_ = Gio.File.new_for_path(os.fspath(self.filename)) bytes_ = GLib.Bytes.new(file_.load_contents()[1]) cls.set_template(bytes_) register_template(cls) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/gi/gimodule.c new/pygobject-3.44.0/gi/gimodule.c --- old/pygobject-3.42.2/gi/gimodule.c 2022-04-24 11:48:47.624746600 +0200 +++ new/pygobject-3.44.0/gi/gimodule.c 2023-03-19 09:19:42.623386000 +0100 @@ -1091,9 +1091,18 @@ /* this looks like a python object created through * g_object_new -> we have no python wrapper, so create it * now */ - wrapper = pygobject_new_full(object, - /*steal=*/ FALSE, - g_class); + + if (g_object_is_floating (object)) { + g_object_ref (object); + wrapper = pygobject_new_full(object, + /*steal=*/ TRUE, + g_class); + g_object_force_floating (object); + } else { + wrapper = pygobject_new_full(object, + /*steal=*/ FALSE, + g_class); + } /* float the wrapper ref here because we are going to orphan it * so we don't destroy the wrapper. The next call to pygobject_new_full @@ -1316,7 +1325,7 @@ /* store pointer to the class with the GType */ Py_INCREF(class); - g_type_set_qdata(instance_type, g_quark_from_string("PyGObject::class"), + g_type_set_qdata(instance_type, pygobject_class_key, class); /* Mark this GType as a custom python type */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/gi/module.py new/pygobject-3.44.0/gi/module.py --- old/pygobject-3.42.2/gi/module.py 2020-05-06 18:48:34.871111600 +0200 +++ new/pygobject-3.44.0/gi/module.py 2023-03-19 09:19:42.623386000 +0100 @@ -21,6 +21,7 @@ # USA import importlib +from threading import Lock import gi @@ -117,6 +118,8 @@ if self._version is None: self._version = repository.get_version(self._namespace) + self._lock = Lock() + def __getattr__(self, name): info = repository.find_by_name(self._namespace, name) if not info: @@ -125,39 +128,41 @@ if isinstance(info, EnumInfo): g_type = info.get_g_type() - wrapper = g_type.pytype - - if wrapper is None: - if info.is_flags(): - if g_type.is_a(TYPE_FLAGS): - wrapper = flags_add(g_type) - else: - assert g_type == TYPE_NONE - wrapper = flags_register_new_gtype_and_add(info) - else: - if g_type.is_a(TYPE_ENUM): - wrapper = enum_add(g_type) - else: - assert g_type == TYPE_NONE - wrapper = enum_register_new_gtype_and_add(info) - wrapper.__info__ = info - wrapper.__module__ = 'gi.repository.' + info.get_namespace() + with self._lock: + wrapper = g_type.pytype - # Don't use upper() here to avoid locale specific - # identifier conversion (e. g. in Turkish 'i'.upper() == 'i') - # see https://bugzilla.gnome.org/show_bug.cgi?id=649165 - ascii_upper_trans = ''.maketrans( - 'abcdefgjhijklmnopqrstuvwxyz', - 'ABCDEFGJHIJKLMNOPQRSTUVWXYZ') - for value_info in info.get_values(): - value_name = value_info.get_name_unescaped().translate(ascii_upper_trans) - setattr(wrapper, value_name, wrapper(value_info.get_value())) - for method_info in info.get_methods(): - setattr(wrapper, method_info.__name__, method_info) + if wrapper is None: + if info.is_flags(): + if g_type.is_a(TYPE_FLAGS): + wrapper = flags_add(g_type) + else: + assert g_type == TYPE_NONE + wrapper = flags_register_new_gtype_and_add(info) + else: + if g_type.is_a(TYPE_ENUM): + wrapper = enum_add(g_type) + else: + assert g_type == TYPE_NONE + wrapper = enum_register_new_gtype_and_add(info) + + wrapper.__info__ = info + wrapper.__module__ = 'gi.repository.' + info.get_namespace() + + # Don't use upper() here to avoid locale specific + # identifier conversion (e. g. in Turkish 'i'.upper() == 'i') + # see https://bugzilla.gnome.org/show_bug.cgi?id=649165 + ascii_upper_trans = ''.maketrans( + 'abcdefgjhijklmnopqrstuvwxyz', + 'ABCDEFGJHIJKLMNOPQRSTUVWXYZ') + for value_info in info.get_values(): + value_name = value_info.get_name_unescaped().translate(ascii_upper_trans) + setattr(wrapper, value_name, wrapper(value_info.get_value())) + for method_info in info.get_methods(): + setattr(wrapper, method_info.__name__, method_info) - if g_type != TYPE_NONE: - g_type.pytype = wrapper + if g_type != TYPE_NONE: + g_type.pytype = wrapper elif isinstance(info, RegisteredTypeInfo): g_type = info.get_g_type() @@ -188,27 +193,28 @@ else: raise NotImplementedError(info) - # Check if there is already a Python wrapper that is not a parent class - # of the wrapper being created. If it is a parent, it is ok to clobber - # g_type.pytype with a new child class wrapper of the existing parent. - # Note that the return here never occurs under normal circumstances due - # to caching on the __dict__ itself. - if g_type != TYPE_NONE: - type_ = g_type.pytype - if type_ is not None and type_ not in bases: - self.__dict__[name] = type_ - return type_ - - dict_ = { - '__info__': info, - '__module__': 'gi.repository.' + self._namespace, - '__gtype__': g_type - } - wrapper = metaclass(name, bases, dict_) - - # Register the new Python wrapper. - if g_type != TYPE_NONE: - g_type.pytype = wrapper + with self._lock: + # Check if there is already a Python wrapper that is not a parent class + # of the wrapper being created. If it is a parent, it is ok to clobber + # g_type.pytype with a new child class wrapper of the existing parent. + # Note that the return here never occurs under normal circumstances due + # to caching on the __dict__ itself. + if g_type != TYPE_NONE: + type_ = g_type.pytype + if type_ is not None and type_ not in bases: + self.__dict__[name] = type_ + return type_ + + dict_ = { + '__info__': info, + '__module__': 'gi.repository.' + self._namespace, + '__gtype__': g_type + } + wrapper = metaclass(name, bases, dict_) + + # Register the new Python wrapper. + if g_type != TYPE_NONE: + g_type.pytype = wrapper elif isinstance(info, FunctionInfo): wrapper = info diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/gi/pygi-closure.c new/pygobject-3.44.0/gi/pygi-closure.c --- old/pygobject-3.42.2/gi/pygi-closure.c 2022-04-24 11:29:50.032753700 +0200 +++ new/pygobject-3.44.0/gi/pygi-closure.c 2023-03-19 09:19:42.623386000 +0100 @@ -630,10 +630,8 @@ PyGILState_Release (py_state); } -void _pygi_invoke_closure_free (gpointer data) +void _pygi_invoke_closure_free (PyGICClosure* invoke_closure) { - PyGICClosure* invoke_closure = (PyGICClosure *) data; - g_callable_info_free_closure (invoke_closure->info, invoke_closure->closure); @@ -653,7 +651,7 @@ PyGIClosureCache *cache, GIScopeType scope, PyObject *py_function, - gpointer py_user_data) + PyObject *py_user_data) { PyGICClosure *closure; ffi_closure *fficlosure; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/gi/pygi-closure.h new/pygobject-3.44.0/gi/pygi-closure.h --- old/pygobject-3.42.2/gi/pygi-closure.h 2022-04-24 11:29:50.032753700 +0200 +++ new/pygobject-3.44.0/gi/pygi-closure.h 2023-03-19 09:19:42.623386000 +0100 @@ -47,13 +47,13 @@ void _pygi_closure_handle (ffi_cif *cif, void *result, void **args, void *userdata); -void _pygi_invoke_closure_free (gpointer user_data); +void _pygi_invoke_closure_free (PyGICClosure* invoke_closure); PyGICClosure* _pygi_make_native_closure (GICallableInfo* info, PyGIClosureCache *cache, GIScopeType scope, PyObject *function, - gpointer user_data); + PyObject *user_data); PyGIArgCache *pygi_arg_callback_new_from_info (GITypeInfo *type_info, GIArgInfo *arg_info, /* may be null */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/gi/pygi-info.c new/pygobject-3.44.0/gi/pygi-info.c --- old/pygobject-3.42.2/gi/pygi-info.c 2022-04-24 11:29:50.032753700 +0200 +++ new/pygobject-3.44.0/gi/pygi-info.c 2023-03-19 09:19:42.623386000 +0100 @@ -560,6 +560,33 @@ } } +static PyObject * +_callable_info_repr (PyGICallableInfo *self) +{ + PyObject *bound_repr_o = NULL; + const char *bound_repr = "None"; + PyObject *res = NULL; + + if (self->py_bound_arg) { + bound_repr_o = PyObject_Repr(self->py_bound_arg); + if (bound_repr_o == NULL) + goto out; + + bound_repr = PyUnicode_AsUTF8(bound_repr_o); + if (bound_repr == NULL) + goto out; + } + + res = PyUnicode_FromFormat ("%s(%s, bound=%s)", + Py_TYPE( (PyObject *) self)->tp_name, + _safe_base_info_get_name (self->base.info), + bound_repr); + +out: + Py_XDECREF(bound_repr_o); + + return res; +} /* _function_info_call: * @@ -2303,6 +2330,7 @@ } PyGICallableInfo_Type.tp_call = (ternaryfunc) _callable_info_call; + PyGICallableInfo_Type.tp_repr = (reprfunc) _callable_info_repr; PyGICallableInfo_Type.tp_dealloc = (destructor) _callable_info_dealloc; _PyGI_REGISTER_TYPE (m, PyGICallableInfo_Type, CallableInfo, PyGIBaseInfo_Type); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/gi/pygi-resulttuple.c new/pygobject-3.44.0/gi/pygi-resulttuple.c --- old/pygobject-3.42.2/gi/pygi-resulttuple.c 2020-11-15 17:50:40.604214400 +0100 +++ new/pygobject-3.44.0/gi/pygi-resulttuple.c 2023-03-19 09:19:42.623386000 +0100 @@ -309,7 +309,7 @@ Py_ssize_t i, len; PyObject_GC_UnTrack (self); - Py_TRASHCAN_SAFE_BEGIN (self) + CPy_TRASHCAN_BEGIN (self, resulttuple_dealloc) /* Free the tuple items and, if there is space, save the tuple object * pointer to the front of the free list for its size. Otherwise free it. @@ -331,7 +331,7 @@ Py_TYPE (self)->tp_free (self); done: - Py_TRASHCAN_SAFE_END (self) + CPy_TRASHCAN_END (self) } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/gi/pygi-util.h new/pygobject-3.44.0/gi/pygi-util.h --- old/pygobject-3.42.2/gi/pygi-util.h 2020-11-15 17:50:40.604214400 +0100 +++ new/pygobject-3.44.0/gi/pygi-util.h 2023-03-19 09:19:42.623386000 +0100 @@ -16,6 +16,14 @@ # define Py_SET_TYPE(obj, type) ((Py_TYPE(obj) = (type)), (void)0) #endif +#if PY_VERSION_HEX >= 0x03080000 +# define CPy_TRASHCAN_BEGIN(op, dealloc) Py_TRASHCAN_BEGIN(op, dealloc) +# define CPy_TRASHCAN_END(op) Py_TRASHCAN_END +#else +# define CPy_TRASHCAN_BEGIN(op, dealloc) Py_TRASHCAN_SAFE_BEGIN(op) +# define CPy_TRASHCAN_END(op) Py_TRASHCAN_SAFE_END(op) +#endif + #define PYGI_DEFINE_TYPE(typename, symbol, csymbol) \ PyTypeObject symbol = { \ PyVarObject_HEAD_INIT(NULL, 0) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/meson.build new/pygobject-3.44.0/meson.build --- old/pygobject-3.42.2/meson.build 2022-04-24 11:48:47.624746600 +0200 +++ new/pygobject-3.44.0/meson.build 2023-03-19 09:23:20.714172000 +0100 @@ -1,6 +1,6 @@ project('pygobject', 'c', - version : '3.42.2', - meson_version : '>= 0.47.0', + version : '3.44.0', + meson_version : '>= 0.53.0', default_options : [ 'warning_level=1', 'buildtype=debugoptimized']) @@ -15,8 +15,8 @@ pymod = import('python') python = pymod.find_installation(get_option('python')) -if python.language_version().version_compare('< 3.6') - error('Requires Python >= 3.6') +if python.language_version().version_compare('< 3.7') + error('Requires Python >= 3.7') endif python_dep = python.dependency() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/pygobject.doap new/pygobject-3.44.0/pygobject.doap --- old/pygobject-3.42.2/pygobject.doap 2020-05-02 22:42:11.643695400 +0200 +++ new/pygobject-3.44.0/pygobject.doap 2023-03-19 09:19:42.623386000 +0100 @@ -31,13 +31,6 @@ </maintainer> <maintainer> <foaf:Person> - <foaf:name>Martin Pitt</foaf:name> - <foaf:mbox rdf:resource="mailto:martinp...@gnome.org" /> - <gnome:userid>martinpitt</gnome:userid> - </foaf:Person> - </maintainer> - <maintainer> - <foaf:Person> <foaf:name>Paolo Borelli</foaf:name> <foaf:mbox rdf:resource="mailto:pbore...@gnome.org" /> <gnome:userid>pborelli</gnome:userid> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/pyproject.toml new/pygobject-3.44.0/pyproject.toml --- old/pygobject-3.42.2/pyproject.toml 2022-07-16 14:11:35.930966900 +0200 +++ new/pygobject-3.44.0/pyproject.toml 2023-03-19 09:23:27.638687000 +0100 @@ -1,19 +1,19 @@ [tool.poetry] name = "PyGObject" -version = "3.42.2" +version = "3.44.0" description = "Python bindings for GObject Introspection" authors = ["Christoph Reiter"] [tool.poetry.dependencies] -python = "^3.6" +python = "^3.7" pycairo = "^1.16" [tool.poetry.dev-dependencies] -pytest = "^6.0.0" +pytest = "^7.0.0" flake8 = "^3.9.1" -Sphinx = "^3.5.4" -sphinx-rtd-theme = "^0.5.2" -coverage = "^5.5" +Sphinx = "^3.5.4|^4.2.0" +sphinx-rtd-theme = "^0.5.2|^1.0.0" +coverage = "^6.3.2" [build-system] requires = ["setuptools", "wheel", "pycairo"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/setup.py new/pygobject-3.44.0/setup.py --- old/pygobject-3.42.2/setup.py 2022-04-24 11:48:47.624746600 +0200 +++ new/pygobject-3.44.0/setup.py 2023-03-19 09:23:07.024983600 +0100 @@ -36,7 +36,7 @@ from distutils.spawn import find_executable -PYGOBJECT_VERSION = "3.42.2" +PYGOBJECT_VERSION = "3.44.0" GLIB_VERSION_REQUIRED = "2.56.0" GI_VERSION_REQUIRED = "1.56.0" PYCAIRO_VERSION_REQUIRED = "1.16.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/subprojects/libffi.wrap new/pygobject-3.44.0/subprojects/libffi.wrap --- old/pygobject-3.42.2/subprojects/libffi.wrap 2022-03-28 06:47:29.143362300 +0200 +++ new/pygobject-3.44.0/subprojects/libffi.wrap 2023-03-19 09:19:42.623386000 +0100 @@ -1,5 +1,8 @@ [wrap-git] directory=libffi -url=https://github.com/centricular/libffi.git +url=https://gitlab.freedesktop.org/gstreamer/meson-ports/libffi.git revision=meson depth=1 + +[provide] +libffi = ffi_dep diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/subprojects/pycairo.wrap new/pygobject-3.44.0/subprojects/pycairo.wrap --- old/pygobject-3.42.2/subprojects/pycairo.wrap 2022-03-28 06:47:29.143362300 +0200 +++ new/pygobject-3.44.0/subprojects/pycairo.wrap 2023-03-19 09:19:42.623386000 +0100 @@ -1,5 +1,5 @@ [wrap-git] directory=pycairo url=https://github.com/pygobject/pycairo.git -revision=pycairo-1.18 +revision=main depth=1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/tests/test_gi.py new/pygobject-3.44.0/tests/test_gi.py --- old/pygobject-3.42.2/tests/test_gi.py 2022-04-24 11:32:56.852718000 +0200 +++ new/pygobject-3.44.0/tests/test_gi.py 2023-03-19 09:19:42.623386000 +0100 @@ -637,7 +637,7 @@ errors = (AttributeError,) if platform.python_implementation() == "PyPy": - # https://bitbucket.org/pypy/pypy/issues/2788 + # https://foss.heptapod.net/pypy/pypy/-/issues/2788 errors = (AttributeError, TypeError) self.assertRaises(errors, check_readonly, GObject.TYPE_NONE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.2/tests/test_overrides_gio.py new/pygobject-3.44.0/tests/test_overrides_gio.py --- old/pygobject-3.42.2/tests/test_overrides_gio.py 2022-04-24 11:29:50.032753700 +0200 +++ new/pygobject-3.44.0/tests/test_overrides_gio.py 2023-03-19 09:19:42.623386000 +0100 @@ -256,7 +256,7 @@ def do_set(count, key, new_count): if count == 0 and key.step is not None \ and platform.python_implementation() == "PyPy": - # https://bitbucket.org/pypy/pypy/issues/2804 + # https://foss.heptapod.net/pypy/pypy/-/issues/2804 return store = Gio.ListStore.new(Item) source = [Item() for i in range(count)]