[Geany-devel] Geany-Plugins Dependency Consolidation
Matthew Brush
mbrush at xxxxx
Sun Aug 5 12:27:08 UTC 2012
On 12-08-05 04:47 AM, Frank Lanitz wrote:
> On Sun, 5 Aug 2012 10:21:04 +1000
> Lex Trotman <elextr at gmail.com> wrote:
>
>> On 5 August 2012 03:40, Matthew Brush <mbrush at codebrainz.ca> wrote:
>>> On 12-08-04 09:41 AM, Colomban Wendling wrote:
>>>>
>>>> [...]
>>>>
>>>> So... maybe I got your point wrong, but I don't think it's any
>>>> kind of a problem to have different dependencies from one plugin
>>>> to another -- actually, I think each plugin should set it
>>>> dependencies to exactly what it needs: nothing less (of course),
>>>> and nothing more.
>>>>
>>>
>>> You got it mostly. I just mean some way for the build system to
>>> handle multiple plugins sharing same dependencies like having
>>> webkit.m4 that enables/disables multiple plugins if not found. So
>>> when you configure, it says something like this:
>>>
>>> checking for WebKit >= x.xx ... no
>>> Disabling plugins: WebHelper, Devhelp, Markdown
>>
>> I don't see this, the *plugin* should define what it needs, not some
>> arbitrary external build script. My (limited) understanding of the
>> plugin autofoo is that is how its done now by having local build
>> scripts in each plugin.
>>
Yeah, and currently the plugins each check for the same shared
dependencies, but it doesn't show what they're checking for, it just
shows the plugin's name, like:
checking for DEVHELP ... no
What I'm asking about is to have a webkit.m4 (for example) or something
that the plugins which use that dependency can make use of and so the
check is only done once and if not found, it ouputs as I said
previously. Of course I don't know if it's realistic/feasible, which is
why I was asking.
>> If they require different versions that might mean you get Webhelper
>> and Devhelp but not Markdown, but your scheme won't allow that. So if
>> the Markdown dev added some new feature that needed a higher version I
>> can't build the other two unless I upgrade my system :(
>>
I mean they should require the same version, the same *lowest* version
they can work with (even if they need some minor changes to make it
possible).
>> We should not be forcing the *highest* version needed by plugins.
>
Not what I meant. But it's sort of what we do now if you consider
building geany-plugins as a whole.
> I agree. But I also see the point of consolidation of dependencies. Its
> getting really complicated to say geany-plugins needs this dependencies,
> but I think its an issue we need to solve on social level, not trying
> to solve it with some hack. Is there any chance to get a complete list
> which plugins depend on which library out of autotools?
>
What I was asking about wouldn't be a hack, it would just be to change
the plugins a bit so they depend on the same version of shared
libraries, and then to have Autotools do a check for the shared dependency.
For a list of the dependencies, you can look through the `build`
directory's .m4 files and manually extract them (like I did for some of
the shared ones previously). The ones with the highest versions will be
the "minimum version required" to build geany-plugins (as a whole).
Cheers,
Matthew Brush
More information about the Devel
mailing list