summaryrefslogtreecommitdiffstats
path: root/package/libgtk2/host-libgtk2-reduce-dependencies.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/libgtk2/host-libgtk2-reduce-dependencies.patch')
-rw-r--r--package/libgtk2/host-libgtk2-reduce-dependencies.patch168
1 files changed, 168 insertions, 0 deletions
diff --git a/package/libgtk2/host-libgtk2-reduce-dependencies.patch b/package/libgtk2/host-libgtk2-reduce-dependencies.patch
new file mode 100644
index 000000000..091eeb0e5
--- /dev/null
+++ b/package/libgtk2/host-libgtk2-reduce-dependencies.patch
@@ -0,0 +1,168 @@
+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 | 101 ++---------------------------------------------------------
+ 1 file changed, 4 insertions(+), 97 deletions(-)
+
+Index: gtk+-2.24.8/configure.in
+===================================================================
+--- gtk+-2.24.8.orig/configure.in
++++ gtk+-2.24.8/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,9 +374,6 @@
+ ## 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])
+
+ ## In addition to checking that cairo is present, we also need to
+@@ -389,8 +386,6 @@
+ if test "x$cairo_backend" = "xx11"; then
+ cairo_backend=xlib
+ fi
+-PKG_CHECK_MODULES(CAIRO_BACKEND,
+- [cairo-$cairo_backend >= cairo_required_version])
+
+ if test "$os_win32" != yes; then
+ # libtool option to control which symbols are exported
+@@ -1280,50 +1275,6 @@
+ fi
+
+
+-# Check for Pango flags
+-
+-if test "x$gdktarget" = "xwin32"; then
+- PANGO_PACKAGES="pangowin32 pangocairo"
+-else
+- PANGO_PACKAGES="pango pangocairo"
+-fi
+-
+-AC_MSG_CHECKING(Pango flags)
+-if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
+- PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
+- PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
+-
+- AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
+-else
+- AC_MSG_ERROR([
+-*** Pango not found. Pango built with Cairo support is required
+-*** to build GTK+. See http://www.pango.org for Pango information.
+-])
+-fi
+-
+-CFLAGS="$CFLAGS $PANGO_CFLAGS"
+-
+-if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
+- :
+-else
+- gtk_save_LIBS="$LIBS"
+- LIBS="$PANGO_LIBS $LIBS"
+- AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
+-*** Can't link to Pango. Pango is required to build
+-*** GTK+. For more information see http://www.pango.org]))
+- LIBS="$gtk_save_LIBS"
+-fi
+-
+-CFLAGS="$saved_cflags"
+-LDFLAGS="$saved_ldflags"
+-
+-# Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c
+-if test "x$gdktarget" = "xx11"; then
+- GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES gdk-pixbuf-2.0 cairo-$cairo_backend"
+-else
+- GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend"
+-fi
+-
+ 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"
+ #
+@@ -1331,7 +1282,7 @@
+ # into the pkg-config files
+ #
+ if test $enable_explicit_deps != yes ; then
+- GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0"
++ GDK_PACKAGES="gdk-pixbuf-2.0"
+ GDK_EXTRA_LIBS=
+ fi
+
+@@ -1341,37 +1292,7 @@
+ AC_SUBST(GDK_DEP_LIBS)
+ AC_SUBST(GDK_DEP_CFLAGS)
+
+-
+-########################################
+-# Check for Accessibility Toolkit flags
+-########################################
+-
+-ATK_PACKAGES=atk
+-AC_MSG_CHECKING(ATK flags)
+-if $PKG_CONFIG --exists $ATK_PACKAGES ; then
+- ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
+- ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
+-
+- AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
+-else
+- AC_MSG_ERROR([
+-*** Accessibility Toolkit not found. Accessibility Toolkit is required
+-*** to build GTK+.
+-])
+-fi
+-
+-if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
+- :
+-else
+- gtk_save_LIBS="$LIBS"
+- LIBS="$ATK_LIBS $LIBS"
+- AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
+- *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
+- *** to build GTK+]))
+- LIBS="$gtk_save_LIBS"
+-fi
+-
+-GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0"
++GTK_PACKAGES="gdk-pixbuf-2.0"
+ if test "x$gdktarget" = "xx11"; then
+ GTK_PACKAGES="$GTK_PACKAGES pangoft2"
+ fi
+@@ -1527,20 +1448,6 @@
+ gtk_save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS"
+
+-AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
+-*** Can't find cairo-pdf.h. You must build Cairo with the pdf
+-*** backend enabled.]))
+-
+-if test "$os_win32" != "yes"; then
+- AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
+-*** Can't find cairo-ps.h. You must build Cairo with the
+-*** postscript backend enabled.]))
+-
+- AC_CHECK_HEADER(cairo-svg.h,,AC_MSG_ERROR([
+-*** Can't find cairo-svg.h. You must build Cairo with the
+-*** svg backend enabled.]))
+-fi
+-
+ CPPFLAGS="$gtk_save_cppflags"
+
+