diff options
author | 2011-09-26 12:21:02 +0000 | |
---|---|---|
committer | 2011-09-26 12:21:02 +0000 | |
commit | 7cd92ae7269a625fead11862b994a9801fd09efe (patch) | |
tree | 3a60664904434295f4a7f3a803b5fcee2b729908 /x11-libs/gtk+ | |
parent | Remove empty tag. (diff) | |
download | gentoo-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+/ChangeLog | 8 | ||||
-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 |
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 +} |