1
0
mirror of https://github.com/gryf/gryf-overlay.git synced 2026-01-07 22:34:20 +01:00

Added fix for pasting PRIMARY selection on GTK3

This commit is contained in:
2017-04-28 15:40:07 +02:00
parent 1a97c1e372
commit 61036211eb
4 changed files with 472 additions and 1 deletions

View File

@@ -2,5 +2,9 @@ AUX gtk+-2.24.24-out-of-source.patch 1487 SHA256 3492f3c22df40f7e0696098eb689b94
AUX gtk+-2.24.31-fix-gtkentry-beep.patch 1331 SHA256 d12ab8774f248cdec0eee97763735365c9804fce2bdcc022611f93f32e776afa SHA512 a5fe1474a044299dd2a6e3d238cb1afedc363db095c752cbc9d0435794a6a8f9f6260b7eb96eb3a64ae7fe46b9ca275168c6c39358dca28f7f42203f929c935c WHIRLPOOL 9f7300bcfcfb6855b43f53b6d84cb90247b1bb84c41dbcd50d31c8f43c687ac40824c010cd5d83f08cb2cec3ba22353aa148c2abbb721fa72da996ddd75a46c9
AUX gtk+-2.24.31-update-icon-cache.patch 2504 SHA256 aff2bc60ebed09103d3f5d69a095986afeb5fd2c311f82df6c8fd18478258d4f SHA512 c2a55a410019502b0af3fa5152fc372ce8a555bd63b5cf7f9574ebe5058f3b95e21dc5f14b5b8867d52105e4f6ebca3336a59935c3a7269bfd41aa91edadab48 WHIRLPOOL a77b23f47308e06524418eff422545062f67ba9a1cfe5038c1e4bb67c08b2eeabbf22049301c6beef909542a5adb4c3c6fd312402ae25c41eaadbeb25d755a24
AUX gtk+-2.24.31_enable_paste_selection.patch 7677 SHA256 5f2ecda06f95d217c2d895f62d4a8c3f1d59f4b380b0d34c135cea91cd5e402d SHA512 4de343c43ad2d217ff9817410abd563a62a76c3da358859ada6d2b5b61af7ce9442543530f715f35bca969906b6742e5ace8bceea5686488938cae53623f5e00 WHIRLPOOL 230d79e7b857d4e59bdd082ec8076c6fb2144d80e0567dbc3decaac72ffd5d541e4cbc4f347810194fe5bbe3b27a051dcead88724cd1da39b615d1363bd5fc25
AUX gtk+-3.16.2-remove_update-icon-cache.patch 554 SHA256 8e188fca21a2a9c2118e754dbeb8f4bd8d8808de68bcf3a404a2e56684276388 SHA512 88396ca13baf46e77c37b94da57ac06edd525a1dee66150427866ed5d7a913481dcd0b664d6e98dec0a7d5b551bd49a4c29a712ed6fd2ec0d677ae2da65b468d WHIRLPOOL 23d2097c69b001b75595a9fff761445d3faf7c74f3e4728b8325eeeb971c2cfaedd28e5a53fea6502caacd96bf867842ad861d783c27c5aadb22483b84ab9004
AUX gtk+-3.20.09_enable_paste_selection.patch 7967 SHA256 005ec7437d9b4689c5bfec1a418f19ba6a5f94147226c622707b5199f54d533d SHA512 a01c1c1848e64f8e11bb7f973eee95120dc65bb52bbcac3538273a4f14da65626034171bb9013b5881160c8c8001a2b8adbe404b0dfd98dbde5328e8f54b6616 WHIRLPOOL 9030b7b8ef909f5524f4243d5b88fab4e91109d020ba120963a8010ad0c099b5c8aa28a2579bb73d704249d1b8ecb6f57685d8917aa43fbc9696b97413f87761
DIST gtk+-2.24.31.tar.xz 12805344 SHA256 68c1922732c7efc08df4656a5366dcc3afdc8791513400dac276009b40954658 SHA512 75b846661308d94b5236e7e1c367deabf57753792ca87e92f9769822dd5ec90e00cd8d5574adcc12162e3702e1ae6dc152278a1d218f9bd9e4d1c8dc1dd520c1 WHIRLPOOL 6f59d444b28910b0f4cd7d0d0bf04f8e442acd945205679c19e5adf7ca3f8e7406d4095e9ff9ca597882eb937a7551e19af63b6597e7b57c0babe5b061f9110e
EBUILD gtk+-2.24.31-r99.ebuild 10243 SHA256 05c7a76af6d84f4975fc140fd84df9abdc85c707e1eee8c12aa2f58e3a5843a9 SHA512 87ea95a5789c4a588ee2d4920e446b3f2fca6c32d52f21526d66a01ac94ba9a8bce9059963285c97d21a0ccc4fae0d2b1aaffd2f7f62590da8d7b1705e5ed673 WHIRLPOOL 29e463d7b61c9e6b1817b0eec32c5899d2d2e72080079fa6910d2db33b8674a5632af08e73ac3382ad5275e75dd24eb9d004bafc20a75ad390dfcae74a048bde
DIST gtk+-3.20.9.tar.xz 17174872 SHA256 83a609ba2f3424b5509e73967c49c67833af466d6f91081b24ee5c64fce6ac17 SHA512 5848403959f76633511009231c80a814cfe24a7ba07c9429704f432191e51b54d3e6621ce5b578f79999f21993920af3a45c8d03dad6ba03af5f9a342b32626e WHIRLPOOL 7964b82dabf72b5d45a34565874ba02e0dda09b0f358f640ca0c602c3c7aa4618432829d047794f5f202424c34c837bbdc31ccb3c5457768e252f048afd30107
EBUILD gtk+-2.24.31-r99.ebuild 10251 SHA256 13c55ba76012af6cc9773a5bd64c49fd45a8fc6e0a78e599f9ffe9162efa420c SHA512 6b1647fa06e9535435572c34de03dc53551438d39e3edb58adcf203e16f6e94d40fe532c5c4c713595abf9150cdbb48e617d470455640c795b30eaf3932d2761 WHIRLPOOL 5f5f67cf78666bdd0a5021ed818fecf4c454c3c5f152fb0a10fcc149be9dc9870f193dea232834c44486799d0dada83ac4697a9567543c31351a07cc474dd4fe
EBUILD gtk+-3.20.9-r99.ebuild 7200 SHA256 4697f020555cf7e0485708a67699842c1ead1dc16dbc2ae366edbe5de6dc07a0 SHA512 230e920da9ff3f51f90fb1baf7e1dd2b078dedf6ca85a43eb00850424a55b8e8a05698e6b3d3528e94dc456ce09630b0405162f35d9f77699406895c9b5f5b7e WHIRLPOOL e60d7b9fbd4a735b93dd24910771653e8433b16b8eb0eea4d05d690e5828cd84a4882a2e3e13df4934653dfbb10885cc586df75a5d47afecd7441174ce305cf5

