diff options
author | Pacho Ramos <pacho@gentoo.org> | 2011-09-26 12:21:02 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2011-09-26 12:21:02 +0000 |
commit | adc75cad19ae4fd9f480c4028355a513e00837c8 (patch) | |
tree | d9bdfe1c15fbe403124558e6ae068f1c5ac06d3d /x11-libs | |
parent | Remove empty tag. (diff) | |
download | historical-adc75cad19ae4fd9f480c4028355a513e00837c8.tar.gz historical-adc75cad19ae4fd9f480c4028355a513e00837c8.tar.bz2 historical-adc75cad19ae4fd9f480c4028355a513e00837c8.zip |
Use const instead G_CONST_RETURN, bug #379897 by Alexandre Rostovtsev.
Package-Manager: portage-2.1.10.19/cvs/Linux x86_64
Diffstat (limited to 'x11-libs')
-rw-r--r-- | x11-libs/gtk+/ChangeLog | 8 | ||||
-rw-r--r-- | x11-libs/gtk+/Manifest | 11 | ||||
-rw-r--r-- | x11-libs/gtk+/files/gtk+-3.0.12-use-const.patch | 209 | ||||
-rw-r--r-- | x11-libs/gtk+/gtk+-3.0.12-r1.ebuild | 194 |
4 files changed, 417 insertions, 5 deletions
diff --git a/x11-libs/gtk+/ChangeLog b/x11-libs/gtk+/ChangeLog index 9e427a12f2ec..40fb3627fb9e 100644 --- a/x11-libs/gtk+/ChangeLog +++ b/x11-libs/gtk+/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-libs/gtk+ # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/ChangeLog,v 1.531 2011/09/09 20:16:59 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/ChangeLog,v 1.532 2011/09/26 12:21:02 pacho Exp $ + +*gtk+-3.0.12-r1 (26 Sep 2011) + + 26 Sep 2011; Pacho Ramos <pacho@gentoo.org> +gtk+-3.0.12-r1.ebuild, + +files/gtk+-3.0.12-use-const.patch: + Use const instead G_CONST_RETURN, bug #379897 by Alexandre Rostovtsev. *gtk+-2.24.6 (09 Sep 2011) diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest index 1ee072a5d07c..0ef0cf2572df 100644 --- a/x11-libs/gtk+/Manifest +++ b/x11-libs/gtk+/Manifest @@ -12,6 +12,7 @@ AUX gtk+-2.24.4-old-icons.patch 17368 RMD160 e7638f603a06234814b8b342584ab4e80a4 AUX gtk+-2.24.5-background-repaint.patch 1884 RMD160 d20c7389127d7b6a6253c438c9b0a2563828b823 SHA1 9800e67a5457734871bb45d34e5b3724ee6e9708 SHA256 3573af25e8db2fb490b264f80cb9e617ee1a36e767e36e7bb1d830c0b715db93 AUX gtk+-2.24.5-darwin-quartz-introspection.patch 1127 RMD160 9b08611d585fe88d8db310f91efdd22396f567d9 SHA1 d36be7be62307d1a6f4e64cd14d3da523af97488 SHA256 a0f91bf77bd2827c10c31c0f2d7de106254d3b053e5a2bf734e35bd814db3493 AUX gtk+-3.0.11-darwin-quartz-introspection.patch 2515 RMD160 e03ad9794395099b729e4cba53135b34ace777d0 SHA1 deda072dc35c454facccc232493bca5a5150b443 SHA256 49f8e2f1635c3eb8d7a4b2d1039150fc573f6a931ad2b3736176691ad2df8faf +AUX gtk+-3.0.12-use-const.patch 8069 RMD160 ca641c05aa678b046ec42a800c39ef80b9d9cf16 SHA1 19d46115ef68b3e77558bede23eb83853d9bc6c6 SHA256 4fbaf845da7aa757280711fc5e9a4b684b4f0f58ac78dc881336ca2cd0064749 AUX gtk+-3.0.8-darwin-quartz.patch 579 RMD160 e7cee263b7edbf2d8cdfb848939c0f588b595567 SHA1 5196ef95f68080e2bd8a1582db7d61b0a65b0aac SHA256 2d30683f849be9be698424514341e814833c102c4f41d12cd02536cba62846fc AUX gtkrc 627 RMD160 3171e0c9132bb2a9119c51750702db23c4a5f076 SHA1 cdb4665e94e1b9e8bc3985390eecca463469c3b3 SHA256 22e4197e5976ed623233399049082383033b613176d77126d246a1f6cb747294 AUX settings.ini 96 RMD160 ff8d7e28f097820b15ea1d2168d9405db1a5707b SHA1 92c3120655ba14f163846a22d5c94fa50b0eb437 SHA256 a42c86c26b5bfa0da806961e28cdff21da6e2f7c35febf67c67d7f2667658163 @@ -20,19 +21,21 @@ DIST gtk+-1.2.10.tar.gz 2868322 RMD160 9b38310d2768e947c4f6173db009243dd11db288 DIST gtk+-2.24.4.tar.bz2 17607752 RMD160 56a6f731cfdc47686c71f8f6b4253484e08dd230 SHA1 c15a25ba49eb459b2c4cdc46baedf6cecf08cbcf SHA256 7d3033ad83647079977466d3e8f1a7533f47abd5cc693f01b8797ff43dd407a5 DIST gtk+-2.24.5.tar.xz 13252580 RMD160 f0eb690c906166c5f0e296faac8fdb983955921b SHA1 eb1200fe42bd2d5e3dc1bdb69b524600cbc06df1 SHA256 d6b30889efbb9fab9aa598092d08887826a7b2a3069b3bd5155dede28d9866f3 DIST gtk+-2.24.6.tar.xz 13173032 RMD160 5d78546b5f2aeb79d8fd8839911ee9a442e674e9 SHA1 da835834fe882be1893d0df41216e8141737b51b SHA256 8a026b545dc1fa0c1a69b395232ad7c8ee8fa260be5f7d9a2f2ffcd799efefca +DIST gtk+-3.0.12-use-const2.patch.xz 12500 RMD160 2cebd73630f83530a76ac263d797e196032994ee SHA1 697b8d41ba24386acd1cfec1d733361901e797dd SHA256 f10b251a52a4f5d73b435315c94297dd30a4bc3c20a25bc947842bb214808cc4 DIST gtk+-3.0.12.tar.xz 13104092 RMD160 c82d14e113ae287476f5887ca03b8b01b8d22e1b SHA1 1b87e12ef3dfe598ee757db1f5bdff6cd66e6558 SHA256 219fdea120897981840e909fac40d4d433fe061a37b12b9402e215c819ebeae9 DIST introspection.m4.bz2 1181 RMD160 3648afa820c2ee7e240083076e1452285d043084 SHA1 e5188cc387d0d17feb77684feff7ff163779912f SHA256 69a2a57b12179159420825d1d44c74108014b0864c4d63500265639cfa9151ae EBUILD gtk+-1.2.10-r12.ebuild 2386 RMD160 ed251a32d854304c5d9622844d07f183f14c9bd5 SHA1 93a6ec39cde941b4939c04da955475d017a6ff6f SHA256 e4874d2dd01bc266e7e0f5b691fcf4e54f6bd3a79658dcec6d5374c5910aa78b EBUILD gtk+-2.24.4.ebuild 7474 RMD160 6423a1cb33e4f0493c39da224d2a125c45494c8a SHA1 d6d4caaf3ad58d7d81884d82b3fd6fbff6a15120 SHA256 08ae86596433eca5aa8cfa82f6eca0f0463fb4860d5ebfca1363dacb08eb4cc5 EBUILD gtk+-2.24.5-r1.ebuild 7820 RMD160 8e63ef3d7752ab5ba7c7c34d808774d4004e30fa SHA1 d928f781289082e2a13a76864c4d818b4e1ad8d6 SHA256 3f4b00d8a827119a3e99dd3c91abb05365ee13831a33b21de3f9173bd68af979 EBUILD gtk+-2.24.6.ebuild 7676 RMD160 b36290f910c27eee2fc2ddd0a4c506c71b92a6f3 SHA1 845a413728db1fc707b641175808ea97785c02ad SHA256 a02fc317af27b02b9dea43adab64c1845ae5f3a2b7ed346875cadd9e4f5d6ba2 +EBUILD gtk+-3.0.12-r1.ebuild 6176 RMD160 f3f36b5f594cbd4b13f98c3642a96bba50c03f36 SHA1 3d67af2fe8083ca21679dec69da57f735a11dc40 SHA256 2ae62b718db3383c50cdc17336b5e67744f9eed21ea86c1e5066fa2ea50b41dd EBUILD gtk+-3.0.12.ebuild 5924 RMD160 304c8786053b789687d2179b017e2bc8b6538943 SHA1 b15b6ffc22ae2c709af8249f8283d1150e209d20 SHA256 a28b2ead97e9a6d44d2aab8db2811befd406444ca7733ca5d4eb3851301f4c9e -MISC ChangeLog 79526 RMD160 ec5f6d9dd8fe8c69de71eeed5ad840e661248298 SHA1 970d0b4ddc83e670f85f819b024b7b78934b6d00 SHA256 4bf4fad551f4866fcd5bd896251980f6a7e918d6b4d6fe18dbb41c45d7eba19f +MISC ChangeLog 79739 RMD160 8393a7f64a411e2ac65029447950e03796b7f14e SHA1 4e058d07ff7af3bc11a4d43877f35a94e34c41eb SHA256 7c11c913d60bc66fb5b968cd54463011f209191f1d44bc72f24f928e19e8a675 MISC metadata.xml 549 RMD160 8d6692e4cf18e0c75421ddef09e2881624c5ce3e SHA1 ce3ed4bec69816eb61b5ca9d48c2db396085a923 SHA256 2e7f82b302d91c37ecf915de09e4b85ef093b790baacbef0325b6fe9b1bb304b -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) -iEYEARECAAYFAk5qdEEACgkQCaWpQKGI+9SYugCbBTlD7kDcVSu9LMIo3iuruFRv -bWAAnjerdit/kkQMdsjY8LUPcA+uTz5p -=jve7 +iEUEARECAAYFAk6AbjMACgkQCaWpQKGI+9TF/ACYgIJpt/W7/zA2cQ5OAjDqp8pJ +cACcC+aWHuZeBImjObKXpki6sGt6tRM= +=zdkR -----END PGP SIGNATURE----- diff --git a/x11-libs/gtk+/files/gtk+-3.0.12-use-const.patch b/x11-libs/gtk+/files/gtk+-3.0.12-use-const.patch new file mode 100644 index 000000000000..3cb51f8f8c71 --- /dev/null +++ b/x11-libs/gtk+/files/gtk+-3.0.12-use-const.patch @@ -0,0 +1,209 @@ +From 6c3d5c45bcd78b54c3641d6748f9e0e80c1fba46 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Javier=20Jard=C3=B3n?= <jjardon@gnome.org> +Date: Mon, 6 Jun 2011 19:05:18 +0100 +Subject: [PATCH 1/2] gdk: Use const instead G_CONST_RETURN + +[Alexandre Rostovtsev <tetromino@gmail.com>: backport to 3.0.12] +--- + gdk/gdk.c | 4 ++-- + gdk/gdkdevice.h | 2 +- + gdk/gdkdisplay.c | 2 +- + gdk/gdkdisplay.h | 2 +- + gdk/gdkdisplayprivate.h | 2 +- + gdk/gdkmain.h | 4 ++-- + gdk/win32/gdkdisplay-win32.c | 2 +- + gdk/x11/gdkdisplay-x11.c | 4 ++-- + gdk/x11/gdkproperty-x11.c | 4 ++-- + gdk/x11/gdkx11display.h | 2 +- + gdk/x11/gdkx11property.h | 4 ++-- + 11 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/gdk/gdk.c b/gdk/gdk.c +index 43d45f5..241683a 100644 +--- a/gdk/gdk.c ++++ b/gdk/gdk.c +@@ -306,7 +306,7 @@ gdk_parse_args (int *argc, + * + * Since: 2.2 + */ +-G_CONST_RETURN gchar * ++const gchar * + gdk_get_display_arg_name (void) + { + if (!_gdk_display_arg_name) +@@ -1039,7 +1039,7 @@ gdk_threads_add_timeout_seconds (guint interval, + * + * Returns: the program class. + */ +-G_CONST_RETURN char * ++const char * + gdk_get_program_class (void) + { + return gdk_progclass; +diff --git a/gdk/gdkdevice.h b/gdk/gdkdevice.h +index a6ceac0..9109d65 100644 +--- a/gdk/gdkdevice.h ++++ b/gdk/gdkdevice.h +@@ -156,7 +156,7 @@ struct _GdkTimeCoord + + GType gdk_device_get_type (void) G_GNUC_CONST; + +-G_CONST_RETURN gchar *gdk_device_get_name (GdkDevice *device); ++const gchar * gdk_device_get_name (GdkDevice *device); + gboolean gdk_device_get_has_cursor (GdkDevice *device); + + /* Functions to configure a device */ +diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c +index 1b8c7e7..f4095c2 100644 +--- a/gdk/gdkdisplay.c ++++ b/gdk/gdkdisplay.c +@@ -1336,7 +1336,7 @@ gdk_display_get_device_manager (GdkDisplay *display) + * + * Since: 2.2 + */ +-G_CONST_RETURN gchar * ++const gchar * + gdk_display_get_name (GdkDisplay *display) + { + g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); +diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h +index 65daad1..3c4179e 100644 +--- a/gdk/gdkdisplay.h ++++ b/gdk/gdkdisplay.h +@@ -44,7 +44,7 @@ G_BEGIN_DECLS + GType gdk_display_get_type (void) G_GNUC_CONST; + GdkDisplay *gdk_display_open (const gchar *display_name); + +-G_CONST_RETURN gchar * gdk_display_get_name (GdkDisplay *display); ++const gchar * gdk_display_get_name (GdkDisplay *display); + + gint gdk_display_get_n_screens (GdkDisplay *display); + GdkScreen * gdk_display_get_screen (GdkDisplay *display, +diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h +index 1126d96..2d48943 100644 +--- a/gdk/gdkdisplayprivate.h ++++ b/gdk/gdkdisplayprivate.h +@@ -120,7 +120,7 @@ struct _GdkDisplayClass + + GType window_type; /* type for native windows for this display, set in class_init */ + +- G_CONST_RETURN gchar * (*get_name) (GdkDisplay *display); ++ const gchar * (*get_name) (GdkDisplay *display); + gint (*get_n_screens) (GdkDisplay *display); + GdkScreen * (*get_screen) (GdkDisplay *display, + gint screen_num); +diff --git a/gdk/gdkmain.h b/gdk/gdkmain.h +index bcbe4d0..411b58f 100644 +--- a/gdk/gdkmain.h ++++ b/gdk/gdkmain.h +@@ -50,7 +50,7 @@ gboolean gdk_init_check (gint *argc, + void gdk_add_option_entries_libgtk_only (GOptionGroup *group); + void gdk_pre_parse_libgtk_only (void); + +-G_CONST_RETURN gchar *gdk_get_program_class (void); ++const gchar * gdk_get_program_class (void); + void gdk_set_program_class (const gchar *program_class); + + void gdk_notify_startup_complete (void); +@@ -64,7 +64,7 @@ G_GNUC_WARN_UNUSED_RESULT gint gdk_error_trap_pop (void); + void gdk_error_trap_pop_ignored (void); + + +-G_CONST_RETURN gchar *gdk_get_display_arg_name (void); ++const gchar * gdk_get_display_arg_name (void); + + /** + * gdk_get_display: +diff --git a/gdk/win32/gdkdisplay-win32.c b/gdk/win32/gdkdisplay-win32.c +index 1faa4cf..8e7c988 100644 +--- a/gdk/win32/gdkdisplay-win32.c ++++ b/gdk/win32/gdkdisplay-win32.c +@@ -236,7 +236,7 @@ struct _GdkWin32DisplayClass + + G_DEFINE_TYPE (GdkWin32Display, gdk_win32_display, GDK_TYPE_DISPLAY) + +-static G_CONST_RETURN gchar * ++static const gchar * + gdk_win32_display_get_name (GdkDisplay *display) + { + HDESK hdesk = GetThreadDesktop (GetCurrentThreadId ()); +diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c +index 2911a3a..983ac72 100644 +--- a/gdk/x11/gdkdisplay-x11.c ++++ b/gdk/x11/gdkdisplay-x11.c +@@ -1502,7 +1502,7 @@ gdk_internal_connection_watch (Display *display, + } + #endif /* HAVE_X11R6 */ + +-static G_CONST_RETURN gchar * ++static const gchar * + gdk_x11_display_get_name (GdkDisplay *display) + { + return (gchar *) DisplayString (GDK_X11_DISPLAY (display)->xdisplay); +@@ -2185,7 +2185,7 @@ gdk_x11_display_supports_input_shapes (GdkDisplay *display) + * + * Since: 2.12 + */ +-G_CONST_RETURN gchar * ++const gchar * + gdk_x11_display_get_startup_notification_id (GdkDisplay *display) + { + return GDK_X11_DISPLAY (display)->startup_notification_id; +diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c +index 0cf753c..678b196 100644 +--- a/gdk/x11/gdkproperty-x11.c ++++ b/gdk/x11/gdkproperty-x11.c +@@ -503,7 +503,7 @@ gdk_x11_get_xatom_by_name (const gchar *atom_name) + * + * Since: 2.2 + **/ +-G_CONST_RETURN gchar * ++const gchar * + gdk_x11_get_xatom_name_for_display (GdkDisplay *display, + Atom xatom) + { +@@ -525,7 +525,7 @@ gdk_x11_get_xatom_name_for_display (GdkDisplay *display, + * Return value: name of the X atom; this string is owned by GTK+, + * so it shouldn't be modifed or freed. + **/ +-G_CONST_RETURN gchar * ++const gchar * + gdk_x11_get_xatom_name (Atom xatom) + { + return get_atom_name (gdk_x11_xatom_to_atom (xatom)); +diff --git a/gdk/x11/gdkx11display.h b/gdk/x11/gdkx11display.h +index b544ac4..8781edb 100644 +--- a/gdk/x11/gdkx11display.h ++++ b/gdk/x11/gdkx11display.h +@@ -60,7 +60,7 @@ Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); + + guint32 gdk_x11_display_get_user_time (GdkDisplay *display); + +-G_CONST_RETURN gchar *gdk_x11_display_get_startup_notification_id (GdkDisplay *display); ++const gchar * gdk_x11_display_get_startup_notification_id (GdkDisplay *display); + void gdk_x11_display_set_startup_notification_id (GdkDisplay *display, + const gchar *startup_id); + +diff --git a/gdk/x11/gdkx11property.h b/gdk/x11/gdkx11property.h +index 64fb978..9227063 100644 +--- a/gdk/x11/gdkx11property.h ++++ b/gdk/x11/gdkx11property.h +@@ -45,13 +45,13 @@ GdkAtom gdk_x11_xatom_to_atom_for_display (GdkDisplay *display, + Atom xatom); + Atom gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display, + const gchar *atom_name); +-G_CONST_RETURN gchar *gdk_x11_get_xatom_name_for_display (GdkDisplay *display, ++const gchar * gdk_x11_get_xatom_name_for_display (GdkDisplay *display, + Atom xatom); + #ifndef GDK_MULTIHEAD_SAFE + Atom gdk_x11_atom_to_xatom (GdkAtom atom); + GdkAtom gdk_x11_xatom_to_atom (Atom xatom); + Atom gdk_x11_get_xatom_by_name (const gchar *atom_name); +-G_CONST_RETURN gchar *gdk_x11_get_xatom_name (Atom xatom); ++const gchar * gdk_x11_get_xatom_name (Atom xatom); + #endif + + G_END_DECLS +-- +1.7.6 + diff --git a/x11-libs/gtk+/gtk+-3.0.12-r1.ebuild b/x11-libs/gtk+/gtk+-3.0.12-r1.ebuild new file mode 100644 index 000000000000..4255eff9e98d --- /dev/null +++ b/x11-libs/gtk+/gtk+-3.0.12-r1.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-3.0.12-r1.ebuild,v 1.1 2011/09/26 12:21:02 pacho Exp $ + +EAPI="4" + +inherit eutils flag-o-matic gnome.org gnome2-utils libtool virtualx + +DESCRIPTION="Gimp ToolKit +" +HOMEPAGE="http://www.gtk.org/" +SRC_URI="${SRC_URI} http://dev.gentoo.org/~pacho/gnome/${PN}-3.0.12-use-const2.patch.xz" + +LICENSE="LGPL-2" +SLOT="3" +# NOTE: This gtk+ has multi-gdk-backend support, see: +# * http://blogs.gnome.org/kris/2010/12/29/gdk-3-0-on-mac-os-x/ +# * http://mail.gnome.org/archives/gtk-devel-list/2010-November/msg00099.html +# I tried this and got it all compiling, but the end result is unusable as it +# horribly mixes up the backends -- grobian +IUSE="aqua cups debug doc examples +introspection test vim-syntax xinerama" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +# FIXME: introspection data is built against system installation of gtk+:3 +# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf) +# Use gtk+:2 for gtk-update-icon-cache and gtk-builder-convert +# >=x11-libs/gtk+-2.24:2 is needed for bug 359555 +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.10.0[X,glib,svg] + >=x11-libs/gdk-pixbuf-2.22.0:2[X,introspection?] + ) + aqua? ( + >=x11-libs/cairo-1.10.0[aqua,glib,svg] + >=x11-libs/gdk-pixbuf-2.22.0:2[introspection?] + ) + xinerama? ( x11-libs/libXinerama ) + >=dev-libs/glib-2.28.0 + >=x11-libs/pango-1.24.0[introspection?] + >=dev-libs/atk-1.30[introspection?] + >=x11-libs/gtk+-2.24:2 + media-libs/fontconfig + x11-misc/shared-mime-info + cups? ( net-print/cups ) + introspection? ( >=dev-libs/gobject-introspection-0.10.1 )" +DEPEND="${COMMON_DEPEND} + >=dev-util/pkgconfig-0.9 + !aqua? ( + x11-proto/xextproto + x11-proto/xproto + x11-proto/inputproto + x11-proto/damageproto + ) + xinerama? ( x11-proto/xineramaproto ) + >=dev-util/gtk-doc-am-1.11 + doc? ( + >=dev-util/gtk-doc-1.11 + ~app-text/docbook-xml-dtd-4.1.2 ) + test? ( + media-fonts/font-misc-misc + media-fonts/font-cursor-misc )" +RDEPEND="${COMMON_DEPEND} + !<gnome-base/gail-1000" +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." +} + +src_prepare() { + # -O3 and company cause random crashes in applications. Bug #133469 + replace-flags -O3 -O2 + strip-flags + + # Use const instead G_CONST_RETURN, upstream bug #658854 + epatch "${FILESDIR}/${PN}-3.0.12-use-const.patch" + epatch "${WORKDIR}/${PN}-3.0.12-use-const2.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" + sed '\%/recent-manager/add%,/recent_manager_purge/ d' \ + -i gtk/tests/recentmanager.c || die "sed 2 failed" + + if ! use test; then + # don't waste time building tests + strip_builddir SRC_SUBDIRS tests Makefile.am + strip_builddir SRC_SUBDIRS tests Makefile.in + fi + + if ! use examples; then + # don't waste time building demos + strip_builddir SRC_SUBDIRS demos Makefile.am + strip_builddir SRC_SUBDIRS demos Makefile.in + fi + + # http://mail.gnome.org/archives/commits-list/2011-March/msg04372.html + epatch "${FILESDIR}"/${PN}-3.0.8-darwin-quartz.patch + + # fix building with gir #372953 + epatch "${FILESDIR}"/${PN}-3.0.11-darwin-quartz-introspection.patch + + # Solaris is strict, and needs c99 + # http://mail.gnome.org/archives/gtk-devel-list/2011-April/msg00127.html + if [[ ${CHOST} == *-solaris* ]] ; then + sed -i -e '/_XOPEN_SOURCE 500/d' gtk/gtksearchenginesimple.c || die + fi +} + +src_configure() { + # FIXME: PackageKit support + # png always on to display icons (foser) + local myconf="$(use_enable doc gtk-doc) + $(use_enable xinerama) + $(use_enable cups cups auto) + $(use_enable introspection) + --disable-packagekit + --disable-papi + --enable-gtk2-dependency" + + # XXX: Maybe with multi-backend we should enable x11 all the time? + if use aqua; then + myconf="${myconf} --enable-quartz-backend --disable-xinput" + else + myconf="${myconf} --enable-x11-backend --enable-xinput" + fi + + # Passing --disable-debug is not recommended for production use + use debug && myconf="${myconf} --enable-debug=yes" + + # 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 --libdir="${EPREFIX}/usr/$(get_libdir)" ${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 + + insinto /etc/gtk-3.0 + doins "${FILESDIR}"/settings.ini + + dodoc AUTHORS ChangeLog* HACKING NEWS* README* + + # Remove unneeded *.la files + find "${D}" -name "*.la" -delete + + # add -framework Carbon to the .pc files + use aqua && for i in gtk+-3.0.pc gtk+-quartz-3.0.pc gtk+-unix-print-3.0.pc; do + sed -i -e "s:Libs\: :Libs\: -framework Carbon :" "${ED}"usr/$(get_libdir)/pkgconfig/$i || die "sed failed" + done +} + +pkg_preinst() { + gnome2_schemas_savelist +} + +pkg_postinst() { + gnome2_schemas_update + + local GTK3_MODDIR="${EROOT}usr/$(get_libdir)/gtk-3.0/3.0.0" + gtk-query-immodules-3.0 > "${GTK3_MODDIR}/immodules.cache" \ + || ewarn "Failed to run gtk-query-immodules-3.0" + + 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_schemas_update --uninstall +} |