[Geany-Devel] Proxy Plugins Update

Thomas Martitz kugel at xxxxx
Tue Jul 8 18:16:49 UTC 2014


Am 08.07.2014 20:15, schrieb Dimitar Zhekov:
> On Mon, 07 Jul 2014 18:48:00 +0200
> Thomas Martitz <kugel at rockbox.org> wrote:
>
>> Hello,
>>
>> I'm still working on proxy plugins, sorts of. I thought it would be
>> useful to give you an update.
>>
>>   [...]
>>
>> 1) backward-compat: Libpeas is fundamentally based on describing plugin
>> metadata with a separate .ini-style file ($plugin.plugin). It cannot
>> load plain .so files on its own.
>>    -> I solved this by extending the libpeas parser such that it can
>> parse the plugin description of Geany plugins, and generate a
>> PeasPluginInfo from it. This way we can load existing plugins before
>> they transitioned to the .plugin file.
> Well, if we decide on libpeas, we can move the descriptions from .so
> to .plugin at some future point. Hope you havent hardcoded the file
> type to ".so", since it's ".dll" under Win~1.

I should do s/.so/G_MODULE_SUFFIX/

>> 2) backward-compat again: libpeas' existing C parser cannot load the C
>> plugins because they do not implement a gobject interface.
>>    -> For this I wrote a trivial custom loader which instantiates a
>> "PeasGeany" interface instance (it has the traditional init(),
>> configure(), help(), cleanup() methods) on behalf of the existing plugins.
> This one should be part of Geany (there is no requirement to put the
> custom loaders in separate libraries).

I integrated the loader as a additional libpeas loader (like the python 
one). so it compiles together with libpeas and the other loaders. That 
was easiest way to get working.

My whole libpeas fork is (currently) imported into the geany repo so 
it's a bit academic.

Best regards


More information about the Devel mailing list