summaryrefslogtreecommitdiffstats
path: root/package/libgtk2/libgtk2-reduce-dependencies.patch
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-03-23 22:26:27 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2013-03-24 12:44:50 +0100
commitdd1848bc73ee9dfe211ca3ed3a233707e3bc5955 (patch)
treed7826f67ccb975f76692dd581770a84d59390259 /package/libgtk2/libgtk2-reduce-dependencies.patch
parenta452db1d822e88f0fe00bf6e65d5979a2f221d72 (diff)
downloadbuildroot-novena-dd1848bc73ee9dfe211ca3ed3a233707e3bc5955.tar.gz
buildroot-novena-dd1848bc73ee9dfe211ca3ed3a233707e3bc5955.zip
libgtk2: use non-host specific patch
The libgtk2 package was using a host-<foo>.patch that should be applied only on the host variant of the package. Unfortunately, with the patch model rework, this doesn't work anymore: Buildroot tries to apply the patch twice, for some reason. But instead of fixing the patch model, it is probably a lot better to fix this patch itself, which is the only usage of host-only patch in Buildroot. So instead of simply removing code that detects dependencies in gtk2's configure.in script, we use a condition based on the value of gdktarget. And it turns out that it makes the patch shorter. However, it requires autoreconfiguring the libgtk2 target package, because we are now modifying its configure.in. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/libgtk2/libgtk2-reduce-dependencies.patch')
-rw-r--r--package/libgtk2/libgtk2-reduce-dependencies.patch117
1 files changed, 117 insertions, 0 deletions
diff --git a/package/libgtk2/libgtk2-reduce-dependencies.patch b/package/libgtk2/libgtk2-reduce-dependencies.patch
new file mode 100644
index 000000000..5bb9db9a0
--- /dev/null
+++ b/package/libgtk2/libgtk2-reduce-dependencies.patch
@@ -0,0 +1,117 @@
+Hack the configure.in file to add a "none" gdktarget which removes
+dependencies on graphic backends such as X.org or DirectFB. Gtk does
+not fully build in this mode, but it builds sufficiently to build the
+host tools that are needed to build the target Gtk.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.in | 34 +++++++++++++++++++++++++++-------
+ 1 file changed, 27 insertions(+), 7 deletions(-)
+
+Index: b/configure.in
+===================================================================
+--- a/configure.in
++++ b/configure.in
+@@ -259,12 +259,12 @@
+ gdktarget=x11
+ fi
+
+-AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
++AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb/none]] select non-default GDK target],
+ gdktarget=$with_gdktarget)
+
+ AC_SUBST(gdktarget)
+ case $gdktarget in
+- x11|win32|quartz|directfb) ;;
++ x11|win32|quartz|directfb|none) ;;
+ *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
+ esac
+
+@@ -374,11 +374,15 @@
+ ## annoying to construct
+ PKG_CHECK_MODULES(BASE_DEPENDENCIES,
+ [glib-2.0 >= glib_required_version dnl
+- atk >= atk_required_version dnl
+- pango >= pango_required_version dnl
+- cairo >= cairo_required_version dnl
+ gdk-pixbuf-2.0 >= gdk_pixbuf_required_version])
+
++if test "x$gdktarget" != "xnone"; then
++ PKG_CHECK_MODULES(BASE_DEPENDENCIES,
++ [atk >= atk_required_version dnl
++ pango >= pango_required_version dnl
++ cairo >= cairo_required_version])
++fi
++
+ ## In addition to checking that cairo is present, we also need to
+ ## check that the correct cairo backend is there. E.g. if the GDK
+ ## target is win32 we need the cairo-win32 backend and so on.
+@@ -389,8 +393,11 @@
+ if test "x$cairo_backend" = "xx11"; then
+ cairo_backend=xlib
+ fi
+-PKG_CHECK_MODULES(CAIRO_BACKEND,
+- [cairo-$cairo_backend >= cairo_required_version])
++
++if test "x$gdktarget" != "xnone"; then
++ PKG_CHECK_MODULES(CAIRO_BACKEND,
++ [cairo-$cairo_backend >= cairo_required_version])
++fi
+
+ PKG_CHECK_MODULES(GMODULE, [gmodule-2.0])
+
+@@ -1281,6 +1288,7 @@
+ AM_CONDITIONAL(USE_DIRECTFB, false)
+ fi
+
++if test "x$gdktarget" != "xnone"; then
+
+ # Check for Pango flags
+
+@@ -1326,6 +1334,8 @@
+ GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend"
+ fi
+
++fi # gdktarget != none
++
+ GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES` $MATH_LIB"
+ GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS"
+ #
+@@ -1344,6 +1354,8 @@
+ AC_SUBST(GDK_DEP_CFLAGS)
+
+
++if test "x$gdktarget" != "xnone"; then
++
+ ########################################
+ # Check for Accessibility Toolkit flags
+ ########################################
+@@ -1374,6 +1386,10 @@
+ fi
+
+ GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0"
++else # gdktarget != none
++GTK_PACKAGES="gdk-pixbuf-2.0"
++fi # gdktarget != none
++
+ if test "x$gdktarget" = "xx11"; then
+ GTK_PACKAGES="$GTK_PACKAGES pangoft2"
+ fi
+@@ -1529,6 +1545,8 @@
+ gtk_save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS"
+
++if test "x$gdktarget" != "xnone"; then
++
+ AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
+ *** Can't find cairo-pdf.h. You must build Cairo with the pdf
+ *** backend enabled.]))
+@@ -1543,6 +1561,8 @@
+ *** svg backend enabled.]))
+ fi
+
++fi # gdktarget != none
++
+ CPPFLAGS="$gtk_save_cppflags"
+
+