summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Require glib 2.64 and g-i 1.64HEADmasterChristoph Reiter2023-05-132-4/+4
| | | | | | Since we now target Python 3.8+, looking at Debian and Ubuntu releases we have 1/2.64 in Ubuntu 20.04 and 1/2.66 in Debian bullseye. Go with the older one of the two.
* meson: define pycairo_dep in case pycairo=disabledChristoph Reiter2023-05-131-0/+1
| | | | | | | Otherwise we get: tests/meson.build:124:15: ERROR: Unknown variable "pycairo_dep". See !216
* Bump up the requirement to gobject-introspectionEmmanuele Bassi2023-05-134-12/+2
| | | | | We now require 1.60.0, to unconditionally use the GI_CHECK_VERSION version check macro.
* gi: Replace deprecated FFI closure APIEmmanuele Bassi2023-05-132-0/+34
| | | | | | This is a reimplemented fc776c2058e11da5c3a4cebeea7f313057bc079f with the proper fix for the regression introduced by that commit which required a revert.
* Add (in)equality tests for Gdk.{Color,RGBA}Mazhar Hussain2023-03-281-0/+8
|
* Add inequality comparison to Gdk.{Color,RGBA}Mazhar Hussain2023-03-281-0/+10
| | | | | Otherwise the default implementation of __ne__ (which has wrong behavior) is used instead of inverting the result of __eq__.
* Allow Gdk.{Color,RGBA} instances to be compared with other objectsMazhar Hussain2023-03-281-0/+4
| | | | | | For example, `Gdk.RGBA() == None` should return False instead of raising a TypeError Fixes https://gitlab.gnome.org/GNOME/pygobject/-/issues/414
* Update NEWSChristoph Reiter2023-03-241-0/+6
|
* tests: fix tests with glib 2.76Christoph Reiter2023-03-243-4/+4
| | | | | | | | | | Fallout from https://gitlab.gnome.org/GNOME/glib/-/commit/0ffe86a1f7e215e4561c3b9f1d03c3cd638ed00f Our test suite runs with G_DEBUG=fatal-criticals and the last glib release upgraded some warnings which we explicitely ignored or captured to criticals, making the tests fail in various places. Ignore those new criticals where needed.
* Update docs and code examples to GTK 4Mat2023-03-227-214/+220
|
* Move additional steps to install dependenciesDan Yeaw2023-03-221-5/+8
|
* Cleanup virtualenv dependenciesDan Yeaw2023-03-221-19/+3
|
* Use x64 version of MSYS2 packagesDan Yeaw2023-03-221-3/+3
|
* Replace pipsi/pipenv with pipx/poetryDan Yeaw2023-03-221-72/+34
|
* List additional projects using PyGObjectMat2023-03-221-6/+24
| | | | | Add some notable PyGObject applications from different categories to demonstrate what PyGObject is used for.
* meson: Set PYTHONPATH in devenvXavier Claessens2023-03-191-0/+9
| | | | This allows importing gi module from within meson devenv.
* Drop Python 3.7 support and update CI envsChristoph Reiter2023-03-1910-23/+20
| | | | | | | | | | Python 3.7 will be EOL in 3 months, so before the next release. * Update the Python versions in the CI images * Bump the docker base image from focal to jammy to test against a newer stack. This triggers new deprecation warnings which we need to disable for now. * Bump the old docker based image to from buster to bullseye, moving from Python 3.7 to 3.9.
* version bumpChristoph Reiter2023-03-193-3/+3
|
* release3.44.0Christoph Reiter2023-03-194-3/+9
|
* version bumpChristoph Reiter2023-01-283-3/+3
|
* release3.43.1Christoph Reiter2023-01-284-3/+21
|
* Docs: Add information about available typing stubslovetox2023-01-271-1/+1
|
* CI: try to make the flatpak tests run againChristoph Reiter2023-01-273-9/+14
| | | | | | | | | | | | | | | Half a year ago they broke due to some changes of either the gnome-runtime-images docker images, or the contained flatpak, or something else: https://gitlab.gnome.org/GNOME/gnome-runtime-images/-/issues/7 This creates a fake dbus system bus so flatpak run doesn't fail. After this it turned out that pip install is now completely broken in the sdk and it installs packages to a place where it can't find them afterwards, so just use a venv instead. Finally the pygobject test suite still crashes at some point, but at least it's better then before.
* meson: bump minimum meson version to 0.53.0 and update subprojectsChristoph Reiter2023-01-273-3/+6
| | | | | | | | | 0.53.0 targets Ubuntu 20.04, also matches what pycairo needs currently. Update the libffi wrap to match what glib uses (the old one no longer works with current glib) And target pycairo main (we target main for everything else too..)
* Port to Py_TRASHCAN_BEGINChristoph Reiter2023-01-272-2/+10
| | | | | | | | | | | Py_TRASHCAN_SAFE_BEGIN and Py_TRASHCAN_SAFE_END are deprecated since Python 3.11 and result in a deprecation warning when building against Python 3.11. This follows the suggested migration to Py_TRASHCAN_BEGIN and Py_TRASHCAN_END in https://docs.python.org/3/whatsnew/3.11.html Py_TRASHCAN_BEGIN only exists since Python 3.8, while we still support 3.7, so also use the suggested macro to support older Python versions.
* CI: Add Python 3.11 and update other Python installsChristoph Reiter2023-01-273-14/+21
|
* IntrospectionModule: handle two threads loading type at same timeRay Strode2022-10-151-52/+58
| | | | | | | | | | | If two threads are trying to load a type at exactly the same time, it's possible for two wrappers to get generated for the type. One thread will end up with the wrapper that's not blessed as the "real" one and future calls will fail. The blessed wrapper will be incomplete, and so future calls from it will fail as well. This commit adds a lock to ensure the two threads don't stomp on each others toes.
* Revert "pygi: Fix girepository deprecation warnings"Christoph Reiter2022-08-081-14/+0
| | | | | | | This reverts commit fc776c2058e11da5c3a4cebeea7f313057bc079f. This might have caused a regression, see #535. Until we know more revert this for now.
* Update (or drop) the Docker image used by Flatpak jobbarthalion/gnome-runtime-images-quayBartłomiej Piotrowski2022-08-041-3/+3
| | | | | | The gnome-runtime-images have been recently migrated to Quay. This is already reflected in the template. Please note this MR has been created semi-automatically. If it doesn't make sense, feel free to close it.
* examples: Fix flake8 whitespace errorNirbheek Chauhan2022-07-311-1/+1
| | | | | + python -m flake8 ./examples/demo/demos/combobox.py:212:24: E275 missing whitespace after keyword
* pygi: Fix girepository deprecation warningsNirbheek Chauhan2022-07-311-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | These functions were deprecated in gobject-introspection 1.72 GI_CHECK_VERSION was added after gobject-introspection 1.58, and we require 1.56. ../gi/pygi-closure.c: In function ‘_pygi_invoke_closure_free’: ../gi/pygi-closure.c:635:5: warning: ‘g_callable_info_free_closure’ is deprecated: Use 'g_callable_info_destroy_closure' instead [-Wdeprecated-declarations] 635 | g_callable_info_free_closure (invoke_closure->info, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../gi/pygi-closure.h:22, from ../gi/pygi-closure.c:20: /usr/include/gobject-introspection-1.0/girffi.h:106:15: note: declared here 106 | void g_callable_info_free_closure (GICallableInfo *callable_info, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../gi/pygi-closure.c: In function ‘_pygi_make_native_closure’: ../gi/pygi-closure.c:674:9: warning: ‘g_callable_info_prepare_closure’ is deprecated: Use 'g_callable_info_create_closure' instead [-Wdeprecated-declarations] 674 | g_callable_info_prepare_closure (info, &closure->cif, _pygi_closure_handle, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/gobject-introspection-1.0/girffi.h:100:15: note: declared here 100 | ffi_closure * g_callable_info_prepare_closure (GICallableInfo *callable_info, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Update NEWSChristoph Reiter2022-07-161-0/+14
|
* Drop Martin Pitt as maintainerMartin Pitt2022-06-151-7/+0
| | | I haven't done anything to pygobject in the last 8 years, and forgot everything. I have no authority over this right now.
* Update NEWSChristoph Reiter2022-04-171-0/+10
|
* interface: Fix leak when overriding GInterfaceInfoThibault Saunier2022-04-144-3/+19
| | | | | | | | When the interface is being registered by PyGObject and again through an override, the first one is being leaks, free it at this point. We need to copy the GInterfaceInfo to set on the GType QData as we do not own it.
* setup.py: look up pycairo headers without importing the moduleChristoph Reiter2022-04-131-47/+31
| | | | | | | | | | | | | | | | | | Up until now pycairo provided a cairo.get_include() helper which could be used to find the required include directory matching the module, considering various scenarios. Starting with 3.8 this leads to problems on Windows since CPython on Windows will no longer use PATH for the DLL lookup and expects the library user to explicitely pass the directory where the cairo DLL can be found. In a build environment the user has no control over this though, so we have to find the include directory without loading/importing pycairo again. This now uses a combination of importlib.util.find_spec() for finding the module and importlib.metadata.distribution() for finding the package version. Hopefully this covers all cases.
* tests: Support CPython 3.8 on WindowsChristoph Reiter2022-04-091-0/+16
| | | | | | | | | | | | Python 3.8 no longer uses PATH for searching DLLs so we have to add them manually. Note that unlike PATH add_dll_directory() has no defined order, so if there are two same DLLs in PATH we might get a random one. This only makes sure that 'setup.py test' and 'pytest' continue working. If you include pygobject manually you have to call os.add_dll_directory() yourself with the location of the DLLs you ship.
* tests: Remove PyPy fixme that appears to be workingBenjamin Berg2022-03-281-1/+0
| | | | | The test_gvalue_gobject_ref_counts appears to be working just fine these days.
* hashtable: Fix refcount of key/value in error case when marshallingBenjamin Berg2022-03-281-2/+0
| | | | | | | PyList_GET_ITEM only returns a borrowed reference. In the unlikely event of an error converting the key or value, the reference would be unintentionally decremented. This could cause random failures later on (and was indeed causing the PyPy test to fail randomly later on).
* gi: Fix GArray length calculation for other item sizesBenjamin Berg2022-03-283-5/+28
|
* Fix type checkArjan Molenaar2022-03-281-2/+1
| | | | Check for required type, instead of negating invalid type.
* Instead of printing an error, raise an exceptionArjan Molenaar2022-03-282-3/+13
|
* Make warning a crtitical for unknown argument typesArjan Molenaar2022-03-281-1/+1
|
* Check object type before Python objects are createdArjan Molenaar2022-03-281-1/+5
|
* Add extra safeguard in gimoduleArjan Molenaar2022-03-281-1/+5
| | | | Why does a g_instance_init() function only handle GObjects?
* Add Hello World GTK under Other Options and Passphraser as an example that ↵Zev Lee2022-03-281-1/+3
| | | | uses the aforementioned build system.
* Add a readthedocs configChristoph Reiter2022-03-273-1/+13
| | | | So it uses a newer sphinx
* coverage: include Python coverage in lcov reportChristoph Reiter2022-03-277-28/+31
| | | | | | | newer pycoverage supports lcov as output format, so convert to lcov and only generate one report at the end for everything. The lcov report isn't that nice, but at least everything is in one place.
* poetry: update depsChristoph Reiter2022-03-271-2/+2
|
* Only create function _construct_target_list for GTK2/3Arjan Molenaar2022-03-271-14/+14
| | | | It's not used in GTK 4.