summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2012-11-05 01:10:44 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2012-11-05 01:10:44 +0000
commitb97ae8a86889c6de751be38eb97c8b0e21450c3e (patch)
treecc362d02ad05b44177d8c97b820855197c93ecc1 /x11-libs
parentAdd Makefile to compile respecting CFLAGS. #440966 (diff)
downloadgentoo-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')
-rw-r--r--x11-libs/gtk+/ChangeLog13
-rw-r--r--x11-libs/gtk+/files/gtk+-2.24.13-gtk3-bookmarks.patch191
-rw-r--r--x11-libs/gtk+/files/gtk+-3.4.4-isnan.patch52
-rw-r--r--x11-libs/gtk+/gtk+-2.24.12.ebuild11
-rw-r--r--x11-libs/gtk+/gtk+-2.24.13-r1.ebuild249
-rw-r--r--x11-libs/gtk+/gtk+-2.24.13.ebuild13
-rw-r--r--x11-libs/gtk+/gtk+-3.4.4.ebuild7
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