diff options
author | 2015-02-17 03:14:05 +0200 | |
---|---|---|
committer | 2015-02-17 03:14:48 +0200 | |
commit | f93dc817d504d390e69eff223f48de6faea85007 (patch) | |
tree | 26f19823104cabadc9f6804045f7880b7526628a | |
parent | weston: Update to 1.6.1 for sync with gentoo tree (diff) | |
download | leio-f93dc817d504d390e69eff223f48de6faea85007.tar.gz leio-f93dc817d504d390e69eff223f48de6faea85007.tar.bz2 leio-f93dc817d504d390e69eff223f48de6faea85007.zip |
gtk+: sync with portage, add gtk2 that works with USE=gtk3-only
Unfortunately gles2 version of webkit-gtk isn't working out of the box yet
on the cmake using new stable series, so needing to use the old one, which
can build without GLES2 (accelerated compositing not required), but it is
also autotools based and gles2 support ought to work to provide AC (hidden
behind USE=webgl in Gentoo for some reason).
However that older webkit-gtk hard depends on gtk2 (can't disable gtk2
nsplugin support); so roll gtk2 that skips icon cache tools, preferring
gtk3, so that gtk3 is still the main, and once webkit-gtk supports gles2
in a newer version, can just skip gtk2 installation from binary packages
without rebuilding gtk+ packages.
-rw-r--r-- | x11-libs/gtk+/Manifest | 3 | ||||
-rw-r--r-- | x11-libs/gtk+/files/gtk+-2.24.20-darwin-quartz-pasteboard.patch | 15 | ||||
-rw-r--r-- | x11-libs/gtk+/files/gtk+-2.24.24-out-of-source.patch | 33 | ||||
-rw-r--r-- | x11-libs/gtk+/gtk+-2.24.25-r1.ebuild | 310 | ||||
-rw-r--r-- | x11-libs/gtk+/gtk+-3.14.8.ebuild (renamed from x11-libs/gtk+/gtk+-3.14.6.ebuild) | 12 |
5 files changed, 365 insertions, 8 deletions
diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest index 4986ded..5b2910b 100644 --- a/x11-libs/gtk+/Manifest +++ b/x11-libs/gtk+/Manifest @@ -1 +1,2 @@ -DIST gtk+-3.14.5.tar.xz 15666824 SHA256 ba70f5ccde6646c6d8aa5a6398794b7bcf23fc45af22580a215d258f392dbbe2 SHA512 4da1d6ff49cfdc412cc1ae90d0f1034e9ac0cf9b8f83a3eff03357b3b1676277baedd60c364159dca988535ac7a7a9af007f1ede271042eb88fd3b497f73e0cc WHIRLPOOL e58a63426bdabe68c90e75dadbccec044e00eabb4b144f40e208e9bbb46805a66bcfe03971f0b35accad6e97c8100b65013b01cfb8412923e2e98fce25d49398 +DIST gtk+-2.24.25.tar.xz 13327832 SHA256 38af1020cb8ff3d10dda2c8807f11e92af9d2fa4045de61c62eedb7fbc7ea5b3 SHA512 e102eabbd86e9e697402b4d915172dd3838374b7b8a16b95369ed602228857a013fdba7b6b8d742f925ff8d340b63a90b56c1ddbd4405d8dc454144c705ac08d WHIRLPOOL b4bcf058bcc582627be35bb8ba45a933c3814f007599df59172e537fc99003f51edac7011cf36783caad4e191c622f6fa044a6ff6e0ae3f4de7635c3815807a3 +DIST gtk+-3.14.8.tar.xz 15689624 SHA256 7a543ea8a85f2c8a7b7374f24fd57df454067858689d8b02ec6c90f24be2b344 SHA512 110f39d0a8ef72bfcb02d8e11000210848da15d7232346277f9755c7918e16af39dce78ba409ddfcb73dd5fa9032cc51843cb658d5ce4a2b32ca401624cc5240 WHIRLPOOL 115a043e332119bc3fe582744ceeeb9a49f4361ded13131162c26fc6988f1c2c5281738e992c96580b96ea2bd966377a49f239ec6204d6072a5dbb09d4b0f22f diff --git a/x11-libs/gtk+/files/gtk+-2.24.20-darwin-quartz-pasteboard.patch b/x11-libs/gtk+/files/gtk+-2.24.20-darwin-quartz-pasteboard.patch new file mode 100644 index 0000000..a07e653 --- /dev/null +++ b/x11-libs/gtk+/files/gtk+-2.24.20-darwin-quartz-pasteboard.patch @@ -0,0 +1,15 @@ +gdk_quartz_target_to_pasteboard_type_libgtk_only was moved in +a269c2f8d26a588c4b61ad605ef496e89759cc03 +https://mail.gnome.org/archives/commits-list/2013-March/msg20203.html +https://bugzilla.gnome.org/show_bug.cgi?id=704766 + +--- gtk/gtkclipboard-quartz.c ++++ gtk/gtkclipboard-quartz.c +@@ -33,6 +33,7 @@ + #include "gtktextbuffer.h" + #include "gtkquartz.h" + #include "gtkalias.h" ++#include "quartz/gdkquartz.h" + + enum { + OWNER_CHANGE, diff --git a/x11-libs/gtk+/files/gtk+-2.24.24-out-of-source.patch b/x11-libs/gtk+/files/gtk+-2.24.24-out-of-source.patch new file mode 100644 index 0000000..451233c --- /dev/null +++ b/x11-libs/gtk+/files/gtk+-2.24.24-out-of-source.patch @@ -0,0 +1,33 @@ +From 9e0f33144aff8d792ab105927cf686eda0afd25e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sun, 18 May 2014 10:50:05 +0200 +Subject: [PATCH] aliasfilecheck: check for sources both in builddir & srcdir. + +The $gtk_all_c_sources variable contains both supplied and generated +sources. The former reside in $srcdir, the latter in the build directory +(cwd). + +In order to handle both kinds properly, first try to find each source +file in cwd, and then fallback to $srcdir. This makes it possible to use +out-of-source builds, and guarantees that fresh-built source files will +be used rather than pre-generated copies included in the distribution +tarball. +--- + gtk/aliasfilescheck.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gtk/aliasfilescheck.sh b/gtk/aliasfilescheck.sh +index 31b49d4..3636a82 100755 +--- a/gtk/aliasfilescheck.sh ++++ b/gtk/aliasfilescheck.sh +@@ -6,6 +6,6 @@ if test "x$gtk_all_c_sources" = x; then + fi + + grep 'IN_FILE' ${srcdir-.}/gtk.symbols | sed 's/.*(//;s/).*//' | grep __ | sort -u > expected-files +-{ cd ${srcdir-.}; grep '^ *# *define __' $gtk_all_c_sources; } | sed 's/.*define //;s/ *$//' | sort > actual-files ++{ for f in $gtk_all_c_sources; do if test -f ${f}; then grep '^ *# *define __' ${f}; else grep '^ *# *define __' "${srcdir-.}"/${f}; fi; done } | sed 's/.*define //;s/ *$//' | sort > actual-files + + diff expected-files actual-files && rm -f expected-files actual-files +-- +1.9.3 + diff --git a/x11-libs/gtk+/gtk+-2.24.25-r1.ebuild b/x11-libs/gtk+/gtk+-2.24.25-r1.ebuild new file mode 100644 index 0000000..fcbae00 --- /dev/null +++ b/x11-libs/gtk+/gtk+-2.24.25-r1.ebuild @@ -0,0 +1,310 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-2.24.25-r1.ebuild,v 1.2 2015/01/19 10:44:02 jer Exp $ + +EAPI="5" +GCONF_DEBUG="no" + +inherit autotools eutils flag-o-matic gnome2 multilib virtualx readme.gentoo multilib-minimal + +DESCRIPTION="Gimp ToolKit +" +HOMEPAGE="http://www.gtk.org/" + +LICENSE="LGPL-2+" +SLOT="2" +IUSE="aqua cups debug examples gtk3-only +introspection test vim-syntax xinerama" +REQUIRED_USE=" + xinerama? ( !aqua ) +" + +KEYWORDS="~alpha ~amd64 ~arm hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf) +COMMON_DEPEND=" + >=dev-libs/atk-2.10.0[introspection?,${MULTILIB_USEDEP}] + >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] + >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] + >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg,${MULTILIB_USEDEP}] + >=x11-libs/gdk-pixbuf-2.30.7:2[introspection?,${MULTILIB_USEDEP}] + >=x11-libs/pango-1.36.3[introspection?,${MULTILIB_USEDEP}] + x11-misc/shared-mime-info + + cups? ( >=net-print/cups-1.7.1-r2:=[${MULTILIB_USEDEP}] ) + introspection? ( >=dev-libs/gobject-introspection-0.9.3 ) + !aqua? ( + >=x11-libs/cairo-1.12.14-r4:=[X] + >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}] + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXrandr-1.4.2[${MULTILIB_USEDEP}] + >=x11-libs/libXcursor-1.1.14[${MULTILIB_USEDEP}] + >=x11-libs/libXfixes-5.0.1[${MULTILIB_USEDEP}] + >=x11-libs/libXcomposite-0.4.4-r1[${MULTILIB_USEDEP}] + >=x11-libs/libXdamage-1.1.4-r1[${MULTILIB_USEDEP}] + xinerama? ( >=x11-libs/libXinerama-1.1.3[${MULTILIB_USEDEP}] ) + ) +" +DEPEND="${COMMON_DEPEND} + dev-libs/gobject-introspection-common + >=dev-util/gtk-doc-am-1.20 + sys-devel/gettext + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] + !aqua? ( + >=x11-proto/xextproto-7.2.1-r1[${MULTILIB_USEDEP}] + >=x11-proto/xproto-7.0.24[${MULTILIB_USEDEP}] + >=x11-proto/inputproto-2.3[${MULTILIB_USEDEP}] + >=x11-proto/damageproto-1.2.1-r1[${MULTILIB_USEDEP}] + xinerama? ( >=x11-proto/xineramaproto-1.2.1-r1[${MULTILIB_USEDEP}] ) + ) + test? ( + x11-themes/hicolor-icon-theme + 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 +# Add blocker against old gtk-builder-convert to be sure we maintain both +# in sync. +RDEPEND="${COMMON_DEPEND} + !<gnome-base/gail-1000 + !<dev-util/gtk-builder-convert-${PV} + !<x11-libs/vte-0.28.2-r201:0 + abi_x86_32? ( + !<=app-emulation/emul-linux-x86-gtklibs-20140508 + !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)] + ) +" +PDEPEND="vim-syntax? ( app-vim/gtk-syntax )" + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS="To make the gtk2 file chooser use 'current directory' mode by default, +edit ~/.config/gtk-2.0/gtkfilechooser.ini to contain the following: +[Filechooser Settings] +StartupMode=cwd" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/gtk-query-immodules-2.0 +) + +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() { + # Fix building due to moved definition, upstream bug #704766 + epatch "${FILESDIR}"/${PN}-2.24.20-darwin-quartz-pasteboard.patch + + # Fix tests running when building out of sources, bug #510596 + epatch "${FILESDIR}"/${PN}-2.24.24-out-of-source.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,in} + strip_builddir SUBDIRS faq docs/Makefile.{am,in} + + # -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 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,in} + fi + + epatch_user + + eautoreconf + gnome2_src_prepare +} + +multilib_src_configure() { + [[ ${ABI} == ppc64 ]] && append-flags -mminimal-toc + + # Passing --disable-debug is not recommended for production use + ECONF_SOURCE=${S} \ + gnome2_src_configure \ + $(usex aqua --with-gdktarget=quartz --with-gdktarget=x11) \ + $(usex aqua "" --with-xinput) \ + $(usex debug --enable-debug=yes "") \ + $(use_enable cups cups auto) \ + $(multilib_native_use_enable introspection) \ + $(use_enable xinerama) \ + --disable-papi \ + 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() { + unset DBUS_SESSION_BUS_ADDRESS + Xemake check +} + +multilib_src_install() { + gnome2_src_install + + # add -framework Carbon to the .pc files + if use aqua ; then + for i in gtk+-2.0.pc gtk+-quartz-2.0.pc gtk+-unix-print-2.0.pc; do + sed -e "s:Libs\: :Libs\: -framework Carbon :" \ + -i "${ED%/}"/usr/$(get_libdir)/pkgconfig/$i || die "sed failed" + done + fi +} + +multilib_src_install_all() { + # see bug #133241 + echo 'gtk-fallback-icon-theme = "gnome"' > "${T}/gtkrc" + insinto /usr/share/gtk-2.0 + doins "${T}"/gtkrc + + dodoc AUTHORS ChangeLog* HACKING NEWS* README* + + # dev-util/gtk-builder-convert split off into a separate package, #402905 + rm "${ED}"usr/bin/gtk-builder-convert || die + # Provide gtk-update-icon-cache via gtk+:3 + if use gtk3-only ; then + rm -v "${ED}"usr/bin/gtk-update-icon-cache + rm -v "${ED}"usr/share/gtk-doc/html/gtk2/gtk-update-icon-cache.html + fi + + readme.gentoo_create_doc +} + +pkg_preinst() { + gnome2_pkg_preinst + + multilib_pkg_preinst() { + # Make immodules.cache belongs to gtk+ alone + local cache="usr/$(get_libdir)/gtk-2.0/2.10.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_gtk2 \ + || die "Update immodules cache failed (for ${ABI})" + } + multilib_parallel_foreach_abi multilib_pkg_postinst + + set_gtk2_confdir + + 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 + + if [ -e "${EROOT%/}${GTK2_CONFDIR}/gtk.immodules" ]; then + elog "File /etc/gtk-2.0/gtk.immodules has been moved to" + elog "${EROOT%/}/usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache" + elog "Removing deprecated file." + rm -f ${EROOT%/}${GTK2_CONFDIR}/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 + + readme.gentoo_print_elog +} + +pkg_postrm() { + gnome2_pkg_postrm + + if [[ -z ${REPLACED_BY_VERSIONS} ]]; then + multilib_pkg_postrm() { + rm -f "${EROOT}"usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache + } + multilib_foreach_abi multilib_pkg_postrm + fi +} diff --git a/x11-libs/gtk+/gtk+-3.14.6.ebuild b/x11-libs/gtk+/gtk+-3.14.8.ebuild index 200f460..e1bb493 100644 --- a/x11-libs/gtk+/gtk+-3.14.6.ebuild +++ b/x11-libs/gtk+/gtk+-3.14.8.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gtk+/gtk+-3.14.8.ebuild,v 1.1 2015/02/03 14:17:46 pacho Exp $ EAPI="5" -GCONF_DEBUG="no" +GCONF_DEBUG="yes" GNOME2_LA_PUNT="yes" inherit autotools eutils flag-o-matic gnome2 multilib virtualx multilib-minimal @@ -18,7 +18,7 @@ SLOT="3" # * 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 cloudprint colord cups debug examples gtk3-only +introspection test vim-syntax wayland X xinerama" +IUSE="aqua cloudprint colord cups examples gtk3-only +introspection test vim-syntax wayland X xinerama" REQUIRED_USE=" || ( aqua wayland X ) xinerama? ( X ) @@ -35,7 +35,7 @@ COMMON_DEPEND=" media-libs/fontconfig[${MULTILIB_USEDEP}] >=x11-libs/cairo-1.12[aqua?,glib,svg,X?,${MULTILIB_USEDEP}] >=x11-libs/gdk-pixbuf-2.30:2[introspection?,${MULTILIB_USEDEP}] - gtk3-only? ( !x11-libs/gtk+:2 ) + gtk3-only? ( !x11-libs/gtk+:2[-gtk3-only] ) !gtk3-only? ( >=x11-libs/gtk+-2.24:2[${MULTILIB_USEDEP}] ) >=x11-libs/pango-1.36.7[introspection?,${MULTILIB_USEDEP}] x11-misc/shared-mime-info @@ -115,7 +115,7 @@ strip_builddir() { } src_prepare() { - # see bug #525928 + # https://bugzilla.gnome.org/show_bug.cgi?id=738835 epatch "${FILESDIR}"/${PN}-non-bash-support.patch # -O3 and company cause random crashes in applications. Bug #133469 @@ -141,7 +141,6 @@ src_prepare() { } multilib_src_configure() { - # Passing --disable-debug is not recommended for production use # 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} \ @@ -150,7 +149,6 @@ multilib_src_configure() { $(use_enable cloudprint) \ $(use_enable colord) \ $(use_enable cups cups auto) \ - $(usex debug --enable-debug=yes "") \ $(multilib_native_use_enable introspection) \ $(use_enable wayland wayland-backend) \ $(use_enable X x11-backend) \ |