diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-11-05 01:10:44 +0000 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-11-05 01:10:44 +0000 |
commit | b97ae8a86889c6de751be38eb97c8b0e21450c3e (patch) | |
tree | cc362d02ad05b44177d8c97b820855197c93ecc1 /x11-libs/gtk+ | |
parent | Add Makefile to compile respecting CFLAGS. #440966 (diff) | |
download | gentoo-2-b97ae8a86889c6de751be38eb97c8b0e21450c3e.tar.gz gentoo-2-b97ae8a86889c6de751be38eb97c8b0e21450c3e.tar.bz2 gentoo-2-b97ae8a86889c6de751be38eb97c8b0e21450c3e.zip |
Fix 3.4.4 build failure with uclibc (bug #441634, thanks to Anthony Basile). For 2.24.13-r1, share bookmarks with gtk3, and do not install obsolete env.d file (bug #431018, thanks to Hans). UI tests in gtk2 fail if immodules are not already installed (bug #413185, thanks to Patrick Lauer).
(Portage version: 2.2.0_alpha142/cvs/Linux x86_64, signed Manifest commit with key CF0ADD61)
Diffstat (limited to 'x11-libs/gtk+')
-rw-r--r-- | x11-libs/gtk+/ChangeLog | 13 | ||||
-rw-r--r-- | x11-libs/gtk+/files/gtk+-2.24.13-gtk3-bookmarks.patch | 191 | ||||
-rw-r--r-- | x11-libs/gtk+/files/gtk+-3.4.4-isnan.patch | 52 | ||||
-rw-r--r-- | x11-libs/gtk+/gtk+-2.24.12.ebuild | 11 | ||||
-rw-r--r-- | x11-libs/gtk+/gtk+-2.24.13-r1.ebuild | 249 | ||||
-rw-r--r-- | x11-libs/gtk+/gtk+-2.24.13.ebuild | 13 | ||||
-rw-r--r-- | x11-libs/gtk+/gtk+-3.4.4.ebuild | 7 |
7 files changed, 530 insertions, 6 deletions
diff --git a/x11-libs/gtk+/ChangeLog b/x11-libs/gtk+/ChangeLog index 503b8677693a..0f5c09d69c64 100644 --- a/x11-libs/gtk+/ChangeLog +++ b/x11-libs/gtk+/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for x11-libs/gtk+ # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/ChangeLog,v 1.619 2012/10/28 16:49:24 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/ChangeLog,v 1.620 2012/11/05 01:10:44 tetromino Exp $ + +*gtk+-2.24.13-r1 (05 Nov 2012) + + 05 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org> gtk+-2.24.12.ebuild, + gtk+-2.24.13.ebuild, +gtk+-2.24.13-r1.ebuild, + +files/gtk+-2.24.13-gtk3-bookmarks.patch, gtk+-3.4.4.ebuild, + +files/gtk+-3.4.4-isnan.patch: + Fix 3.4.4 build failure with uclibc (bug #441634, thanks to Anthony Basile). + For 2.24.13-r1, share bookmarks with gtk3, and do not install obsolete env.d + file (bug #431018, thanks to Hans). UI tests in gtk2 fail if immodules are + not already installed (bug #413185, thanks to Patrick Lauer). 28 Oct 2012; Raúl Porcel <armin76@gentoo.org> gtk+-2.24.12.ebuild, gtk+-3.4.4.ebuild: diff --git a/x11-libs/gtk+/files/gtk+-2.24.13-gtk3-bookmarks.patch b/x11-libs/gtk+/files/gtk+-2.24.13-gtk3-bookmarks.patch new file mode 100644 index 000000000000..3cf1e82d738d --- /dev/null +++ b/x11-libs/gtk+/files/gtk+-2.24.13-gtk3-bookmarks.patch @@ -0,0 +1,191 @@ +From de89546e30db83e6e10f72062b3b5c38814bb64d Mon Sep 17 00:00:00 2001 +From: Cosimo Cecchi <cosimoc@gnome.org> +Date: Fri, 27 Apr 2012 12:57:50 -0400 +Subject: [PATCH] Use bookmarks file from gtk-3.0 XDG config dir if present + +Will read from old location if new location isn't found, and will always +write back to the original location the file was read from. + +Adapted from commit ceb3fecd117293387547c284e8294e4cddaa8f17 on the +master branch, based on a patch from +William Jon McCann <jmccann@redhat.com> +--- + gtk/gtkfilesystem.c | 69 +++++++++++++++++++++++++++++++++++------------------ + 1 file changed, 46 insertions(+), 23 deletions(-) + +diff --git a/gtk/gtkfilesystem.c b/gtk/gtkfilesystem.c +index f2897d2..4871904 100644 +--- a/gtk/gtkfilesystem.c ++++ b/gtk/gtkfilesystem.c +@@ -92,6 +92,7 @@ struct GtkFileSystemPrivate + + /* This list contains GtkFileSystemBookmark structs */ + GSList *bookmarks; ++ GFile *bookmarks_file; + + GFileMonitor *bookmarks_monitor; + }; +@@ -206,6 +207,9 @@ gtk_file_system_finalize (GObject *object) + g_slist_free (priv->bookmarks); + } + ++ if (priv->bookmarks_file) ++ g_object_unref (priv->bookmarks_file); ++ + G_OBJECT_CLASS (_gtk_file_system_parent_class)->finalize (object); + } + +@@ -239,7 +243,7 @@ _gtk_file_system_class_init (GtkFileSystemClass *class) + } + + static GFile * +-get_bookmarks_file (void) ++get_legacy_bookmarks_file (void) + { + GFile *file; + gchar *filename; +@@ -251,6 +255,19 @@ get_bookmarks_file (void) + return file; + } + ++static GFile * ++get_bookmarks_file (void) ++{ ++ GFile *file; ++ gchar *filename; ++ ++ filename = g_build_filename (g_get_user_config_dir (), "gtk-3.0", "bookmarks", NULL); ++ file = g_file_new_for_path (filename); ++ g_free (filename); ++ ++ return file; ++} ++ + static GSList * + read_bookmarks (GFile *file) + { +@@ -301,6 +318,8 @@ save_bookmarks (GFile *bookmarks_file, + GError *error = NULL; + GString *contents; + GSList *l; ++ GFile *parent_file; ++ gchar *path; + + contents = g_string_new (""); + +@@ -322,16 +341,22 @@ save_bookmarks (GFile *bookmarks_file, + g_free (uri); + } + +- if (!g_file_replace_contents (bookmarks_file, +- contents->str, +- strlen (contents->str), +- NULL, FALSE, 0, NULL, +- NULL, &error)) ++ parent_file = g_file_get_parent (bookmarks_file); ++ path = g_file_get_path (parent_file); ++ if (g_mkdir_with_parents (path, 0700) == 0) + { +- g_critical ("%s", error->message); +- g_error_free (error); ++ if (!g_file_replace_contents (bookmarks_file, ++ contents->str, ++ strlen (contents->str), ++ NULL, FALSE, 0, NULL, ++ NULL, &error)) ++ { ++ g_critical ("%s", error->message); ++ g_error_free (error); ++ } + } +- ++ g_free (path); ++ g_object_unref (parent_file); + g_string_free (contents, TRUE); + } + +@@ -579,6 +604,14 @@ _gtk_file_system_init (GtkFileSystem *file_system) + /* Bookmarks */ + bookmarks_file = get_bookmarks_file (); + priv->bookmarks = read_bookmarks (bookmarks_file); ++ if (!priv->bookmarks) ++ { ++ /* Use the legacy file instead */ ++ g_object_unref (bookmarks_file); ++ bookmarks_file = get_legacy_bookmarks_file (); ++ priv->bookmarks = read_bookmarks (bookmarks_file); ++ } ++ + priv->bookmarks_monitor = g_file_monitor_file (bookmarks_file, + G_FILE_MONITOR_NONE, + NULL, &error); +@@ -591,7 +624,7 @@ _gtk_file_system_init (GtkFileSystem *file_system) + g_signal_connect (priv->bookmarks_monitor, "changed", + G_CALLBACK (bookmarks_file_changed), file_system); + +- g_object_unref (bookmarks_file); ++ priv->bookmarks_file = g_object_ref (bookmarks_file); + } + + /* GtkFileSystem public methods */ +@@ -1097,7 +1130,6 @@ _gtk_file_system_insert_bookmark (GtkFileSystem *file_system, + GSList *bookmarks; + GtkFileSystemBookmark *bookmark; + gboolean result = TRUE; +- GFile *bookmarks_file; + + priv = GTK_FILE_SYSTEM_GET_PRIVATE (file_system); + bookmarks = priv->bookmarks; +@@ -1134,10 +1166,7 @@ _gtk_file_system_insert_bookmark (GtkFileSystem *file_system, + bookmark->file = g_object_ref (file); + + priv->bookmarks = g_slist_insert (priv->bookmarks, bookmark, position); +- +- bookmarks_file = get_bookmarks_file (); +- save_bookmarks (bookmarks_file, priv->bookmarks); +- g_object_unref (bookmarks_file); ++ save_bookmarks (priv->bookmarks_file, priv->bookmarks); + + g_signal_emit (file_system, fs_signals[BOOKMARKS_CHANGED], 0); + +@@ -1153,7 +1182,6 @@ _gtk_file_system_remove_bookmark (GtkFileSystem *file_system, + GtkFileSystemBookmark *bookmark; + GSList *bookmarks; + gboolean result = FALSE; +- GFile *bookmarks_file; + + priv = GTK_FILE_SYSTEM_GET_PRIVATE (file_system); + +@@ -1193,9 +1221,7 @@ _gtk_file_system_remove_bookmark (GtkFileSystem *file_system, + return FALSE; + } + +- bookmarks_file = get_bookmarks_file (); +- save_bookmarks (bookmarks_file, priv->bookmarks); +- g_object_unref (bookmarks_file); ++ save_bookmarks (priv->bookmarks_file, priv->bookmarks); + + g_signal_emit (file_system, fs_signals[BOOKMARKS_CHANGED], 0); + +@@ -1239,7 +1265,6 @@ _gtk_file_system_set_bookmark_label (GtkFileSystem *file_system, + { + GtkFileSystemPrivate *priv; + gboolean changed = FALSE; +- GFile *bookmarks_file; + GSList *bookmarks; + + DEBUG ("set_bookmark_label"); +@@ -1263,9 +1288,7 @@ _gtk_file_system_set_bookmark_label (GtkFileSystem *file_system, + } + } + +- bookmarks_file = get_bookmarks_file (); +- save_bookmarks (bookmarks_file, priv->bookmarks); +- g_object_unref (bookmarks_file); ++ save_bookmarks (priv->bookmarks_file, priv->bookmarks); + + if (changed) + g_signal_emit_by_name (file_system, "bookmarks-changed", 0); +-- +1.8.0 + diff --git a/x11-libs/gtk+/files/gtk+-3.4.4-isnan.patch b/x11-libs/gtk+/files/gtk+-3.4.4-isnan.patch new file mode 100644 index 000000000000..710c33b71d19 --- /dev/null +++ b/x11-libs/gtk+/files/gtk+-3.4.4-isnan.patch @@ -0,0 +1,52 @@ +From d6aee922bb5da8254fafdf605951cf5b0150537d Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Tue, 15 May 2012 13:09:24 +0200 +Subject: [PATCH] Bug 676087-configure.ac: isnan() and isinf() are macros, not + functions + +The isnan() and isinf() are C99 macros not functions so use +AC_CHECK_DECL instead of AC_CHECK_FUNCS for those. +--- + configure.ac | 3 ++- + gdk/fallback-c89.c | 4 ++-- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 857d015..c801dd2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -751,7 +751,8 @@ AC_TYPE_UID_T + + # Check for round(), rint(), isnan(), isinf() and nearbyint() + AC_CHECK_LIB(m,round,,) +-AC_CHECK_FUNCS(round rint isnan isinf nearbyint) ++AC_CHECK_FUNCS(round rint nearbyint) ++AC_CHECK_DECLS([isnan, isinf], [], [], [[#include <math.h>]]) + + # Checks for gdkspawn + AC_CHECK_HEADERS(crt_externs.h) +diff --git a/gdk/fallback-c89.c b/gdk/fallback-c89.c +index 35dea77..b150044 100644 +--- a/gdk/fallback-c89.c ++++ b/gdk/fallback-c89.c +@@ -19,7 +19,7 @@ + + #include <float.h> + +-#ifndef HAVE_ISNAN ++#ifndef HAVE_DECL_ISNAN + /* it seems of the supported compilers only + * MSVC does not have isnan(), but it does + * have _isnan() which does the same as isnan() +@@ -31,7 +31,7 @@ isnan (double x) + } + #endif + +-#ifndef HAVE_ISINF ++#ifndef HAVE_DECL_ISINF + /* Unfortunately MSVC does not have finite() + * but it does have _finite() which is the same + * as finite() except when x is a NaN +-- +1.7.12.4 + diff --git a/x11-libs/gtk+/gtk+-2.24.12.ebuild b/x11-libs/gtk+/gtk+-2.24.12.ebuild index 13665234501b..037c75d53d48 100644 --- a/x11-libs/gtk+/gtk+-2.24.12.ebuild +++ b/x11-libs/gtk+/gtk+-2.24.12.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-2.24.12.ebuild,v 1.11 2012/10/28 16:49:24 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-2.24.12.ebuild,v 1.12 2012/11/05 01:10:44 tetromino Exp $ EAPI="4" @@ -132,6 +132,15 @@ src_prepare() { # https://bugzilla.gnome.org/show_bug.cgi?id=617473 sed -i -e 's:pltcheck.sh:$(NULL):g' \ gtk/Makefile.am || die + + # UI tests require immodules already installed; bug #413185 + if ! has_version 'x11-libs/gtk+:2'; then + ewarn "Disabling UI tests because this is the first install of" + ewarn "gtk+:2 on this machine. Please re-run the tests after $P" + ewarn "has been installed." + sed '/g_test_add_func.*ui-tests/ d' \ + -i gtk/tests/testing.c || die "sed 2 failed" + fi fi if ! use examples; then diff --git a/x11-libs/gtk+/gtk+-2.24.13-r1.ebuild b/x11-libs/gtk+/gtk+-2.24.13-r1.ebuild new file mode 100644 index 000000000000..caf4a47e4db5 --- /dev/null +++ b/x11-libs/gtk+/gtk+-2.24.13-r1.ebuild @@ -0,0 +1,249 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-2.24.13-r1.ebuild,v 1.1 2012/11/05 01:10:44 tetromino Exp $ + +EAPI="4" + +inherit eutils flag-o-matic gnome.org virtualx autotools + +DESCRIPTION="Gimp ToolKit +" +HOMEPAGE="http://www.gtk.org/" +SRC_URI="${SRC_URI} mirror://gentoo/introspection.m4.bz2" + +LICENSE="LGPL-2+" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="aqua cups debug examples +introspection test vim-syntax xinerama" + +# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf) +COMMON_DEPEND="!aqua? ( + x11-libs/libXrender + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXt + x11-libs/libXext + >=x11-libs/libXrandr-1.3 + x11-libs/libXcursor + x11-libs/libXfixes + x11-libs/libXcomposite + x11-libs/libXdamage + >=x11-libs/cairo-1.6[X,svg] + x11-libs/gdk-pixbuf:2[X,introspection?] + ) + aqua? ( + >=x11-libs/cairo-1.6[aqua,svg] + x11-libs/gdk-pixbuf:2[introspection?] + ) + xinerama? ( x11-libs/libXinerama ) + >=dev-libs/glib-2.30:2 + >=x11-libs/pango-1.20[introspection?] + >=dev-libs/atk-1.29.2[introspection?] + media-libs/fontconfig + x11-misc/shared-mime-info + cups? ( net-print/cups ) + introspection? ( >=dev-libs/gobject-introspection-0.9.3 ) + !<gnome-base/gail-1000" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig + !aqua? ( + x11-proto/xextproto + x11-proto/xproto + x11-proto/inputproto + x11-proto/damageproto + ) + xinerama? ( x11-proto/xineramaproto ) + >=dev-util/gtk-doc-am-1.11 + test? ( + media-fonts/font-misc-misc + media-fonts/font-cursor-misc )" +# gtk+-2.24.8 breaks Alt key handling in <=x11-libs/vte-0.28.2:0 +# Remove blocker after >=vte-0.28.2-r201:0 is stable +RDEPEND="${COMMON_DEPEND} + !<x11-libs/vte-0.28.2-r201:0" +PDEPEND="vim-syntax? ( app-vim/gtk-syntax )" + +strip_builddir() { + local rule=$1 + shift + local directory=$1 + shift + sed -e "s/^\(${rule} =.*\)${directory}\(.*\)$/\1\2/" -i $@ \ + || die "Could not strip director ${directory} from build." +} + +set_gtk2_confdir() { + # An arch specific config directory is used on multilib systems + GTK2_CONFDIR="/etc/gtk-2.0/${CHOST}" +} + +src_prepare() { + # https://bugzilla.gnome.org/show_bug.cgi?id=684787 + epatch "${FILESDIR}/${PN}-2.24.13-gold.patch" + + # use an arch-specific config directory so that 32bit and 64bit versions + # dont clash on multilib systems + epatch "${FILESDIR}/${PN}-2.21.3-multilib.patch" + + # Don't break inclusion of gtkclist.h, upstream bug 536767 + epatch "${FILESDIR}/${PN}-2.14.3-limit-gtksignal-includes.patch" + + # fix building with gir #372953, upstream bug #642085 + epatch "${FILESDIR}"/${PN}-2.24.7-darwin-quartz-introspection.patch + + # share bookmarks with gtk3 if they are found; in 2.24.14 + epatch "${FILESDIR}/${P}-gtk3-bookmarks.patch" + + # marshalers code was pre-generated with glib-2.31, upstream bug #671763 + rm -v gdk/gdkmarshalers.c gtk/gtkmarshal.c gtk/gtkmarshalers.c \ + perf/marshalers.c || die + + # Stop trying to build unmaintained docs, bug #349754 + strip_builddir SUBDIRS tutorial docs/Makefile.am docs/Makefile.in + strip_builddir SUBDIRS faq docs/Makefile.am docs/Makefile.in + + # -O3 and company cause random crashes in applications. Bug #133469 + replace-flags -O3 -O2 + strip-flags + + use ppc64 && append-flags -mminimal-toc + + if ! use test; then + # don't waste time building tests + strip_builddir SRC_SUBDIRS tests Makefile.{am,in} + strip_builddir SUBDIRS tests gdk/Makefile.{am,in} gtk/Makefile.{am,in} + else + # Non-working test in gentoo's env + sed 's:\(g_test_add_func ("/ui-tests/keys-events.*\):/*\1*/:g' \ + -i gtk/tests/testing.c || die "sed 1 failed" + + # Cannot work because glib is too clever to find real user's home + # gentoo bug #285687, upstream bug #639832 + # XXX: /!\ Pay extra attention to second sed when bumping /!\ + sed '/TEST_PROGS.*recentmanager/d' -i gtk/tests/Makefile.am \ + || die "failed to disable recentmanager test (1)" + sed '/^TEST_PROGS =/,+3 s/recentmanager//' -i gtk/tests/Makefile.in \ + || die "failed to disable recentmanager test (2)" + sed 's:\({ "GtkFileChooserButton".*},\):/*\1*/:g' -i gtk/tests/object.c \ + || die "failed to disable recentmanager test (3)" + + # Skip tests known to fail + # https://bugzilla.gnome.org/show_bug.cgi?id=646609 + sed -e '/g_test_add_func.*test_text_access/s:^://:' \ + -i "${S}/gtk/tests/testing.c" || die + + # https://bugzilla.gnome.org/show_bug.cgi?id=617473 + sed -i -e 's:pltcheck.sh:$(NULL):g' \ + gtk/Makefile.am || die + + # UI tests require immodules already installed; bug #413185 + if ! has_version 'x11-libs/gtk+:2'; then + ewarn "Disabling UI tests because this is the first install of" + ewarn "gtk+:2 on this machine. Please re-run the tests after $P" + ewarn "has been installed." + sed '/g_test_add_func.*ui-tests/ d' \ + -i gtk/tests/testing.c || die "sed 2 failed" + fi + fi + + if ! use examples; then + # don't waste time building demos + strip_builddir SRC_SUBDIRS demos Makefile.am Makefile.in + fi + + # http://bugs.gentoo.org/show_bug.cgi?id=371907 + mkdir -p "${S}/m4" || die + mv "${WORKDIR}/introspection.m4" "${S}/m4macros" || die + AT_M4DIR=m4macros eautoreconf + # Use elibtoolize in place of eautoreconf when it will be dropped + #elibtoolize +} + +src_configure() { + local myconf="$(use_enable xinerama) + $(use_enable cups cups auto) + $(use_enable introspection) + --disable-papi" + if use aqua; then + myconf="${myconf} --with-gdktarget=quartz" + else + myconf="${myconf} --with-gdktarget=x11 --with-xinput" + fi + + # Passing --disable-debug is not recommended for production use + use debug && myconf="${myconf} --enable-debug=yes" + + econf ${myconf} +} + +src_test() { + unset DBUS_SESSION_BUS_ADDRESS + # Exporting HOME fixes tests using XDG directories spec since all defaults + # are based on $HOME. It is also backward compatible with functions not + # yet ported to this spec. + XDG_DATA_HOME="${T}" HOME="${T}" Xemake check || die "tests failed" +} + +src_install() { + emake DESTDIR="${D}" install + + set_gtk2_confdir + dodir ${GTK2_CONFDIR} + keepdir ${GTK2_CONFDIR} + + # see bug #133241 + echo 'gtk-fallback-icon-theme = "gnome"' > "${T}/gtkrc" + insinto /etc/gtk-2.0 + doins "${T}"/gtkrc + + dodoc AUTHORS ChangeLog* HACKING NEWS* README* + + # add -framework Carbon to the .pc files + use aqua && for i in gtk+-2.0.pc gtk+-quartz-2.0.pc gtk+-unix-print-2.0.pc; do + sed -i -e "s:Libs\: :Libs\: -framework Carbon :" "${ED%/}"/usr/lib/pkgconfig/$i || die "sed failed" + done + + # dev-util/gtk-builder-convert split off into a separate package, #402905 + rm "${ED}"usr/bin/gtk-builder-convert + + find "${D}" -name '*.la' -exec rm -f {} + +} + +pkg_postinst() { + set_gtk2_confdir + + # gtk.immodules should be in their CHOST directories respectively. + gtk-query-immodules-2.0 > "${EROOT%/}${GTK2_CONFDIR}/gtk.immodules" \ + || ewarn "Failed to run gtk-query-immodules-2.0" + + if [ -e "${EROOT%/}/etc/gtk-2.0/gtk.immodules" ]; then + elog "File /etc/gtk-2.0/gtk.immodules has been moved to \$CHOST" + elog "aware location. Removing deprecated file." + rm -f ${EROOT%/}/etc/gtk-2.0/gtk.immodules + fi + + # pixbufs are now handled by x11-libs/gdk-pixbuf + if [ -e "${EROOT%/}${GTK2_CONFDIR}/gdk-pixbuf.loaders" ]; then + elog "File ${EROOT%/}${GTK2_CONFDIR}/gdk-pixbuf.loaders is now handled by x11-libs/gdk-pixbuf" + elog "Removing deprecated file." + rm -f ${EROOT%/}${GTK2_CONFDIR}/gdk-pixbuf.loaders + fi + + # two checks needed since we dropped multilib conditional + if [ -e "${EROOT%/}/etc/gtk-2.0/gdk-pixbuf.loaders" ]; then + elog "File ${EROOT%/}/etc/gtk-2.0/gdk-pixbuf.loaders is now handled by x11-libs/gdk-pixbuf" + elog "Removing deprecated file." + rm -f ${EROOT%/}/etc/gtk-2.0/gdk-pixbuf.loaders + fi + + if [ -e "${EROOT%/}"/usr/lib/gtk-2.0/2.[^1]* ]; then + elog "You need to rebuild ebuilds that installed into" "${EROOT%/}"/usr/lib/gtk-2.0/2.[^1]* + elog "to do that you can use qfile from portage-utils:" + elog "emerge -va1 \$(qfile -qC ${EPREFIX}/usr/lib/gtk-2.0/2.[^1]*)" + fi + + if ! has_version "app-text/evince"; then + elog "Please install app-text/evince for print preview functionality." + elog "Alternatively, check \"gtk-print-preview-command\" documentation and" + elog "add it to your gtkrc." + fi +} diff --git a/x11-libs/gtk+/gtk+-2.24.13.ebuild b/x11-libs/gtk+/gtk+-2.24.13.ebuild index c138c03d3816..a48e5a3e8028 100644 --- a/x11-libs/gtk+/gtk+-2.24.13.ebuild +++ b/x11-libs/gtk+/gtk+-2.24.13.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-2.24.13.ebuild,v 1.3 2012/10/10 07:44:20 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-2.24.13.ebuild,v 1.4 2012/11/05 01:10:44 tetromino Exp $ EAPI="4" @@ -77,7 +77,7 @@ set_gtk2_confdir() { } src_prepare() { - # + # https://bugzilla.gnome.org/show_bug.cgi?id=684787 epatch "${FILESDIR}/${PN}-2.24.13-gold.patch" # use an arch-specific config directory so that 32bit and 64bit versions @@ -131,6 +131,15 @@ src_prepare() { # https://bugzilla.gnome.org/show_bug.cgi?id=617473 sed -i -e 's:pltcheck.sh:$(NULL):g' \ gtk/Makefile.am || die + + # UI tests require immodules already installed; bug #413185 + if ! has_version 'x11-libs/gtk+:2'; then + ewarn "Disabling UI tests because this is the first install of" + ewarn "gtk+:2 on this machine. Please re-run the tests after $P" + ewarn "has been installed." + sed '/g_test_add_func.*ui-tests/ d' \ + -i gtk/tests/testing.c || die "sed 2 failed" + fi fi if ! use examples; then diff --git a/x11-libs/gtk+/gtk+-3.4.4.ebuild b/x11-libs/gtk+/gtk+-3.4.4.ebuild index 5ad1837d6e0c..5f399ed94a27 100644 --- a/x11-libs/gtk+/gtk+-3.4.4.ebuild +++ b/x11-libs/gtk+/gtk+-3.4.4.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-3.4.4.ebuild,v 1.10 2012/10/28 16:49:24 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-3.4.4.ebuild,v 1.11 2012/11/05 01:10:44 tetromino Exp $ EAPI="4" @@ -100,6 +100,9 @@ src_prepare() { # Apparently needed for new libxkbcommon headers; bug #408131 epatch "${FILESDIR}/${PN}-3.3.20-wayland-xkbcommon-headers.patch" + # Build fix for uclibc from gtk+-3.5.x; bug #441634 + epatch "${FILESDIR}/${PN}-3.4.4-isnan.patch" + # Non-working test in gentoo's env sed 's:\(g_test_add_func ("/ui-tests/keys-events.*\):/*\1*/:g' \ -i gtk/tests/testing.c || die "sed 1 failed" @@ -159,7 +162,7 @@ src_test() { # would result in circular dependencies. # https://bugzilla.gnome.org/show_bug.cgi?id=669562 if ! has_version '>=x11-themes/gnome-themes-standard-3.3.91'; then - ewarn "Tests will be skipped because >=gnome-themes-standard-3.3.90" + ewarn "Tests will be skipped because >=gnome-themes-standard-3.3.91" ewarn "is not installed. Please re-run tests after installing the" ewarn "required version of gnome-themes-standard." return 0 |