summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/glib')
-rw-r--r--dev-libs/glib/Manifest6
-rw-r--r--dev-libs/glib/files/glib-1.2.10-automake-1.13.patch23
-rw-r--r--dev-libs/glib/files/glib-1.2.10-automake.patch29
-rw-r--r--dev-libs/glib/files/glib-1.2.10-configure-LANG.patch44
-rw-r--r--dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch41
-rw-r--r--dev-libs/glib/files/glib-1.2.10-m4.patch9
-rw-r--r--dev-libs/glib/files/glib-2.34.0-testsuite-skip-thread4.patch44
-rw-r--r--dev-libs/glib/files/glib-2.40.0-external-gdbus-codegen.patch95
-rw-r--r--dev-libs/glib/glib-1.2.10-r5.ebuild66
-rw-r--r--dev-libs/glib/glib-1.2.10-r6.ebuild77
-rw-r--r--dev-libs/glib/glib-2.40.2.ebuild275
-rw-r--r--dev-libs/glib/glib-2.42.2.ebuild270
-rw-r--r--dev-libs/glib/glib-2.44.1.ebuild270
-rw-r--r--dev-libs/glib/metadata.xml19
14 files changed, 1268 insertions, 0 deletions
diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest
new file mode 100644
index 000000000000..ee6dea7899a1
--- /dev/null
+++ b/dev-libs/glib/Manifest
@@ -0,0 +1,6 @@
+DIST glib-1.2.10-r1-as-needed.patch.bz2 9099 SHA256 3bb8c45706f97b526da851061c89618bc258fa61f9100802c1340548e4bb2731 SHA512 e65c7f66254eae22deaa67bf621ebd1d7af897b93d93ba6cffaa4ce9894cf14c140e6888d877b6b36fcea8be1b8d1ef4fcc7ec1719bd23b1cc6fd662876c70ae WHIRLPOOL 20254678a86595353058ee8dc81a02e4ae7bb16ba9ba34e036fe2e99d3fffa25c825f8961bdeb5fa50c49582ce37e65684e414631c74653c4523c2baee34c341
+DIST glib-1.2.10.tar.gz 421480 SHA256 6e1ce7eedae713b11db82f11434d455d8a1379f783a79812cd2e05fc024a8d9f SHA512 4452b741382194d4ca425f084fa60e1a9e30040ac2e839c9136047d0461cf4b1ebcc16aac4e65998d1b9329ead8f617966b3d09317a83634f14d556a7e14b7a8 WHIRLPOOL 478957ce8e49228d022bae50b042cdfc6d522d0d4880a0328b5695471295450c81c5e186e1760e56e317a4c4c95aabc5f2010d7a9b912fc451d04e14610e7dca
+DIST glib-2.40.2.tar.xz 7001344 SHA256 e8ff8af2950897e805408480c454c415d1eade4e670ec5fb507f5e5853726c7a SHA512 6d4c254a033a2e558574fb1aa95f6f3215a24d49d69cdb353f0186cac186eb1301563ab271ac86d82734dd1586d88fdd9d53f1c0e2b43f103aae53223884c153 WHIRLPOOL 2b5bfb3647cd802264716cc69ea0e7e26385b9b0db0610ea7078ba99a0a90dadc9197c49fa122cc8082a8edb166ad8f2d6be76e5b7491e786c74ce4aac91d472
+DIST glib-2.42.2.tar.xz 7002480 SHA256 a3cc1ebd2bd310a9fdf42ae4293ee713cdf1764bd29f552febf3bf44cadae7db SHA512 6b46e4ac67d79ca2cc5c32ceb7cc8112140645032cb3c8c9ba2f59a0d3c2aee06707b7573bbd72f6c21ea7798a7351bd205aa57857a58b0be008c75f897ef782 WHIRLPOOL 5c25c5f6d20217cce4f8c34d9d05cd39197b4b36c5a85447943fcab47cd343253879516b722eb0c4895eebae5f3d4e76c820730b9e7f6c890aca9c87dc963564
+DIST glib-2.44.1.tar.xz 7132940 SHA256 8811deacaf8a503d0a9b701777ea079ca6a4277be10e3d730d2112735d5eca07 SHA512 c24d307408e061b2657f7e7d1b8245c55605ebda26ee2dcc3497ee9d90bfc137d8e5f42f0cd5acf4b49ea28c424fa901e81f75ecf81833f6d0fe51d5e36e5888 WHIRLPOOL 6a1eef94b3ffed4d5cb551f4def6859ddff8ea0aac50048e706863f2bd4957c40b7034946852fa4604a109eb121c55b94ec51b3708a325ace5692f61fd1babb7
+DIST pkg-config-0.28.tar.gz 1931203 SHA256 6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845 SHA512 6eafa5ca77c5d44cd15f48457a5e96fcea2555b66d8e35ada5ab59864a0aa03d441e15f54ab9c6343693867b3b490f392c75b7d9312f024c9b7ec6a0194d8320 WHIRLPOOL db4ddb4ce61724e629931c5ffccb4d7a551b4dc0f4efed5a966822307e4b5a786adee5705dd80ec0a9aa32cb1af9ad9615e307360e131fc34688207216161486
diff --git a/dev-libs/glib/files/glib-1.2.10-automake-1.13.patch b/dev-libs/glib/files/glib-1.2.10-automake-1.13.patch
new file mode 100644
index 000000000000..abca1ed8db19
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-automake-1.13.patch
@@ -0,0 +1,23 @@
+Replace macros deprecated in automake-1.13; fixed upstream in glib-2.36
+
+diff --git a/configure.in b/configure.in
+index e94cc77..d88d834 100644
+--- a/configure.in
++++ b/configure.in
+@@ -60,7 +60,7 @@ PACKAGE=glib
+ AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
+
+ # Specify a configuration file
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+
+ AC_DEFINE_UNQUOTED(GLIB_MAJOR_VERSION, $GLIB_MAJOR_VERSION)
+ AC_DEFINE_UNQUOTED(GLIB_MINOR_VERSION, $GLIB_MINOR_VERSION)
+@@ -151,7 +151,6 @@ AC_DEFINE_UNQUOTED(G_COMPILED_WITH_DEBUGGING, "${enable_debug}")
+
+ # Checks for programs.
+ AC_PROG_CC
+-AM_PROG_CC_STDC
+ AC_PROG_INSTALL
+
+ changequote(,)dnl
diff --git a/dev-libs/glib/files/glib-1.2.10-automake.patch b/dev-libs/glib/files/glib-1.2.10-automake.patch
new file mode 100644
index 000000000000..c4f8fd32110c
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-automake.patch
@@ -0,0 +1,29 @@
+fix errors with newer automake:
+
+gmodule/Makefile.am:44: testgmodule_LDFLAGS must be set with `=' before using `+='
+
+Makefile.am:73: BUILT_SOURCES multiply defined in condition TRUE ...
+Makefile.am:11: ... `BUILT_SOURCES' previously defined here
+
+--- Makefile.am
++++ Makefile.am
+@@ -70,7 +70,7 @@
+
+ CONFIGURE_DEPENDENCIES = acglib.m4
+
+-BUILT_SOURCES = stamp-gc-h #note: not glibconfig.h
++BUILT_SOURCES += stamp-gc-h #note: not glibconfig.h
+ glibconfig.h: stamp-gc-h
+ @:
+ stamp-gc-h: config.status
+--- gmodule/Makefile.am
++++ gmodule/Makefile.am
+@@ -41,7 +41,7 @@
+ libgplugin_b_la_LIBADD = @G_MODULE_LIBS@ $(libglib)
+
+ noinst_PROGRAMS = testgmodule
+-testgmodule_LDFLAGS += @G_MODULE_LDFLAGS@
++testgmodule_LDFLAGS = @G_MODULE_LDFLAGS@
+ testgmodule_LDADD = libgmodule.la $(libglib) @G_MODULE_LIBS@
+
+ .PHONY: files release
diff --git a/dev-libs/glib/files/glib-1.2.10-configure-LANG.patch b/dev-libs/glib/files/glib-1.2.10-configure-LANG.patch
new file mode 100644
index 000000000000..b5e9e82a74f1
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-configure-LANG.patch
@@ -0,0 +1,44 @@
+The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
+option parsing, it may break.
+
+http://bugs.gentoo.org/133679
+
+--- configure
++++ configure
+@@ -54,6 +54,19 @@
+ infodir='${prefix}/info'
+ mandir='${prefix}/man'
+
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ unset $as_var
++ fi
++done
++
+ # Initialize some other variables.
+ subdirs=
+ MFLAGS= MAKEFLAGS=
+@@ -452,16 +463,6 @@
+ esac
+ done
+
+-# NLS nuisances.
+-# Only set these to C if already set. These must not be set unconditionally
+-# because not all systems understand e.g. LANG=C (notably SCO).
+-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+-# Non-C LC_CTYPE values break the ctype check.
+-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+-
+ # confdefs.h avoids OS command line length limits that DEFS can exceed.
+ rm -rf conftest* confdefs.h
+ # AIX cpp loses on an empty file, so make sure it contains at least a newline.
diff --git a/dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch b/dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch
new file mode 100644
index 000000000000..1b896484d2d9
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch
@@ -0,0 +1,41 @@
+--- glib-1.2.10/gstrfuncs.c.orig 2001-02-27 07:00:22.000000000 +0100
++++ glib-1.2.10/gstrfuncs.c 2004-03-01 13:19:49.531603760 +0100
+@@ -867,7 +867,7 @@
+ /* beware of positional parameters
+ */
+ case '$':
+- g_warning (G_GNUC_PRETTY_FUNCTION
++ g_warning ("%s%s", G_GNUC_PRETTY_FUNCTION,
+ "(): unable to handle positional parameters (%%n$)");
+ len += 1024; /* try adding some safety padding */
+ break;
+@@ -1034,7 +1034,7 @@
+ /* n . dddddddddddddddddddddddd E +- eeee */
+ conv_len += 1 + 1 + MAX (24, spec.precision) + 1 + 1 + 4;
+ if (spec.mod_extra_long)
+- g_warning (G_GNUC_PRETTY_FUNCTION
++ g_warning ("%s%s", G_GNUC_PRETTY_FUNCTION,
+ "(): unable to handle long double, collecting double only");
+ #ifdef HAVE_LONG_DOUBLE
+ #error need to implement special handling for long double
+@@ -1077,7 +1077,7 @@
+ conv_done = TRUE;
+ if (spec.mod_long)
+ {
+- g_warning (G_GNUC_PRETTY_FUNCTION
++ g_warning ("%s%s", G_GNUC_PRETTY_FUNCTION,
+ "(): unable to handle wide char strings");
+ len += 1024; /* try adding some safety padding */
+ }
+@@ -1108,9 +1108,8 @@
+ conv_len += format - spec_start;
+ break;
+ default:
+- g_warning (G_GNUC_PRETTY_FUNCTION
+- "(): unable to handle `%c' while parsing format",
+- c);
++ g_warning ("%s(): unable to handle `%c' while parsing format",
++ G_GNUC_PRETTY_FUNCTION, c);
+ break;
+ }
+ conv_done |= conv_len > 0;
diff --git a/dev-libs/glib/files/glib-1.2.10-m4.patch b/dev-libs/glib/files/glib-1.2.10-m4.patch
new file mode 100644
index 000000000000..f57ecf7c11f9
--- /dev/null
+++ b/dev-libs/glib/files/glib-1.2.10-m4.patch
@@ -0,0 +1,9 @@
+Fix aclocal warning:
+/usr/share/aclocal/glib.m4:8: warning: underquoted definition of AM_PATH_GLIB
+--- glib-1.2.10/glib.m4
++++ glib-1.2.10/glib.m4
+@@ -7,3 +7,3 @@
+ dnl
+-AC_DEFUN(AM_PATH_GLIB,
++AC_DEFUN([AM_PATH_GLIB],
+ [dnl
diff --git a/dev-libs/glib/files/glib-2.34.0-testsuite-skip-thread4.patch b/dev-libs/glib/files/glib-2.34.0-testsuite-skip-thread4.patch
new file mode 100644
index 000000000000..584b56f41c94
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.34.0-testsuite-skip-thread4.patch
@@ -0,0 +1,44 @@
+From 4881b5d303512208b55f5bf78b91cd6a85e5034c Mon Sep 17 00:00:00 2001
+From: Priit Laes <plaes@plaes.org>
+Date: Tue, 3 Jul 2012 11:21:56 +0300
+Subject: [PATCH 2/4] Gentoo: skip over thread/thread4 test failure
+
+https://bugzilla.gnome.org/show_bug.cgi?id=679306
+---
+ glib/tests/thread.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/glib/tests/thread.c b/glib/tests/thread.c
+index 539782e..179ec06 100644
+--- a/glib/tests/thread.c
++++ b/glib/tests/thread.c
+@@ -124,6 +124,8 @@ test_thread3 (void)
+ g_assert_cmpint (GPOINTER_TO_INT(result), ==, 9);
+ }
+
++#if 0
++// https://bugzilla.gnome.org/show_bug.cgi?id=679306
+ /* test that thread creation fails as expected,
+ * by setting RLIMIT_NPROC ridiculously low
+ */
+@@ -158,6 +160,7 @@ test_thread4 (void)
+ g_error ("resetting RLIMIT_NPROC failed: %s\n", g_strerror (ret));
+ #endif
+ }
++#endif
+
+ static void
+ test_thread5 (void)
+@@ -203,7 +206,9 @@ main (int argc, char *argv[])
+ g_test_add_func ("/thread/thread1", test_thread1);
+ g_test_add_func ("/thread/thread2", test_thread2);
+ g_test_add_func ("/thread/thread3", test_thread3);
++#if 0
+ g_test_add_func ("/thread/thread4", test_thread4);
++#endif
+ g_test_add_func ("/thread/thread5", test_thread5);
+ g_test_add_func ("/thread/thread6", test_thread6);
+
+--
+1.8.3.2
+
diff --git a/dev-libs/glib/files/glib-2.40.0-external-gdbus-codegen.patch b/dev-libs/glib/files/glib-2.40.0-external-gdbus-codegen.patch
new file mode 100644
index 000000000000..50a9370e36c4
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.40.0-external-gdbus-codegen.patch
@@ -0,0 +1,95 @@
+diff --git a/configure.ac b/configure.ac
+index a01e58d..59d4527 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -367,14 +367,14 @@ AC_SUBST(PERL_PATH)
+ # option to specify python interpreter to use; this just sets $PYTHON, so that
+ # we will fallback to reading $PYTHON if --with-python is not given, and
+ # python.m4 will get the expected input
+-AC_ARG_WITH(python,
+- AS_HELP_STRING([--with-python=PATH],
+- [Path to Python interpreter; searches $PATH if only a program name is given; if not given, searches for a few standard names such as "python3" or "python2"]),
+- [PYTHON="$withval"], [])
+-if test x"$PYTHON" = xyes; then
+- AC_MSG_ERROR([--with-python option requires a path or program argument])
+-fi
+-AM_PATH_PYTHON(2.5,,PYTHON="/usr/bin/env python2.5")
++# AC_ARG_WITH(python,
++# AS_HELP_STRING([--with-python=PATH],
++# [Path to Python interpreter; searches $PATH if only a program name is given; if not given, searches for a few standard names such as "python3" or "python2"]),
++# [PYTHON="$withval"], [])
++# if test x"$PYTHON" = xyes; then
++# AC_MSG_ERROR([--with-python option requires a path or program argument])
++# fi
++# AM_PATH_PYTHON(2.5,,PYTHON="/usr/bin/env python2.5")
+
+
+ dnl ***********************
+@@ -3580,7 +3580,6 @@ gobject/glib-mkenums
+ gobject/tests/Makefile
+ gthread/Makefile
+ gio/Makefile
+-gio/gdbus-2.0/codegen/Makefile
+ gio/gdbus-2.0/codegen/config.py
+ gio/gnetworking.h
+ gio/xdgmime/Makefile
+diff --git a/docs/reference/gio/Makefile.am b/docs/reference/gio/Makefile.am
+index 47fdd38..c7eb136 100644
+--- a/docs/reference/gio/Makefile.am
++++ b/docs/reference/gio/Makefile.am
+@@ -157,8 +157,7 @@ man_MANS += \
+ glib-compile-resources.1 \
+ gsettings.1 \
+ gresource.1 \
+- gdbus.1 \
+- gdbus-codegen.1
++ gdbus.1
+
+ XSLTPROC_FLAGS = \
+ --nonet \
+diff --git a/gio/Makefile.am b/gio/Makefile.am
+index e993e2f..025ad94 100644
+--- a/gio/Makefile.am
++++ b/gio/Makefile.am
+@@ -1,6 +1,6 @@
+ include $(top_srcdir)/glib.mk
+
+-SUBDIRS = gdbus-2.0/codegen
++SUBDIRS =
+
+ if OS_UNIX
+ SUBDIRS += xdgmime
+diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
+index 2c54e59..3cd3c5a 100644
+--- a/gio/tests/Makefile.am
++++ b/gio/tests/Makefile.am
+@@ -437,10 +437,8 @@ gnotification_SOURCES = $(gdbus_sessionbus_sources) gnotifica
+
+ BUILT_SOURCES += gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h
+ gdbus-test-codegen.o: gdbus-test-codegen-generated.h
+-gdbus-test-codegen-generated.h: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
+- $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
+- UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
+- $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
++gdbus-test-codegen-generated.h: test-codegen.xml Makefile
++ $(AM_V_GEN) gdbus-codegen \
+ --interface-prefix org.project. \
+ --generate-c-code gdbus-test-codegen-generated \
+ --c-generate-object-manager \
+diff --git a/gio/tests/gdbus-object-manager-example/Makefile.am b/gio/tests/gdbus-object-manager-example/Makefile.am
+index d6d1412..62ef706 100644
+--- a/gio/tests/gdbus-object-manager-example/Makefile.am
++++ b/gio/tests/gdbus-object-manager-example/Makefile.am
+@@ -11,10 +11,8 @@ GDBUS_GENERATED = \
+ gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Cat.xml \
+ $(NULL)
+
+-$(GDBUS_GENERATED) : gdbus-example-objectmanager.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
+- $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
+- UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
+- $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
++$(GDBUS_GENERATED) : gdbus-example-objectmanager.xml Makefile
++ $(AM_V_GEN) gdbus-codegen \
+ --interface-prefix org.gtk.GDBus.Example.ObjectManager. \
+ --c-namespace Example \
+ --c-generate-object-manager \
diff --git a/dev-libs/glib/glib-1.2.10-r5.ebuild b/dev-libs/glib/glib-1.2.10-r5.ebuild
new file mode 100644
index 000000000000..5f268353c923
--- /dev/null
+++ b/dev-libs/glib/glib-1.2.10-r5.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit autotools libtool flag-o-matic eutils portability
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="ftp://ftp.gtk.org/pub/gtk/v1.2/${P}.tar.gz
+ ftp://ftp.gnome.org/pub/GNOME/stable/sources/glib/${P}.tar.gz
+ mirror://gentoo/glib-1.2.10-r1-as-needed.patch.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="1"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
+IUSE="hardened"
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-automake.patch
+ epatch "${FILESDIR}"/${P}-m4.patch
+ epatch "${FILESDIR}"/${P}-configure-LANG.patch #133679
+
+ # Allow glib to build with gcc-3.4.x #47047
+ epatch "${FILESDIR}"/${P}-gcc34-fix.patch
+
+ # Fix for -Wl,--as-needed (bug #133818)
+ epatch "${DISTDIR}"/glib-1.2.10-r1-as-needed.patch.bz2
+
+ # build failure with automake-1.13
+ epatch "${FILESDIR}/${P}-automake-1.13.patch"
+
+ use ppc64 && use hardened && replace-flags -O[2-3] -O1
+ append-ldflags $(dlopen_lib)
+
+ rm -f acinclude.m4 #168198
+ eautoreconf
+ elibtoolize
+}
+
+src_configure() {
+ # Bug 48839: pam fails to build on ia64
+ # The problem is that it attempts to link a shared object against
+ # libglib.a; this library needs to be built with -fPIC. Since
+ # this package doesn't contain any significant binaries, build the
+ # whole thing with -fPIC (23 Apr 2004 agriffis)
+ append-flags -fPIC
+
+ econf \
+ --with-threads=posix \
+ --enable-debug=yes
+}
+
+src_install() {
+ default
+
+ dodoc AUTHORS ChangeLog README* INSTALL NEWS
+ dohtml -r docs
+
+ cd "${D}"/usr/$(get_libdir) || die
+ chmod 755 libgmodule-1.2.so.*
+}
diff --git a/dev-libs/glib/glib-1.2.10-r6.ebuild b/dev-libs/glib/glib-1.2.10-r6.ebuild
new file mode 100644
index 000000000000..7233d4f7c3ef
--- /dev/null
+++ b/dev-libs/glib/glib-1.2.10-r6.ebuild
@@ -0,0 +1,77 @@
+# 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 libtool flag-o-matic portability multilib-minimal
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+ mirror://gentoo/glib-1.2.10-r1-as-needed.patch.bz2
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="1"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+IUSE="hardened static-libs"
+
+DEPEND=""
+RDEPEND=""
+
+MULTILIB_CHOST_TOOLS=(/usr/bin/glib-config)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-automake.patch
+ epatch "${FILESDIR}"/${P}-m4.patch
+ epatch "${FILESDIR}"/${P}-configure-LANG.patch #133679
+
+ # Allow glib to build with gcc-3.4.x #47047
+ epatch "${FILESDIR}"/${P}-gcc34-fix.patch
+
+ # Fix for -Wl,--as-needed (bug #133818)
+ epatch "${DISTDIR}"/glib-1.2.10-r1-as-needed.patch.bz2
+
+ # build failure with automake-1.13
+ epatch "${FILESDIR}/${P}-automake-1.13.patch"
+
+ use ppc64 && use hardened && replace-flags -O[2-3] -O1
+ sed -i "/libglib_la_LDFLAGS/i libglib_la_LIBADD = $(dlopen_lib)" Makefile.am || die
+
+ rm -f acinclude.m4 #168198
+
+ mv configure.in configure.ac || die
+
+ eautoreconf
+ elibtoolize
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ # Bug 48839: pam fails to build on ia64
+ # The problem is that it attempts to link a shared object against
+ # libglib.a; this library needs to be built with -fPIC. Since
+ # this package doesn't contain any significant binaries, build the
+ # whole thing with -fPIC (23 Apr 2004 agriffis)
+ append-flags -fPIC
+
+ ECONF_SOURCE="${S}" \
+ gnome2_src_configure \
+ --with-threads=posix \
+ --enable-debug=yes \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+
+ chmod 755 "${ED}"/usr/$(get_libdir)/libgmodule-1.2.so.* || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dohtml -r docs
+}
diff --git a/dev-libs/glib/glib-2.40.2.ebuild b/dev-libs/glib/glib-2.40.2.ebuild
new file mode 100644
index 000000000000..b32584ce10e7
--- /dev/null
+++ b/dev-libs/glib/glib-2.40.2.ebuild
@@ -0,0 +1,275 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+# Building with --disable-debug highly unrecommended. It will build glib in
+# an unusable form as it disables some commonly used API. Please do not
+# convert this to the use_enable form, as it results in a broken build.
+GCONF_DEBUG="yes"
+# Completely useless with or without USE static-libs, people need to use
+# pkg-config
+GNOME2_LA_PUNT="yes"
+
+inherit autotools bash-completion-r1 gnome2 libtool eutils flag-o-matic multilib \
+ pax-utils python-r1 toolchain-funcs versionator virtualx linux-info multilib-minimal
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+ http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2+"
+SLOT="2"
+IUSE="fam kernel_linux +mime selinux static-libs systemtap test utils xattr"
+REQUIRED_USE="
+ utils? ( ${PYTHON_REQUIRED_USE} )
+ test? ( ${PYTHON_REQUIRED_USE} )
+"
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/elfutils-0.142
+ >=dev-libs/libelf-0.8.12
+ >=sys-freebsd/freebsd-lib-9.2_rc1
+ )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] )
+ fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
+ utils? (
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.1.2
+ >=dev-libs/libxslt-1.0
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.20
+ systemtap? ( >=dev-util/systemtap-1.3 )
+ test? (
+ sys-devel/gdb
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}]
+ >=sys-apps/dbus-1.2.14 )
+ !<dev-util/gtk-doc-1.15-r2
+"
+# gobject-introspection blocker to ensure people don't mix
+# different g-i and glib major versions
+
+PDEPEND="!<gnome-base/gvfs-1.6.4-r990
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# Earlier versions of gvfs do not work with glib
+
+#DOCS="AUTHORS ChangeLog* NEWS* README"
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ export IPV6_DISABLED="yes"
+ fi
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ # Prevent build failure in stage3 where pkgconfig is not available, bug #481056
+ mv -f "${WORKDIR}"/pkg-config-*/pkg.m4 "${S}"/m4macros/ || die
+
+ # Fix gmodule issues on fbsd; bug #184301, upstream bug #107626
+ # Upstream doesn't even know if this is needed, looks like openBSD
+ # people is not needing it
+# epatch "${FILESDIR}"/${PN}-2.12.12-fbsd.patch
+
+ if use test; then
+ # Do not try to remove files on live filesystem, upstream bug #619274
+ sed 's:^\(.*"/desktop-app-info/delete".*\):/*\1*/:' \
+ -i "${S}"/gio/tests/desktop-app-info.c || die "sed failed"
+
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/desktop-app-info\/default/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/fallback/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/lastused/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ ewarn "Some tests will be skipped due to missing terminal program"
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ fi
+
+ # Disable tests requiring dbus-python and pygobject; bugs #349236, #377549, #384853
+ if ! has_version dev-python/dbus-python || ! has_version 'dev-python/pygobject:3' ; then
+ ewarn "Some tests will be skipped due to dev-python/dbus-python or dev-python/pygobject:3"
+ ewarn "not being present on your system, think on installing them to get these tests run."
+ sed -i -e "/connection\/filter/d" gio/tests/gdbus-connection.c || die
+ sed -i -e "/connection\/large_message/d" gio/tests/gdbus-connection-slow.c || die
+ sed -i -e "/gdbus\/proxy/d" gio/tests/gdbus-proxy.c || die
+ sed -i -e "/gdbus\/proxy-well-known-name/d" gio/tests/gdbus-proxy-well-known-name.c || die
+ sed -i -e "/gdbus\/introspection-parser/d" gio/tests/gdbus-introspection.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/gdbus-threading.c || die
+ sed -i -e "/gdbus\/method-calls-in-thread/d" gio/tests/gdbus-threading.c || die
+ # needed to prevent gdbus-threading from asserting
+ ln -sfn $(type -P true) gio/tests/gdbus-testserver.py
+ fi
+
+ # Some tests need ipv6, upstream bug #667468
+ if [[ -n "${IPV6_DISABLED}" ]]; then
+ sed -i -e "/socket\/ipv6_sync/d" gio/tests/socket.c || die
+ sed -i -e "/socket\/ipv6_async/d" gio/tests/socket.c || die
+ sed -i -e "/socket\/ipv6_v4mapped/d" gio/tests/socket.c || die
+ fi
+
+ # Test relies on /usr/bin/true, but we have /bin/true, upstream bug #698655
+ sed -i -e "s:/usr/bin/true:/bin/true:" gio/tests/desktop-app-info.c || die
+
+ # thread test fails, upstream bug #679306
+ epatch "${FILESDIR}/${PN}-2.34.0-testsuite-skip-thread4.patch"
+
+ # This test is prone to fail, bug #504024, upstream bug #723719
+ sed -i -e '/gdbus-close-pending/d' gio/tests/Makefile.am || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e 's/ tests//' {.,gio,glib}/Makefile.am || die
+ fi
+
+ # gdbus-codegen is a separate package
+ epatch "${FILESDIR}/${PN}-2.40.0-external-gdbus-codegen.patch"
+
+ # leave python shebang alone
+ sed -e '/${PYTHON}/d' \
+ -i glib/Makefile.{am,in} || die
+
+ # Gentoo handles completions in a different directory
+ sed -i "s|^completiondir =.*|completiondir = $(get_bashcompdir)|" \
+ gio/Makefile.am || die
+
+ epatch_user
+
+ # Also needed to prevent cross-compile failures, see bug #267603
+ eautoreconf
+
+ gnome2_src_prepare
+
+ epunt_cxx
+}
+
+multilib_src_configure() {
+ # Avoid circular depend with dev-util/pkgconfig and
+ # native builds (cross-compiles won't need pkg-config
+ # in the target ROOT to work here)
+ if ! tc-is-cross-compiler && ! $(tc-getPKG_CONFIG) --version >& /dev/null; then
+ if has_version sys-apps/dbus; then
+ export DBUS1_CFLAGS="-I/usr/include/dbus-1.0 -I/usr/$(get_libdir)/dbus-1.0/include"
+ export DBUS1_LIBS="-ldbus-1"
+ fi
+ export LIBFFI_CFLAGS="-I$(echo /usr/$(get_libdir)/libffi-*/include)"
+ export LIBFFI_LIBS="-lffi"
+ fi
+
+ local myconf
+
+ case "${CHOST}" in
+ *-mingw*) myconf="${myconf} --with-threads=win32" ;;
+ *) myconf="${myconf} --with-threads=posix" ;;
+ esac
+
+ # Only used by the gresource bin
+ multilib_is_native_abi || myconf="${myconf} --disable-libelf"
+
+ # Always use internal libpcre, bug #254659
+ ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ $(use_enable systemtap dtrace) \
+ $(use_enable systemtap systemtap) \
+ --disable-compile-warnings \
+ --enable-man \
+ --with-pcre=internal \
+ --with-xml-catalog="${EPREFIX}/etc/xml/catalog"
+
+ if multilib_is_native_abi; then
+ local d
+ for d in glib gio gobject; do
+ ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
+ done
+ fi
+}
+
+multilib_src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ unset GSETTINGS_BACKEND # bug 352451
+ export LC_TIME=C # bug #411967
+ python_export_best
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${BUILD_DIR}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ Xemake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog* NEWS* README"
+ einstalldocs
+
+ if use utils ; then
+ python_replicate_script "${ED}"/usr/bin/gtester-report
+ else
+ rm "${ED}usr/bin/gtester-report"
+ rm "${ED}usr/share/man/man1/gtester-report.1"
+ fi
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/lib/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ if has_version '<x11-libs/gtk+-3.0.12:3'; then
+ # To have a clear upgrade path for gtk+-3.0.x users, have to resort to
+ # a warning instead of a blocker
+ ewarn
+ ewarn "Using <gtk+-3.0.12:3 with ${P} results in frequent crashes."
+ ewarn "You should upgrade to a newer version of gtk+:3 immediately."
+ fi
+}
diff --git a/dev-libs/glib/glib-2.42.2.ebuild b/dev-libs/glib/glib-2.42.2.ebuild
new file mode 100644
index 000000000000..90502a1f7c51
--- /dev/null
+++ b/dev-libs/glib/glib-2.42.2.ebuild
@@ -0,0 +1,270 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Until bug #537330 glib is a reverse dependency of pkgconfig and, then
+# adding new dependencies end up making stage3 to grow. Every addition needs
+# then to be think very closely.
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+# Building with --disable-debug highly unrecommended. It will build glib in
+# an unusable form as it disables some commonly used API. Please do not
+# convert this to the use_enable form, as it results in a broken build.
+GCONF_DEBUG="yes"
+# Completely useless with or without USE static-libs, people need to use
+# pkg-config
+GNOME2_LA_PUNT="yes"
+
+inherit autotools bash-completion-r1 gnome2 libtool eutils flag-o-matic multilib \
+ pax-utils python-r1 toolchain-funcs versionator virtualx linux-info multilib-minimal
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+ http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2+"
+SLOT="2"
+IUSE="dbus fam kernel_linux +mime selinux static-libs systemtap test utils xattr"
+REQUIRED_USE="
+ utils? ( ${PYTHON_REQUIRED_USE} )
+ test? ( ${PYTHON_REQUIRED_USE} )
+"
+
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/elfutils-0.142
+ >=dev-libs/libelf-0.8.12
+ >=sys-freebsd/freebsd-lib-9.2_rc1
+ )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] )
+ fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
+ utils? (
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.1.2
+ >=dev-libs/libxslt-1.0
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.20
+ systemtap? ( >=dev-util/systemtap-1.3 )
+ test? (
+ sys-devel/gdb
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}]
+ >=sys-apps/dbus-1.2.14 )
+ !<dev-util/gtk-doc-1.15-r2
+"
+# gobject-introspection blocker to ensure people don't mix
+# different g-i and glib major versions
+
+PDEPEND="!<gnome-base/gvfs-1.6.4-r990
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+# Earlier versions of gvfs do not work with glib
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ export IPV6_DISABLED="yes"
+ fi
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ # Prevent build failure in stage3 where pkgconfig is not available, bug #481056
+ mv -f "${WORKDIR}"/pkg-config-*/pkg.m4 "${S}"/m4macros/ || die
+
+ if use test; then
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/desktop-app-info\/default/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/fallback/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/lastused/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ ewarn "Some tests will be skipped due to missing terminal program"
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ fi
+
+ # Disable tests requiring dbus-python and pygobject; bugs #349236, #377549, #384853
+ if ! has_version dev-python/dbus-python || ! has_version 'dev-python/pygobject:3' ; then
+ ewarn "Some tests will be skipped due to dev-python/dbus-python or dev-python/pygobject:3"
+ ewarn "not being present on your system, think on installing them to get these tests run."
+ sed -i -e "/connection\/filter/d" gio/tests/gdbus-connection.c || die
+ sed -i -e "/connection\/large_message/d" gio/tests/gdbus-connection-slow.c || die
+ sed -i -e "/gdbus\/proxy/d" gio/tests/gdbus-proxy.c || die
+ sed -i -e "/gdbus\/proxy-well-known-name/d" gio/tests/gdbus-proxy-well-known-name.c || die
+ sed -i -e "/gdbus\/introspection-parser/d" gio/tests/gdbus-introspection.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/gdbus-threading.c || die
+ sed -i -e "/gdbus\/method-calls-in-thread/d" gio/tests/gdbus-threading.c || die
+ # needed to prevent gdbus-threading from asserting
+ ln -sfn $(type -P true) gio/tests/gdbus-testserver.py
+ fi
+
+ # Some tests need ipv6, upstream bug #667468
+ if [[ -n "${IPV6_DISABLED}" ]]; then
+ sed -i -e "/gdbus\/peer-to-peer/d" gio/tests/gdbus-peer.c || die
+ sed -i -e "/gdbus\/delayed-message-processing/d" gio/tests/gdbus-peer.c || die
+ sed -i -e "/gdbus\/nonce-tcp/d" gio/tests/gdbus-peer.c || die
+ fi
+
+ # thread test fails, upstream bug #679306
+ # FIXME: we need to check if it's still failing as upstream thinks something
+ # is wrong in our setups
+ #epatch "${FILESDIR}/${PN}-2.34.0-testsuite-skip-thread4.patch"
+
+ # This test is prone to fail, bug #504024, upstream bug #723719
+ sed -i -e '/gdbus-close-pending/d' gio/tests/Makefile.am || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e 's/ tests//' {.,gio,glib}/Makefile.am || die
+ fi
+
+ # gdbus-codegen is a separate package
+ epatch "${FILESDIR}/${PN}-2.40.0-external-gdbus-codegen.patch"
+
+ # leave python shebang alone
+ sed -e '/${PYTHON}/d' \
+ -i glib/Makefile.{am,in} || die
+
+ # Gentoo handles completions in a different directory
+ sed -i "s|^completiondir =.*|completiondir = $(get_bashcompdir)|" \
+ gio/Makefile.am || die
+
+ epatch_user
+
+ # Also needed to prevent cross-compile failures, see bug #267603
+ eautoreconf
+
+ gnome2_src_prepare
+
+ epunt_cxx
+}
+
+multilib_src_configure() {
+ # Avoid circular depend with dev-util/pkgconfig and
+ # native builds (cross-compiles won't need pkg-config
+ # in the target ROOT to work here)
+ if ! tc-is-cross-compiler && ! $(tc-getPKG_CONFIG) --version >& /dev/null; then
+ if has_version sys-apps/dbus; then
+ export DBUS1_CFLAGS="-I/usr/include/dbus-1.0 -I/usr/$(get_libdir)/dbus-1.0/include"
+ export DBUS1_LIBS="-ldbus-1"
+ fi
+ export LIBFFI_CFLAGS="-I$(echo /usr/$(get_libdir)/libffi-*/include)"
+ export LIBFFI_LIBS="-lffi"
+ fi
+
+ local myconf
+
+ case "${CHOST}" in
+ *-mingw*) myconf="${myconf} --with-threads=win32" ;;
+ *) myconf="${myconf} --with-threads=posix" ;;
+ esac
+
+ # Only used by the gresource bin
+ multilib_is_native_abi || myconf="${myconf} --disable-libelf"
+
+ # FIXME: Always use internal libpcre, bug #254659
+ # (maybe consider going back to system lib
+ ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ $(use_enable systemtap dtrace) \
+ $(use_enable systemtap systemtap) \
+ --disable-compile-warnings \
+ --enable-man \
+ --with-pcre=internal \
+ --with-xml-catalog="${EPREFIX}/etc/xml/catalog"
+
+ if multilib_is_native_abi; then
+ local d
+ for d in glib gio gobject; do
+ ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
+ done
+ fi
+}
+
+multilib_src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ unset GSETTINGS_BACKEND # bug 352451
+ export LC_TIME=C # bug #411967
+ python_export_best
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${BUILD_DIR}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ Xemake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog* NEWS* README"
+ einstalldocs
+
+ if use utils ; then
+ python_replicate_script "${ED}"/usr/bin/gtester-report
+ else
+ rm "${ED}usr/bin/gtester-report"
+ rm "${ED}usr/share/man/man1/gtester-report.1"
+ fi
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/lib/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ if has_version '<x11-libs/gtk+-3.0.12:3'; then
+ # To have a clear upgrade path for gtk+-3.0.x users, have to resort to
+ # a warning instead of a blocker
+ ewarn
+ ewarn "Using <gtk+-3.0.12:3 with ${P} results in frequent crashes."
+ ewarn "You should upgrade to a newer version of gtk+:3 immediately."
+ fi
+}
diff --git a/dev-libs/glib/glib-2.44.1.ebuild b/dev-libs/glib/glib-2.44.1.ebuild
new file mode 100644
index 000000000000..d91e744dd360
--- /dev/null
+++ b/dev-libs/glib/glib-2.44.1.ebuild
@@ -0,0 +1,270 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Until bug #537330 glib is a reverse dependency of pkgconfig and, then
+# adding new dependencies end up making stage3 to grow. Every addition needs
+# then to be think very closely.
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+# Building with --disable-debug highly unrecommended. It will build glib in
+# an unusable form as it disables some commonly used API. Please do not
+# convert this to the use_enable form, as it results in a broken build.
+GCONF_DEBUG="yes"
+# Completely useless with or without USE static-libs, people need to use
+# pkg-config
+GNOME2_LA_PUNT="yes"
+
+inherit autotools bash-completion-r1 gnome2 libtool eutils flag-o-matic multilib \
+ pax-utils python-r1 toolchain-funcs versionator virtualx linux-info multilib-minimal
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+ http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2+"
+SLOT="2"
+IUSE="dbus fam kernel_linux +mime selinux static-libs systemtap test utils xattr"
+REQUIRED_USE="
+ utils? ( ${PYTHON_REQUIRED_USE} )
+ test? ( ${PYTHON_REQUIRED_USE} )
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ || (
+ >=dev-libs/elfutils-0.142
+ >=dev-libs/libelf-0.8.12
+ >=sys-freebsd/freebsd-lib-9.2_rc1
+ )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] )
+ fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
+ utils? (
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.1.2
+ >=dev-libs/libxslt-1.0
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.20
+ systemtap? ( >=dev-util/systemtap-1.3 )
+ test? (
+ sys-devel/gdb
+ ${PYTHON_DEPS}
+ >=dev-util/gdbus-codegen-${PV}[${PYTHON_USEDEP}]
+ >=sys-apps/dbus-1.2.14 )
+ !<dev-util/gtk-doc-1.15-r2
+"
+# gobject-introspection blocker to ensure people don't mix
+# different g-i and glib major versions
+
+PDEPEND="!<gnome-base/gvfs-1.6.4-r990
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+# Earlier versions of gvfs do not work with glib
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ export IPV6_DISABLED="yes"
+ fi
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ # Prevent build failure in stage3 where pkgconfig is not available, bug #481056
+ mv -f "${WORKDIR}"/pkg-config-*/pkg.m4 "${S}"/m4macros/ || die
+
+ if use test; then
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/desktop-app-info\/default/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/fallback/d" gio/tests/desktop-app-info.c || die
+ sed -i -e "/desktop-app-info\/lastused/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ ewarn "Some tests will be skipped due to missing terminal program"
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ fi
+
+ # Disable tests requiring dbus-python and pygobject; bugs #349236, #377549, #384853
+ if ! has_version dev-python/dbus-python || ! has_version 'dev-python/pygobject:3' ; then
+ ewarn "Some tests will be skipped due to dev-python/dbus-python or dev-python/pygobject:3"
+ ewarn "not being present on your system, think on installing them to get these tests run."
+ sed -i -e "/connection\/filter/d" gio/tests/gdbus-connection.c || die
+ sed -i -e "/connection\/large_message/d" gio/tests/gdbus-connection-slow.c || die
+ sed -i -e "/gdbus\/proxy/d" gio/tests/gdbus-proxy.c || die
+ sed -i -e "/gdbus\/proxy-well-known-name/d" gio/tests/gdbus-proxy-well-known-name.c || die
+ sed -i -e "/gdbus\/introspection-parser/d" gio/tests/gdbus-introspection.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/gdbus-threading.c || die
+ sed -i -e "/gdbus\/method-calls-in-thread/d" gio/tests/gdbus-threading.c || die
+ # needed to prevent gdbus-threading from asserting
+ ln -sfn $(type -P true) gio/tests/gdbus-testserver.py
+ fi
+
+ # Some tests need ipv6, upstream bug #667468
+ if [[ -n "${IPV6_DISABLED}" ]]; then
+ sed -i -e "/gdbus\/peer-to-peer/d" gio/tests/gdbus-peer.c || die
+ sed -i -e "/gdbus\/delayed-message-processing/d" gio/tests/gdbus-peer.c || die
+ sed -i -e "/gdbus\/nonce-tcp/d" gio/tests/gdbus-peer.c || die
+ fi
+
+ # thread test fails, upstream bug #679306
+ # FIXME: we need to check if it's still failing as upstream thinks something
+ # is wrong in our setups
+ #epatch "${FILESDIR}/${PN}-2.34.0-testsuite-skip-thread4.patch"
+
+ # This test is prone to fail, bug #504024, upstream bug #723719
+ sed -i -e '/gdbus-close-pending/d' gio/tests/Makefile.am || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e 's/ tests//' {.,gio,glib}/Makefile.am || die
+ fi
+
+ # gdbus-codegen is a separate package
+ epatch "${FILESDIR}/${PN}-2.40.0-external-gdbus-codegen.patch"
+
+ # leave python shebang alone
+ sed -e '/${PYTHON}/d' \
+ -i glib/Makefile.{am,in} || die
+
+ # Gentoo handles completions in a different directory
+ sed -i "s|^completiondir =.*|completiondir = $(get_bashcompdir)|" \
+ gio/Makefile.am || die
+
+ epatch_user
+
+ # Also needed to prevent cross-compile failures, see bug #267603
+ eautoreconf
+
+ gnome2_src_prepare
+
+ epunt_cxx
+}
+
+multilib_src_configure() {
+ # Avoid circular depend with dev-util/pkgconfig and
+ # native builds (cross-compiles won't need pkg-config
+ # in the target ROOT to work here)
+ if ! tc-is-cross-compiler && ! $(tc-getPKG_CONFIG) --version >& /dev/null; then
+ if has_version sys-apps/dbus; then
+ export DBUS1_CFLAGS="-I/usr/include/dbus-1.0 -I/usr/$(get_libdir)/dbus-1.0/include"
+ export DBUS1_LIBS="-ldbus-1"
+ fi
+ export LIBFFI_CFLAGS="-I$(echo /usr/$(get_libdir)/libffi-*/include)"
+ export LIBFFI_LIBS="-lffi"
+ fi
+
+ local myconf
+
+ case "${CHOST}" in
+ *-mingw*) myconf="${myconf} --with-threads=win32" ;;
+ *) myconf="${myconf} --with-threads=posix" ;;
+ esac
+
+ # Only used by the gresource bin
+ multilib_is_native_abi || myconf="${myconf} --disable-libelf"
+
+ # FIXME: Always use internal libpcre, bug #254659
+ # (maybe consider going back to system lib
+ ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
+ $(use_enable xattr) \
+ $(use_enable fam) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ $(use_enable systemtap dtrace) \
+ $(use_enable systemtap systemtap) \
+ --disable-compile-warnings \
+ --enable-man \
+ --with-pcre=internal \
+ --with-xml-catalog="${EPREFIX}/etc/xml/catalog"
+
+ if multilib_is_native_abi; then
+ local d
+ for d in glib gio gobject; do
+ ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
+ done
+ fi
+}
+
+multilib_src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ unset GSETTINGS_BACKEND # bug 352451
+ export LC_TIME=C # bug #411967
+ python_export_best
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${BUILD_DIR}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ Xemake check
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog* NEWS* README"
+ einstalldocs
+
+ if use utils ; then
+ python_replicate_script "${ED}"/usr/bin/gtester-report
+ else
+ rm "${ED}usr/bin/gtester-report"
+ rm "${ED}usr/share/man/man1/gtester-report.1"
+ fi
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/lib/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ if has_version '<x11-libs/gtk+-3.0.12:3'; then
+ # To have a clear upgrade path for gtk+-3.0.x users, have to resort to
+ # a warning instead of a blocker
+ ewarn
+ ewarn "Using <gtk+-3.0.12:3 with ${P} results in frequent crashes."
+ ewarn "You should upgrade to a newer version of gtk+:3 immediately."
+ fi
+}
diff --git a/dev-libs/glib/metadata.xml b/dev-libs/glib/metadata.xml
new file mode 100644
index 000000000000..8f096daa22fa
--- /dev/null
+++ b/dev-libs/glib/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <use>
+ <flag name="dbus">Enable dependencies required by glib libraries
+ using dbus service to manage settings saving</flag>
+ <flag name="mime">Pull in shared MIME database that many glib-based
+ applications require at runtime to detect or open files. Warning:
+ do not disable this flag unless installing on a headless server.</flag>
+ <flag name="systemtap">Build support for profiling and tracing using
+ <pkg>dev-util/systemtap</pkg></flag>
+ <flag name="utils">Install gtester-report utility to generate test
+ report files for your software.</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnome:glib</remote-id>
+ </upstream>
+</pkgmetadata>