View File

@@ -0,0 +1,24 @@
From d83443d10381a53637226b937094454951de44c1 Mon Sep 17 00:00:00 2001
From: Ole Reifschneider <tranquility@gentoo.org>
Date: Thu, 16 Apr 2015 23:51:51 +0200
Subject: [PATCH] Remove update-icon-cache from bin_PROGRAMS
---
gtk/Makefile.am | 1 -
1 file changed, 1 deletion(-)
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 83dfe31..a5afc03 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -1380,7 +1380,6 @@ endif
#
bin_PROGRAMS = \
gtk-query-immodules-3.0 \
- gtk-update-icon-cache \
gtk-encode-symbolic-svg \
gtk-launch
--
2.0.5

View File

@@ -0,0 +1,207 @@
diff -ur gtk+-3.20.9/gtk/gtkentry.c gtk+-3.20.9_patched/gtk/gtkentry.c
--- gtk+-3.20.9/gtk/gtkentry.c 2016-08-04 15:43:36.000000000 +0200
+++ gtk+-3.20.9_patched/gtk/gtkentry.c 2016-10-10 20:50:18.948444805 +0200
@@ -315,6 +315,7 @@
CUT_CLIPBOARD,
COPY_CLIPBOARD,
PASTE_CLIPBOARD,
+ PASTE_SELECTION,
TOGGLE_OVERWRITE,
ICON_PRESS,
ICON_RELEASE,
@@ -541,6 +542,8 @@
static void gtk_entry_cut_clipboard (GtkEntry *entry);
static void gtk_entry_copy_clipboard (GtkEntry *entry);
static void gtk_entry_paste_clipboard (GtkEntry *entry);
+static void gtk_entry_paste_selection (GtkEntry *entry,
+ const gchar *which);
static void gtk_entry_toggle_overwrite (GtkEntry *entry);
static void gtk_entry_select_all (GtkEntry *entry);
static void gtk_entry_real_activate (GtkEntry *entry);
@@ -805,6 +808,7 @@
class->cut_clipboard = gtk_entry_cut_clipboard;
class->copy_clipboard = gtk_entry_copy_clipboard;
class->paste_clipboard = gtk_entry_paste_clipboard;
+ class->paste_selection = gtk_entry_paste_selection;
class->toggle_overwrite = gtk_entry_toggle_overwrite;
class->activate = gtk_entry_real_activate;
class->get_text_area_size = gtk_entry_get_text_area_size;
@@ -1792,6 +1796,25 @@
G_TYPE_NONE, 0);
/**
+ * GtkEntry::paste-selection:
+ * @entry: the object which received the signal
+ *
+ * The ::paste-selection signal is a
+ * <link linkend="keybinding-signals">keybinding signal</link>
+ * which gets emitted to paste the contents of the given selection
+ * into the entry.
+ */
+ signals[PASTE_SELECTION] =
+ g_signal_new (I_("paste-selection"),
+ G_OBJECT_CLASS_TYPE (gobject_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET (GtkEntryClass, paste_selection),
+ NULL, NULL,
+ _gtk_marshal_VOID__STRING,
+ G_TYPE_NONE, 1,
+ G_TYPE_STRING);
+
+ /**
* GtkEntry::toggle-overwrite:
* @entry: the object which received the signal
*
@@ -5871,6 +5894,27 @@
}
static void
+gtk_entry_paste_selection (GtkEntry *entry,
+ const gchar *which)
+{
+ GtkEntryPrivate *priv = entry->priv;
+
+ if (priv->editable)
+ {
+ if (g_str_equal(which, "primary"))
+ gtk_entry_paste (entry, GDK_SELECTION_PRIMARY);
+ else if (g_str_equal(which, "secondary"))
+ gtk_entry_paste (entry, GDK_SELECTION_SECONDARY);
+ else if (g_str_equal(which, "clipboard"))
+ gtk_entry_paste (entry, GDK_SELECTION_CLIPBOARD);
+ else
+ gtk_widget_error_bell (GTK_WIDGET (entry));
+ }
+ else
+ gtk_widget_error_bell (GTK_WIDGET (entry));
+}
+
+static void
gtk_entry_delete_cb (GtkEntry *entry)
{
GtkEntryPrivate *priv = entry->priv;
diff -ur gtk+-3.20.9/gtk/gtkentry.h gtk+-3.20.9_patched/gtk/gtkentry.h
--- gtk+-3.20.9/gtk/gtkentry.h 2016-03-26 03:46:38.000000000 +0100
+++ gtk+-3.20.9_patched/gtk/gtkentry.h 2016-10-10 20:51:54.016446963 +0200
@@ -145,6 +145,8 @@
void (* cut_clipboard) (GtkEntry *entry);
void (* copy_clipboard) (GtkEntry *entry);
void (* paste_clipboard) (GtkEntry *entry);
+ void (* paste_selection) (GtkEntry *entry,
+ const gchar *which);
void (* toggle_overwrite) (GtkEntry *entry);
/* hooks to add other objects beside the entry (like in GtkSpinButton) */
@@ -168,7 +170,6 @@
void (*_gtk_reserved4) (void);
void (*_gtk_reserved5) (void);
void (*_gtk_reserved6) (void);
- void (*_gtk_reserved7) (void);
};
GDK_AVAILABLE_IN_ALL
diff -ur gtk+-3.20.9/gtk/gtktextview.c gtk+-3.20.9_patched/gtk/gtktextview.c
--- gtk+-3.20.9/gtk/gtktextview.c 2016-08-04 15:39:15.000000000 +0200
+++ gtk+-3.20.9_patched/gtk/gtktextview.c 2016-10-10 20:55:27.612451814 +0200
@@ -326,6 +326,7 @@
CUT_CLIPBOARD,
COPY_CLIPBOARD,
PASTE_CLIPBOARD,
+ PASTE_SELECTION,
TOGGLE_OVERWRITE,
MOVE_VIEWPORT,
SELECT_ALL,
@@ -495,6 +496,8 @@
static void gtk_text_view_cut_clipboard (GtkTextView *text_view);
static void gtk_text_view_copy_clipboard (GtkTextView *text_view);
static void gtk_text_view_paste_clipboard (GtkTextView *text_view);
+static void gtk_text_view_paste_selection (GtkTextView *text_view,
+ const gchar *which);
static void gtk_text_view_toggle_overwrite (GtkTextView *text_view);
static void gtk_text_view_toggle_cursor_visible (GtkTextView *text_view);
@@ -782,6 +785,7 @@
klass->cut_clipboard = gtk_text_view_cut_clipboard;
klass->copy_clipboard = gtk_text_view_copy_clipboard;
klass->paste_clipboard = gtk_text_view_paste_clipboard;
+ klass->paste_selection = gtk_text_view_paste_selection;
klass->toggle_overwrite = gtk_text_view_toggle_overwrite;
klass->create_buffer = gtk_text_view_create_buffer;
klass->extend_selection = gtk_text_view_extend_selection;
@@ -1300,6 +1304,24 @@
NULL, NULL,
_gtk_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+ /**
+ * GtkTextView::paste-selection:
+ * @text_view: the object which received the signal
+ *
+ * The ::paste-selection signal is a
+ * <link linkend="keybinding-signals">keybinding signal</link>
+ * which gets emitted to paste the contents of the given selection
+ * into the text view.
+ */
+ signals[PASTE_SELECTION] =
+ g_signal_new (I_("paste-selection"),
+ G_OBJECT_CLASS_TYPE (gobject_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET (GtkTextViewClass, paste_selection),
+ NULL, NULL,
+ _gtk_marshal_VOID__STRING,
+ G_TYPE_NONE, 1,
+ G_TYPE_STRING);
/**
* GtkTextView::toggle-overwrite:
@@ -7160,6 +7182,31 @@
}
static void
+gtk_text_view_paste_selection (GtkTextView *text_view,
+ const gchar *which)
+{
+ GtkClipboard *clipboard = NULL;
+
+ if (g_str_equal (which, "primary"))
+ clipboard = gtk_widget_get_clipboard (GTK_WIDGET (text_view),
+ GDK_SELECTION_PRIMARY);
+ else if (g_str_equal (which, "secondary"))
+ clipboard = gtk_widget_get_clipboard (GTK_WIDGET (text_view),
+ GDK_SELECTION_SECONDARY);
+ else if (g_str_equal (which, "clipboard"))
+ clipboard = gtk_widget_get_clipboard (GTK_WIDGET (text_view),
+ GDK_SELECTION_CLIPBOARD);
+
+ if (clipboard)
+ gtk_text_buffer_paste_clipboard (get_buffer (text_view),
+ clipboard,
+ NULL,
+ text_view->priv->editable);
+ else
+ gtk_widget_error_bell (GTK_WIDGET (text_view));
+}
+
+static void
gtk_text_view_paste_done_handler (GtkTextBuffer *buffer,
GtkClipboard *clipboard,
gpointer data)
diff -ur gtk+-3.20.9/gtk/gtktextview.h gtk+-3.20.9_patched/gtk/gtktextview.h
--- gtk+-3.20.9/gtk/gtktextview.h 2016-05-20 15:23:51.000000000 +0200
+++ gtk+-3.20.9_patched/gtk/gtktextview.h 2016-10-10 20:56:41.844453500 +0200
@@ -182,6 +182,8 @@
void (* cut_clipboard) (GtkTextView *text_view);
void (* copy_clipboard) (GtkTextView *text_view);
void (* paste_clipboard) (GtkTextView *text_view);
+ void (* paste_selection) (GtkTextView *text_view,
+ const gchar *which);
void (* toggle_overwrite) (GtkTextView *text_view);
GtkTextBuffer * (* create_buffer) (GtkTextView *text_view);
void (* draw_layer) (GtkTextView *text_view,
@@ -200,7 +202,6 @@
void (*_gtk_reserved2) (void);
void (*_gtk_reserved3) (void);
void (*_gtk_reserved4) (void);
- void (*_gtk_reserved5) (void);
};
GDK_AVAILABLE_IN_ALL

View File

@@ -0,0 +1,236 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GNOME2_LA_PUNT="yes"
inherit autotools eutils flag-o-matic gnome2 multilib virtualx multilib-minimal
DESCRIPTION="Gimp ToolKit +"
HOMEPAGE="http://www.gtk.org/"
LICENSE="LGPL-2+"
SLOT="3"
IUSE="aqua broadway cloudprint colord cups examples +introspection test vim-syntax wayland X xinerama"
REQUIRED_USE="
|| ( aqua wayland X )
xinerama? ( X )
"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
# Upstream wants us to do their job:
# https://bugzilla.gnome.org/show_bug.cgi?id=768662#c1
RESTRICT="test"
# FIXME: introspection data is built against system installation of gtk+:3,
# bug #????
# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf)
COMMON_DEPEND="
>=dev-libs/atk-2.15[introspection?,${MULTILIB_USEDEP}]
>=dev-libs/glib-2.45.8:2[${MULTILIB_USEDEP}]
media-libs/fontconfig[${MULTILIB_USEDEP}]
>=media-libs/libepoxy-1.0[X(+)?,${MULTILIB_USEDEP}]
>=x11-libs/cairo-1.14[aqua?,glib,svg,X?,${MULTILIB_USEDEP}]
>=x11-libs/gdk-pixbuf-2.30:2[introspection?,X?,${MULTILIB_USEDEP}]
>=x11-libs/pango-1.37.3[introspection?,${MULTILIB_USEDEP}]
x11-misc/shared-mime-info
cloudprint? (
>=net-libs/rest-0.7[${MULTILIB_USEDEP}]
>=dev-libs/json-glib-1.0[${MULTILIB_USEDEP}] )
colord? ( >=x11-misc/colord-0.1.9:0=[${MULTILIB_USEDEP}] )
cups? ( >=net-print/cups-1.2[${MULTILIB_USEDEP}] )
introspection? ( >=dev-libs/gobject-introspection-1.39:= )
wayland? (
>=dev-libs/wayland-1.9.91[${MULTILIB_USEDEP}]
>=dev-libs/wayland-protocols-1.0
media-libs/mesa[wayland,${MULTILIB_USEDEP}]
>=x11-libs/libxkbcommon-0.2[${MULTILIB_USEDEP}]
)
X? (
>=app-accessibility/at-spi2-atk-2.5.3[${MULTILIB_USEDEP}]
x11-libs/libXrender[${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
>=x11-libs/libXi-1.3[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
>=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}]
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXcomposite[${MULTILIB_USEDEP}]
x11-libs/libXdamage[${MULTILIB_USEDEP}]
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
)
"
DEPEND="${COMMON_DEPEND}
app-text/docbook-xsl-stylesheets
app-text/docbook-xml-dtd:4.1.2
dev-libs/libxslt
dev-libs/gobject-introspection-common
>=dev-util/gdbus-codegen-2.38.2
>=dev-util/gtk-doc-am-1.20
>=sys-devel/gettext-0.18.3[${MULTILIB_USEDEP}]
virtual/pkgconfig[${MULTILIB_USEDEP}]
X? (
x11-proto/xextproto[${MULTILIB_USEDEP}]
x11-proto/xproto[${MULTILIB_USEDEP}]
x11-proto/inputproto[${MULTILIB_USEDEP}]
x11-proto/damageproto[${MULTILIB_USEDEP}]
xinerama? ( x11-proto/xineramaproto[${MULTILIB_USEDEP}] )
)
test? (
media-fonts/font-misc-misc
media-fonts/font-cursor-misc )
"
# gtk+-3.2.2 breaks Alt key handling in <=x11-libs/vte-0.30.1:2.90
# gtk+-3.3.18 breaks scrolling in <=x11-libs/vte-0.31.0:2.90
# >=xorg-server-1.11.4 needed for
# https://mail.gnome.org/archives/desktop-devel-list/2012-March/msg00024.html
RDEPEND="${COMMON_DEPEND}
>=dev-util/gtk-update-icon-cache-3
!<gnome-base/gail-1000
!<x11-libs/vte-0.31.0:2.90
>=x11-themes/adwaita-icon-theme-3.14
X? ( !<x11-base/xorg-server-1.11.4 )
"
# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
PDEPEND="
gnome-base/librsvg[${MULTILIB_USEDEP}]
vim-syntax? ( app-vim/gtk-syntax )
"
MULTILIB_CHOST_TOOLS=(
/usr/bin/gtk-query-immodules-3.0$(get_exeext)
)
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."
}
src_prepare() {
# -O3 and company cause random crashes in applications. Bug #133469
replace-flags -O3 -O2
strip-flags
if ! use test ; then
# don't waste time building tests
strip_builddir SRC_SUBDIRS testsuite Makefile.{am,in}
# the tests dir needs to be build now because since commit
# 7ff3c6df80185e165e3bf6aa31bd014d1f8bf224 tests/gtkgears.o needs to be there
# strip_builddir SRC_SUBDIRS tests Makefile.{am,in}
fi
if ! use examples; then
# don't waste time building demos
strip_builddir SRC_SUBDIRS demos Makefile.{am,in}
strip_builddir SRC_SUBDIRS examples Makefile.{am,in}
fi
# gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache
eapply "${FILESDIR}"/${PN}-3.16.2-remove_update-icon-cache.patch
# Fix shift+insert shortcut to paste from PRIMARY selection instead of CLIPBOARD
eapply "${FILESDIR}"/${PN}-3.20.09_enable_paste_selection.patch
gnome2_src_prepare
eautoreconf
}
multilib_src_configure() {
# need libdir here to avoid a double slash in a path that libtool doesn't
# grok so well during install (// between $EPREFIX and usr ...)
ECONF_SOURCE=${S} \
gnome2_src_configure \
$(use_enable aqua quartz-backend) \
$(use_enable broadway broadway-backend) \
$(use_enable cloudprint) \
$(use_enable colord) \
$(use_enable cups cups auto) \
$(multilib_native_use_enable introspection) \
$(use_enable wayland wayland-backend) \
$(use_enable X x11-backend) \
$(use_enable X xcomposite) \
$(use_enable X xdamage) \
$(use_enable X xfixes) \
$(use_enable X xkb) \
$(use_enable X xrandr) \
$(use_enable xinerama) \
--disable-papi \
--disable-mir-backend \
--enable-man \
--with-xml-catalog="${EPREFIX}"/etc/xml/catalog \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
CUPS_CONFIG="${EPREFIX}/usr/bin/${CHOST}-cups-config"
# work-around gtk-doc out-of-source brokedness
if multilib_is_native_abi; then
local d
for d in gdk gtk libgail-util; do
ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
done
fi
}
multilib_src_test() {
"${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
GSETTINGS_SCHEMA_DIR="${S}/gtk" virtx emake check
}
multilib_src_install() {
gnome2_src_install
}
multilib_src_install_all() {
insinto /etc/gtk-3.0
doins "${FILESDIR}"/settings.ini
einstalldocs
}
pkg_preinst() {
gnome2_pkg_preinst
multilib_pkg_preinst() {
# Make immodules.cache belongs to gtk+ alone
local cache="usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache"
if [[ -e ${EROOT}${cache} ]]; then
cp "${EROOT}"${cache} "${ED}"/${cache} || die
else
touch "${ED}"/${cache} || die
fi
}
multilib_parallel_foreach_abi multilib_pkg_preinst
}
pkg_postinst() {
gnome2_pkg_postinst
multilib_pkg_postinst() {
gnome2_query_immodules_gtk3 \
|| die "Update immodules cache failed (for ${ABI})"
}
multilib_parallel_foreach_abi multilib_pkg_postinst
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 settings.ini file."
fi
}
pkg_postrm() {
gnome2_pkg_postrm
if [[ -z ${REPLACED_BY_VERSION} ]]; then
multilib_pkg_postrm() {
rm -f "${EROOT}"usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache
}
multilib_foreach_abi multilib_pkg_postrm
fi
}