[Buildroot] [PATCH 1/3] libgtk2: bump to version 2.20.1 and mark Gtk/DirectFB as broken

Lionel Landwerlin llandwerlin at gmail.com
Tue Sep 28 23:28:40 UTC 2010


Gtk+ 2.22 has been released early this week, it brings back
compiling/quite-good-working DirectFB backend.

Would you consider bumping to 2.22 ?

Le mercredi 29 septembre 2010 à 00:12 +0200, Thomas Petazzoni a écrit :
> Finally, we bump Gtk from the old and ancient 2.12 version to the
> latest 2.20.1 version currently available.
> 
> As noted in the 2010.08 release, the DirectFB back-end is broken in
> Gtk, so libgtk2 cannot be selected anymore with the DirectFB
> back-end. For the moment, we keep the Gtk/DirectFB code around, as
> it's possible that a fixed DirectFB back-end will be part of Gtk 2.22.
> 
> In addition to this, we :
> 
>  * Upgrade the "reduce-dependencies" patch
> 
>  * Remove the "configure" and "no-tests" patches which do not seem to
>    be useful anymore
> 
>  * Add a libtool patch
> 
> We also remove references to a non-existant 2.15 gtk version in
> libgtk2.mk.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
>  package/libgtk2/Config.in                          |   12 +-
>  ... host-libgtk2-2.20.1-reduce-dependencies.patch} |  123 ++++------
>  package/libgtk2/libgtk2-2.12.6-configure.patch     |  256 --------------------
>  package/libgtk2/libgtk2-2.12.6-no-tests.patch      |   11 -
>  package/libgtk2/libgtk2-2.20.1-libtool.patch       |   60 +++++
>  package/libgtk2/libgtk2.mk                         |   14 +-
>  6 files changed, 118 insertions(+), 358 deletions(-)
>  rename package/libgtk2/{host-libgtk2-2.12.12-reduce-dependencies.patch => host-libgtk2-2.20.1-reduce-dependencies.patch} (58%)
>  delete mode 100644 package/libgtk2/libgtk2-2.12.6-configure.patch
>  delete mode 100644 package/libgtk2/libgtk2-2.12.6-no-tests.patch
>  create mode 100644 package/libgtk2/libgtk2-2.20.1-libtool.patch
> 
> diff --git a/package/libgtk2/Config.in b/package/libgtk2/Config.in
> index bc4ca9d..d578f33 100644
> --- a/package/libgtk2/Config.in
> +++ b/package/libgtk2/Config.in
> @@ -4,14 +4,14 @@ config BR2_PACKAGE_LIBGTK2
>  	select BR2_PACKAGE_CAIRO
>  	select BR2_PACKAGE_CAIRO_PS
>  	select BR2_PACKAGE_CAIRO_PDF
> +	select BR2_PACKAGE_CAIRO_SVG
>  	select BR2_PACKAGE_LIBGLIB2
>  	select BR2_PACKAGE_PANGO
> -	# libgtk2 on DirectFB is deprecated because it is no longer
> -	# supported in recent versions of Gtk. We will remove support
> -	# for Gtk over DirectFB in the next Buildroot version unless
> -	# support for DirectFB in mainline Gtk is improved in the mean
> -	# time.
> -	depends on BR2_PACKAGE_XORG7||(BR2_PACKAGE_DIRECTFB && BR2_DEPRECATED)
> +	# libgtk2 on DirectFB is broken because it is no longer
> +	# supported in recent versions of Gtk. However, as it is
> +	# likely that support for DirectFB will be re-added in Gtk
> +	# 2.22, we are keeping this around until Gtk 2.22 is released.
> +	depends on BR2_PACKAGE_XORG7||(BR2_PACKAGE_DIRECTFB && BR2_BROKEN)
>  	depends on BR2_USE_WCHAR # glib2
>  	depends on BR2_INSTALL_LIBSTDCPP # pango
>  	help
> diff --git a/package/libgtk2/host-libgtk2-2.12.12-reduce-dependencies.patch b/package/libgtk2/host-libgtk2-2.20.1-reduce-dependencies.patch
> similarity index 58%
> rename from package/libgtk2/host-libgtk2-2.12.12-reduce-dependencies.patch
> rename to package/libgtk2/host-libgtk2-2.20.1-reduce-dependencies.patch
> index f0ac6bf..7e463a9 100644
> --- a/package/libgtk2/host-libgtk2-2.12.12-reduce-dependencies.patch
> +++ b/package/libgtk2/host-libgtk2-2.20.1-reduce-dependencies.patch
> @@ -1,18 +1,18 @@
> -Index: gtk+-2.12.12/configure.in
> +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 at free-electrons.com>
> +---
> + configure.in |  101 ++---------------------------------------------------------
> + 1 file changed, 5 insertions(+), 96 deletions(-)
> +
> +Index: gtk+-2.20.1/configure.in
>  ===================================================================
> ---- gtk+-2.12.12.orig/configure.in	2008-09-13 02:01:07.000000000 +0200
> -+++ gtk+-2.12.12/configure.in	2010-02-21 10:42:40.000000000 +0100
> -@@ -32,9 +32,6 @@
> - 
> - # required versions of other packages
> - m4_define([glib_required_version], [2.13.5])
> --m4_define([pango_required_version], [1.17.3])
> --m4_define([atk_required_version], [1.9.0])
> --m4_define([cairo_required_version], [1.2.0])
> - 
> - 
> - AC_INIT([gtk+], [gtk_version],
> -@@ -239,12 +236,12 @@
> +--- gtk+-2.20.1.orig/configure.in
> ++++ gtk+-2.20.1/configure.in
> +@@ -270,12 +270,12 @@
>     gdktarget=x11
>   fi
>   
> @@ -27,7 +27,7 @@ Index: gtk+-2.12.12/configure.in
>     *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
>   esac
>   
> -@@ -349,10 +346,7 @@
> +@@ -384,10 +384,7 @@
>   ## the version requirements since those make the module lists 
>   ## annoying to construct
>   PKG_CHECK_MODULES(BASE_DEPENDENCIES,
> @@ -37,54 +37,21 @@ Index: gtk+-2.12.12/configure.in
>  -   cairo >= cairo_required_version])
>  +  [glib-2.0 >= glib_required_version])
>   
> + ## 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
> +@@ -399,8 +396,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
> -@@ -1061,7 +1055,7 @@
> - GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
> - GDK_PIXBUF_XLIB_EXTRA_LIBS=
> - 	
> --X_PACKAGES=fontconfig
> -+X_PACKAGES=
> - GDK_EXTRA_LIBS="$GDK_WLIBS"
> - GDK_EXTRA_CFLAGS=
> - 	
> -@@ -1070,14 +1064,6 @@
> - GTK_DEP_LIBS_FOR_X=
> - 
> - if test "x$gdktarget" = "xx11"; then
> --  #
> --  # We use fontconfig very peripherally when decoding the default
> --  # settings.
> --  #
> --  if $PKG_CONFIG --exists fontconfig; then : ; else
> --    AC_MSG_ERROR([
> --*** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
> --  fi
> - 
> -   #
> -   # Check for basic X packages; we use pkg-config if available
> -@@ -1124,16 +1110,6 @@
> -   gtk_save_LIBS=$LIBS
> -   LIBS="$x_libs_for_checks $LIBS"
> -   
> --  # Sanity check for the X11 and Xext libraries. While everything we need from
> --  # Xext is optional, the chances a system has *none* of these things is so
> --  # small that we just unconditionally require it.
> --  AC_CHECK_FUNC(XOpenDisplay, :,
> --                AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
> --  AC_CHECK_FUNC(XextFindDisplay, :,
> --                AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
> --  AC_CHECK_FUNC(XRenderQueryExtension, :,
> --                AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
> --
> -   # Check for xReply
> - 
> -   AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
> -@@ -1418,48 +1394,6 @@
> -   AM_CONDITIONAL(USE_DIRECTFB, false)
> +@@ -1682,50 +1677,6 @@
>   fi
>   
> --
> + 
>  -# Check for Pango flags
>  -
>  -if test "x$gdktarget" = "xwin32"; then
> @@ -122,14 +89,17 @@ Index: gtk+-2.12.12/configure.in
>  -CFLAGS="$saved_cflags"
>  -LDFLAGS="$saved_ldflags"
>  -
> --GDK_PACKAGES="$PANGO_PACKAGES"
> +-# Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c
>  -if test "x$gdktarget" = "xx11"; then
> --  GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
> +-  GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES cairo-$cairo_backend"
> +-else
> +-  GDK_PACKAGES="$PANGO_PACKAGES $X_PACKAGES cairo-$cairo_backend"
>  -fi
> +-
>   GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
>   GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
> - 
> -@@ -1468,7 +1402,7 @@
> + #
> +@@ -1733,7 +1684,7 @@
>   # into the pkg-config files
>   #
>   if test $enable_explicit_deps != yes ; then
> @@ -138,14 +108,14 @@ Index: gtk+-2.12.12/configure.in
>     GDK_EXTRA_LIBS=
>   fi
>   
> -@@ -1479,39 +1413,10 @@
> +@@ -1744,36 +1695,8 @@
>   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
> @@ -171,20 +141,15 @@ Index: gtk+-2.12.12/configure.in
>  -        LIBS="$gtk_save_LIBS"
>  -fi
>  -
> --GTK_PACKAGES="atk cairo"
> +-GTK_PACKAGES="atk cairo gio-2.0"
>  +GTK_PACKAGES=
> - GTK_EXTRA_LIBS=
> - GTK_EXTRA_CFLAGS= 
> --GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
> -+GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
> - GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
> - 
> - if test x"$os_win32" = xyes; then
> -@@ -1601,17 +1506,6 @@
> - 
> + if test "x$gdktarget" = "xx11"; then
> +   GTK_PACKAGES="$GTK_PACKAGES pangoft2"
> + fi
> +@@ -1936,20 +1859,6 @@
>   gtk_save_cppflags="$CPPFLAGS"
> - CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
> --			  
> + 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.]))
> @@ -193,6 +158,10 @@ Index: gtk+-2.12.12/configure.in
>  -  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"
> diff --git a/package/libgtk2/libgtk2-2.12.6-configure.patch b/package/libgtk2/libgtk2-2.12.6-configure.patch
> deleted file mode 100644
> index ea60d2d..0000000
> --- a/package/libgtk2/libgtk2-2.12.6-configure.patch
> +++ /dev/null
> @@ -1,256 +0,0 @@
> -diff -urN libgtk2-2.12.6-0rig/configure libgtk2-2.12.6/configure
> ---- libgtk2-2.12.6-0rig/configure	2008-01-29 04:38:14.000000000 +0100
> -+++ libgtk2-2.12.6/configure	2008-07-08 10:54:39.000000000 +0200
> -@@ -5094,7 +5094,7 @@
> -   ;;
> - 
> - # This must be Linux ELF.
> --linux* | k*bsd*-gnu)
> -+*-linux-gnu | linux* | k*bsd*-gnu)
> -   lt_cv_deplibs_check_method=pass_all
> -   ;;
> - 
> -@@ -6973,7 +6973,7 @@
> -   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
> -   lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
> -   ;;
> --linux* | k*bsd*-gnu)
> -+*-linux-gnu | linux* | k*bsd*-gnu)
> -   if test "$host_cpu" = ia64; then
> -     symcode='[ABCDGIRSTW]'
> -     lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
> -@@ -7943,7 +7943,7 @@
> -       lt_prog_compiler_static='-Bstatic'
> -       ;;
> - 
> --    linux* | k*bsd*-gnu)
> -+    *-linux-gnu | linux* | k*bsd*-gnu)
> -       case $cc_basename in
> -       icc* | ecc*)
> - 	lt_prog_compiler_wl='-Wl,'
> -@@ -8402,7 +8402,7 @@
> -       archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
> -       ;;
> - 
> --    gnu* | linux* | k*bsd*-gnu)
> -+    *-linux-gnu | gnu* | linux* | k*bsd*-gnu)
> -       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
> - 	tmp_addflag=
> - 	case $cc_basename,$host_cpu in
> -@@ -9336,6 +9336,7 @@
> -   if (lt_freq[lt_foo] == 1) { print lt_foo; }
> - }'`
> -   sys_lib_search_path_spec=`echo $lt_search_path_spec`
> -+
> - else
> -   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
> - fi
> -@@ -9667,8 +9668,9 @@
> -   dynamic_linker=no
> -   ;;
> - 
> -+
> - # This must be Linux ELF.
> --linux* | k*bsd*-gnu)
> -+*-linux-gnu | linux* | k*bsd*-gnu)
> -   version_type=linux
> -   need_lib_prefix=no
> -   need_version=no
> -@@ -9681,8 +9683,22 @@
> -   # Some rework will be needed to allow for fast_install
> -   # before this can be enabled.
> -   hardcode_into_libs=yes
> --  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
> --  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
> -+  #  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
> -+  # Buildroot: New sys_lib_search_path_spec taken from atk!
> -+if test "$GCC" = yes; then
> -+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
> -+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
> -+    # if the path contains ";" then we assume it to be the separator
> -+    # otherwise default to the standard path separator (i.e. ":") - it is
> -+    # assumed that no part of a normal pathname contains ";" but that should
> -+    # okay in the real world where ";" in dirpaths is itself problematic.
> -+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
> -+  else
> -+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
> -+  fi
> -+else
> -+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
> -+fi
> - 
> -   # Append ld.so.conf contents to the search path
> -   if test -f /etc/ld.so.conf; then
> -@@ -10780,6 +10796,7 @@
> -   # Now quote all the things that may contain metacharacters while being
> -   # careful not to overquote the AC_SUBSTed values.  We take copies of the
> -   # variables and quote the copies for generation of the libtool script.
> -+
> -   for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
> -     SED SHELL STRIP \
> -     libname_spec library_names_spec soname_spec extract_expsyms_cmds \
> -@@ -12109,7 +12126,7 @@
> -     hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
> -     hardcode_libdir_separator_CXX=:
> -     ;;
> --  linux* | k*bsd*-gnu)
> -+  *-linux-gnu | linux* | k*bsd*-gnu)
> -     case $cc_basename in
> -       KCC*)
> - 	# Kuck and Associates, Inc. (KAI) C++ Compiler
> -@@ -12680,7 +12697,7 @@
> -   postdeps_CXX=
> -   ;;
> - 
> --linux*)
> -+*-linux-gnu | linux*)
> -   case `$CC -V 2>&1 | sed 5q` in
> -   *Sun\ C*)
> -     # Sun C++ 5.9
> -@@ -12884,7 +12901,7 @@
> - 	    ;;
> - 	esac
> - 	;;
> --      linux* | k*bsd*-gnu)
> -+      *-linux-gnu | linux* | k*bsd*-gnu)
> - 	case $cc_basename in
> - 	  KCC*)
> - 	    # KAI C++ Compiler
> -@@ -13636,7 +13653,7 @@
> -   ;;
> - 
> - # This must be Linux ELF.
> --linux* | k*bsd*-gnu)
> -+*-linux-gnu | linux* | k*bsd*-gnu)
> -   version_type=linux
> -   need_lib_prefix=no
> -   need_version=no
> -@@ -13649,7 +13666,24 @@
> -   # Some rework will be needed to allow for fast_install
> -   # before this can be enabled.
> -   hardcode_into_libs=yes
> --  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
> -+
> -+  # sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
> -+  # Buildroot: New sys_lib_search_path_spec taken from atk!
> -+if test "$GCC" = yes; then
> -+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
> -+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
> -+    # if the path contains ";" then we assume it to be the separator
> -+    # otherwise default to the standard path separator (i.e. ":") - it is
> -+    # assumed that no part of a normal pathname contains ";" but that should
> -+    # okay in the real world where ";" in dirpaths is itself problematic.
> -+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
> -+  else
> -+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
> -+  fi
> -+else
> -+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
> -+fi
> -+
> -   sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
> - 
> -   # Append ld.so.conf contents to the search path
> -@@ -14586,7 +14620,7 @@
> -       lt_prog_compiler_static_F77='-Bstatic'
> -       ;;
> - 
> --    linux* | k*bsd*-gnu)
> -+    *-linux-gnu | linux* | k*bsd*-gnu)
> -       case $cc_basename in
> -       icc* | ecc*)
> - 	lt_prog_compiler_wl_F77='-Wl,'
> -@@ -15045,7 +15079,7 @@
> -       archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
> -       ;;
> - 
> --    gnu* | linux* | k*bsd*-gnu)
> -+    gnu* | *-linux-gnu | linux* | k*bsd*-gnu)
> -       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
> - 	tmp_addflag=
> - 	case $cc_basename,$host_cpu in
> -@@ -16239,7 +16273,7 @@
> -   ;;
> - 
> - # This must be Linux ELF.
> --linux* | k*bsd*-gnu)
> -+*-linux-gnu | linux* | k*bsd*-gnu)
> -   version_type=linux
> -   need_lib_prefix=no
> -   need_version=no
> -@@ -16252,7 +16286,23 @@
> -   # Some rework will be needed to allow for fast_install
> -   # before this can be enabled.
> -   hardcode_into_libs=yes
> --  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
> -+  # sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
> -+  # Buildroot: New sys_lib_search_path_spec taken from atk!
> -+if test "$GCC" = yes; then
> -+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
> -+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
> -+    # if the path contains ";" then we assume it to be the separator
> -+    # otherwise default to the standard path separator (i.e. ":") - it is
> -+    # assumed that no part of a normal pathname contains ";" but that should
> -+    # okay in the real world where ";" in dirpaths is itself problematic.
> -+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
> -+  else
> -+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
> -+  fi
> -+else
> -+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
> -+fi
> -+
> -   sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
> - 
> -   # Append ld.so.conf contents to the search path
> -@@ -17169,7 +17219,7 @@
> -       lt_prog_compiler_static_GCJ='-Bstatic'
> -       ;;
> - 
> --    linux* | k*bsd*-gnu)
> -+    *-linux-gnu | linux* | k*bsd*-gnu)
> -       case $cc_basename in
> -       icc* | ecc*)
> - 	lt_prog_compiler_wl_GCJ='-Wl,'
> -@@ -17628,7 +17678,7 @@
> -       archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
> -       ;;
> - 
> --    gnu* | linux* | k*bsd*-gnu)
> -+    gnu* | *-linux-gnu | linux* | k*bsd*-gnu)
> -       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
> - 	tmp_addflag=
> - 	case $cc_basename,$host_cpu in
> -@@ -18842,7 +18892,7 @@
> -   ;;
> - 
> - # This must be Linux ELF.
> --linux* | k*bsd*-gnu)
> -+*-linux-gnu | linux* | k*bsd*-gnu)
> -   version_type=linux
> -   need_lib_prefix=no
> -   need_version=no
> -@@ -18855,7 +18905,22 @@
> -   # Some rework will be needed to allow for fast_install
> -   # before this can be enabled.
> -   hardcode_into_libs=yes
> --  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
> -+  #sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
> -+  # Buildroot: New sys_lib_search_path_spec taken from atk!
> -+if test "$GCC" = yes; then
> -+  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
> -+  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
> -+    # if the path contains ";" then we assume it to be the separator
> -+    # otherwise default to the standard path separator (i.e. ":") - it is
> -+    # assumed that no part of a normal pathname contains ";" but that should
> -+    # okay in the real world where ";" in dirpaths is itself problematic.
> -+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
> -+  else
> -+    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
> -+  fi
> -+else
> -+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
> -+fi
> -   sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
> - 
> -   # Append ld.so.conf contents to the search path
> diff --git a/package/libgtk2/libgtk2-2.12.6-no-tests.patch b/package/libgtk2/libgtk2-2.12.6-no-tests.patch
> deleted file mode 100644
> index ea92433..0000000
> --- a/package/libgtk2/libgtk2-2.12.6-no-tests.patch
> +++ /dev/null
> @@ -1,11 +0,0 @@
> ---- a/Makefile.in	2008-01-28 22:38:09.000000000 -0500
> -+++ b/Makefile.in	2008-02-11 12:52:45.000000000 -0500
> -@@ -330,7 +330,7 @@ sharedstatedir = @sharedstatedir@
> - sysconfdir = @sysconfdir@
> - target_alias = @target_alias@
> - 
> --SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
> -+SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos perf contrib
> - SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
> - 
> - # require automake 1.4
> diff --git a/package/libgtk2/libgtk2-2.20.1-libtool.patch b/package/libgtk2/libgtk2-2.20.1-libtool.patch
> new file mode 100644
> index 0000000..12b69a4
> --- /dev/null
> +++ b/package/libgtk2/libgtk2-2.20.1-libtool.patch
> @@ -0,0 +1,60 @@
> +Fix the usual libtool-related problems, but since libgtk2 uses libtool
> +2.2, we need a specific patch.
> +
> +This is an exact copy of the patch proposed by Martin Banky.
> +
> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> +
> +--- a/ltmain.sh	2006-03-11 13:49:04.000000000 -0500
> ++++ b/ltmain.sh	2008-04-30 09:55:28.000000000 -0400
> +@@ -2239,8 +2239,11 @@ func_mode_install ()
> + 	  # At present, this check doesn't affect windows .dll's that
> + 	  # are installed into $libdir/../bin (currently, that works fine)
> + 	  # but it's something to keep an eye on.
> +-	  test "$inst_prefix_dir" = "$destdir" && \
> +-	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
> ++	  #
> ++	  # This breaks install into our staging area.  -PB
> ++	  #
> ++	  # test "$inst_prefix_dir" = "$destdir" && \
> ++	  #   func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
> + 
> + 	  if test -n "$inst_prefix_dir"; then
> + 	    # Stick the inst_prefix_dir data into the link command.
> +@@ -5739,8 +5742,14 @@ func_mode_link ()
> + 	    absdir="$abs_ladir"
> + 	    libdir="$abs_ladir"
> + 	  else
> +-	    dir="$libdir"
> +-	    absdir="$libdir"
> ++            # Adding 'libdir' from the .la file to our library search paths
> ++            # breaks crosscompilation horribly.  We cheat here and don't add
> ++            # it, instead adding the path where we found the .la.  -CL
> ++	    dir="$abs_ladir"
> ++	    absdir="$abs_ladir"
> ++	    libdir="$abs_ladir"
> ++	    #dir="$libdir"
> ++	    #absdir="$libdir"
> + 	  fi
> + 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
> + 	else
> +@@ -5891,7 +5900,7 @@ func_mode_link ()
> + 	  *)
> + 	    if test "$installed" = no; then
> + 	      notinst_deplibs="$notinst_deplibs $lib"
> +-	      need_relink=yes
> ++	      need_relink=no
> + 	    fi
> + 	    ;;
> + 	  esac
> +@@ -8373,6 +8382,10 @@ func_mode_link ()
> + 	    # Replace all uninstalled libtool libraries with the installed ones
> + 	    newdependency_libs=
> + 	    for deplib in $dependency_libs; do
> ++              # Replacing uninstalled with installed can easily break crosscompilation,
> ++              # since the installed path is generally the wrong architecture.  -CL
> ++              newdependency_libs="$newdependency_libs $deplib"
> ++              continue
> + 	      case $deplib in
> + 	      *.la)
> + 		func_basename "$deplib"
> diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk
> index d669622..a2321d1 100644
> --- a/package/libgtk2/libgtk2.mk
> +++ b/package/libgtk2/libgtk2.mk
> @@ -3,8 +3,8 @@
>  # libgtk2.0
>  #
>  #############################################################
> -LIBGTK2_VERSION_MAJOR:=2.12
> -LIBGTK2_VERSION_MINOR:=12
> +LIBGTK2_VERSION_MAJOR:=2.20
> +LIBGTK2_VERSION_MINOR:=1
>  LIBGTK2_VERSION = $(LIBGTK2_VERSION_MAJOR).$(LIBGTK2_VERSION_MINOR)
>  
>  LIBGTK2_SOURCE = gtk+-$(LIBGTK2_VERSION).tar.bz2
> @@ -12,6 +12,7 @@ LIBGTK2_SITE = ftp://ftp.gtk.org/pub/gtk/$(LIBGTK2_VERSION_MAJOR)
>  LIBGTK2_AUTORECONF = NO
>  LIBGTK2_INSTALL_STAGING = YES
>  LIBGTK2_INSTALL_TARGET = YES
> +LIBGTK2_LIBTOOL_PATCH = NO
>  
>  LIBGTK2_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
>  		glib_cv_uscore=no \
> @@ -64,7 +65,8 @@ LIBGTK2_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
>  		ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_DIR)/usr/bin/gtk-update-icon-cache \
>  		ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_DIR)/usr/bin/gdk-pixbuf-csource \
>  		ac_cv_prog_F77=no \
> -		ac_cv_path_CUPS_CONFIG=no
> +		ac_cv_path_CUPS_CONFIG=no \
> +		gio_can_sniff=no
>  
>  LIBGTK2_CONF_OPT = --enable-shared \
>  		--enable-static \
> @@ -90,11 +92,6 @@ else
>  	LIBGTK2_CONF_OPT += --without-x
>  endif
>  
> -# Buildroot does not support JPEG2000 library
> -ifeq ($(LIBGTK2_VERSION_MAJOR),2.15)
> -LIBGTK2_CONF_OPT += --without-libjasper
> -endif
> -
>  ifeq ($(BR2_PACKAGE_LIBPNG),y)
>  LIBGTK2_DEPENDENCIES += libpng
>  else
> @@ -135,6 +132,7 @@ LIBGTK2_POST_INSTALL_TARGET_HOOKS += LIBGTK_POST_INSTALL_TWEAKS
>  
>  HOST_LIBGTK2_DEPENDENCIES = host-libglib2 host-libpng
>  HOST_LIBGTK2_AUTORECONF = YES
> +HOST_LIBGTK2_LIBTOOL_PATCH = NO
>  HOST_LIBGTK2_CONF_OPT = \
>  		--disable-static \
>  		--disable-glibtest \




More information about the buildroot mailing list