summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /x11-libs/gtk+
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'x11-libs/gtk+')
-rw-r--r--x11-libs/gtk+/Manifest10
-rw-r--r--x11-libs/gtk+/files/gtk+-1.2-locale_fix.patch19
-rw-r--r--x11-libs/gtk+/files/gtk+-1.2.10-as-needed.patch696
-rw-r--r--x11-libs/gtk+/files/gtk+-1.2.10-automake-1.13.patch16
-rw-r--r--x11-libs/gtk+/files/gtk+-1.2.10-automake.patch126
-rw-r--r--x11-libs/gtk+/files/gtk+-1.2.10-cleanup.patch13
-rw-r--r--x11-libs/gtk+/files/gtk+-1.2.10-m4.patch9
-rw-r--r--x11-libs/gtk+/files/gtk+-2.24.20-darwin-quartz-pasteboard.patch15
-rw-r--r--x11-libs/gtk+/files/gtk+-2.24.24-out-of-source.patch33
-rw-r--r--x11-libs/gtk+/files/gtk+-2.24.27-update-icon-cache.patch64
-rw-r--r--x11-libs/gtk+/files/gtk+-3.12.2-darwin10.6.patch39
-rw-r--r--x11-libs/gtk+/files/gtk+-3.16.2-remove_update-icon-cache.patch24
-rw-r--r--x11-libs/gtk+/files/gtk+-non-bash-support.patch56
-rw-r--r--x11-libs/gtk+/files/gtkrc39
-rw-r--r--x11-libs/gtk+/files/settings.ini4
-rw-r--r--x11-libs/gtk+/gtk+-1.2.10-r12.ebuild89
-rw-r--r--x11-libs/gtk+/gtk+-1.2.10-r13.ebuild101
-rw-r--r--x11-libs/gtk+/gtk+-2.24.25.ebuild272
-rw-r--r--x11-libs/gtk+/gtk+-2.24.27.ebuild300
-rw-r--r--x11-libs/gtk+/gtk+-2.24.28-r1.ebuild311
-rw-r--r--x11-libs/gtk+/gtk+-3.12.2.ebuild224
-rw-r--r--x11-libs/gtk+/gtk+-3.14.13.ebuild245
-rw-r--r--x11-libs/gtk+/gtk+-3.14.9.ebuild244
-rw-r--r--x11-libs/gtk+/gtk+-3.16.4.ebuild249
-rw-r--r--x11-libs/gtk+/gtk+-3.16.5.ebuild249
-rw-r--r--x11-libs/gtk+/metadata.xml20
26 files changed, 3467 insertions, 0 deletions
diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest
new file mode 100644
index 000000000000..c59b726b84ed
--- /dev/null
+++ b/x11-libs/gtk+/Manifest
@@ -0,0 +1,10 @@
+DIST gtk+-1.2.10-r8-gentoo.diff.bz2 81223 SHA256 517bdadbaa0e13285b2d72a667b311219342306d4f68d838c3c1dbc5bfbf1684 SHA512 aaef9275ff6330a9fe1cbe1e40def181329d79cd33eb2b2ff5ae9cba5fa57e706716233ac7515f621d913f81343eb8244c6669e6411f7d50ca69187bf8d4fd86 WHIRLPOOL 2aacaa61e3291ff3c96a724e02a1fd250fa1574a69c730fa8635c28926c4134b780e9695e3aec3a6fd27b6e25848fcaee4075e17cd47bed2851bdcf311f19020
+DIST gtk+-1.2.10.tar.gz 2868322 SHA256 3fb843ea671c89b909fd145fa09fd2276af3312e58cbab29ed1c93b462108c34 SHA512 6a05062520954287b0e24a95169d18c216145ee79d1fa7f54222db32c8e39e011e3dc49886d3bc4de1cc1ebd71f5744e41891cde8d5c2759f637e71c390a235f WHIRLPOOL 906a78c2e2664b1cbd70fb9e64ce6ca1155b2a59c169eab986f5b4b90e937f380a5d35e2e28eb56913b0fbdfb53abeca5ef6823f92a3ab3906cd4e9f7c595b15
+DIST gtk+-2.24.25.tar.xz 13327832 SHA256 38af1020cb8ff3d10dda2c8807f11e92af9d2fa4045de61c62eedb7fbc7ea5b3 SHA512 e102eabbd86e9e697402b4d915172dd3838374b7b8a16b95369ed602228857a013fdba7b6b8d742f925ff8d340b63a90b56c1ddbd4405d8dc454144c705ac08d WHIRLPOOL b4bcf058bcc582627be35bb8ba45a933c3814f007599df59172e537fc99003f51edac7011cf36783caad4e191c622f6fa044a6ff6e0ae3f4de7635c3815807a3
+DIST gtk+-2.24.27.tar.xz 13349252 SHA256 20cb10cae43999732a9af2e9aac4d1adebf2a9c2e1ba147050976abca5cd24f4 SHA512 ffe981a41137302713a411039238604e92d41146e25ea0643857ec40388ddfe69cbb15bdc1aa8300b87ddbb4d6fbcf0054cdb7ba39634fbe4bfd1802f5bc8ac6 WHIRLPOOL 02259afb7a410fe941b9cc20e8031d61d5dd90f2ac532e3b8525b203997cfa57999286cd59e76ef152a68de35f08e8712dc4b9cd107633f2ba2433eba633197c
+DIST gtk+-2.24.28.tar.xz 13354884 SHA256 b2c6441e98bc5232e5f9bba6965075dcf580a8726398f7374d39f90b88ed4656 SHA512 86d563645ca70c1e14afd4b38d925f496e596cbf6181f2e95310f58c2f4152aaecc559e3c513e6d405fcf48d8d413d59a9d72782216529c1280bd8e1947d7760 WHIRLPOOL b4943bb7792f962e0fc50a118f0dbce58a79678e1a98632717a2f3bda4ddd99b62ce9aed3b14f1c0912a4b53eb975991527843985f625c5a9e052db4889acfb0
+DIST gtk+-3.12.2.tar.xz 15015024 SHA256 61d74eea74231b1ea4b53084a9d6fc9917ab0e1d71b69d92cbf60a4b4fb385d0 SHA512 4a8d2f52328587d73e30f363bdbbd91322dae0198f5581a2da3ebbe96ef0a0635193d2537e8fc127dc0950a24df42862233edd3a873dcbd166dc675bae849c9e WHIRLPOOL 26328632d78f986d25e40d8773ff3cc90a0b3a5bafb4f21224504bd1c8c78995df556e8337d7b374f047bfff2bd0b9e0082ec163591f7a0a035260b8a2db2932
+DIST gtk+-3.14.13.tar.xz 15784112 SHA256 b1efcb1ef299f9b205e6f4512428315fd03484e5790f65bd3ac164e84ade90b0 SHA512 e4fcca57fe58821832ee0b542d86033a1028c19e2248929e25a8c16ef05603a93815556591bcc025995bfab1238ad4060fcdf4920ec2df22ab3175b404f3a207 WHIRLPOOL 36a77983701da6041f0762013638303d323a42487a6f6508e92dfa0571f8f13b8598a8187e9665e6eeb62e41b7c2533a1fe9d2b68f097e85599d373969d52da0
+DIST gtk+-3.14.9.tar.xz 15716588 SHA256 3be9560e6e99388d7706a168e3353ecd63fc30ec4f7f8bea23889e71ab7b6c64 SHA512 3b64142d65ec4b4e0ed709c2fac629d80b95dac03481a3d6f8e3cc6c351ac779fe172a1edee552df7b3c40287f10c97fa0e99212e5f0e6b4751e3d8efd0896e5 WHIRLPOOL bc45b3722913ebb90bff944ec724909d01e3e976d49f8bd273500de2af9de7dcedc85e24fca36226816993a10cb87f4477f4498cc67946449855b37a0790a2fa
+DIST gtk+-3.16.4.tar.xz 18235768 SHA256 1ee5dbd7a4cb81a91eaa1b7ae64ba5a3eab6a3c0a764155583ab96524590fc8e SHA512 02a021e9911054ad03adef943b0faae478903a9e1d10a584009ee84364ecdb541a27533ba11ed980bc2a6f39833490c180514efc2ca3669f7c5dc4a388f3f53d WHIRLPOOL 954c19f5478cac7b72aa3153a5fa7a876b0248d3f0cb0df02dfdc4c96d16975893e03c32988fbb2b46731a1661c4fa54fb1fc9e8a125621287eb739a3c47468b
+DIST gtk+-3.16.5.tar.xz 18263356 SHA256 b87c99d127eb962fc857c246b77a65322cdffd7dcbcf46a83bce2040e0f4bc31 SHA512 f8dd318d5d72e8c59534bf49e505de3575f7519d57398030f4c47a576c3b37e4f00fec1b5a3ba2a3769e94373504dfb6ca24b1015f1e8f8f7dca6f46114b95f8 WHIRLPOOL 9c7ca6a76bde91912043ccfb26375327628fb2206b0e613116c9b6b1f1d078cccf075690b7749d76e8ddea3e3118ecae79e49be98490db29a7a2042f843d0b97
diff --git a/x11-libs/gtk+/files/gtk+-1.2-locale_fix.patch b/x11-libs/gtk+/files/gtk+-1.2-locale_fix.patch
new file mode 100644
index 000000000000..a3fd198b6904
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-1.2-locale_fix.patch
@@ -0,0 +1,19 @@
+--- gtk/gtkrc.c.~1.40.2.17.~ 2001-07-10 20:06:35.000000000 +0200
++++ gtk/gtkrc.c 2003-03-05 16:56:10.000000000 +0100
+@@ -453,7 +453,7 @@
+
+ if (!initted)
+ {
+- char *locale = setlocale (LC_CTYPE, NULL);
++ char *locale = g_strdup (setlocale (LC_CTYPE, NULL));
+ char *p;
+
+ initted = TRUE;
+@@ -558,6 +558,7 @@
+
+ if (tmp) g_free (tmp);
+ }
++ g_free (locale);
+ }
+
+ i = 0;
diff --git a/x11-libs/gtk+/files/gtk+-1.2.10-as-needed.patch b/x11-libs/gtk+/files/gtk+-1.2.10-as-needed.patch
new file mode 100644
index 000000000000..aa295f257851
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-1.2.10-as-needed.patch
@@ -0,0 +1,696 @@
+--- gtk+-1.2.10/acinclude.m4.orig 2006-05-24 23:23:51.000000000 -0700
++++ gtk+-1.2.10/acinclude.m4 2006-05-24 23:23:19.000000000 -0700
+@@ -672,7 +672,7 @@
+ AC_DEFINE(HAVE_STPCPY)
+ fi
+
+- AM_LC_MESSAGES
++ gt_LC_MESSAGES
+ AM_GTK_WITH_NLS
+
+ if test "x$CATOBJEXT" != "x"; then
+--- gtk+-1.2.10/gtk.m4.orig 2006-05-24 23:32:00.000000000 -0700
++++ gtk+-1.2.10/gtk.m4 2006-05-24 23:36:16.000000000 -0700
+@@ -1,6 +1,11 @@
+ # Configure paths for GTK+
+ # Owen Taylor 97-11-3
+-
++AC_DEFUN([GTK_AC_DIVERT_BEFORE_HELP],
++[ifdef([m4_divert_text], [m4_divert_text([NOTICE],[$1])],
++ [ifdef([AC_DIVERT], [AC_DIVERT([NOTICE],[$1])],
++ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
++$1
++AC_DIVERT_POP()])])])
+ dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
+ dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
+ dnl
+--- gtk+-1.2.10/configure.in.orig 2006-05-25 05:45:06.000000000 -0700
++++ gtk+-1.2.10/configure.in 2006-05-25 05:44:08.000000000 -0700
+@@ -1,6 +1,8 @@
++builtin(include,gtk.m4)
++
++
+ # Process this file with autoconf to produce a configure script.
+ AC_INIT(gdk/gdktypes.h)
+-
+ # In the following, there are a the following variants
+ # of GLib cflags and libs variables
+ #
+@@ -12,12 +14,11 @@
+ # glib_thread_cflags: cflags to store in gtk-config for gtk-config gthread
+ # glib_thread_libs: libs to store in gtk-config for gtk-config gthread
+
++AC_CANONICAL_TARGET
+ # Save this value here, since automake will set cflags later
+ cflags_set=${CFLAGS+set}
+
+-dnl we need to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
+-dnl are available for $ac_help expansion (don't we all *love* autoconf?)
+-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
++GTK_AC_DIVERT_BEFORE_HELP([
+ #
+ # Making releases:
+ # GTK_MICRO_VERSION += 1;
+@@ -32,9 +33,8 @@
+ GTK_MICRO_VERSION=10
+ GTK_INTERFACE_AGE=1
+ GTK_BINARY_AGE=10
+-GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
+-dnl
+-AC_DIVERT_POP()dnl
++GTK_VERSION="$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION"
++])
+
+ AC_SUBST(GTK_MAJOR_VERSION)
+ AC_SUBST(GTK_MINOR_VERSION)
+@@ -44,9 +44,9 @@
+ AC_SUBST(GTK_VERSION)
+
+ # libtool versioning
+-LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
++LT_RELEASE="$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION"
+ LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
+-LT_REVISION=$GTK_INTERFACE_AGE
++LT_REVISION="$GTK_INTERFACE_AGE"
+ LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
+ AC_SUBST(LT_RELEASE)
+ AC_SUBST(LT_CURRENT)
+@@ -54,11 +54,8 @@
+ AC_SUBST(LT_AGE)
+
+ # For automake.
+-VERSION=$GTK_VERSION
+-PACKAGE=gtk+
+-
+-# Save this value here, since automake will set cflags later
+-cflags_set=${CFLAGS+set}
++VERSION="$GTK_VERSION"
++PACKAGE="gtk+"
+
+ dnl Initialize automake stuff
+ AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
+@@ -67,42 +64,40 @@
+ AM_CONFIG_HEADER(config.h)
+
+ dnl Initialize libtool
+-AM_PROG_LIBTOOL
++AC_PROG_LIBTOOL
+
+ dnl Initialize maintainer mode
+ AM_MAINTAINER_MODE
+
+-AC_CANONICAL_HOST
+-
+ dnl figure debugging default, prior to $ac_help setup
+-dnl
+-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
++
++GTK_AC_DIVERT_BEFORE_HELP([
+ if test `expr $GTK_MINOR_VERSION \% 2` = 1 ; then
+- debug_default=yes
++ debug_default="yes"
+ else
+- debug_default=minimum
++ debug_default="minimum"
+ fi
+-AC_DIVERT_POP()dnl
+-
++])
+ dnl declare --enable-* args and collect ac_help strings
+-AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
++AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,
++ [enable_debug="$debug_default"])
+ AC_ARG_ENABLE(shm, [ --enable-shm support shared memory if available [default=yes]],
+- echo $enable_shm, enable_shm="yes")
+-AC_ARG_ENABLE(ansi, [ --enable-ansi turn on strict ansi [default=no]],
+- , enable_ansi=no)
++ [echo "$enable_shm"],[enable_shm="yes"])
++AC_ARG_ENABLE(ansi, [ --enable-ansi turn on strict ansi [default=no]],,[enable_ansi="no"])
+ AC_ARG_WITH(glib, [ --with-glib=DIR Use uninstalled copy of glib])
+-AC_ARG_ENABLE(xim, [ --enable-xim support XIM [default=yes]],
+- , enable_xim="yes")
+-AC_ARG_ENABLE(xim_inst, [ --disable-xim-inst does not use xim instantiate callback],
+- , enable_xim_inst="maybe")
+-AC_ARG_ENABLE(rebuilds, [ --disable-rebuilds disable all source autogeneration rules],,enable_rebuilds=yes)
++AC_ARG_ENABLE(xim, [ --enable-xim support XIM [default=yes]],,[enable_xim="yes"])
++AC_ARG_ENABLE(xim_inst, [ --disable-xim-inst does not use xim instantiate callback],,
++ [enable_xim_inst="maybe"])
++AC_ARG_ENABLE(rebuilds, [ --disable-rebuilds disable all source autogeneration rules],,
++ [enable_rebuilds="yes"])
+ AC_ARG_WITH(locale, [ --with-locale=LOCALE locale name you want to use ])
+-
+ AC_ARG_WITH(xinput, [ --with-xinput=[no/gxi/xfree] support XInput ])
+-AC_ARG_WITH(native_locale, [ --with-native-locale=[yes/no] Use native locale support [default=no]],,with_native_locale=no)
++AC_ARG_WITH(native_locale, [ --with-native-locale=[yes/no] Use native locale support [default=no]],,
++ [with_native_locale="no"])
++
+
+ if test "x$enable_debug" = "xyes"; then
+- test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
++ test "$cflags_set" = "set" || CFLAGS="$CFLAGS -g"
+ GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
+ else
+ if test "x$enable_debug" = "xno"; then
+@@ -113,16 +108,14 @@
+ fi
+
+ AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
+-
+ # Build time sanity check...
+ AM_SANITY_CHECK
+
+ # Checks for programs.
+ AC_PROG_CC
+ AC_ISC_POSIX
+-AM_PROG_CC_STDC
++AC_PROG_CC_STDC
+ AC_PROG_INSTALL
+-AC_PROG_MAKE_SET
+
+ changequote(,)dnl
+ if test "x$GCC" = "xyes"; then
+@@ -144,7 +137,6 @@
+ fi
+ fi
+ changequote([,])dnl
+-
+ # Honor aclocal flags
+ ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
+
+@@ -158,8 +150,7 @@
+ AC_CHECK_PROG(INDENT, indent, indent)
+
+ REBUILD=\#
+-if test "x$enable_rebuilds" = "xyes" && \
+- test -n "$PERL" && \
++if test "x$enable_rebuilds" = "xyes" && test -n "$PERL" && \
+ $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 && \
+ test -n "$AWK" ; then
+ REBUILD=
+@@ -194,55 +185,58 @@
+
+ dnl Check for nl_langinfo and CODESET
+ AC_MSG_CHECKING([for nl_langinfo (CODESET)])
+-AC_TRY_COMPILE([#include <langinfo.h>],
++AC_TRY_COMPILE([#include <langinfo.h>
++ ],
+ [char *codeset = nl_langinfo (CODESET);],
+ AC_DEFINE(HAVE_CODESET,1,[Have nl_langinfo (CODESET)])
+- have_codeset=yes,
+- have_codeset=no)
++ have_codeset="yes",
++ have_codeset="no"
++)
+ AC_MSG_RESULT($have_codeset)
+
+ dnl The DU4 header files don't provide library prototypes unless
+ dnl -std1 is given to the native cc.
+ AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
+
+-gtk_save_LIBS=$LIBS
++gtk_save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ AC_TRY_RUN([#include <math.h>
+ int main (void) { return (log(1) != log(1.)); }],
+ AC_MSG_RESULT(none needed),
+- gtk_save_CFLAGS=$CFLAGS
++ [gtk_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -std1"
+ AC_TRY_RUN([#include <math.h>
+ int main (void) { return (log(1) != log(1.)); }],
+ AC_MSG_RESULT(-std1),
+ AC_MSG_RESULT()
+- CFLAGS=$gtk_save_CFLAGS
+- AC_MSG_WARN(
+- [No ANSI prototypes found in library. (-std1 didn't work.)]),
+- true
+- ),
++ CFLAGS="$gtk_save_CFLAGS"
++ AC_MSG_WARN([No ANSI prototypes found in library. (-std1 didn't work.)]),
++ true)],
+ AC_MSG_RESULT(none needed)
+ )
+-LIBS=$gtk_save_LIBS
++LIBS="$gtk_save_LIBS"
+
+ dnl NeXTStep cc seems to need this
+ AC_MSG_CHECKING([for extra flags for POSIX compliance])
+-AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
++AC_TRY_COMPILE([#include <dirent.h>
++ ],[DIR *dir;],
+ AC_MSG_RESULT(none needed),
+- gtk_save_CFLAGS=$CFLAGS
++ [gtk_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -posix"
+- AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
++ AC_TRY_COMPILE([#include <dirent.h>
++ ],[DIR *dir;],
+ AC_MSG_RESULT(-posix),
+ AC_MSG_RESULT()
+- CFLAGS=$gtk_save_CFLAGS
+- AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
++ CFLAGS="$gtk_save_CFLAGS"
++ AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])]))
+
+-if test x$with_glib = xyes ; then
+- AC_MSG_ERROR([
+-*** Directory must be specified for --with-glib])
++
++
++if test "x$with_glib" = "xyes" ; then
++ AC_MSG_ERROR([*** Directory must be specified for --with-glib])
+ fi
+
+-if test x$with_glib = x ; then
++if test "x$with_glib" = "x" ; then
+ # Look for separately installed glib
+
+ AM_PATH_GLIB(1.2.8,,
+@@ -261,7 +255,7 @@
+ else
+ # Use uninstalled glib (assume they got the version right)
+
+- GLIB_CONFIG=$with_glib/glib-config
++ GLIB_CONFIG="$with_glib/glib-config"
+ if test -x $GLIB_CONFIG ; then
+ :
+ else
+@@ -277,9 +271,9 @@
+ glib_release=`$GLIB_CONFIG --version | sed 's%\\.[[0-9]]*$%%'`
+
+ # canonicalize relative paths
+- case $with_glib in
++ case "$with_glib" in
+ /*)
+- glib_dir=$with_glib
++ glib_dir="$with_glib"
+ ;;
+ *)
+ glib_dir="\$(top_builddir)/$with_glib"
+@@ -312,61 +306,56 @@
+ saved_ldflags="$LDFLAGS"
+
+ CFLAGS="$CFLAGS $X_CFLAGS"
+-LDFLAGS="$LDFLAGS $X_LDFLAGS $X_LIBS"
++LDFLAGS="$LDFLAGS $X_LDFLAGS"
+
+ if test "x$no_x" = "xyes"; then
+ AC_MSG_ERROR([
+ *** X libraries or include files not found. Check 'config.log' for
+ *** more details.])
+ fi
+-
+ # Checks for libraries.
+ # Check for the X11 library
+-AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS",
++AC_CHECK_LIB(X11,XOpenDisplay,
++ x_libs="-lX11 $X_EXTRA_LIBS",
+ AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
+- $X_EXTRA_LIBS)
+-
++ $X_EXTRA_LIBS
++)
+ if test "x$enable_shm" = "xyes"; then
+ # Check for the Xext library (needed for XShm extention)
+ AC_CHECK_LIB(Xext, XShmAttach,
+ x_libs="-lXext $x_libs",
+ # On AIX, it is in XextSam instead, but we still need -lXext
+- AC_CHECK_LIB(XextSam, XShmAttach,
++ [AC_CHECK_LIB(XextSam, XShmAttach,
+ x_libs="-lXextSam -lXext $x_libs",
+- no_xext_lib=yes, $x_libs),
+- $x_libs)
++ no_xext_lib="yes",
++ $x_libs
++ )],
++ $x_libs
++ )
+ fi
+-
+ # Check for shaped window extension
+-
+ AC_CHECK_LIB(Xext, XShapeCombineMask,
+- if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
++ if test -z "`echo $x_libs | grep \-lXext 2> /dev/null`"; then
+ x_libs="-lXext $x_libs"
+ fi
+- AC_DEFINE(HAVE_SHAPE_EXT),
+- ,
+- $x_libs)
+-
++ AC_DEFINE(HAVE_SHAPE_EXT),,
++ $x_libs
++)
+ # Check for XConvertCase (X11R6 specific)
+-
+ AC_CHECK_LIB(X11, XConvertCase,
+- AC_DEFINE(HAVE_XCONVERTCASE),
+- ,
+- $x_libs)
+-
++ AC_DEFINE(HAVE_XCONVERTCASE),,
++ $x_libs
++)
+ # Check for XIM support.
+-
+-AC_CHECK_LIB(X11, XUnregisterIMInstantiateCallback,
+- : ,
++AC_CHECK_LIB(X11, XUnregisterIMInstantiateCallback,,
+ enable_xim_inst="no",
+- $x_libs)
+-
++ $x_libs
++)
+ # On Solaris, calling XRegisterIMInstantiateCallback seems to
+ # cause an immediate segfault, so we disable it, unless
+ # the user specifically forces it to be on.
+-
+-if test x$enable_xim_inst = xmaybe ; then
+- case host in
++if test "x$enable_xim_inst" = "xmaybe" ; then
++ case "$host" in
+ *-*-solaris*)
+ enable_xim_inst="no"
+ ;;
+@@ -384,16 +373,15 @@
+ fi
+
+ x_cflags="$X_CFLAGS"
+-x_ldflags="$X_LDFLAGS $X_LIBS"
++x_ldflags="$X_LDFLAGS"
+
+ # set up things for XInput
+-
+ if test "x$with_xinput" = "xgxi"; then
+ AC_MSG_WARN([
+ *** The generic XInput support has not been tested for several years
+ *** and is not known to work with any currently available X servers])
+ AC_DEFINE(XINPUT_GXI)
+- xinput_progs=gxid
++ xinput_progs="gxid"
+ x_libs="-lXi $x_libs"
+ elif test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
+ AC_DEFINE(XINPUT_XFREE)
+@@ -413,77 +401,72 @@
+
+ if test "x$enable_shm" = "xyes"; then
+ # Check for shared memory
+- AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
+- AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
++ AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc="yes")
++ AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm="yes")
+
+ # Check for the X shared memory extension header file
+ AC_MSG_CHECKING(X11/extensions/XShm.h)
+ if test "x$no_xext_lib" = "xyes"; then
+ AC_MSG_RESULT(no)
+- no_xshm=yes
++ no_xshm="yes"
+ else
+ if test -f "$x_includes/X11/extensions/XShm.h"; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_XSHM_H)
+ else
+ AC_MSG_RESULT(no)
+- no_xshm=yes
++ no_xshm="yes"
+ fi
+ fi
+ fi
+-
+ # Check if X_LOCALE definition is necessary
+-
+ AC_MSG_CHECKING(need -DX_LOCALE)
+
+ AC_TRY_RUN([
+ #include <stdio.h>
+ #include <locale.h>
+-
+-int
+-main ()
++ int main ()
+ {
+ return setlocale (LC_ALL, "${with_locale}") == NULL;
+ }],
+-need_x_locale=no,
+-need_x_locale=yes,
+-need_x_locale=no)
++ need_x_locale="no",
++ need_x_locale="yes",
++ need_x_locale="no"
++)
+ AC_MSG_RESULT($need_x_locale)
+
+-use_native_locale=no
+-if test $need_x_locale = yes; then
++use_native_locale="no"
++if test "$need_x_locale" = "yes"; then
+ GTK_LOCALE_FLAGS="-DX_LOCALE"
+ else
+- if test x$with_native_locale = xyes ; then
++ if test "x$with_native_locale" = "xyes" ; then
+ AC_MSG_CHECKING(functioning locale support)
+
+- AC_TRY_COMPILE([#include <stdlib.h>],[
+- char c;
++ AC_TRY_COMPILE([#include <stdlib.h>],
++ [char c;
+ if (MB_CUR_MAX == 1) {
+ wctomb(&c, 42);
+- }
+- ],use_native_locale=yes,)
+-
++ }],
++ use_native_locale="yes"
++ )
+ AC_MSG_RESULT($use_native_locale)
+ fi
+ fi
+
+-if test x$use_native_locale = xyes ; then
++if test "x$use_native_locale" = "xyes" ; then
+ AC_MSG_CHECKING(if sizeof(wchar_t) == 4)
+
+- AC_TRY_RUN([
+- #include <stdlib.h>
+-
+- int
+- main ()
++ AC_TRY_RUN([#include <stdlib.h>
++ int main ()
+ {
+ return (sizeof(wchar_t) == 4) ? 0 : 1;
+- }],
+- ,use_native_locale=no,:)
++ }],,
++ use_native_locale="no"
++ )
+ AC_MSG_RESULT($use_native_locale)
+ fi
+
+-if test $use_native_locale = yes ; then
++if test "$use_native_locale" = "yes" ; then
+ AC_DEFINE(USE_NATIVE_LOCALE)
+ fi
+
+@@ -502,13 +485,17 @@
+
+ # Check if <sys/select.h> needs to be included for fd_set
+ AC_MSG_CHECKING([for fd_set])
+-AC_TRY_COMPILE([#include <sys/types.h>],
+- [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
+-if test $gtk_ok = yes; then
++AC_TRY_COMPILE([#include <sys/types.h>
++ ],
++ [fd_set readMask, writeMask;],
++ gtk_ok="yes",
++ gtk_ok="no"
++)
++if test "$gtk_ok" = "yes"; then
+ AC_MSG_RESULT([yes, found in sys/types.h])
+ else
+- AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
+- if test $gtk_ok = yes; then
++ AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok="yes")
++ if test "$gtk_ok" = "yes"; then
+ AC_DEFINE(HAVE_SYS_SELECT_H)
+ AC_MSG_RESULT([yes, found in sys/select.h])
+ else
+@@ -520,30 +507,35 @@
+ # Duplicate `widechar' tests from `glib'.
+ # Check for wchar.h
+ AC_MSG_CHECKING(for wchar.h)
+-AC_TRY_CPP([#include <wchar.h>], gtk_ok=yes, gtk_ok=no)
+-if test $gtk_ok = yes; then
++AC_TRY_CPP([#include <wchar.h>
++ ],
++ gtk_ok="yes",
++ gtk_ok="no"
++)
++if test "$gtk_ok" = "yes"; then
+ AC_DEFINE(HAVE_WCHAR_H,1,[Define if wchar.h exists])
+ fi
+ AC_MSG_RESULT($gtk_ok)
+
+ # Check for wctype.h (for iswalnum)
+ AC_MSG_CHECKING(for wctype.h)
+-AC_TRY_CPP([#include <wctype.h>], gtk_ok=yes, gtk_ok=no)
+-if test $gtk_ok = yes; then
++AC_TRY_CPP([#include <wctype.h>], gtk_ok="yes", gtk_ok="no")
++if test "$gtk_ok" = "yes"; then
+ AC_DEFINE(HAVE_WCTYPE_H,1,[Define if wctype.h exists])
+ fi
+ AC_MSG_RESULT($gtk_ok)
+
+ # in Solaris 2.5, `iswalnum' is in -lw
+ GDK_WLIBS=
+-AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
++AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS="-lw")])
+
+ # The following is necessary for Linux libc-5.4.38
+ oLIBS="$LIBS"
+ LIBS="$LIBS $GDK_WLIBS"
+ AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
+-AC_TRY_LINK([#include <stdlib.h>],[
+-#if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
++AC_TRY_LINK([#include <stdlib.h>
++ ],
++ [#if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
+ # ifdef HAVE_WCTYPE_H
+ # include <wctype.h>
+ # else
+@@ -554,11 +546,13 @@
+ #else
+ # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
+ #endif
+-iswalnum((wchar_t) 0);
+-], gtk_ok=yes, gtk_ok=no)
++ iswalnum((wchar_t) 0);],
++ gtk_ok="yes",
++ gtk_ok="no"
++)
+ LIBS="$oLIBS"
+
+-if test $gtk_ok = no; then
++if test "$gtk_ok" = "no"; then
+ AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Define if the wctype function is broken])
+ GDK_WLIBS=
+ fi
+@@ -580,5 +574,5 @@
+ gtk/Makefile
+ gtk/gtkfeatures.h
+ gdk.pc
+-gtk+.pc
+-], [chmod +x gtk-config])
++gtk+.pc],
++[chmod +x gtk-config])
+--- gtk+-1.2.10/gdk/Makefile.am.orig 2006-05-19 02:41:18.000000000 -0700
++++ gtk+-1.2.10/gdk/Makefile.am 2006-05-19 02:11:54.000000000 -0700
+@@ -21,12 +21,11 @@
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -release $(LT_RELEASE) \
+ -export-dynamic \
+- @GLIB_DEPLIBS@ \
+ @x_ldflags@ \
+- @x_libs@ \
+- -lm \
+ @STRIP_END@
+
++libgdk_la_LIBADD = @GLIB_DEPLIBS@ @x_libs@ -lm
++
+ #
+ # setup source file variables
+ #
+@@ -104,14 +103,13 @@
+ EXTRA_PROGRAMS = gxid
+ bin_PROGRAMS = @xinput_progs@
+ LDADDS = @STRIP_BEGIN@ \
+- @x_ldflags@ \
+ @x_libs@ \
+ @GLIB_LIBS@ \
+ -lm \
+ @STRIP_END@
+ gxid_SOURCES = gxid.c
+ gxid_LDADD = $(LDADDS)
+-
++gxid_LDFLAGS = @x_ldflags@
+
+ .PHONY: files
+
+--- gtk+-1.2.10/gtk/Makefile.am.orig 2006-05-25 07:40:45.000000000 -0700
++++ gtk+-1.2.10/gtk/Makefile.am 2006-05-25 07:43:20.000000000 -0700
+@@ -27,13 +27,15 @@
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -release $(LT_RELEASE) \
+ -export-dynamic \
+- @GLIB_DEPLIBS@ \
+ @x_ldflags@ \
+- @x_libs@ \
+- -lm \
+ @STRIP_END@
+-# $(top_builddir)/gdk/libgdk.la
+-
++libgtk_la_LIBADD = @STRIP_BEGIN@ \
++ $(top_builddir)/gdk/libgdk.la \
++ @x_libs@ \
++ @GDK_WLIBS@ \
++ @GLIB_LIBS@ \
++ -lm \
++ @STRIP_END@
+
+ #
+ # setup source file variables
+@@ -374,14 +376,17 @@
+
+
+ gtkconfdir = $(sysconfdir)/gtk
+-gtkconf_DATA = gtkrc.az gtkrc.he gtkrc.hy gtkrc.ja \
++# removed references to non-existent gtkrc files - tsh
++gtkconf_DATA = \
++ gtkrc.az gtkrc.he gtkrc.hy gtkrc.ja \
+ gtkrc.ko gtkrc.ru gtkrc.th gtkrc.uk \
+- gtkrc.utf-8 gtkrc.iso-8859-2 \
+- gtkrc.iso-8859-3 gtkrc.iso-8859-5 gtkrc.iso-8859-7 \
+- gtkrc.iso-8859-9 gtkrc.iso-8859-13 gtkrc.iso-8859-14 \
+- gtkrc.iso-8859-15 gtkrc.zh_CN gtkrc.zh_TW.big5 \
+- gtkrc.ka_GE.georgianacademy gtkrc.ka_GE.georgianps \
+- gtkrc.vi_VN.tcvn gtkrc.vi_VN.viscii gtkrc.cp1251 gtkrc.cp1255
++ gtkrc.iso-8859-2 gtkrc.iso-8859-5 \
++ gtkrc.iso-8859-13 gtkrc.iso-8859-14 \
++ gtkrc.iso-8859-15 gtkrc.zh_TW.big5 \
++ gtkrc.zh_CN gtkrc.cp1251 gtkrc.cp1255 \
++ gtkrc.ka_GE.georgianacademy \
++ gtkrc.ka_GE.georgianps \
++ gtkrc.vi_VN.tcvn gtkrc.vi_VN.viscii
+
+ # We create a dummy theme for the default GTK+ theme
+ install-data-local:
+@@ -428,7 +433,6 @@
+ LDADDS = @STRIP_BEGIN@ \
+ libgtk.la \
+ $(top_builddir)/gdk/libgdk.la \
+- @x_ldflags@ \
+ @x_libs@ \
+ @GDK_WLIBS@ \
+ @GLIB_LIBS@ \
+@@ -441,12 +445,20 @@
+ testdnd_DEPENDENCIES = $(DEPS)
+ simple_DEPENDENCIES = $(DEPS)
+ #testthreads_DEPENDENCIES = $(DEPS)
++
+ testgtk_LDADD = $(LDADDS)
++testgtk_LDFLAGS=@x_ldflags@
+ testinput_LDADD = $(LDADDS)
++testinput_LDFLAGS = @x_ldflags@
+ testselection_LDADD = $(LDADDS)
++testselection_LDFLAGS = @x_ldflags@
+ testrgb_LDADD = $(LDADDS)
++testrgb_LDFLAGS = @x_ldflags@
+ testdnd_LDADD = $(LDADDS)
++testdnd_LDFLAGS = @x_ldflags@
+ simple_LDADD = $(LDADDS)
++simple_LDFLAGS = @x_ldflags@
++
+ #testthreads_LDADD = $(LDADDS)
+
+ .PHONY: files test test-debug
diff --git a/x11-libs/gtk+/files/gtk+-1.2.10-automake-1.13.patch b/x11-libs/gtk+/files/gtk+-1.2.10-automake-1.13.patch
new file mode 100644
index 000000000000..6df2032c1b7a
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-1.2.10-automake-1.13.patch
@@ -0,0 +1,16 @@
+Fix build failure with automake-1.13; fixed upstream in >=2.24.15 and >=3.0
+https://bugs.gentoo.org/467520
+
+diff --git a/configure.in b/configure.in
+index 27294c8..798a259 100644
+--- a/configure.in
++++ b/configure.in
+@@ -61,7 +61,7 @@ dnl Initialize automake stuff
+ AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
+
+ # Specify a configuration file
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS([config.h])
+
+ dnl Initialize libtool
+ AC_PROG_LIBTOOL
diff --git a/x11-libs/gtk+/files/gtk+-1.2.10-automake.patch b/x11-libs/gtk+/files/gtk+-1.2.10-automake.patch
new file mode 100644
index 000000000000..e7b4474618bd
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-1.2.10-automake.patch
@@ -0,0 +1,126 @@
+--- docs/Makefile.am
++++ docs/Makefile.am
+@@ -166,7 +166,7 @@
+ echo $$p; \
+ done
+
+-EXTRA_DIST += \
++EXTRA_DIST = \
+ Changes-1.2.txt \
+ debugging.txt \
+ developers.txt \
+--- gdk/Makefile.am
++++ gdk/Makefile.am
+@@ -30,7 +30,7 @@
+ # setup source file variables
+ #
+ # GDK header files for public installation (non-generated)
+-gdk_public_h_sources = @STRIP_BEGIN@ \
++gdk_public_h_sources = \
+ gdk.h \
+ gdkcursors.h \
+ gdkrgb.h \
+@@ -38,9 +38,8 @@
+ gdkkeysyms.h \
+ gdkprivate.h \
+ gdktypes.h \
+- gdkx.h \
+-@STRIP_END@
+-gdk_c_sources = @STRIP_BEGIN@ \
++ gdkx.h
++gdk_c_sources = \
+ gdk.c \
+ gdkcc.c \
+ gdkcolor.c \
+@@ -71,8 +70,7 @@
+ MwmUtil.h \
+ gxid_lib.h \
+ gxid_proto.h \
+- gxid_lib.c \
+-@STRIP_END@
++ gxid_lib.c
+
+ #
+ # setup GDK sources and their dependancies
+@@ -79,10 +79,6 @@
+ #
+ libgdkinclude_HEADERS = $(gdk_public_h_sources)
+ libgdk_la_SOURCES = $(gdk_c_sources)
+-MAINTAINERCLEANFILES +=
+-EXTRA_HEADERS +=
+-EXTRA_DIST +=
+-EXTRA_DIST +=
+
+ #
+ # rules to generate built sources
+--- gtk/Makefile.am
++++ gtk/Makefile.am
+@@ -41,7 +41,7 @@
+ # setup source file variables
+ #
+ # GTK+ header files for public installation (non-generated)
+-gtk_public_h_sources = @STRIP_BEGIN@ \
++gtk_public_h_sources = \
+ gtk.h \
+ gtkaccelgroup.h \
+ gtkaccellabel.h \
+@@ -150,13 +150,12 @@
+ gtkvscrollbar.h \
+ gtkvseparator.h \
+ gtkwidget.h \
+- gtkwindow.h \
+-@STRIP_END@
++ gtkwindow.h
+ # GTK+ header files that don't get installed
+ gtk_private_h_sources = @STRIP_BEGIN@ \
+ @STRIP_END@
+ # GTK+ C sources to build the library from
+-gtk_c_sources = @STRIP_BEGIN@ \
++gtk_c_sources = \
+ gtkaccelgroup.c \
+ gtkaccellabel.c \
+ gtkadjustment.c \
+@@ -264,8 +263,7 @@
+ gtkwidget.c \
+ gtkwindow.c \
+ fnmatch.c \
+- fnmatch.h \
+-@STRIP_END@
++ fnmatch.h
+ # we use our own built_sources variable rules to avoid automake's
+ # BUILT_SOURCES oddities
+ # we generate frequently rebuild files piggyback on a stamp file, so sources
+@@ -284,10 +282,9 @@
+ gtk.defs \
+ @STRIP_END@
+ # built sources that get installed with the header files
+-gtk_built_public_sources = @STRIP_BEGIN@ \
++gtk_built_public_sources = \
+ gtkmarshal.h \
+- gtktypebuiltins.h \
+-@STRIP_END@
++ gtktypebuiltins.h
+ # non-header sources (headers should be specified in the above variables)
+ # that don't serve as direct make target sources, i.e. they don't have
+ # their own .lo rules and don't get publically installed
+@@ -313,9 +313,8 @@
+ #
+ libgtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_built_public_sources) gtkfeatures.h
+ libgtk_la_SOURCES = $(gtk_c_sources)
+-MAINTAINERCLEANFILES += $(gtk_built_public_sources) $(gtk_built_sources)
+-EXTRA_HEADERS +=
+-EXTRA_DIST += $(gtk_private_h_sources)
++MAINTAINERCLEANFILES = $(gtk_built_public_sources) $(gtk_built_sources)
++EXTRA_DIST = $(gtk_private_h_sources)
+ EXTRA_DIST += $(gtk_built_sources) $(gtk_built_public_sources) $(gtk_extra_sources)
+
+ #
+@@ -323,7 +322,7 @@
+ #
+ # setup autogeneration dependancies
+ gen_sources = xgen-gdef xgen-gtbh xgen-gtbvc xgen-gtbic xgen-gtbec xgen-gmh xgen-gmc
+-CLEANFILES += $(gen_sources)
++CLEANFILES = $(gen_sources)
+ COPYING: $(gtk_built_public_sources) $(gtk_built_sources)
+ $(OBJECTS): COPYING # this is our oldest-source-stamp
+ # initial creation of the real stamp-* files
diff --git a/x11-libs/gtk+/files/gtk+-1.2.10-cleanup.patch b/x11-libs/gtk+/files/gtk+-1.2.10-cleanup.patch
new file mode 100644
index 000000000000..7846c17aad0c
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-1.2.10-cleanup.patch
@@ -0,0 +1,13 @@
+pull in string prototypes
+
+--- gdk/gdkinputcommon.h
++++ gdk/gdkinputcommon.h
+@@ -24,6 +24,8 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++#include <string.h>
++
+ #if defined(XINPUT_GXI) || defined(XINPUT_XFREE)
+
+ /* Forward declarations */
diff --git a/x11-libs/gtk+/files/gtk+-1.2.10-m4.patch b/x11-libs/gtk+/files/gtk+-1.2.10-m4.patch
new file mode 100644
index 000000000000..37fb7c263096
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-1.2.10-m4.patch
@@ -0,0 +1,9 @@
+Fix aclocal warnings:
+/usr/share/aclocal/gtk.m4:7: warning: underquoted definition of AM_PATH_GTK
+--- gtk+-1.2.10/gtk.m4
++++ gtk+-1.2.10/gtk.m4
+@@ -6,3 +6,3 @@
+ dnl
+-AC_DEFUN(AM_PATH_GTK,
++AC_DEFUN([AM_PATH_GTK],
+ [dnl
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 000000000000..a07e6537d22e
--- /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 000000000000..451233ca812f
--- /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+/files/gtk+-2.24.27-update-icon-cache.patch b/x11-libs/gtk+/files/gtk+-2.24.27-update-icon-cache.patch
new file mode 100644
index 000000000000..f88e02e53500
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-2.24.27-update-icon-cache.patch
@@ -0,0 +1,64 @@
+From 2537d97e4685767ce22834c0dd24d37ba715fb52 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Sat, 9 May 2015 23:30:58 +0200
+Subject: [PATCH] Always use external gtk-update-icon-cache
+
+---
+ configure.ac | 8 +++-----
+ gtk/Makefile.am | 13 ++-----------
+ 2 files changed, 5 insertions(+), 16 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2671a3d..fa46004 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -913,11 +913,9 @@ dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
+
+ AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
+
+-if test $cross_compiling = yes; then
+- AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
+- if test x$GTK_UPDATE_ICON_CACHE = xno; then
+- REBUILD_PNGS=#
+- fi
++AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
++if test x$GTK_UPDATE_ICON_CACHE = xno; then
++ REBUILD_PNGS=#
+ fi
+
+ AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
+diff --git a/gtk/Makefile.am b/gtk/Makefile.am
+index 248220d..42e4c23 100644
+--- a/gtk/Makefile.am
++++ b/gtk/Makefile.am
+@@ -1039,8 +1039,7 @@ endif
+ # Installed tools
+ #
+ bin_PROGRAMS = \
+- gtk-query-immodules-2.0 \
+- gtk-update-icon-cache
++ gtk-query-immodules-2.0
+
+ bin_SCRIPTS = gtk-builder-convert
+
+@@ -1390,16 +1389,8 @@ stamp-icons: $(STOCK_ICONS)
+ ) done \
+ && touch stamp-icons
+
+-if CROSS_COMPILING
+-gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE)
+-else
+-gtk_update_icon_cache_program = \
+- ./gtk-update-icon-cache
+-endif
+-
+ gtkbuiltincache.h: @REBUILD@ stamp-icons
+- $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT)
+- $(gtk_update_icon_cache_program) --force --ignore-theme-index \
++ $(GTK_UPDATE_ICON_CACHE) --force --ignore-theme-index \
+ --include-image-data \
+ --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \
+ mv gtkbuiltincache.h.tmp gtkbuiltincache.h
+--
+2.3.6
+
diff --git a/x11-libs/gtk+/files/gtk+-3.12.2-darwin10.6.patch b/x11-libs/gtk+/files/gtk+-3.12.2-darwin10.6.patch
new file mode 100644
index 000000000000..3955677f4c35
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-3.12.2-darwin10.6.patch
@@ -0,0 +1,39 @@
+Fix for Mac Os 10.7
+
+src_compile:
+gtkapplication-quartz-menu.c:265: error: incompatible type for argument 1 of 'roundf'
+make[4]: *** [libgtk_3_la-gtkapplication-quartz-menu.lo] Error 1
+
+More info:
+https://trac.macports.org/ticket/43283
+https://bugzilla.gnome.org/show_bug.cgi?id=727366
+https://bugs.gentoo.org/show_bug.cgi?id=519058
+
+--- gtk/gtkapplication-quartz-menu.c.orig 2014-05-08 01:40:39.000000000 +0200
++++ gtk/gtkapplication-quartz-menu.c 2014-05-15 11:16:09.000000000 +0200
+@@ -30,6 +30,16 @@
+
+ #import <Cocoa/Cocoa.h>
+
++#if !defined(MAC_OS_X_VERSION_10_7) || \
++MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7
++
++@interface NSScreen (LionAPI)
++- (CGFloat)backingScaleFactor;
++- (NSRect)convertRectToBacking:(NSRect)aRect;
++@end
++
++#endif // 10.7
++
+ #define ICON_SIZE 16
+
+ #define BLACK "#000000"
+@@ -262,7 +272,7 @@
+ }
+
+ theme = gtk_icon_theme_get_default ();
+- scale = roundf ([[NSScreen mainScreen] backingScaleFactor]);
++ scale = [[NSScreen mainScreen] respondsToSelector:@selector(backingScaleFactor)] ? roundf ([[NSScreen mainScreen] backingScaleFactor]) : 1.;
+ info = gtk_icon_theme_lookup_by_gicon_for_scale (theme, icon, ICON_SIZE, scale, GTK_ICON_LOOKUP_USE_BUILTIN);
+
+ if (info != NULL)
diff --git a/x11-libs/gtk+/files/gtk+-3.16.2-remove_update-icon-cache.patch b/x11-libs/gtk+/files/gtk+-3.16.2-remove_update-icon-cache.patch
new file mode 100644
index 000000000000..b121dd57281f
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-3.16.2-remove_update-icon-cache.patch
@@ -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
+
diff --git a/x11-libs/gtk+/files/gtk+-non-bash-support.patch b/x11-libs/gtk+/files/gtk+-non-bash-support.patch
new file mode 100644
index 000000000000..a1aac42c9f91
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-non-bash-support.patch
@@ -0,0 +1,56 @@
+From 43a4a28cdc60ac7347bb89f84cf049cb3401621d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Cardona?= <remi@gentoo.org>
+Date: Sun, 26 Oct 2014 01:59:33 +0400
+Subject: [PATCH] gtk/Makefile.am: Remove bashisms
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+- improve portability of ECHO
+- remove use of shopt
+
+https://bugzilla.gnome.org/show_bug.cgi?id=738835
+
+From: Alexander Tsoy <alexander@tsoy.me>
+Signed-off-by: Rémi Cardona <remi@gentoo.org>
+---
+ gtk/Makefile.am | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/gtk/Makefile.am b/gtk/Makefile.am
+index 96c651a..b1478ce 100644
+--- a/gtk/Makefile.am
++++ b/gtk/Makefile.am
+@@ -19,11 +19,7 @@ GTK_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %
+ endif
+
+ SUBDIRS = inspector native .
+-if OS_DARWIN
+- ECHO="echo"
+-else
+- ECHO=echo -e
+-endif
++ECHO=printf '%b\n'
+
+ if HAVE_CLOUDPRINT
+ if HAVE_PAPI_CUPS
+@@ -1405,12 +1401,13 @@ gtk.gresource.xml: Makefile.am
+ n=`basename $$f`; \
+ $(ECHO) " <file compressed=\"true\">ui/$$n</file>" >> $@; \
+ done; \
+- shopt -s nullglob; \
+ for s in 16x16 22x22 24x24 32x32 48x48; do \
+ for c in actions status; do \
+ for f in $(srcdir)/resources/icons/$$s/$$c/*.png; do \
+- n=`basename $$f`; \
+- $(ECHO) " <file>icons/$$s/$$c/$$n</file>" >> $@; \
++ if [ -e "$$f" ] ; then \
++ n=`basename $$f`; \
++ $(ECHO) " <file>icons/$$s/$$c/$$n</file>" >> $@; \
++ fi; \
+ done; \
+ done; \
+ done; \
+--
+2.3.0
+
diff --git a/x11-libs/gtk+/files/gtkrc b/x11-libs/gtk+/files/gtkrc
new file mode 100644
index 000000000000..8d1783431d9c
--- /dev/null
+++ b/x11-libs/gtk+/files/gtkrc
@@ -0,0 +1,39 @@
+style "default"
+
+{
+ font = "-*-lucida-medium-r-normal-*-*-100-*-*-*-*-*-*"
+}
+
+style "button" = "default"
+
+{
+ bg[PRELIGHT] = { 0.7, 0.7, 0.9 }
+}
+
+style "treeitem"
+{
+bg[ACTIVE] = { 0.7, 0.7, 0.9 }
+}
+
+style "scrollbar" = "button"
+{
+ bg[ACTIVE] = {0.6, 0.6, 0.6 }
+}
+
+style "status" {
+ bg[PRELIGHT] = { 0.3, 1.0, 0.3 }
+}
+
+style "gtk-tooltips" {
+ bg[NORMAL] = "#ffff60"
+}
+
+class "GtkWidget" style "default"
+class "GtkButton" style "button"
+class "GtkItem" style "button"
+class "GtkProgressBar" style "status"
+class "GtkScrollbar" style "scrollbar"
+class "GtkTreeItem" style "treeitem"
+widget "gtk-tooltips" style "gtk-tooltips"
+
+
diff --git a/x11-libs/gtk+/files/settings.ini b/x11-libs/gtk+/files/settings.ini
new file mode 100644
index 000000000000..a65c0a818dbc
--- /dev/null
+++ b/x11-libs/gtk+/files/settings.ini
@@ -0,0 +1,4 @@
+[Settings]
+gtk-theme-name = Adwaita
+gtk-icon-theme-name = gnome
+gtk-cursor-theme-name = Adwaita
diff --git a/x11-libs/gtk+/gtk+-1.2.10-r12.ebuild b/x11-libs/gtk+/gtk+-1.2.10-r12.ebuild
new file mode 100644
index 000000000000..3a5c423f155e
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-1.2.10-r12.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+GNOME_TARBALL_SUFFIX="gz"
+inherit gnome.org eutils toolchain-funcs autotools
+
+DESCRIPTION="The GIMP Toolkit"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI} http://www.ibiblio.org/gentoo/distfiles/gtk+-1.2.10-r8-gentoo.diff.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="1"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd"
+IUSE="nls debug"
+
+# Supported languages and translated documentation
+# Be sure all languages are prefixed with a single space!
+MY_AVAILABLE_LINGUAS=" az ca cs da de el es et eu fi fr ga gl hr hu it ja ko lt nl nn no pl pt_BR pt ro ru sk sl sr sv tr uk vi"
+IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}"
+
+RDEPEND=">=dev-libs/glib-1.2:1
+ x11-libs/libXi
+ x11-libs/libXt"
+DEPEND="${RDEPEND}
+ x11-proto/inputproto
+ x11-proto/xextproto
+ nls? ( sys-devel/gettext dev-util/intltool )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-m4.patch
+ epatch "${FILESDIR}"/${P}-automake.patch
+ epatch "${FILESDIR}"/${P}-cleanup.patch
+ epatch "${DISTDIR}"/gtk+-1.2.10-r8-gentoo.diff.bz2
+ epatch "${FILESDIR}"/${PN}-1.2-locale_fix.patch
+ epatch "${FILESDIR}"/${P}-as-needed.patch
+ sed -i '/libtool.m4/,/AM_PROG_NM/d' acinclude.m4 #168198
+ epatch "${FILESDIR}"/${P}-automake-1.13.patch #467520
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=
+ use nls || myconf="${myconf} --disable-nls"
+ strip-linguas ${MY_AVAILABLE_LINGUAS}
+
+ if use debug ; then
+ myconf="${myconf} --enable-debug=yes"
+ else
+ myconf="${myconf} --enable-debug=minimum"
+ fi
+
+ econf \
+ --sysconfdir=/etc \
+ --with-xinput=xfree \
+ --with-x \
+ ${myconf}
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+
+ dodoc AUTHORS ChangeLog* HACKING
+ dodoc NEWS* README* TODO
+ docinto docs
+ cd docs
+ dodoc *.txt *.gif text/*
+ dohtml -r html
+
+ #install nice, clean-looking gtk+ style
+ insinto /usr/share/themes/Gentoo/gtk
+ doins "${FILESDIR}"/gtkrc
+}
+
+pkg_postinst() {
+ if [[ -e /etc/X11/gtk/gtkrc ]] ; then
+ ewarn "Older versions added /etc/X11/gtk/gtkrc which changed settings for"
+ ewarn "all themes it seems. Please remove it manually as it will not due"
+ ewarn "to /env protection."
+ fi
+
+ echo ""
+ einfo "The old gtkrc is available through the new Gentoo gtk theme."
+}
diff --git a/x11-libs/gtk+/gtk+-1.2.10-r13.ebuild b/x11-libs/gtk+/gtk+-1.2.10-r13.ebuild
new file mode 100644
index 000000000000..e4ad4b9517e1
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-1.2.10-r13.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GNOME_TARBALL_SUFFIX="gz"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2 toolchain-funcs multilib-minimal
+
+DESCRIPTION="The GIMP Toolkit"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI} http://www.ibiblio.org/gentoo/distfiles/gtk+-1.2.10-r8-gentoo.diff.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="1"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="nls debug"
+
+# Supported languages and translated documentation
+# Be sure all languages are prefixed with a single space!
+MY_AVAILABLE_LINGUAS=" az ca cs da de el es et eu fi fr ga gl hr hu it ja ko lt nl nn no pl pt_BR pt ro ru sk sl sr sv tr uk vi"
+IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}"
+
+RDEPEND=">=dev-libs/glib-1.2.10-r6:1[${MULTILIB_USEDEP}]
+ >=x11-libs/libX11-1.5.0-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.1-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ >=x11-proto/inputproto-2.2-r1[${MULTILIB_USEDEP}]
+ >=x11-proto/xextproto-7.2.1-r1[${MULTILIB_USEDEP}]
+ nls? ( sys-devel/gettext dev-util/intltool )"
+
+MULTILIB_CHOST_TOOLS=(/usr/bin/gtk-config)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-m4.patch
+ epatch "${FILESDIR}"/${P}-automake.patch
+ epatch "${FILESDIR}"/${P}-cleanup.patch
+ epatch "${DISTDIR}"/gtk+-1.2.10-r8-gentoo.diff.bz2
+ epatch "${FILESDIR}"/${PN}-1.2-locale_fix.patch
+ epatch "${FILESDIR}"/${P}-as-needed.patch
+ sed -i '/libtool.m4/,/AM_PROG_NM/d' acinclude.m4 #168198
+ epatch "${FILESDIR}"/${P}-automake-1.13.patch #467520
+ eautoreconf
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ local myconf=
+ use nls || myconf="${myconf} --disable-nls"
+ strip-linguas ${MY_AVAILABLE_LINGUAS}
+
+ if use debug ; then
+ myconf="${myconf} --enable-debug=yes"
+ else
+ myconf="${myconf} --enable-debug=minimum"
+ fi
+
+ ECONF_SOURCE="${S}" \
+ gnome2_src_configure \
+ --disable-static \
+ --sysconfdir="${EPREFIX}"/etc \
+ --with-xinput=xfree \
+ --with-x \
+ ${myconf} \
+ GLIB_CONFIG="/usr/bin/${CHOST}-glib-config"
+}
+
+multilib_src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ docinto docs
+ cd docs
+ dodoc *.txt *.gif text/*
+ dohtml -r html
+
+ #install nice, clean-looking gtk+ style
+ insinto /usr/share/themes/Gentoo/gtk
+ doins "${FILESDIR}"/gtkrc
+}
+
+pkg_postinst() {
+ if [[ -e /etc/X11/gtk/gtkrc ]] ; then
+ ewarn "Older versions added /etc/X11/gtk/gtkrc which changed settings for"
+ ewarn "all themes it seems. Please remove it manually as it will not due"
+ ewarn "to /env protection."
+ fi
+
+ echo ""
+ einfo "The old gtkrc is available through the new Gentoo gtk theme."
+}
diff --git a/x11-libs/gtk+/gtk+-2.24.25.ebuild b/x11-libs/gtk+/gtk+-2.24.25.ebuild
new file mode 100644
index 000000000000..9c97d5687925
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-2.24.25.ebuild
@@ -0,0 +1,272 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit eutils flag-o-matic gnome2 multilib virtualx autotools readme.gentoo multilib-minimal
+
+DESCRIPTION="Gimp ToolKit +"
+HOMEPAGE="http://www.gtk.org/"
+
+LICENSE="LGPL-2+"
+SLOT="2"
+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"
+IUSE="aqua cups debug examples +introspection test vim-syntax xinerama"
+
+# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf)
+COMMON_DEPEND="
+ !aqua? (
+ >=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}]
+ >=x11-libs/cairo-1.12.14-r4:=[X,svg,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.30.7:2[X,introspection?,${MULTILIB_USEDEP}]
+ )
+ aqua? (
+ >=x11-libs/cairo-1.6:=[aqua,svg]
+ x11-libs/gdk-pixbuf:2[introspection?]
+ )
+ xinerama? ( >=x11-libs/libXinerama-1.1.3[${MULTILIB_USEDEP}] )
+ >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ >=x11-libs/pango-1.36.3[introspection?,${MULTILIB_USEDEP}]
+ >=dev-libs/atk-2.10.0[introspection?,${MULTILIB_USEDEP}]
+ >=media-libs/fontconfig-2.10.92[${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 )
+ !<gnome-base/gail-1000
+"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/gobject-introspection-common
+ 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}] )
+ >=dev-util/gtk-doc-am-1.20
+ 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}
+ !<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 docs/Makefile.in
+ strip_builddir SUBDIRS faq docs/Makefile.am docs/Makefile.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 Makefile.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
+ use aqua && for i in gtk+-2.0.pc gtk+-quartz-2.0.pc gtk+-unix-print-2.0.pc; do
+ sed -i -e "s:Libs\: :Libs\: -framework Carbon :" "${ED%/}"/usr/lib/pkgconfig/$i || die "sed failed"
+ done
+}
+
+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
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ set_gtk2_confdir
+
+ multilib_pkg_postinst() {
+ "${CHOST}"-gtk-query-immodules-2.0 --update-cache \
+ || die "Update immodules cache failed (for ${ABI})"
+ }
+ multilib_parallel_foreach_abi multilib_pkg_postinst
+
+ 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
+}
diff --git a/x11-libs/gtk+/gtk+-2.24.27.ebuild b/x11-libs/gtk+/gtk+-2.24.27.ebuild
new file mode 100644
index 000000000000..44d199680b72
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-2.24.27.ebuild
@@ -0,0 +1,300 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+
+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 examples +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/gdk-pixbuf-2.30.7:2[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(-)]
+ )
+"
+# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
+PDEPEND="gnome-base/librsvg[${MULTILIB_USEDEP}]
+ 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 tests running when building out of sources, bug #510596, upstream bug #730319
+ epatch "${FILESDIR}"/${PN}-2.24.24-out-of-source.patch
+
+ # marshalers code was pre-generated with glib-2.31, upstream bug #662109
+ rm -v gdk/gdkmarshalers.c gtk/gtkmarshal.c gtk/gtkmarshalers.c \
+ perf/marshalers.c || die
+
+ # Stop trying to build unmaintained docs, bug #349754, upstream bug #623150
+ 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)"
+
+ # 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
+
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ $(usex aqua --with-gdktarget=quartz --with-gdktarget=x11) \
+ $(usex aqua "" --with-xinput) \
+ $(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
+
+ 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+-2.24.28-r1.ebuild b/x11-libs/gtk+/gtk+-2.24.28-r1.ebuild
new file mode 100644
index 000000000000..62ead306ef36
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-2.24.28-r1.ebuild
@@ -0,0 +1,311 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+
+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 examples +introspection test vim-syntax xinerama"
+REQUIRED_USE="
+ xinerama? ( !aqua )
+"
+
+KEYWORDS="alpha amd64 arm ~arm64 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/gdk-pixbuf-2.30.7:2[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}
+ >=dev-util/gtk-update-icon-cache-2
+ !<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(-)]
+ )
+"
+# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
+PDEPEND="
+ gnome-base/librsvg[${MULTILIB_USEDEP}]
+ 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 tests running when building out of sources, bug #510596, upstream bug #730319
+ epatch "${FILESDIR}"/${PN}-2.24.24-out-of-source.patch
+
+ # Rely on split gtk-update-icon-cache package, bug #528810
+ epatch "${FILESDIR}"/${PN}-2.24.27-update-icon-cache.patch
+
+ # marshalers code was pre-generated with glib-2.31, upstream bug #662109
+ rm -v gdk/gdkmarshalers.c gtk/gtkmarshal.c gtk/gtkmarshalers.c \
+ perf/marshalers.c || die
+
+ # Stop trying to build unmaintained docs, bug #349754, upstream bug #623150
+ 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)"
+
+ # 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
+
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ $(usex aqua --with-gdktarget=quartz --with-gdktarget=x11) \
+ $(usex aqua "" --with-xinput) \
+ $(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, bug #????
+ # FIXME: Is this still needed? Any reference to try to upstream it?
+# 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
+ # Also set more default variables in sync with gtk3 and other distributions
+ echo 'gtk-fallback-icon-theme = "gnome"' > "${T}/gtkrc"
+ echo 'gtk-theme-name = "Adwaita"' >> "${T}/gtkrc"
+ echo 'gtk-icon-theme-name = "gnome"' >> "${T}/gtkrc"
+ echo 'gtk-cursor-theme-name = "Adwaita"' >> "${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
+
+ 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.12.2.ebuild b/x11-libs/gtk+/gtk+-3.12.2.ebuild
new file mode 100644
index 000000000000..cb639a59b038
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-3.12.2.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit eutils flag-o-matic gnome2 multilib virtualx
+
+DESCRIPTION="Gimp ToolKit +"
+HOMEPAGE="http://www.gtk.org/"
+
+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 cloudprint colord cups debug examples +introspection test vim-syntax wayland X xinerama"
+REQUIRED_USE="
+ || ( aqua wayland X )
+ xinerama? ( X )
+"
+
+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 ~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
+COMMON_DEPEND="
+ >=dev-libs/atk-2.7.5[introspection?]
+ >=dev-libs/glib-2.39.5:2
+ media-libs/fontconfig
+ >=x11-libs/cairo-1.12[aqua?,glib,svg,X?]
+ >=x11-libs/gdk-pixbuf-2.27.1:2[introspection?,X?]
+ >=x11-libs/gtk+-2.24:2
+ >=x11-libs/pango-1.32.4[introspection?]
+ x11-misc/shared-mime-info
+
+ cloudprint? (
+ >=net-libs/rest-0.7
+ >=dev-libs/json-glib-1.0 )
+ colord? ( >=x11-misc/colord-0.1.9:0= )
+ cups? ( >=net-print/cups-1.2 )
+ introspection? ( >=dev-libs/gobject-introspection-1.39 )
+ wayland? (
+ >=dev-libs/wayland-1.3.90
+ media-libs/mesa[wayland]
+ >=x11-libs/libxkbcommon-0.2
+ )
+ X? (
+ >=app-accessibility/at-spi2-atk-2.5.3
+ x11-libs/libXrender
+ x11-libs/libX11
+ >=x11-libs/libXi-1.3
+ x11-libs/libXext
+ >=x11-libs/libXrandr-1.3
+ x11-libs/libXcursor
+ x11-libs/libXfixes
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ xinerama? ( x11-libs/libXinerama )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.1.2
+ dev-libs/libxslt
+ dev-util/gdbus-codegen
+ >=dev-util/gtk-doc-am-1.20
+ sys-devel/gettext
+ virtual/pkgconfig
+ X? (
+ x11-proto/xextproto
+ x11-proto/xproto
+ x11-proto/inputproto
+ x11-proto/damageproto
+ xinerama? ( x11-proto/xineramaproto )
+ )
+ 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
+# http://mail.gnome.org/archives/desktop-devel-list/2012-March/msg00024.html
+RDEPEND="${COMMON_DEPEND}
+ !<gnome-base/gail-1000
+ !<x11-libs/vte-0.31.0:2.90
+ X? ( !<x11-base/xorg-server-1.11.4 )
+"
+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
+
+ # Build fix on Darwin 10.6; bug #519058
+ epatch "${FILESDIR}/${P}-darwin10.6.patch"
+
+ if ! use test ; then
+ # don't waste time building tests
+ strip_builddir SRC_SUBDIRS testsuite Makefile.am
+ strip_builddir SRC_SUBDIRS testsuite Makefile.in
+ 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
+ strip_builddir SRC_SUBDIRS examples Makefile.am
+ strip_builddir SRC_SUBDIRS examples Makefile.in
+ fi
+
+ gnome2_src_prepare
+}
+
+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 ...)
+ gnome2_src_configure \
+ $(use_enable aqua quartz-backend) \
+ $(use_enable cloudprint) \
+ $(use_enable colord) \
+ $(use_enable cups cups auto) \
+ $(usex debug --enable-debug=yes "") \
+ $(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 \
+ --enable-man \
+ --enable-gtk2-dependency \
+ --with-xml-catalog="${EPREFIX}"/etc/xml/catalog \
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+}
+
+src_test() {
+ # Tests require a new gnome-themes-standard, but adding it to DEPEND
+ # would result in circular dependencies.
+ # https://bugzilla.gnome.org/show_bug.cgi?id=669562
+ if ! has_version '>=x11-themes/gnome-themes-standard-3.6[gtk]'; then
+ ewarn "Tests will be skipped because >=gnome-themes-standard-3.6[gtk]"
+ ewarn "is not installed. Please re-run tests after installing the"
+ ewarn "required version of gnome-themes-standard."
+ return 0
+ fi
+
+ # FIXME: this should be handled at eclass level
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+ GSETTINGS_SCHEMA_DIR="${S}/gtk" Xemake check
+}
+
+src_install() {
+ gnome2_src_install
+
+ insinto /etc/gtk-3.0
+ doins "${FILESDIR}"/settings.ini
+
+ dodoc AUTHORS ChangeLog* HACKING NEWS* README*
+
+ # add -framework Carbon to the .pc files
+ if use aqua ; then
+ for i in gtk+-3.0.pc gtk+-quartz-3.0.pc gtk+-unix-print-3.0.pc; do
+ sed -e "s:Libs\: :Libs\: -framework Carbon :" \
+ -i "${ED}"usr/$(get_libdir)/pkgconfig/$i || die "sed failed"
+ done
+ fi
+}
+
+pkg_preinst() {
+ gnome2_pkg_preinst
+
+ # Make sure loaders.cache belongs to gdk-pixbuf 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
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ gnome2_query_immodules_gtk3
+
+ 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_VERSIONS} ]]; then
+ rm -f "${EROOT}"usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache
+ fi
+}
diff --git a/x11-libs/gtk+/gtk+-3.14.13.ebuild b/x11-libs/gtk+/gtk+-3.14.13.ebuild
new file mode 100644
index 000000000000..ad321c084eb2
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-3.14.13.ebuild
@@ -0,0 +1,245 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+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 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 ~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)
+COMMON_DEPEND="
+ >=dev-libs/atk-2.12[introspection?,${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.41.2:2[${MULTILIB_USEDEP}]
+ media-libs/fontconfig[${MULTILIB_USEDEP}]
+ >=x11-libs/cairo-1.12[aqua?,glib,svg,X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.30:2[introspection?,X?,${MULTILIB_USEDEP}]
+ >=x11-libs/pango-1.36.7[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.5.91[${MULTILIB_USEDEP}]
+ 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.3[${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
+ 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
+# http://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 )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtklibs-20140508-r3
+ !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
+ )
+"
+# 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
+)
+
+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() {
+ # 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
+ replace-flags -O3 -O2
+ strip-flags
+
+ if ! use test ; then
+ # don't waste time building tests
+ strip_builddir SRC_SUBDIRS testsuite Makefile.{am,in}
+ 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
+
+ epatch_user
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+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 \
+ --enable-man \
+ --enable-gtk2-dependency \
+ --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() {
+ # FIXME: this should be handled at eclass level
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+ unset DISPLAY #527682
+ GSETTINGS_SCHEMA_DIR="${S}/gtk" Xemake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+
+ # add -framework Carbon to the .pc files, bug #????
+ # FIXME: Is this still needed?
+# if use aqua ; then
+# for i in gtk+-3.0.pc gtk+-quartz-3.0.pc gtk+-unix-print-3.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() {
+ insinto /etc/gtk-3.0
+ doins "${FILESDIR}"/settings.ini
+
+ dodoc AUTHORS ChangeLog* HACKING NEWS* README*
+}
+
+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_VERSIONS} ]]; 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
+}
diff --git a/x11-libs/gtk+/gtk+-3.14.9.ebuild b/x11-libs/gtk+/gtk+-3.14.9.ebuild
new file mode 100644
index 000000000000..45b486bc020e
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-3.14.9.ebuild
@@ -0,0 +1,244 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+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 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 ~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
+COMMON_DEPEND="
+ >=dev-libs/atk-2.12[introspection?,${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.41.2:2[${MULTILIB_USEDEP}]
+ media-libs/fontconfig[${MULTILIB_USEDEP}]
+ >=x11-libs/cairo-1.12[aqua?,glib,svg,X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.30:2[introspection?,X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-2.24:2[${MULTILIB_USEDEP}]
+ >=x11-libs/pango-1.36.7[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.5.91[${MULTILIB_USEDEP}]
+ 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.3[${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
+ 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
+# http://mail.gnome.org/archives/desktop-devel-list/2012-March/msg00024.html
+RDEPEND="${COMMON_DEPEND}
+ !<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 )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtklibs-20140508-r3
+ !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
+ )
+"
+# 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
+)
+
+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() {
+ # 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
+ replace-flags -O3 -O2
+ strip-flags
+
+ if ! use test ; then
+ # don't waste time building tests
+ strip_builddir SRC_SUBDIRS testsuite Makefile.{am,in}
+ 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
+
+ epatch_user
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+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 \
+ --enable-man \
+ --enable-gtk2-dependency \
+ --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() {
+ # FIXME: this should be handled at eclass level
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+ unset DISPLAY #527682
+ GSETTINGS_SCHEMA_DIR="${S}/gtk" Xemake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+
+ # add -framework Carbon to the .pc files, bug #????
+ if use aqua ; then
+ for i in gtk+-3.0.pc gtk+-quartz-3.0.pc gtk+-unix-print-3.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() {
+ insinto /etc/gtk-3.0
+ doins "${FILESDIR}"/settings.ini
+
+ dodoc AUTHORS ChangeLog* HACKING NEWS* README*
+}
+
+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_VERSIONS} ]]; 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
+}
diff --git a/x11-libs/gtk+/gtk+-3.16.4.ebuild b/x11-libs/gtk+/gtk+-3.16.4.ebuild
new file mode 100644
index 000000000000..17d230e1f60d
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-3.16.4.ebuild
@@ -0,0 +1,249 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+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 ~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 ~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)
+COMMON_DEPEND="
+ >=dev-libs/atk-2.15[introspection?,${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.43.4:2[${MULTILIB_USEDEP}]
+ media-libs/fontconfig[${MULTILIB_USEDEP}]
+ >=media-libs/libepoxy-1.0[${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.36.7[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.5.91[${MULTILIB_USEDEP}]
+ 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.3[${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 )
+ examples? ( media-libs/libcanberra[gtk3] )
+"
+# 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
+# http://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 )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtklibs-20140508-r3
+ !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
+ )
+"
+# 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
+)
+
+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
+ epatch "${FILESDIR}"/${PN}-3.16.2-remove_update-icon-cache.patch
+
+ epatch_user
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+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() {
+ # FIXME: this should be handled at eclass level
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+ unset DISPLAY #527682
+ GSETTINGS_SCHEMA_DIR="${S}/gtk" Xemake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+
+ # add -framework Carbon to the .pc files, bug #???
+ if use aqua ; then
+ for i in gtk+-3.0.pc gtk+-quartz-3.0.pc gtk+-unix-print-3.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() {
+ insinto /etc/gtk-3.0
+ doins "${FILESDIR}"/settings.ini
+
+ dodoc AUTHORS ChangeLog* HACKING NEWS* README*
+}
+
+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_VERSIONS} ]]; 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
+}
diff --git a/x11-libs/gtk+/gtk+-3.16.5.ebuild b/x11-libs/gtk+/gtk+-3.16.5.ebuild
new file mode 100644
index 000000000000..58c561228cd4
--- /dev/null
+++ b/x11-libs/gtk+/gtk+-3.16.5.ebuild
@@ -0,0 +1,249 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+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 ~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 ~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)
+COMMON_DEPEND="
+ >=dev-libs/atk-2.15[introspection?,${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.43.4:2[${MULTILIB_USEDEP}]
+ media-libs/fontconfig[${MULTILIB_USEDEP}]
+ >=media-libs/libepoxy-1.0[${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.36.7[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.5.91[${MULTILIB_USEDEP}]
+ 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.3[${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 )
+ examples? ( media-libs/libcanberra[gtk3] )
+"
+# 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
+# http://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 )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtklibs-20140508-r3
+ !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
+ )
+"
+# 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
+)
+
+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
+ epatch "${FILESDIR}"/${PN}-3.16.2-remove_update-icon-cache.patch
+
+ epatch_user
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+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() {
+ # FIXME: this should be handled at eclass level
+ "${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/gtk" || die
+
+ unset DBUS_SESSION_BUS_ADDRESS
+ unset DISPLAY #527682
+ GSETTINGS_SCHEMA_DIR="${S}/gtk" Xemake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+
+ # add -framework Carbon to the .pc files, bug #???
+ if use aqua ; then
+ for i in gtk+-3.0.pc gtk+-quartz-3.0.pc gtk+-unix-print-3.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() {
+ insinto /etc/gtk-3.0
+ doins "${FILESDIR}"/settings.ini
+
+ dodoc AUTHORS ChangeLog* HACKING NEWS* README*
+}
+
+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_VERSIONS} ]]; 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
+}
diff --git a/x11-libs/gtk+/metadata.xml b/x11-libs/gtk+/metadata.xml
new file mode 100644
index 000000000000..f5d67e73f0e5
--- /dev/null
+++ b/x11-libs/gtk+/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <longdescription>
+ GTK+ is a multi-platform toolkit for creating graphical user
+ interfaces. Offering a complete set of widgets, GTK+ is suitable
+ for projects ranging from small one-off projects to complete
+ application suites.
+ </longdescription>
+ <use>
+ <flag name="broadway">Enable the GDK Broadway backend.</flag>
+ <flag name="cloudprint">Enable printing via Google Cloud Print.</flag>
+ <flag name="colord">Use <pkg>x11-misc/colord</pkg> for color management
+ in printing</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gtk:gtk%2B</remote-id>
+ </upstream>
+</pkgmetadata>