diff options
Diffstat (limited to 'dev-libs/glib')
-rw-r--r-- | dev-libs/glib/Manifest | 6 | ||||
-rw-r--r-- | dev-libs/glib/files/glib-1.2.10-automake-1.13.patch | 23 | ||||
-rw-r--r-- | dev-libs/glib/files/glib-1.2.10-automake.patch | 29 | ||||
-rw-r--r-- | dev-libs/glib/files/glib-1.2.10-configure-LANG.patch | 44 | ||||
-rw-r--r-- | dev-libs/glib/files/glib-1.2.10-gcc34-fix.patch | 41 | ||||
-rw-r--r-- | dev-libs/glib/files/glib-1.2.10-m4.patch | 9 | ||||
-rw-r--r-- | dev-libs/glib/files/glib-2.34.0-testsuite-skip-thread4.patch | 44 | ||||
-rw-r--r-- | dev-libs/glib/files/glib-2.40.0-external-gdbus-codegen.patch | 95 | ||||
-rw-r--r-- | dev-libs/glib/glib-1.2.10-r5.ebuild | 66 | ||||
-rw-r--r-- | dev-libs/glib/glib-1.2.10-r6.ebuild | 77 | ||||
-rw-r--r-- | dev-libs/glib/glib-2.40.2.ebuild | 275 | ||||
-rw-r--r-- | dev-libs/glib/glib-2.42.2.ebuild | 270 | ||||
-rw-r--r-- | dev-libs/glib/glib-2.44.1.ebuild | 270 | ||||
-rw-r--r-- | dev-libs/glib/metadata.xml | 19 |
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> |