Hi everyone,
I'm trying to move my plugin (geanygendoc) into geany-plugins, but I have some problems porting the build system -- not used to it.
The thing is that I have data files to install. In my current external build system, I install them into $(geany_datadir)/plugins/geanygendoc, I think it is probably the good place. Yes, no? Anyway, in the geany-plugins build system, I don't see anything already in place to simplify data installation. And even $(datadir) points out of a Geany directory, actually $(prefix)/share, which makes me install my data in ${prefix}/share/geanygendoc, which is quite ugly IMO. Ah, and the second problem which prevents plugin-specific hack is the DATADIR defined in vars.build.mk that also points to $(prefix)/share. I'd think there should be a $(plugindatadir) variable that points to $(prefix)/share/$(plugin), probably defined by a vars.data.mk.
Then, what should I do?
Ah, and is there a quick guide explaining how the build system works/how to add a plugin to it? I feel the .mk include stuff quite elegant but I've some problem to understand it right I think.
Thanks, Colomban
Am Samstag, den 22.05.2010, 17:17 +0200 schrieb Colomban Wendling:
Hi everyone,
I'm trying to move my plugin (geanygendoc) into geany-plugins, but I have some problems porting the build system -- not used to it.
The thing is that I have data files to install. In my current external build system, I install them into $(geany_datadir)/plugins/geanygendoc, I think it is probably the good place. Yes, no?
No. I think I remember we discussed this a few month ago. The final decision was, to have a separate directory (/usr/share/geany-plugins/), since geany-plugins is another project than geany itself. There already are some plugins saving their data there, so I'd recommend you to do it the same.
Anyway, in the geany-plugins build system, I don't see anything already in place to simplify data installation. And even $(datadir) points out of a Geany directory, actually $(prefix)/share, which makes me install my data in ${prefix}/share/geanygendoc, which is quite ugly IMO. Ah, and the second problem which prevents plugin-specific hack is the DATADIR defined in vars.build.mk that also points to $(prefix)/share. I'd think there should be a $(plugindatadir) variable that points to $(prefix)/share/$(plugin), probably defined by a vars.data.mk.
This confuses me a bit. I was sure plugin data should be installed in /usr/share/geany-plugins/ (and maybe a subdirectory). Maybe I'm wrong with this, so feel free to correct me.
Then, what should I do?
Ah, and is there a quick guide explaining how the build system works/how to add a plugin to it? I feel the .mk include stuff quite elegant but I've some problem to understand it right I think.
For adding your plugin to the geany-plugins project, you may like to ping hyperair on IRC, he actually maintains such things. You don't have to do it yourself, IIRC. :)
Regards, Dominic
Hi,
On Sat, 22 May 2010 20:17:17 +0200 Dominic Hopf dmaphy@googlemail.com wrote:
Then, what should I do?
Ah, and is there a quick guide explaining how the build system works/how to add a plugin to it? I feel the .mk include stuff quite elegant but I've some problem to understand it right I think.
For adding your plugin to the geany-plugins project, you may like to ping hyperair on IRC, he actually maintains such things. You don't have to do it yourself, IIRC. :)
Well, adding to the waf system is quiet easy, so maybe you like to start there.
Cheers, Frank
Dominic Hopf a écrit :
Am Samstag, den 22.05.2010, 17:17 +0200 schrieb Colomban Wendling:
Hi everyone,
I'm trying to move my plugin (geanygendoc) into geany-plugins, but I have some problems porting the build system -- not used to it.
The thing is that I have data files to install. In my current external build system, I install them into $(geany_datadir)/plugins/geanygendoc, I think it is probably the good place. Yes, no?
No. I think I remember we discussed this a few month ago. The final decision was, to have a separate directory (/usr/share/geany-plugins/), since geany-plugins is another project than geany itself. There already are some plugins saving their data there, so I'd recommend you to do it the same.
Ah, share/geany-plugins, why not. But AFAIK there is not geany-plugin that installs data files, only documentation, then...
Anyway, in the geany-plugins build system, I don't see anything already in place to simplify data installation. And even $(datadir) points out of a Geany directory, actually $(prefix)/share, which makes me install my data in ${prefix}/share/geanygendoc, which is quite ugly IMO. Ah, and the second problem which prevents plugin-specific hack is the DATADIR defined in vars.build.mk that also points to $(prefix)/share. I'd think there should be a $(plugindatadir) variable that points to $(prefix)/share/$(plugin), probably defined by a vars.data.mk.
This confuses me a bit. I was sure plugin data should be installed in /usr/share/geany-plugins/ (and maybe a subdirectory). Maybe I'm wrong with this, so feel free to correct me.
As just said, I don't know any plugin that installs data. Then, I can't copy their behavior :)
Then, what should I do?
Ah, and is there a quick guide explaining how the build system works/how to add a plugin to it? I feel the .mk include stuff quite elegant but I've some problem to understand it right I think.
For adding your plugin to the geany-plugins project, you may like to ping hyperair on IRC, he actually maintains such things. You don't have to do it yourself, IIRC. :)
Haha, thanks, I'll see if I can get him to work for me!
Frank Lanitz a écrit :
Well, adding to the waf system is quiet easy, so maybe you like to start there.
I'll take a look too but since I never used waf I was quite suspicious :-°
Regards, Colomban
Colomban Wendling a écrit :
Frank Lanitz a écrit :
Well, adding to the waf system is quiet easy, so maybe you like to start there.
I'll take a look too but since I never used waf I was quite suspicious :-°
Well, I tried to make the waf build work, and it's true that is is quite simple to add a simple plugin :) But I have with the same problem than with the autotools one: the data. And I don't see how to install an extra documentation file with it neither?
Regards, Colomban
On Sun, 23 May 2010 00:10:43 +0200, Colomban wrote:
Colomban Wendling a écrit :
Frank Lanitz a écrit :
Well, adding to the waf system is quiet easy, so maybe you like to start there.
I'll take a look too but since I never used waf I was quite suspicious :-°
Well, I tried to make the waf build work, and it's true that is is quite simple to add a simple plugin :) But I have with the same problem than with the autotools one: the data. And I don't see how to install an extra documentation file with it neither?
Just for the records, after an IRC conversation with Colomban, this has been done in SVN now.
Regards, Enrico
On Sat, 22 May 2010 21:45:23 +0200, Colomban wrote:
Dominic Hopf a écrit :
Am Samstag, den 22.05.2010, 17:17 +0200 schrieb Colomban Wendling:
Hi everyone,
I'm trying to move my plugin (geanygendoc) into geany-plugins, but I have some problems porting the build system -- not used to it.
The thing is that I have data files to install. In my current external build system, I install them into $(geany_datadir)/plugins/geanygendoc, I think it is probably the good place. Yes, no?
No. I think I remember we discussed this a few month ago. The final decision was, to have a separate directory (/usr/share/geany-plugins/), since geany-plugins is another project than geany itself. There already are some plugins saving their data there, so I'd recommend you to do it the same.
Ah, share/geany-plugins, why not. But AFAIK there is not geany-plugin that installs data files, only
geanylua installs some files there.
second problem which prevents plugin-specific hack is the DATADIR defined in vars.build.mk that also points to $(prefix)/share. I'd think there should be a $(plugindatadir) variable that points to $(prefix)/share/$(plugin), probably defined by a vars.data.mk.
I leave this up to Chow, I have no idea about the autotools based build.
Regards, Enrico
Dominic Hopf a écrit :
Am Samstag, den 22.05.2010, 17:17 +0200 schrieb Colomban Wendling:
Hi everyone,
I'm trying to move my plugin (geanygendoc) into geany-plugins, but I have some problems porting the build system -- not used to it.
The thing is that I have data files to install. In my current external build system, I install them into $(geany_datadir)/plugins/geanygendoc, I think it is probably the good place. Yes, no?
No. I think I remember we discussed this a few month ago. The final decision was, to have a separate directory (/usr/share/geany-plugins/), since geany-plugins is another project than geany itself. There already are some plugins saving their data there, so I'd recommend you to do it the same.
Hum, I know why I chosen $(geany_datadir)/plugins/$(plugin_name): I just used the same directory hierarchy than in the configdir (geany->app->configdir) with the datadir (geany->app->datadir).
But actually the docs of geany-plugins are installed in $(prefix)/doc/geany-plugins and not $(prefix)/doc/geany/plugins, so your remark completely makes sense. Ah, and I finally found the thread you talked about (I think) which actually says you're right (and I knew it, mae culpa): http://lists.uvena.de/pipermail/geany-devel/2009-January/000466.html
Well, $prefix/share/geany-plugins/$pluginname is the answer then. Perhaps it should be wrote explicitly in the plugin guidelines? (even though I read them and still installed my doc in geany/plugins and not geany-plugins... silly, ya)
But still need to fix the build system for it to set datadir to $(prefix)/share/geany-plugins and not $(prefix)/share as it is now I think.
Anyway, thanks for pointing this out! :)
Regards, Colomban