You are not logged in.

#1 2018-05-18 20:06:27

drankinatty
Member
From: Nacogdoches, Texas
Registered: 2009-04-24
Posts: 104
Website

PKGBUILD - Howto use 'provides' 'conflicts' to create geany_gtk2

This is a simple but frustrating build that I'm missing something simple on. The editor geany enables gtk3 in the PKGBUILD (which causes element spacing problems), the default build without that option builds with Gtk+2 and all spacing is fine. After asp export, I created a package (pkgname=geany_gtk2) which works perfectly. The problem comes with the companion package geany-plugins. (aside from the fact it currently has an anonymous struct failure to build from souce), it refuses to install without pulling in a dependency for geany.

I thought I could remedy this problem by providing provides=('geany') in the geany_gtk2 PKGBUILD, but geany-plugins will not accept geany_gtk2 as geany. When I attempt to install geany-plugins (it always pull geany in as a dependency which obviously conflicts with an installed geany_gtk2).

Currently, I can hack both together by installing geany & geany-plugins, then removing geany with -Rdd and installing geany_gtk2 (which presents no technical problem due to the libraries for geany-plugins actually being built as part of geany/geany_gtk2 -- in a way that the geany-plugins package will use whatever underlying Gtk the editor libraries were built on (and it conditionally enables or disable plugins compatible with the underlying Gtk)

But this is a cludge. How do I use either 'provides', 'conflicts', or 'replaces' in my geany_gtk2 PKGBUILD so it will be compatible with geany-plugins? I would have simply rebuilt a geany-plugins_gtk2, but for the FTBFS cause by a:

    geanypy-app.c: In function ‘App_dealloc’:
    geanypy-app.c:18:8: error: ‘App’ {aka ‘struct <anonymous>’} has no member named ‘ob_type’; did you mean ‘ob_base’?
      self->ob_type->tp_free((PyObject *) self);
              ^~~~~~~
            ob_base

Is there a way to configure the geany_gtk2 PKGBUILD to allow the current geany-plugins to be used with my geany_gtk2, or do I have to build a new geany-plugins_gtk2 after figuring out why geany-plugins currently fails to build from source?


David C. Rankin, J.D.,P.E.

Offline

#2 2018-05-18 20:14:56

apg
Developer
Registered: 2012-11-10
Posts: 211

Re: PKGBUILD - Howto use 'provides' 'conflicts' to create geany_gtk2

geany-plugins has a versioned dependency on geany, so you need to include a package version in your provides.

Offline

#3 2018-05-18 20:41:09

drankinatty
Member
From: Nacogdoches, Texas
Registered: 2009-04-24
Posts: 104
Website

Re: PKGBUILD - Howto use 'provides' 'conflicts' to create geany_gtk2

Well, I went ahead and built the geany-plugins_gtk2. The FTBFS was due to needing to build against python2 when building against Gtk2. So I guess this is the way to go rather than trying to use the normal geany-plugins package. I'll do that, this can be closed.


David C. Rankin, J.D.,P.E.

Offline

Board footer

Powered by FluxBB