summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2011-09-26 12:21:02 +0000
committerPacho Ramos <pacho@gentoo.org>2011-09-26 12:21:02 +0000
commit7cd92ae7269a625fead11862b994a9801fd09efe (patch)
tree3a60664904434295f4a7f3a803b5fcee2b729908 /x11-libs/gtk+
parentRemove empty tag. (diff)
downloadgentoo-2-7cd92ae7269a625fead11862b994a9801fd09efe.tar.gz
gentoo-2-7cd92ae7269a625fead11862b994a9801fd09efe.tar.bz2
gentoo-2-7cd92ae7269a625fead11862b994a9801fd09efe.zip
Use const instead G_CONST_RETURN, bug #379897 by Alexandre Rostovtsev.
(Portage version: 2.1.10.19/cvs/Linux x86_64)
Diffstat (limited to 'x11-libs/gtk+')
-rw-r--r--x11-libs/gtk+/ChangeLog8
-rw-r--r--x11-libs/gtk+/files/gtk+-3.0.12-use-const.patch209
-rw-r--r--x11-libs/gtk+/gtk+-3.0.12-r1.ebuild194
3 files changed, 410 insertions, 1 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+/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
+}