PyGObject 3.49.0.dev0__tar.gz → 3.51.0.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pygobject-3.51.0.dev0/.clang-format +198 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitignore +3 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/Dockerfile +17 -14
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/build-sdists.sh +8 -5
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/coverage-docker.sh +6 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/lcovrc +2 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/run-docker.sh +1 -1
- pygobject-3.51.0.dev0/.gitlab-ci/test-docker.sh +48 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/test-flatpak.sh +4 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/test-msys2.sh +11 -6
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci.yml +67 -89
- pygobject-3.51.0.dev0/.pre-commit-config.yaml +12 -0
- pygobject-3.51.0.dev0/METADATA.in +20 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/NEWS +30 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/PKG-INFO +5 -5
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/README.rst +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/conf.py +2 -5
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/devguide/dev_environ.rst +29 -5
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/devguide/index.rst +3 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/devguide/override_guidelines.rst +0 -1
- pygobject-3.51.0.dev0/docs/devguide/overview.rst +13 -0
- {pygobject-3.49.0.dev0/docs → pygobject-3.51.0.dev0/docs/devguide}/packagingguide.rst +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/getting_started.rst +8 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/api/properties.rst +1 -1
- pygobject-3.51.0.dev0/docs/guide/asynchronous.rst +171 -0
- pygobject-3.51.0.dev0/docs/guide/download_asyncio.py +93 -0
- pygobject-3.51.0.dev0/docs/guide/download_callback.py +90 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/imports.rst +17 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/index.rst +1 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/porting.rst +6 -3
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/sysdeps.rst +5 -0
- pygobject-3.51.0.dev0/docs/guide/threading.rst +149 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/index.rst +12 -6
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gobject/subclassing.rst +9 -9
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/application.rst +2 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/dropdown.rst +1 -5
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/__init__.py +29 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/_option.py +6 -3
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/_ossighelper.py +6 -5
- pygobject-3.51.0.dev0/gi/_signature.py +186 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/docstring.py +6 -6
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/events.py +161 -12
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/gimodule.c +103 -327
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/importer.py +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/meson.build +5 -3
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/module.py +8 -32
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/overrides/GLib.py +7 -9
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/overrides/GObject.py +3 -15
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/overrides/Gdk.py +34 -31
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/overrides/GdkPixbuf.py +2 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/overrides/Gio.py +50 -30
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/overrides/Gtk.py +7 -5
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/overrides/__init__.py +30 -44
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/overrides/meson.build +0 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygboxed.c +4 -6
- pygobject-3.51.0.dev0/gi/pygenum.c +403 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygenum.h +15 -10
- pygobject-3.51.0.dev0/gi/pygflags.c +435 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygflags.h +18 -17
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-argument.c +207 -279
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-argument.h +2 -4
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-array.c +72 -84
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-array.h +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-async.c +47 -45
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-async.h +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-basictype.c +9 -8
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-basictype.h +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-boxed.c +19 -22
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-boxed.h +3 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-cache.c +175 -168
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-cache.h +35 -21
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-ccallback.c +14 -12
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-ccallback.h +5 -3
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-closure.c +81 -105
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-closure.h +11 -3
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-enum-marshal.c +38 -68
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-enum-marshal.h +3 -3
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-error.c +4 -4
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-error.h +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-foreign-api.h +4 -4
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-foreign-cairo.c +19 -20
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-foreign.c +10 -9
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-foreign.h +5 -4
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-fundamental.c +15 -14
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-fundamental.h +5 -5
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-hashtable.c +8 -6
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-hashtable.h +1 -1
- pygobject-3.51.0.dev0/gi/pygi-info.c +2401 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-info.h +7 -17
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-invoke-state-struct.h +2 -3
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-invoke.c +138 -166
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-invoke.h +7 -9
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-list.c +6 -4
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-list.h +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-marshal-cleanup.c +5 -5
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-object.c +6 -6
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-object.h +2 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-property.c +59 -67
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-property.h +2 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-repository.c +113 -61
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-repository.h +4 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-resulttuple.c +3 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-signal-closure.c +26 -25
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-signal-closure.h +3 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-source.c +8 -6
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-struct-marshal.c +38 -41
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-struct-marshal.h +4 -4
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-struct.c +13 -13
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-struct.h +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-type.c +27 -31
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-type.h +3 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-util.c +4 -4
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-util.h +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-value.c +60 -71
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-value.h +2 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pyginterface.c +3 -3
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygobject-object.c +35 -48
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygobject-object.h +2 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygobject.h +1 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygoptioncontext.c +14 -20
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygoptiongroup.c +9 -11
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygoptiongroup.h +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygpointer.c +6 -8
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygpointer.h +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygspawn.c +10 -14
- pygobject-3.51.0.dev0/gi/pygtkcompat.py +12 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/types.py +7 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/meson.build +17 -8
- pygobject-3.51.0.dev0/pygtkcompat/__init__.py +6 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/pygtkcompat/meson.build +0 -1
- pygobject-3.51.0.dev0/pygtkcompat/pygtkcompat.py +30 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/pyproject.toml +9 -5
- pygobject-3.51.0.dev0/subprojects/gobject-introspection-tests.wrap +6 -0
- pygobject-3.51.0.dev0/subprojects/packagefiles/pythoncapi-compat-meson.diff +12 -0
- pygobject-3.51.0.dev0/subprojects/pythoncapi-compat.wrap +6 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/conftest.py +17 -7
- pygobject-3.51.0.dev0/tests/meson.build +47 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test-thread.c +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_docstring.py +0 -3
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_events.py +89 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_everything.py +3 -8
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_gi.py +72 -90
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_gobject.py +6 -14
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_gtk_template.py +1 -1
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_mainloop.py +7 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_object_marshaling.py +30 -2
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_option.py +34 -30
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_overrides_gdk.py +15 -15
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_overrides_gdkpixbuf.py +2 -4
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_properties.py +6 -0
- pygobject-3.51.0.dev0/tests/test_pygtkcompat.py +11 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_repository.py +9 -35
- pygobject-3.51.0.dev0/tests/test_signature.py +291 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/testhelpermodule.c +11 -15
- pygobject-3.51.0.dev0/tools/mkmetadata.py +20 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tools/pygi-convert.sh +5 -5
- pygobject-3.49.0.dev0/.gitlab-ci/Dockerfile.old +0 -40
- pygobject-3.49.0.dev0/.gitlab-ci/run-docker-old.sh +0 -11
- pygobject-3.49.0.dev0/.gitlab-ci/test-docker-old.sh +0 -24
- pygobject-3.49.0.dev0/.gitlab-ci/test-docker.sh +0 -52
- pygobject-3.49.0.dev0/METADATA.in +0 -21
- pygobject-3.49.0.dev0/docs/devguide/overview.rst +0 -16
- pygobject-3.49.0.dev0/docs/further.rst +0 -10
- pygobject-3.49.0.dev0/docs/guide/threading.rst +0 -296
- pygobject-3.49.0.dev0/gi/overrides/keysyms.py +0 -53
- pygobject-3.49.0.dev0/gi/pygenum.c +0 -408
- pygobject-3.49.0.dev0/gi/pygflags.c +0 -528
- pygobject-3.49.0.dev0/gi/pygi-info.c +0 -2551
- pygobject-3.49.0.dev0/gi/pygtkcompat.py +0 -26
- pygobject-3.49.0.dev0/pygtkcompat/__init__.py +0 -20
- pygobject-3.49.0.dev0/pygtkcompat/generictreemodel.py +0 -426
- pygobject-3.49.0.dev0/pygtkcompat/pygtkcompat.py +0 -628
- pygobject-3.49.0.dev0/subprojects/.gitignore +0 -4
- pygobject-3.49.0.dev0/tests/gimarshallingtestsextra.c +0 -195
- pygobject-3.49.0.dev0/tests/gimarshallingtestsextra.h +0 -76
- pygobject-3.49.0.dev0/tests/meson.build +0 -134
- pygobject-3.49.0.dev0/tests/regressextra.c +0 -553
- pygobject-3.49.0.dev0/tests/regressextra.h +0 -119
- pygobject-3.49.0.dev0/tests/test_generictreemodel.py +0 -435
- pygobject-3.49.0.dev0/tests/test_pygtkcompat.py +0 -342
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.coveragerc +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.flake8 +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/README.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/fixup-lcov-paths.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/run-docker-runtime.sh +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/.gitlab-ci/set_env.sh +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/COPYING +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/Makefile +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/bugs_repo.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/changelog.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/contact.rst +0 -0
- {pygobject-3.49.0.dev0/docs → pygobject-3.51.0.dev0/docs/devguide}/maintguide.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/devguide/style_guide.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/extra.css +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/api/api.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/api/basic_types.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/api/error_handling.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/api/flags_enums.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/api/gobject.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/api/index.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/api/signals.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/api/weakrefs.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/cairo_integration.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/code/cairo-demo.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/debug_profile.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/deploy.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/faq.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/flatpaking.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/gtk_template.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/images/cairo_integration.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/guide/testing.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/icons.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/LICENSE +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/favicon.ico +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/logo.svg +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/overview-dark.svg +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/overview.dia +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/overview.svg +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/pygobject-small.svg +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/pygobject.svg +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/start_linux.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/start_macos.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/images/start_windows.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/_static/custom.css +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gobject/basics.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gobject/examples/listmodel.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gobject/interfaces.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gobject.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk3.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/basics.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/clipboard.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/buttons.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/check-radio-buttons.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/entries.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/examples/button.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/examples/check_radio_buttons.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/examples/dropdown.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/examples/entries.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/examples/linkbutton.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/examples/spinbutton.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/examples/switch.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/examples/togglebutton.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/images/button.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/images/check_radio_buttons.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/images/dropdown.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/images/entries.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/images/linkbutton.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/images/spinbutton.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/images/switch.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/images/togglebutton.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/scale.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/spinbutton.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls/switch.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/controls.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/examples/label.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/examples/picture.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/examples/progressbar.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/examples/spinner.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/examples/spinner_ext.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/image.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/images/label.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/images/picture.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/images/progressbar.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/images/spinner.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/images/spinner_ext.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/label.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/picture.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/progressbar.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets/spinner.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/display-widgets.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/drag-and-drop.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/application.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/clipboard.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/drag_and_drop.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/extended_example.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/layout_box.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/layout_center.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/layout_flowbox.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/layout_grid.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/layout_headerbar.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/layout_listbox.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/layout_notebook.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/layout_stack.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/popover.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/popover_menu.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/simple_example.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/examples/textview.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/application.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/basic_example.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/clipboard.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/drag_and_drop.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/extended_example.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/layout_box.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/layout_center.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/layout_flowbox.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/layout_grid.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/layout_headerbar.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/layout_listbox.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/layout_notebook.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/layout_stack.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/popover.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/popover_menu.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/images/textview.png +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/introduction.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/layout-widgets.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/popovers.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4/textview.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/gtk4.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/index.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/libadwaita/application.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/docs/tutorials/libadwaita.rst +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/_constants.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/_error.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/_gtktemplate.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/_propertyhelper.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/_signalhelper.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/gimodule.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/overrides/GIMarshallingTests.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/overrides/Pango.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygboxed.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-marshal-cleanup.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-resulttuple.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygi-source.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pyginterface.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygobject-internal.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygoptioncontext.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/pygspawn.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/repository/__init__.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/gi/repository/meson.build +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/meson_options.txt +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/pygobject-3.0.pc.in +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/pygobject.doap +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/subprojects/glib.wrap +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/subprojects/gobject-introspection.wrap +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/subprojects/libffi.wrap +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/subprojects/pycairo.wrap +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/gi/overrides/Regress.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/gi/overrides/__init__.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/helper.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/org.gnome.test.gschema.xml +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test-floating.c +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test-floating.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test-thread.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test-unknown.c +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test-unknown.h +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_async.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_atoms.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_cairo.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_error.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_fields.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_fundamental.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_gdbus.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_gio.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_glib.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_gtype.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_import_machinery.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_interface.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_internal_api.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_iochannel.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_ossig.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_overrides_gio.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_overrides_glib.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_overrides_gobject.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_overrides_gtk.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_overrides_pango.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_pycapi.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_resulttuple.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_signal.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_source.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_subprocess.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_thread.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_typeclass.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/test_unknown.py +0 -0
- {pygobject-3.49.0.dev0 → pygobject-3.51.0.dev0}/tests/valgrind.supp +0 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Reference: https://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
|
3
|
+
Language: Cpp
|
|
4
|
+
BasedOnStyle: LLVM
|
|
5
|
+
AccessModifierOffset: -4
|
|
6
|
+
AlignAfterOpenBracket: Align
|
|
7
|
+
AlignArrayOfStructures: None
|
|
8
|
+
AlignConsecutiveAssignments: None
|
|
9
|
+
AlignConsecutiveBitFields: AcrossEmptyLines
|
|
10
|
+
AlignConsecutiveDeclarations: None
|
|
11
|
+
AlignConsecutiveMacros: Consecutive
|
|
12
|
+
AlignEscapedNewlines: Right
|
|
13
|
+
AlignOperands: Align
|
|
14
|
+
AlignTrailingComments:
|
|
15
|
+
Kind: Always
|
|
16
|
+
OverEmptyLines: 1
|
|
17
|
+
AllowAllArgumentsOnNextLine: false
|
|
18
|
+
AllowAllParametersOfDeclarationOnNextLine: false
|
|
19
|
+
AllowBreakBeforeNoexceptSpecifier: OnlyWithParen
|
|
20
|
+
AllowShortBlocksOnASingleLine: Never
|
|
21
|
+
AllowShortCaseExpressionOnASingleLine: true
|
|
22
|
+
AllowShortCaseLabelsOnASingleLine: false
|
|
23
|
+
AllowShortCompoundRequirementOnASingleLine: true
|
|
24
|
+
AllowShortEnumsOnASingleLine: true
|
|
25
|
+
AllowShortFunctionsOnASingleLine: All
|
|
26
|
+
AllowShortIfStatementsOnASingleLine: WithoutElse
|
|
27
|
+
AllowShortLambdasOnASingleLine: All
|
|
28
|
+
AllowShortLoopsOnASingleLine: true
|
|
29
|
+
AlwaysBreakAfterDefinitionReturnType: None
|
|
30
|
+
AlwaysBreakBeforeMultilineStrings: true
|
|
31
|
+
BinPackArguments: true
|
|
32
|
+
BinPackParameters: true
|
|
33
|
+
BitFieldColonSpacing: None
|
|
34
|
+
BraceWrapping:
|
|
35
|
+
AfterCaseLabel: false
|
|
36
|
+
AfterClass: false
|
|
37
|
+
AfterControlStatement: Never
|
|
38
|
+
AfterEnum: false
|
|
39
|
+
AfterExternBlock: false
|
|
40
|
+
AfterFunction: true
|
|
41
|
+
AfterNamespace: false
|
|
42
|
+
AfterObjCDeclaration: false
|
|
43
|
+
AfterStruct: false
|
|
44
|
+
AfterUnion: false
|
|
45
|
+
BeforeCatch: true
|
|
46
|
+
BeforeElse: false
|
|
47
|
+
BeforeLambdaBody: false
|
|
48
|
+
BeforeWhile: false
|
|
49
|
+
IndentBraces: false
|
|
50
|
+
SplitEmptyFunction: true
|
|
51
|
+
SplitEmptyRecord: true
|
|
52
|
+
SplitEmptyNamespace: true
|
|
53
|
+
BreakAdjacentStringLiterals: true
|
|
54
|
+
BreakAfterAttributes: Leave
|
|
55
|
+
BreakAfterReturnType: AllDefinitions
|
|
56
|
+
BreakBeforeBinaryOperators: NonAssignment
|
|
57
|
+
BreakBeforeConceptDeclarations: Always
|
|
58
|
+
BreakBeforeBraces: Custom
|
|
59
|
+
BreakBeforeInlineASMColon: OnlyMultiline
|
|
60
|
+
BreakBeforeTernaryOperators: true
|
|
61
|
+
BreakConstructorInitializers: BeforeColon
|
|
62
|
+
BreakFunctionDefinitionParameters: false
|
|
63
|
+
BreakInheritanceList: BeforeColon
|
|
64
|
+
BreakStringLiterals: true
|
|
65
|
+
BreakTemplateDeclarations: Yes
|
|
66
|
+
ColumnLimit: 79
|
|
67
|
+
CompactNamespaces: false
|
|
68
|
+
ConstructorInitializerIndentWidth: 4
|
|
69
|
+
ContinuationIndentWidth: 4
|
|
70
|
+
Cpp11BracedListStyle: true
|
|
71
|
+
DerivePointerAlignment: true
|
|
72
|
+
EmptyLineAfterAccessModifier: Never
|
|
73
|
+
EmptyLineBeforeAccessModifier: LogicalBlock
|
|
74
|
+
FixNamespaceComments: true
|
|
75
|
+
IncludeBlocks: Regroup
|
|
76
|
+
IncludeCategories:
|
|
77
|
+
- Regex: '^[<"]Python\.h[">]$'
|
|
78
|
+
Priority: 2
|
|
79
|
+
CaseSensitive: true
|
|
80
|
+
- Regex: '^<[[:alnum:]_/]+(\.h)?>$'
|
|
81
|
+
Priority: 1
|
|
82
|
+
- Regex: '.*'
|
|
83
|
+
Priority: 3
|
|
84
|
+
IndentAccessModifiers: false
|
|
85
|
+
IndentCaseBlocks: false
|
|
86
|
+
IndentCaseLabels: false
|
|
87
|
+
IndentExternBlock: NoIndent
|
|
88
|
+
IndentGotoLabels: false
|
|
89
|
+
IndentPPDirectives: None
|
|
90
|
+
IndentRequiresClause: true
|
|
91
|
+
IndentWidth: 4
|
|
92
|
+
IndentWrappedFunctionNames: false
|
|
93
|
+
InsertBraces: false
|
|
94
|
+
InsertNewlineAtEOF: true
|
|
95
|
+
InsertTrailingCommas: None
|
|
96
|
+
KeepEmptyLines:
|
|
97
|
+
AtEndOfFile: false
|
|
98
|
+
AtStartOfBlock: false
|
|
99
|
+
AtStartOfFile: false
|
|
100
|
+
LambdaBodyIndentation: Signature
|
|
101
|
+
LineEnding: DeriveLF
|
|
102
|
+
MacroBlockBegin: ''
|
|
103
|
+
MacroBlockEnd: ''
|
|
104
|
+
Macros:
|
|
105
|
+
- >-
|
|
106
|
+
PyObject_HEAD_INIT(type)={
|
|
107
|
+
/* this is not exactly match with PyObject_HEAD_INIT in Python source code
|
|
108
|
+
* but it is enough for clang-format */
|
|
109
|
+
{ 0xFFFFFFFF },
|
|
110
|
+
(type)
|
|
111
|
+
},
|
|
112
|
+
- >-
|
|
113
|
+
PyVarObject_HEAD_INIT(type, size)={
|
|
114
|
+
{
|
|
115
|
+
/* manually expand PyObject_HEAD_INIT(type) above
|
|
116
|
+
* because clang-format do not support recursive expansion */
|
|
117
|
+
{ 0xFFFFFFFF },
|
|
118
|
+
(type)
|
|
119
|
+
},
|
|
120
|
+
(size)
|
|
121
|
+
},
|
|
122
|
+
- PyMODINIT_FUNC=PyObject *
|
|
123
|
+
- _PyGI_ENUM_BEGIN(name)={
|
|
124
|
+
- _PyGI_ENUM_ADD_VALUE(prefix, name)=(prefix##_##name);
|
|
125
|
+
- _PyGI_ENUM_END=}
|
|
126
|
+
MainIncludeChar: Quote
|
|
127
|
+
MaxEmptyLinesToKeep: 2
|
|
128
|
+
NamespaceIndentation: None
|
|
129
|
+
PackConstructorInitializers: NextLine
|
|
130
|
+
PenaltyBreakAssignment: 20
|
|
131
|
+
PenaltyBreakBeforeFirstCallParameter: 1
|
|
132
|
+
PenaltyBreakComment: 300
|
|
133
|
+
PenaltyBreakFirstLessLess: 120
|
|
134
|
+
PenaltyBreakOpenParenthesis: 0
|
|
135
|
+
PenaltyBreakScopeResolution: 500
|
|
136
|
+
PenaltyBreakString: 1000
|
|
137
|
+
PenaltyBreakTemplateDeclaration: 10
|
|
138
|
+
PenaltyExcessCharacter: 1000000
|
|
139
|
+
PenaltyIndentedWhitespace: 0
|
|
140
|
+
PenaltyReturnTypeOnItsOwnLine: 1000000000
|
|
141
|
+
PointerAlignment: Right
|
|
142
|
+
PPIndentWidth: -1
|
|
143
|
+
QualifierAlignment: Custom
|
|
144
|
+
QualifierOrder:
|
|
145
|
+
[friend, static, inline, const, constexpr, volatile, type, restrict]
|
|
146
|
+
ReferenceAlignment: Right
|
|
147
|
+
ReflowComments: false
|
|
148
|
+
RemoveBracesLLVM: false
|
|
149
|
+
RemoveParentheses: MultipleParentheses
|
|
150
|
+
RemoveSemicolon: true
|
|
151
|
+
RequiresClausePosition: OwnLine
|
|
152
|
+
RequiresExpressionIndentation: OuterScope
|
|
153
|
+
SeparateDefinitionBlocks: Leave
|
|
154
|
+
ShortNamespaceLines: 1
|
|
155
|
+
SkipMacroDefinitionBody: false
|
|
156
|
+
SortIncludes: CaseSensitive
|
|
157
|
+
SortUsingDeclarations: LexicographicNumeric
|
|
158
|
+
SpaceAfterCStyleCast: false
|
|
159
|
+
SpaceAfterLogicalNot: false
|
|
160
|
+
SpaceAfterTemplateKeyword: true
|
|
161
|
+
SpaceAroundPointerQualifiers: Default
|
|
162
|
+
SpaceBeforeAssignmentOperators: true
|
|
163
|
+
SpaceBeforeCaseColon: false
|
|
164
|
+
SpaceBeforeCpp11BracedList: false
|
|
165
|
+
SpaceBeforeCtorInitializerColon: true
|
|
166
|
+
SpaceBeforeInheritanceColon: true
|
|
167
|
+
SpaceBeforeJsonColon: false
|
|
168
|
+
SpaceBeforeParens: Always
|
|
169
|
+
SpaceBeforeRangeBasedForLoopColon: true
|
|
170
|
+
SpaceBeforeSquareBrackets: false
|
|
171
|
+
SpaceInEmptyBlock: false
|
|
172
|
+
SpacesBeforeTrailingComments: 2
|
|
173
|
+
SpacesInAngles: Never
|
|
174
|
+
SpacesInContainerLiterals: true
|
|
175
|
+
SpacesInLineCommentPrefix:
|
|
176
|
+
Minimum: 1
|
|
177
|
+
Maximum: -1
|
|
178
|
+
SpacesInParens: Never
|
|
179
|
+
SpacesInSquareBrackets: false
|
|
180
|
+
Standard: c++11
|
|
181
|
+
StatementAttributeLikeMacros:
|
|
182
|
+
StatementMacros:
|
|
183
|
+
- PyObject_HEAD
|
|
184
|
+
TableGenBreakInsideDAGArg: DontBreak
|
|
185
|
+
TabWidth: 4
|
|
186
|
+
TypeNames:
|
|
187
|
+
# Defined in Include/pytypedefs.h
|
|
188
|
+
- PyModuleDef
|
|
189
|
+
- PyModuleDef_Slot
|
|
190
|
+
- PyMethodDef
|
|
191
|
+
- PyGetSetDef
|
|
192
|
+
- PyMemberDef
|
|
193
|
+
- PyObject
|
|
194
|
+
- PyLongObject
|
|
195
|
+
- PyTypeObject
|
|
196
|
+
- PyThreadState
|
|
197
|
+
- PyInterpreterState
|
|
198
|
+
UseTab: Never
|
|
@@ -19,15 +19,16 @@
|
|
|
19
19
|
.idea
|
|
20
20
|
.cache
|
|
21
21
|
.pytest_cache
|
|
22
|
-
/config.h
|
|
23
22
|
/tmp/*
|
|
24
23
|
/build/
|
|
25
24
|
/dist/
|
|
26
25
|
/pygobject.egg-info/
|
|
27
26
|
/docs/_build
|
|
28
27
|
/PyGObject.egg-info/
|
|
28
|
+
/subprojects/*/
|
|
29
|
+
!/subprojects/packagefiles/
|
|
29
30
|
*.pyd
|
|
30
31
|
*.dll.a
|
|
31
32
|
.coverage
|
|
32
33
|
pdm.lock
|
|
33
|
-
.pdm-python
|
|
34
|
+
.pdm-python
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
FROM ubuntu:
|
|
1
|
+
FROM ubuntu:noble
|
|
2
2
|
|
|
3
3
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
4
4
|
|
|
@@ -8,6 +8,8 @@ RUN apt-get update && apt-get install -y \
|
|
|
8
8
|
ccache \
|
|
9
9
|
curl \
|
|
10
10
|
dbus \
|
|
11
|
+
gir1.2-freedesktop-dev \
|
|
12
|
+
gir1.2-girepository-3.0-dev \
|
|
11
13
|
gir1.2-gtk-3.0 \
|
|
12
14
|
gir1.2-gtk-4.0 \
|
|
13
15
|
git \
|
|
@@ -16,7 +18,7 @@ RUN apt-get update && apt-get install -y \
|
|
|
16
18
|
libbz2-dev \
|
|
17
19
|
libcairo2-dev \
|
|
18
20
|
libffi-dev \
|
|
19
|
-
|
|
21
|
+
libgirepository-2.0-dev \
|
|
20
22
|
libglib2.0-dev \
|
|
21
23
|
libgtk-3-0 \
|
|
22
24
|
libgtk-4-1 \
|
|
@@ -34,36 +36,37 @@ RUN apt-get update && apt-get install -y \
|
|
|
34
36
|
RUN add-apt-repository -y ppa:pypy/ppa \
|
|
35
37
|
&& apt-get update \
|
|
36
38
|
&& apt-get install -y pypy3 pypy3-dev pypy3-venv \
|
|
37
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
39
|
+
&& rm -rf /var/lib/apt/lists/* \
|
|
40
|
+
&& sed -i 's#/build/pypy3-[^/]*/[^/]*#/usr#g' /usr/lib/pypy3.*/_sysconfigdata__x86_64-linux-gnu.py
|
|
38
41
|
|
|
39
42
|
ARG HOST_USER_ID=5555
|
|
40
|
-
ENV HOST_USER_ID
|
|
41
|
-
RUN useradd -u $HOST_USER_ID -ms /bin/bash user
|
|
42
|
-
|
|
43
|
+
ENV HOST_USER_ID=${HOST_USER_ID}
|
|
44
|
+
RUN useradd -u $HOST_USER_ID -ms /bin/bash user \
|
|
45
|
+
&& echo 'user ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
|
43
46
|
|
|
44
47
|
USER user
|
|
45
48
|
WORKDIR /home/user
|
|
46
49
|
|
|
47
|
-
ENV LANG
|
|
48
|
-
ENV CI
|
|
49
|
-
ENV PYENV_ROOT
|
|
50
|
+
ENV LANG=C.UTF-8
|
|
51
|
+
ENV CI=true
|
|
52
|
+
ENV PYENV_ROOT=/home/user/.pyenv
|
|
50
53
|
ENV PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}"
|
|
51
54
|
ENV PYTHON_CONFIGURE_OPTS="--enable-shared"
|
|
52
55
|
|
|
53
56
|
# https://github.com/pyenv/pyenv/releases
|
|
54
|
-
ENV PYENV_GIT_TAG
|
|
57
|
+
ENV PYENV_GIT_TAG=v2.4.17
|
|
55
58
|
RUN curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
|
|
56
59
|
|
|
57
60
|
# Register the pypy3 system installation
|
|
58
|
-
RUN mkdir -p "${PYENV_ROOT}/versions/pypy3-system/bin/"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
RUN mkdir -p "${PYENV_ROOT}/versions/pypy3-system/bin/" \
|
|
62
|
+
&& sudo ln -s /usr/bin/pypy3 "${PYENV_ROOT}/versions/pypy3-system/bin/python" \
|
|
63
|
+
&& pyenv rehash
|
|
61
64
|
|
|
62
|
-
RUN pyenv install --debug 3.8
|
|
63
65
|
RUN pyenv install --debug 3.9
|
|
64
66
|
RUN pyenv install --debug 3.10
|
|
65
67
|
RUN pyenv install --debug 3.11
|
|
66
68
|
RUN pyenv install --debug 3.12
|
|
69
|
+
RUN pyenv install --debug 3.13
|
|
67
70
|
|
|
68
71
|
ENV PATH="/usr/lib/ccache:${PATH}"
|
|
69
72
|
|
|
@@ -4,6 +4,7 @@ set -e
|
|
|
4
4
|
|
|
5
5
|
rm -Rf _venv_sdist
|
|
6
6
|
python3 -m venv _venv_sdist
|
|
7
|
+
# shellcheck disable=SC1091
|
|
7
8
|
source _venv_sdist/bin/activate
|
|
8
9
|
mkdir -p dist
|
|
9
10
|
|
|
@@ -11,18 +12,20 @@ mkdir -p dist
|
|
|
11
12
|
python -m pip install --upgrade meson pycairo
|
|
12
13
|
rm -Rf _sdist_build
|
|
13
14
|
meson setup _sdist_build
|
|
14
|
-
meson dist --no-tests --allow-dirty -C _sdist_build
|
|
15
|
-
|
|
15
|
+
meson dist --no-tests --allow-dirty --include-subprojects -C _sdist_build
|
|
16
|
+
cp _sdist_build/meson-dist/*.tar.xz dist/
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
[ -n "${TARBALL_ARTIFACT_PATH}" ] && cp _sdist_build/meson-dist/*.tar.xz "${TARBALL_ARTIFACT_PATH}"
|
|
19
|
+
|
|
20
|
+
VERSION=$(meson introspect --projectinfo --indent _sdist_build | python -c 'import json, sys; print(json.load(sys.stdin)["version"])')
|
|
18
21
|
|
|
19
22
|
rm -Rf _sdist_build
|
|
20
23
|
|
|
21
24
|
# Now the sdist for pypi
|
|
22
25
|
# Mark odd versions as PEP440 development versions (e.g. 0.1.0 -> 0.1.0.dev0)
|
|
23
|
-
[[ "$VERSION" =~ ^[0-9]\.[0-9]*[13579]\. ]] && meson rewrite kwargs set project / version ${VERSION}.dev0
|
|
26
|
+
[[ "$VERSION" =~ ^[0-9]\.[0-9]*[13579]\. ]] && meson rewrite kwargs set project / version "${VERSION}".dev0
|
|
24
27
|
|
|
25
28
|
python -m pip install --upgrade build
|
|
26
29
|
python -m build --sdist
|
|
27
30
|
|
|
28
|
-
meson rewrite kwargs set project / version ${VERSION}
|
|
31
|
+
meson rewrite kwargs set project / version "${VERSION}"
|
|
@@ -10,13 +10,17 @@ for path in coverage/*.lcov; do
|
|
|
10
10
|
lcov --config-file .gitlab-ci/lcovrc -r "${path}" '/usr/include/*' -o "${path}"
|
|
11
11
|
lcov --config-file .gitlab-ci/lcovrc -r "${path}" '/home/*' -o "${path}"
|
|
12
12
|
lcov --config-file .gitlab-ci/lcovrc -r "${path}" '*/msys64/*' -o "${path}"
|
|
13
|
+
lcov --config-file .gitlab-ci/lcovrc -r "${path}" '*site-packages/*' -o "${path}"
|
|
13
14
|
lcov --config-file .gitlab-ci/lcovrc -r "${path}" '*subprojects/*' -o "${path}"
|
|
14
15
|
lcov --config-file .gitlab-ci/lcovrc -r "${path}" '*tmp-introspect*' -o "${path}"
|
|
16
|
+
lcov --config-file .gitlab-ci/lcovrc -r "${path}" '*/meson-private/*' -o "${path}"
|
|
17
|
+
|
|
18
|
+
test -s "${path}" || rm "${path}"
|
|
15
19
|
done
|
|
16
20
|
|
|
17
|
-
genhtml --
|
|
21
|
+
genhtml --config-file .gitlab-ci/lcovrc \
|
|
18
22
|
coverage/*.lcov -o coverage/
|
|
19
23
|
|
|
20
24
|
cd coverage
|
|
21
25
|
rm -f .coverage*
|
|
22
|
-
rm -f
|
|
26
|
+
rm -f ./*.lcov
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
# Always enable branch coverage
|
|
5
5
|
lcov_branch_coverage = 1
|
|
6
6
|
|
|
7
|
+
stop_on_error = 0
|
|
8
|
+
|
|
7
9
|
# Exclude precondition assertions, as we can never reasonably get full branch
|
|
8
10
|
# coverage of them, as they should never normally fail.
|
|
9
11
|
# See https://github.com/linux-test-project/lcov/issues/44
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
python --version
|
|
6
|
+
|
|
7
|
+
SOURCE_DIR="$(pwd)"
|
|
8
|
+
COV_DIR="${SOURCE_DIR}/coverage"
|
|
9
|
+
COV_KEY="${CI_JOB_NAME_SLUG}"
|
|
10
|
+
JUNIT_XML="${SOURCE_DIR}/test-results.xml"
|
|
11
|
+
|
|
12
|
+
CFLAGS="-coverage -ftest-coverage -fprofile-arcs -Werror"
|
|
13
|
+
MALLOC_CHECK_=3
|
|
14
|
+
MALLOC_PERTURB_=$((RANDOM % 255 + 1))
|
|
15
|
+
G_SLICE="debug-blocks"
|
|
16
|
+
COVERAGE_FILE="${COV_DIR}/.coverage.${COV_KEY}"
|
|
17
|
+
CCACHE_BASEDIR="$(pwd)"
|
|
18
|
+
CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
|
|
19
|
+
export CFLAGS MALLOC_CHECK_ MALLOC_PERTURB_ G_SLICE COVERAGE_FILE \
|
|
20
|
+
CCACHE_BASEDIR CCACHE_DIR
|
|
21
|
+
|
|
22
|
+
# https://docs.python.org/3/using/cmdline.html#envvar-PYTHONDEVMODE
|
|
23
|
+
export PYTHONDEVMODE=1
|
|
24
|
+
export MESONPY_EDITABLE_VERBOSE=1
|
|
25
|
+
|
|
26
|
+
mkdir -p "${CCACHE_DIR}"
|
|
27
|
+
mkdir -p "${COV_DIR}"
|
|
28
|
+
|
|
29
|
+
python -m venv /tmp/venv
|
|
30
|
+
# shellcheck disable=SC1091
|
|
31
|
+
source /tmp/venv/bin/activate
|
|
32
|
+
|
|
33
|
+
python -m pip install --upgrade pip
|
|
34
|
+
python -m pip install meson meson-python pycairo pytest pytest-cov
|
|
35
|
+
|
|
36
|
+
# BUILD & TEST
|
|
37
|
+
python -m pip install --config-settings=setup-args="-Dtests=true" --no-build-isolation --editable .
|
|
38
|
+
|
|
39
|
+
# TEST
|
|
40
|
+
lcov --config-file .gitlab-ci/lcovrc --directory . --capture --initial --output-file \
|
|
41
|
+
"${COV_DIR}/${CI_JOB_NAME_SLUG}-baseline.lcov"
|
|
42
|
+
|
|
43
|
+
xvfb-run -a python -m pytest -vs --cov --junit-xml="${JUNIT_XML}"
|
|
44
|
+
python -m coverage lcov -o "${COV_DIR}/${COV_KEY}.py.lcov"
|
|
45
|
+
|
|
46
|
+
# COLLECT GCOV COVERAGE
|
|
47
|
+
lcov --config-file .gitlab-ci/lcovrc --directory . --capture --output-file \
|
|
48
|
+
"${COV_DIR}/${CI_JOB_NAME_SLUG}.lcov"
|
|
@@ -7,7 +7,8 @@ DIR="$( cd "$( dirname "$0" )" && pwd )"
|
|
|
7
7
|
if [[ "$1" == "inflatpak" ]]; then
|
|
8
8
|
COV_DIR="$(pwd)/coverage"
|
|
9
9
|
COV_KEY="flatpak-$TEST_GTK_VERSION"
|
|
10
|
-
|
|
10
|
+
COVERAGE_FILE="${COV_DIR}/.coverage.${COV_KEY}"
|
|
11
|
+
export COVERAGE_FILE
|
|
11
12
|
mkdir -p "${COV_DIR}"
|
|
12
13
|
|
|
13
14
|
python3 --version
|
|
@@ -19,6 +20,7 @@ if [[ "$1" == "inflatpak" ]]; then
|
|
|
19
20
|
chmod -R 777 "${COV_DIR}"
|
|
20
21
|
else
|
|
21
22
|
# https://gitlab.gnome.org/GNOME/gnome-runtime-images/-/issues/7
|
|
22
|
-
|
|
23
|
+
DBUS_SYSTEM_BUS_ADDRESS="$(dbus-daemon --session --print-address --fork)"
|
|
24
|
+
export DBUS_SYSTEM_BUS_ADDRESS
|
|
23
25
|
xvfb-run -a flatpak run --user --filesystem=host --share=network --socket=x11 --command=bash org.gnome.Sdk//master -x "${DIR}"/test-flatpak.sh inflatpak
|
|
24
26
|
fi
|
|
@@ -24,28 +24,33 @@ pacman --noconfirm -S --needed \
|
|
|
24
24
|
# ccache setup
|
|
25
25
|
export PATH="$MSYSTEM/lib/ccache/bin:$PATH"
|
|
26
26
|
mkdir -p _ccache
|
|
27
|
-
|
|
28
|
-
export
|
|
27
|
+
CCACHE_BASEDIR="$(pwd)"
|
|
28
|
+
export CCACHE_BASEDIR
|
|
29
|
+
CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
|
|
30
|
+
export CCACHE_DIR
|
|
29
31
|
|
|
30
32
|
# coverage setup
|
|
31
33
|
COV_DIR="$(pwd)/coverage"
|
|
32
|
-
COV_KEY="${
|
|
34
|
+
COV_KEY="${CI_JOB_NAME_SLUG}"
|
|
33
35
|
mkdir -p "${COV_DIR}"
|
|
34
36
|
export COVERAGE_FILE="${COV_DIR}/.coverage.${COV_KEY}"
|
|
35
37
|
|
|
38
|
+
# Test results
|
|
39
|
+
JUNIT_XML="test-results.xml"
|
|
40
|
+
|
|
36
41
|
# https://docs.python.org/3/using/cmdline.html#envvar-PYTHONDEVMODE
|
|
37
42
|
export PYTHONDEVMODE=1
|
|
38
43
|
|
|
39
44
|
|
|
40
|
-
MSYSTEM= CFLAGS="-coverage -ftest-coverage -fprofile-arcs -Werror" meson setup _build
|
|
45
|
+
MSYSTEM='' CFLAGS="-coverage -ftest-coverage -fprofile-arcs -Werror" meson setup _build
|
|
41
46
|
|
|
42
47
|
lcov \
|
|
43
48
|
--config-file .gitlab-ci/lcovrc \
|
|
44
49
|
--directory "$(pwd)" --capture --initial --output-file \
|
|
45
50
|
"${COV_DIR}/${COV_KEY}-baseline.lcov"
|
|
46
51
|
|
|
47
|
-
MSYSTEM= PYTEST_ADDOPTS="--cov" meson test --suite pygobject --timeout-multiplier 4 -C _build -v
|
|
48
|
-
MSYSTEM= python -m coverage lcov -o "${COV_DIR}/${COV_KEY}.py.lcov"
|
|
52
|
+
MSYSTEM='' PYTEST_ADDOPTS="--cov -sv --junit-xml=${JUNIT_XML}" meson test --suite pygobject --timeout-multiplier 4 -C _build -v
|
|
53
|
+
MSYSTEM='' python -m coverage lcov -o "${COV_DIR}/${COV_KEY}.py.lcov"
|
|
49
54
|
|
|
50
55
|
lcov \
|
|
51
56
|
--config-file .gitlab-ci/lcovrc \
|
|
@@ -1,29 +1,79 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
include:
|
|
2
|
+
- component: gitlab.gnome.org/GNOME/citemplates/release-service@master
|
|
3
|
+
inputs:
|
|
4
|
+
dist-job-name: "sdist"
|
|
5
|
+
tarball-artifact-path: "${TARBALL_ARTIFACT_PATH}"
|
|
6
|
+
|
|
3
7
|
stages:
|
|
8
|
+
- pre-commit
|
|
4
9
|
- build_and_test
|
|
5
10
|
- coverage
|
|
6
11
|
- deploy
|
|
7
12
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
variables:
|
|
14
|
+
TARBALL_ARTIFACT_PATH: "dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
|
|
15
|
+
|
|
16
|
+
default:
|
|
17
|
+
image: registry.gitlab.gnome.org/gnome/pygobject/main:v26
|
|
18
|
+
cache:
|
|
19
|
+
paths:
|
|
20
|
+
- _ccache/
|
|
11
21
|
|
|
12
|
-
|
|
22
|
+
pre-commit:
|
|
23
|
+
stage: pre-commit
|
|
24
|
+
variables:
|
|
25
|
+
PYTHON_VERSION: "3.13"
|
|
26
|
+
XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache"
|
|
27
|
+
script:
|
|
28
|
+
- git config --global --add safe.directory "$CI_PROJECT_DIR"
|
|
29
|
+
- python -m pip install -q pre-commit
|
|
30
|
+
- python -m pre_commit run --all-files
|
|
31
|
+
artifacts:
|
|
32
|
+
when: on_failure
|
|
33
|
+
paths:
|
|
34
|
+
- .cache/pre-commit/pre-commit.log
|
|
35
|
+
|
|
36
|
+
linux:
|
|
13
37
|
stage: build_and_test
|
|
38
|
+
parallel:
|
|
39
|
+
matrix:
|
|
40
|
+
- PYTHON_VERSION:
|
|
41
|
+
- "3.9"
|
|
42
|
+
- "3.10"
|
|
43
|
+
- "3.11"
|
|
44
|
+
- "3.12"
|
|
45
|
+
- "3.13"
|
|
46
|
+
- "pypy3"
|
|
47
|
+
TEST_GTK_VERSION: "3.0"
|
|
48
|
+
- PYTHON_VERSION: "3.11"
|
|
49
|
+
TEST_GTK_VERSION: "4.0"
|
|
14
50
|
artifacts:
|
|
51
|
+
when: always
|
|
15
52
|
paths:
|
|
16
53
|
- coverage/
|
|
54
|
+
- test-results.xml
|
|
55
|
+
reports:
|
|
56
|
+
junit: test-results.xml
|
|
17
57
|
script:
|
|
18
58
|
- bash -x ./.gitlab-ci/test-docker.sh
|
|
19
59
|
|
|
20
|
-
|
|
60
|
+
windows:
|
|
21
61
|
stage: build_and_test
|
|
22
62
|
tags:
|
|
23
63
|
- win32-ps
|
|
64
|
+
parallel:
|
|
65
|
+
matrix:
|
|
66
|
+
- MSYSTEM:
|
|
67
|
+
- "MINGW32"
|
|
68
|
+
- "MINGW64"
|
|
24
69
|
artifacts:
|
|
70
|
+
when: always
|
|
25
71
|
paths:
|
|
26
72
|
- coverage/
|
|
73
|
+
- _build/meson-logs
|
|
74
|
+
- test-results.xml
|
|
75
|
+
reports:
|
|
76
|
+
junit: test-results.xml
|
|
27
77
|
script:
|
|
28
78
|
- $env:CHERE_INVOKING = 'yes'
|
|
29
79
|
- C:\msys64\usr\bin\pacman --noconfirm -Syyuu
|
|
@@ -54,8 +104,8 @@ pages:
|
|
|
54
104
|
paths:
|
|
55
105
|
- public
|
|
56
106
|
expire_in: 30 days
|
|
57
|
-
|
|
58
|
-
- main
|
|
107
|
+
rules:
|
|
108
|
+
- if: $CI_COMMIT_BRANCH == "main"
|
|
59
109
|
|
|
60
110
|
sdist:
|
|
61
111
|
stage: build_and_test
|
|
@@ -66,91 +116,19 @@ sdist:
|
|
|
66
116
|
- git config --global --add safe.directory "$CI_PROJECT_DIR"
|
|
67
117
|
- bash -x ./.gitlab-ci/build-sdists.sh
|
|
68
118
|
|
|
69
|
-
mingw32:
|
|
70
|
-
variables:
|
|
71
|
-
MSYSTEM: "MINGW32"
|
|
72
|
-
<<: *mingw-defaults
|
|
73
|
-
|
|
74
|
-
mingw64:
|
|
75
|
-
variables:
|
|
76
|
-
MSYSTEM: "MINGW64"
|
|
77
|
-
<<: *mingw-defaults
|
|
78
|
-
|
|
79
|
-
python3.9:
|
|
80
|
-
variables:
|
|
81
|
-
PYTHON_VERSION: "3.9"
|
|
82
|
-
TEST_GTK_VERSION: "3.0"
|
|
83
|
-
<<: *defaults
|
|
84
|
-
|
|
85
|
-
python3.10:
|
|
86
|
-
variables:
|
|
87
|
-
PYTHON_VERSION: "3.10"
|
|
88
|
-
TEST_GTK_VERSION: "3.0"
|
|
89
|
-
<<: *defaults
|
|
90
|
-
|
|
91
|
-
python3.11:
|
|
92
|
-
variables:
|
|
93
|
-
PYTHON_VERSION: "3.11"
|
|
94
|
-
TEST_GTK_VERSION: "3.0"
|
|
95
|
-
<<: *defaults
|
|
96
|
-
|
|
97
|
-
python3.11-gtk4:
|
|
98
|
-
variables:
|
|
99
|
-
PYTHON_VERSION: "3.11"
|
|
100
|
-
TEST_GTK_VERSION: "4.0"
|
|
101
|
-
<<: *defaults
|
|
102
|
-
|
|
103
|
-
python3.12:
|
|
104
|
-
variables:
|
|
105
|
-
PYTHON_VERSION: "3.12"
|
|
106
|
-
TEST_GTK_VERSION: "3.0"
|
|
107
|
-
<<: *defaults
|
|
108
|
-
|
|
109
|
-
pypy3:
|
|
110
|
-
variables:
|
|
111
|
-
PYTHON_VERSION: "pypy3"
|
|
112
|
-
TEST_GTK_VERSION: "3.0"
|
|
113
|
-
<<: *defaults
|
|
114
|
-
|
|
115
|
-
old-i386-py3:
|
|
116
|
-
stage: build_and_test
|
|
117
|
-
image: registry.gitlab.gnome.org/gnome/pygobject/old:v6
|
|
118
|
-
artifacts:
|
|
119
|
-
paths:
|
|
120
|
-
- coverage/
|
|
121
|
-
script:
|
|
122
|
-
- bash -x ./.gitlab-ci/test-docker-old.sh
|
|
123
|
-
# This build sometimes fails with message:
|
|
124
|
-
# ninja: error: loading 'build.ninja': Value too large for defined data type
|
|
125
|
-
retry:
|
|
126
|
-
max: 2
|
|
127
|
-
when: runner_system_failure
|
|
128
|
-
exit_codes: 1
|
|
129
|
-
|
|
130
119
|
gnome-master:
|
|
131
120
|
stage: build_and_test
|
|
132
121
|
image: quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master
|
|
133
122
|
tags:
|
|
134
123
|
- flatpak
|
|
124
|
+
parallel:
|
|
125
|
+
matrix:
|
|
126
|
+
- TEST_GTK_VERSION:
|
|
127
|
+
- "3.0"
|
|
128
|
+
- "4.0"
|
|
135
129
|
artifacts:
|
|
136
130
|
paths:
|
|
137
131
|
- coverage/
|
|
138
|
-
variables:
|
|
139
|
-
TEST_GTK_VERSION: "3.0"
|
|
140
|
-
script:
|
|
141
|
-
- bash -x ./.gitlab-ci/test-flatpak.sh
|
|
142
|
-
|
|
143
|
-
gnome-master-gtk4:
|
|
144
|
-
allow_failure: true
|
|
145
|
-
stage: build_and_test
|
|
146
|
-
image: quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master
|
|
147
|
-
tags:
|
|
148
|
-
- flatpak
|
|
149
|
-
artifacts:
|
|
150
|
-
paths:
|
|
151
|
-
- coverage/
|
|
152
|
-
variables:
|
|
153
|
-
TEST_GTK_VERSION: "4.0"
|
|
154
132
|
script:
|
|
155
133
|
- bash -x ./.gitlab-ci/test-flatpak.sh
|
|
156
134
|
|
|
@@ -168,10 +146,10 @@ python3.12-pdm:
|
|
|
168
146
|
minimal-meson:
|
|
169
147
|
allow_failure: true
|
|
170
148
|
stage: build_and_test
|
|
171
|
-
image: quay.io/fedora/fedora:
|
|
149
|
+
image: quay.io/fedora/fedora:40
|
|
172
150
|
before_script:
|
|
173
|
-
- dnf install --assumeyes gcc meson git flex bison diffutils python3-devel python3-pytest
|
|
151
|
+
- dnf install --assumeyes gcc meson git flex bison diffutils python3-devel python3-pytest gobject-introspection-devel
|
|
174
152
|
script:
|
|
175
153
|
- meson setup _build
|
|
176
154
|
- meson compile -C _build
|
|
177
|
-
- PYTEST_ADDOPTS="-k 'not test_cairo'" meson test -C _build --verbose
|
|
155
|
+
- PYTEST_ADDOPTS="-sv -k 'not test_cairo'" meson test -C _build --suite pygobject --verbose
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# This is a configuration file for the pre-commit tool.
|
|
2
|
+
# Documentation is available at https://pre-commit.com/#plugins
|
|
3
|
+
|
|
4
|
+
repos:
|
|
5
|
+
- repo: https://github.com/shellcheck-py/shellcheck-py
|
|
6
|
+
rev: a23f6b85d0fdd5bb9d564e2579e678033debbdff # frozen: v0.10.0.1
|
|
7
|
+
hooks:
|
|
8
|
+
- id: shellcheck
|
|
9
|
+
- repo: https://github.com/PyCQA/flake8
|
|
10
|
+
rev: 7.1.1
|
|
11
|
+
hooks:
|
|
12
|
+
- id: flake8
|