summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* plugin-loader: modernize type definitionChristian Hergert2023-03-221-14/+6
|
* extension: use GObject instead of PeasExtensionChristian Hergert2023-03-2223-289/+115
| | | | | | Now that there is no longer wrapped objects and calling via GObject Introspection, we can remove the use of PeasExtension and simply use GObject (as it was internally already).
* janitorial: various style and constness cleanupsChristian Hergert2023-03-221-60/+48
|
* build: add various link hardening and performance optionsChristian Hergert2023-03-221-0/+17
|
* build: disable assert/cast-checks in production buildsChristian Hergert2023-03-221-0/+3
|
* engine: implement GListModelChristian Hergert2023-03-224-60/+79
| | | | | | | | | | | | This commit makes PeasEngine a GListModel containing PeasPluginInfo. Such a design is useful for modern GTK development because it allows binding the engine to various list widgetry. Additionally, you may use a GtkFilterListModel or others to alter or even map the PeasPluginInfo into other forms. This also removes the G_TYPE_POINTER based plugin-list property as that is no longer needed (as well as rather unsafe).
* engine: remove use of gcharChristian Hergert2023-03-222-119/+109
| | | | Just use char like we do over the rest of the platform in modern code.
* plugin-info: expose various data as propertiesChristian Hergert2023-03-223-0/+163
| | | | | This allows for data binding using g_object_bind_property() and similar in applications.
* plugin-info: fix usage of char including constnessChristian Hergert2023-03-225-63/+59
| | | | | We use `const char * const *` for read-only char** arrays. Additionally, stop using gchar and instead use char directly.
* tests: ensure builtin plugin releases objectChristian Hergert2023-03-222-2/+19
| | | | And fix the tests so that ASAN doesn't complain about leaks.
* janitorial: make PeasPluginInfo a GObjectChristian Hergert2023-03-228-83/+79
| | | | | | This will allow us to use PeasPluginInfo in a GListModel (and therefore expose them in a PeasEngine using GListModel). Properties are not yet exposed but will be in the future.
* janitorial: modernize PeasObjectModuleChristian Hergert2023-03-225-90/+22
| | | | | Use the modern GObject macros and remove autocleanups now that they are no longer necessary to be defined externally.
* janitorial: modernize PeasEngineChristian Hergert2023-03-224-141/+57
| | | | | | This uses the modern macros for defining types and also ensures that the engine is a final type. We can drop the private pointer as well since we are final.
* janitorial: modernize PeasExtensionBaseChristian Hergert2023-03-223-46/+19
| | | | Use modern GLib macros for defining types.
* janitorial: move extension autocleanup into headerChristian Hergert2023-03-222-1/+2
|
* janitorial: modernize PeasExtensionSet definitionChristian Hergert2023-03-223-167/+74
| | | | | | This should be a final type and therefore there is no need to have the class structure exposed or vtable entries for signals. Cleanup other bits of C style and Since macros too.
* janitorial: set va marshallers for signalsChristian Hergert2023-03-224-14/+28
|
* janitorial: remove introspection dependency from libraryChristian Hergert2023-03-225-403/+0
| | | | | | | | We don't need GObject Introspection anymore now that we have removed the various peas_extension_call() API. We can still check for it to build our internal tests as we need it for running those.
* janitorial: fix version for loading Peas GIRepositoryChristian Hergert2023-03-221-1/+1
|
* janitorial: remove peas_extension_call() and variantsChristian Hergert2023-03-225-372/+5
| | | | These are deprecated and can be removed from future versions.
* janitorial: ignore GParameter deprecationsChristian Hergert2023-03-223-0/+8
| | | | | | There is still much plumbing to modernize to remove GParameter from the lower layers of libpeas, so ignore them for now to keep our compiler warnings cleaner.
* janitorial: remove peas_engine_create_extensionv()Christian Hergert2023-03-224-41/+23
| | | | | | | This moves peas_engine_create_extensionv() to become private API in the form of _peas_engine_create_extensionv() for internal use. The ultimate goal here is the continued removal of deprecated GParameter use in the libpeas-2 public API.
* janitorial: ignore GParameter deprecations in utilsChristian Hergert2023-03-221-0/+2
|
* janitorial: ignore deprecations in peas-extension-set.cChristian Hergert2023-03-221-1/+8
| | | | | We use GParameter here a lot, and that gets in the way of seeing actual useful issues. Just disable it within the file.
* janitorial: remove GParameter from public APIChristian Hergert2023-03-222-27/+1
| | | | | Now that we're breaking ABI, we can drop the GParameter API but still use it internally (as that'd take a lot more code cleanup).
* janitorial: drop old versions and reset for 2_0Christian Hergert2023-03-223-34/+15
|
* janitorial: update gconstructor.hChristian Hergert2023-03-221-7/+74
| | | | Just a more modern version of this commonly vendored header.
* janitorial: add LIBPEAS_INSIDE include checksChristian Hergert2023-03-2212-13/+45
| | | | | Make sure that only <libpeas.h> is included directly. Additionally this ensures we always have LIBPEAS_COMPILATION set when building libpeas.
* janitorial: remove HAVE_CONFIG_HChristian Hergert2023-03-2239-107/+35
| | | | | There is no need to do the HAVE_CONFIG_H thing with meson. We always have a config.h so just include it unconditionally.
* janitorial: use #pragma onceChristian Hergert2023-03-2241-168/+41
| | | | | We can rely on modern compilers to support #pragma once instead of doing the #ifndef style.
* janitorial: add SPDX-License-Identifier: LGPL-2.1-or-laterChristian Hergert2023-03-2284-25/+193
| | | | | Just a nice thing to have in headers to make it clearer for people who casually find themselves reading, and perhaps copying, the code.
* janitorial: rename <libpeas/peas.h> to <libpeas.h>Christian Hergert2023-03-2223-28/+28
| | | | | | Doing the extra-subdirectory thing makes more sense when you have multiple libraries being installed. But since we dropped libpeas-gtk, we can simplify our header include to just <libpeas.h>.
* tests: use major version for introspection versionChristian Hergert2023-03-223-2/+3
| | | | These need to match what we're building so get the value from config.h.
* libpeas: remove peas_extension_set_call()Christian Hergert2023-03-223-179/+0
| | | | | This is a long-deprecated feature that does not need to come along into the libpeas-2 world.
* build: enable additional warning and compiler errorsChristian Hergert2023-03-224-12/+68
|
* libpeas: remove PeasActivatableChristian Hergert2023-03-2216-2/+232
| | | | | | We still use this for tests, but it can live within the testing-util library rather than in libpeas-2 directly. This is part of the effort to shrink down further what is in the public ABI.
* janitorial: clean up tree in preparation for libpeas-2.0Christian Hergert2023-03-2282-7408/+71
| | | | | | | | | | | | | | | | | This starts the process of working towards a new Libpeas 2.0 ABI. The goals of this ABI break are: * Modernize and cleanup GObject usage within libpeas * Use GObject's in more places to allow for better GIO integration * Implement GListModel where it makes sense * Remove GTK 3 and GTK-based APIs as those are trivial to implement in applications with GTK 4 and newer. * Drop Python 2 support * Simplify support for new plugin loaders # Conflicts: # NEWS # meson.build
* Post-release version bump1.36Christian Hergert2023-03-171-1/+1
|
* Release libpeas-1.36.0libpeas-1.36.0Christian Hergert2023-03-172-1/+14
|
* Update Turkish translationSabri Ünal2023-02-221-8/+8
|
* Bump version number for developmentChristian Hergert2023-01-251-1/+1
|
* extension-set: implement GListModelChristian Hergert2023-01-251-4/+50
| | | | | | This implements glistmodel from the PeasExtensionSet so it can be monitored via GListModelInterface::items-changed for change and easily bound to list widgets in GTK.
* build: bump GLib requirement to 2.44Christian Hergert2023-01-251-1/+1
| | | | | | We've been maintaining something back to 2.38 for quite a while, and it should be more than safe to bump this by now so we get access to interfaces like GListModel.
* Add Interlingue translationOlga Smirnova2022-12-092-0/+153
|
* Update Turkish translationSabri Ünal2022-09-181-47/+27
|
* Post-release version bumpChristian Hergert2022-09-171-1/+1
|
* Release libpeas 1.34.0libpeas-1.34.01.34Christian Hergert2022-09-172-1/+13
|
* engine: check reverse dependencies for unresolved infosChristian Hergert2022-08-181-5/+30
| | | | | If we have unresolved plugin info, we might need to place the item sooner than the tail as another plugin could depend on this one.
* engine: add assertion for GLib pre-2.44Christian Hergert2022-08-181-0/+8
| | | | | | We realistically aren't running on these systems, but we might as well be explicit with the comment so that people know what the comment was referring to.
* engine: sort unresolved plugins at tail of queueChristian Hergert2022-08-181-4/+14
| | | | | | | | | | | | If we have a plugin we've added that we could not resolve all the dependencies for then push it to the tail of the queue. That way, further insertions of plugins are more likely to sort before the plugin. Otherwise, we can push the info to the head as it has no dependencies. This improves a situation in Builder where plugins that dependend on plugins which also had dependencies could end up loading in the wrong order.