Patchwork gtk+: Add PACKAGECONFIG for directfb

login
register
mail settings
Submitter Martin Jansa
Date Dec. 16, 2013, 1:15 p.m.
Message ID <1387199725-19052-1-git-send-email-Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/63397/
State New
Headers show

Comments

Martin Jansa - Dec. 16, 2013, 1:15 p.m.
* building without x11 doesn't work, because it sets default
  gdkbackend to x11 and then requires cairo-xlib to be available
* checking for CAIRO_BACKEND... no
  configure: error: Package requirements (cairo-xlib >= 1.6) were not met:

  No package 'cairo-xlib' found

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-gnome/gtk+/gtk+.inc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
Paul Eggleton - Dec. 16, 2013, 1:23 p.m.
Hi Martin,

On Monday 16 December 2013 14:15:25 Martin Jansa wrote:
> * building without x11 doesn't work, because it sets default
>   gdkbackend to x11 and then requires cairo-xlib to be available
> * checking for CAIRO_BACKEND... no
>   configure: error: Package requirements (cairo-xlib >= 1.6) were not met:
> 
>   No package 'cairo-xlib' found
> 
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta/recipes-gnome/gtk+/gtk+.inc | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-gnome/gtk+/gtk+.inc
> b/meta/recipes-gnome/gtk+/gtk+.inc index 73d624c..5bf0bfe 100644
> --- a/meta/recipes-gnome/gtk+/gtk+.inc
> +++ b/meta/recipes-gnome/gtk+/gtk+.inc
> @@ -14,9 +14,13 @@ X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr
> libxdamage libxrender DEPENDS = "glib-2.0 pango atk jpeg libpng
> gdk-pixbuf-native docbook-utils-native \ cairo gdk-pixbuf"
> 
> -PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '',
> d)}" +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11',
> '', d)} \ +           ${@base_contains('DISTRO_FEATURES', 'directfb',
> 'directfb', '', d)} \ +"
> 
>  PACKAGECONFIG[x11] = "--with-x=yes
> --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" +# without
> --with-gdktarget=directfb it will check for cairo-xlib which isn't
> available without X11 DISTRO_FEATURE +PACKAGECONFIG[directfb] =
> "--with-gdktarget=directfb,,directfb"
> 
>  inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache

I was under the impression that directfb support was removed from GTK+ some 
time ago - is that not the case?

Cheers,
Paul
Ross Burton - Dec. 16, 2013, 1:50 p.m.
On 16 December 2013 13:23, Paul Eggleton <paul.eggleton@linux.intel.com> wrote:
> I was under the impression that directfb support was removed from GTK+ some
> time ago - is that not the case?

This is for the GTK+ 2 recipe that still had DirectFB support.  I
think it can be best described as barely working, which is why it was
removed in GTK+ 3.

As obviously nobody is actually using the DirectFB support in our GTK+
(probably because nobody is maintaining it upstream), we could just
make X11 a hard dependency instead of respecting the distro features.

Ross
Martin Jansa - Dec. 16, 2013, 1:52 p.m.
On Mon, Dec 16, 2013 at 01:23:56PM +0000, Paul Eggleton wrote:
> Hi Martin,
> 
> On Monday 16 December 2013 14:15:25 Martin Jansa wrote:
> > * building without x11 doesn't work, because it sets default
> >   gdkbackend to x11 and then requires cairo-xlib to be available
> > * checking for CAIRO_BACKEND... no
> >   configure: error: Package requirements (cairo-xlib >= 1.6) were not met:
> > 
> >   No package 'cairo-xlib' found
> > 
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > ---
> >  meta/recipes-gnome/gtk+/gtk+.inc | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> > 
> > diff --git a/meta/recipes-gnome/gtk+/gtk+.inc
> > b/meta/recipes-gnome/gtk+/gtk+.inc index 73d624c..5bf0bfe 100644
> > --- a/meta/recipes-gnome/gtk+/gtk+.inc
> > +++ b/meta/recipes-gnome/gtk+/gtk+.inc
> > @@ -14,9 +14,13 @@ X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr
> > libxdamage libxrender DEPENDS = "glib-2.0 pango atk jpeg libpng
> > gdk-pixbuf-native docbook-utils-native \ cairo gdk-pixbuf"
> > 
> > -PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '',
> > d)}" +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11',
> > '', d)} \ +           ${@base_contains('DISTRO_FEATURES', 'directfb',
> > 'directfb', '', d)} \ +"
> > 
> >  PACKAGECONFIG[x11] = "--with-x=yes
> > --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" +# without
> > --with-gdktarget=directfb it will check for cairo-xlib which isn't
> > available without X11 DISTRO_FEATURE +PACKAGECONFIG[directfb] =
> > "--with-gdktarget=directfb,,directfb"
> > 
> >  inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache
> 
> I was under the impression that directfb support was removed from GTK+ some 
> time ago - is that not the case?

Hi,

I must admit that my real motivation is to really disable x11/xlib in
gtk+, not to use it with directfb backend (In order to resolve
unsatisfied dependency mdbus2 -> vala -> gtk+ in distro without x11
DISTRO_FEATURE). After enabling directfb PACKAGECONFIG in gtk+ _AND_
cairo it builds fine.

I've tested this with dora (gtk+-2.24.20) and master (gtk+-2.24.22)

and both have in configure.ac:
cairo_backend=$gdktarget
AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb]]
select non-default GDK target],
        gdktarget=$with_gdktarget)
if test "x$cairo_backend" = "xx11"; then
   cairo_backend=xlib
fi
Ross Burton - Dec. 16, 2013, 1:52 p.m.
On 16 December 2013 13:52, Martin Jansa <martin.jansa@gmail.com> wrote:
> I must admit that my real motivation is to really disable x11/xlib in
> gtk+, not to use it with directfb backend (In order to resolve
> unsatisfied dependency mdbus2 -> vala -> gtk+ in distro without x11
> DISTRO_FEATURE). After enabling directfb PACKAGECONFIG in gtk+ _AND_
> cairo it builds fine.

Why not make vala's GTK+ dependency configurable in some way?

Ross

Patch

diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc
index 73d624c..5bf0bfe 100644
--- a/meta/recipes-gnome/gtk+/gtk+.inc
+++ b/meta/recipes-gnome/gtk+/gtk+.inc
@@ -14,9 +14,13 @@  X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender
 DEPENDS = "glib-2.0 pango atk jpeg libpng gdk-pixbuf-native docbook-utils-native \
  cairo gdk-pixbuf"
 
-PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \
+"
 
 PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"
+# without --with-gdktarget=directfb it will check for cairo-xlib which isn't available without X11 DISTRO_FEATURE
+PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb"
 
 inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache