summaryrefslogtreecommitdiff
path: root/loaders
Commit message (Collapse)AuthorAgeFilesLines
* plugins/lua51: fix symbol visibilityChristian Hergert2023-03-222-2/+3
|
* loaders/python: fix symbol visibility in shared moduleChristian Hergert2023-03-221-2/+3
|
* janitorial: use char and int over gchar and gintChristian Hergert2023-03-227-42/+37
|
* loaders/lua: ignore deprecations for GParameterChristian Hergert2023-03-221-0/+2
|
* loaders/python: fix attribute type for plugin_infoChristian Hergert2023-03-221-1/+1
|
* loaders/python: fix version element indexChristian Hergert2023-03-221-1/+1
|
* loaders/python: remove python2 vs python3-ismsChristian Hergert2023-03-221-9/+0
|
* loaders/python: ignore GParameter deprecationsChristian Hergert2023-03-221-0/+2
|
* loaders/python: PyEval_InitThreads() is no longer necessaryChristian Hergert2023-03-221-1/+0
| | | | This is always the case, so we can drop it from our code.
* loaders/python: modernize GType definitionsChristian Hergert2023-03-222-48/+23
|
* extension: use GObject instead of PeasExtensionChristian Hergert2023-03-222-2/+2
| | | | | | 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: add LIBPEAS_INSIDE include checksChristian Hergert2023-03-222-2/+2
| | | | | 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-227-17/+5
| | | | | 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-225-22/+5
| | | | | 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-2210-0/+20
| | | | | 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: clean up tree in preparation for libpeas-2.0Christian Hergert2023-03-224-69/+13
| | | | | | | | | | | | | | | | | 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
* build: fix min/max version warningsChristian Hergert2022-02-083-3/+3
| | | | | | We don't want these applied to the gir compilation, so manually add the project_c_args to the targets we care about having min/max glib version applied.
* Python Loader: Do not hardcode localedir on WindowsChun-wei Fan2020-10-092-1/+10
| | | | | | We construct them dynamically according to the path that the libpeas DLL is in, so that they can be relocated easily on Windows, which is often the case there.
* build: fix build when using luajitChristian Hergert2019-10-291-0/+1
|
* meson: build loaders as modules instead of shared librariesTom Schoonjans2019-10-283-6/+9
| | | | | Also: ensure that the extension of the loader plugins is set to so on macOS
* build: fix naming of Python 2 loaderMartin Wimpress2019-10-281-1/+1
| | | | | The Python 2 loader is still named `pythonloader`. This fixes the name of the loader so that it is properly loaded.
* python: fix use of PeasExtension with GInitiallyUnownedTom Schoonjans2019-10-281-0/+4
| | | | | This patch fixes a segfault which occurred whenever instantiating an object that derived from GInitiallyUnowned, such as GtkWidget.
* build: specify min/max glib versions in meson.buildChristian Hergert2019-10-242-4/+0
| | | | | | This ensures that we don't use API that we cannot use, but also ensures that we don't need to litter the source code with begin/end ignore deprecations.
* build: fix typo in meson portChristian Hergert2019-08-051-1/+1
|
* build: remove autotoolsChristian Hergert2019-08-055-198/+0
|
* build: fix typoChristian Hergert2019-08-051-2/+2
|
* lua: avoid GDestroyNotify in g_clear_pointer()Christian Hergert2019-08-051-1/+1
|
* lua: ignore GParameter deprecationChristian Hergert2019-08-051-0/+2
|
* python: ignore deprecations in GParameter usageChristian Hergert2019-08-051-0/+2
|
* Port to meson build systemMartin Blanchard2019-08-055-0/+147
| | | | | | | | | | The meson build system focuses on speed an ease of use, which helps speeding up the software development. https://bugzilla.gnome.org/show_bug.cgi?id=793916 https://gitlab.gnome.org/GNOME/libpeas/issues/26 Closes #26
* Cleanup resource generation in the plugin loadersGarrett Regier2015-12-154-30/+39
|
* Initialize the peas-extension-type quark in class_init when possibleGarrett Regier2015-12-152-6/+8
|
* Do not add pyexecdir to Python's paths at runtimeGarrett Regier2015-09-224-5/+0
| | | | | | This seems to be a bugfix for jhbuild from 2009 and is no longer needed. It has also been known to cause issues for some.
* Use gint64 in peas_lua_utils_check_version()Garrett Regier2015-09-221-2/+2
| | | | | This is required as we are using g_ascii_strtoll() and checking for G_MAXINT64.
* Fix some documentationGarrett Regier2015-09-221-0/+1
|
* Fix Python plugin loader module pathsGarrett Regier2015-09-211-3/+1
| | | | | | Popping the first item from the module paths was only required when PySys_SetArgv() was used. https://bugzilla.gnome.org/show_bug.cgi?id=753401
* Don't run an idle Python garbage collectionGarrett Regier2015-04-271-16/+0
| | | | | | | Running it in an idle shouldn't be needed, this was originally copied from gedit's old plugin engine. This also fixes a weird crash under Windows. https://bugzilla.gnome.org/show_bug.cgi?id=748075
* Simplify __all__ support in the Python plugin loaderGarrett Regier2015-04-211-7/+1
| | | | No need to catch the AttributeError, instead simply use getattr with a default value.
* Fix distcheckGarrett Regier2015-02-142-4/+9
|
* Relicense as LGPL 2.1+Garrett Regier2015-02-1415-165/+160
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=599120
* Prevent the accidental escaping of globals with Lua pluginsGarrett Regier2015-02-1410-61/+150
| | | | | | | | | This implements a strict mode which prevents the creation of globals, except when using rawset(). This can be disabled for incompatible code by setting __STRICT to false. https://bugzilla.gnome.org/show_bug.cgi?id=742557
* Use Lua to implement the plugin loader's logicGarrett Regier2015-02-149-244/+607
| | | | | | | This allows us to avoid using Lua's C API and have a more understandable implementation. https://bugzilla.gnome.org/show_bug.cgi?id=742410
* Shorten Lua plugin loader filenamesGarrett Regier2015-02-144-10/+9
| | | | | | | Using "peas-plugin-loader-lua" as a prefix is just too long. https://bugzilla.gnome.org/show_bug.cgi?id=742410
* Properly clear internal Python loader globalsGarrett Regier2015-02-041-23/+33
| | | | | This prevents leaking the various PyObjects, at least on our end.
* Use the correct hook name for the Python loaderGarrett Regier2015-02-041-1/+1
| | | | | We are actually calling call() at this point, not the specific method that will be called from there.
* Stop pretending that the Python internals are non-globalGarrett Regier2015-02-043-63/+42
| | | | Python uses many globals, we might as well do the same.
* Support Python plugins that define __all__Garrett Regier2015-02-041-1/+7
| | | | | | Instead of going through every local in the plugin just check those in __all__, if defined. https://bugzilla.gnome.org/show_bug.cgi?id=741802
* Do not reveal Python loader internals in tracebacksGarrett Regier2015-01-202-1/+16
| | | | | | This adds format_plugin_exception() which removes all internal Python frames from the traceback. https://bugzilla.gnome.org/show_bug.cgi?id=742349
* Add verbose Python plugin loader warningsGarrett Regier2015-01-202-17/+31
| | | | | | | Use a Python hook to implement the call logic. This allows us to have verbose error messages and include the exception traceback. https://bugzilla.gnome.org/show_bug.cgi?id=742349
* Use Python to implement the plugin loader's logicGarrett Regier2015-01-204-448/+379
| | | | | | | This allows us to avoid the CPython API and have a more understandable implementation. https://bugzilla.gnome.org/show_bug.cgi?id=742349