diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /x11-libs/gtk+ | |
download | gentoo-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+')
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> |