From 61fcb491caa15028312718e01732252a8f2a68ac Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Thu, 4 Jun 2009 11:25:17 +0530 Subject: dev-libs/glib: Sync with tree --- dev-libs/glib/Manifest | 6 +- .../glib/files/glib-2.10.3-ia64-atomic-ops.patch | 39 ++++++++++ dev-libs/glib/files/glib-2.12.12-fbsd.patch | 21 ++++++ ...karound-gio-test-failure-without-userpriv.patch | 20 +++++ dev-libs/glib/files/glib-2.6.3-testglib-ssp.patch | 11 +++ dev-libs/glib/glib-2.9999.ebuild | 88 ++++++++++++++-------- 6 files changed, 151 insertions(+), 34 deletions(-) create mode 100644 dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch create mode 100644 dev-libs/glib/files/glib-2.12.12-fbsd.patch create mode 100644 dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch create mode 100644 dev-libs/glib/files/glib-2.6.3-testglib-ssp.patch diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest index 9098273..c616dfb 100644 --- a/dev-libs/glib/Manifest +++ b/dev-libs/glib/Manifest @@ -1 +1,5 @@ -EBUILD glib-2.9999.ebuild 1722 RMD160 c72e57d5f26a3f3afed3dfdc982cdb648c95b408 SHA1 9eb248343ac2134729ddfbe26b0ebe85d53c0d9a SHA256 9579822211d389e358072c8493b4ca700154b45f7ea2a5fd54e80cb2be370c83 +AUX glib-2.10.3-ia64-atomic-ops.patch 1058 RMD160 066e63a99739dc412fbed7f773118323f53ea774 SHA1 13c22e2f75a77e9e0546e495fd28015ddcb8bade SHA256 ad9cad6793626b4e36a59aa6cb839607847aa57ebc37592fd1e273ccd23a53c8 +AUX glib-2.12.12-fbsd.patch 668 RMD160 d8bf399b7e0b417c4622b278282086418c1d3363 SHA1 b7a0f4d67083f2c9b4bbecd84a6d597dd0f0f9ed SHA256 23b0dc406d3d45fe125268b731af67147e83f6e38a63c7892828bdbfe1c31e8d +AUX glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch 616 RMD160 dd06abe9298d6e3e4d3eda0d5d155f1545dfd1aa SHA1 92164aa1b29f49cf62fc366231f2046b8b3def52 SHA256 e64ad4fbd67f142f5a19b29eab323bf18856309ed064e7a9f838b6c1c38a8adb +AUX glib-2.6.3-testglib-ssp.patch 344 RMD160 6709acf85c52e39553e2e5ee93637f7e9cc7eca6 SHA1 403b249a460a9700669e754a562fb6974f3d6898 SHA256 c2ece3d7b4533e3bfbe8100df5d0824176d9dfa0b18697a8919162956c8ebfa8 +EBUILD glib-2.9999.ebuild 2638 RMD160 161803a768117c20825f0d1cfe4b2d828d3b849e SHA1 ab32bf43f3ed3bfc97234194cc04f7042a3b13b7 SHA256 2098bd4c898dccdc601bb59ad559f0cb4d8bc31d7644b8d6755b77f9b3d6a13d diff --git a/dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch b/dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch new file mode 100644 index 0000000..0859e33 --- /dev/null +++ b/dev-libs/glib/files/glib-2.10.3-ia64-atomic-ops.patch @@ -0,0 +1,39 @@ +From Debian, this one is needed for gcc < 4.1... + +--- glib-2.10.0/glib/gatomic.c 2006-02-24 14:02:51.000000000 +0000 ++++ glib-2.10.0/glib/gatomic.c 2006-03-06 18:12:06.000000000 +0000 +@@ -414,14 +414,14 @@ + g_atomic_int_exchange_and_add (volatile gint *atomic, + gint val) + { +- return __sync_fetch_and_add (atomic, val); ++ return __sync_fetch_and_add_si (atomic, val); + } + + void + g_atomic_int_add (volatile gint *atomic, + gint val) + { +- __sync_fetch_and_add (atomic, val); ++ __sync_fetch_and_add_si (atomic, val); + } + + gboolean +@@ -429,7 +429,7 @@ + gint oldval, + gint newval) + { +- return __sync_bool_compare_and_swap (atomic, oldval, newval); ++ return __sync_bool_compare_and_swap_si (atomic, oldval, newval); + } + + gboolean +@@ -437,7 +437,7 @@ + gpointer oldval, + gpointer newval) + { +- return __sync_bool_compare_and_swap ((long *)atomic, ++ return __sync_bool_compare_and_swap_di ((long *)atomic, + (long)oldval, (long)newval); + } + diff --git a/dev-libs/glib/files/glib-2.12.12-fbsd.patch b/dev-libs/glib/files/glib-2.12.12-fbsd.patch new file mode 100644 index 0000000..bba6329 --- /dev/null +++ b/dev-libs/glib/files/glib-2.12.12-fbsd.patch @@ -0,0 +1,21 @@ +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN glib-2.12.12.orig/gmodule/gmodule-dl.c glib-2.12.12/gmodule/gmodule-dl.c +--- glib-2.12.12.orig/gmodule/gmodule-dl.c 2007-05-01 19:12:40.000000000 -0400 ++++ glib-2.12.12/gmodule/gmodule-dl.c 2007-07-05 20:10:51.000000000 -0400 +@@ -106,6 +106,7 @@ _g_module_open (const gchar *file_name, + static gpointer + _g_module_self (void) + { ++#ifndef __FreeBSD__ + gpointer handle; + + /* to query symbols from the program itself, special link options +@@ -117,6 +118,9 @@ _g_module_self (void) + g_module_set_error (fetch_dlerror (TRUE)); + + return handle; ++#else ++ return RTLD_DEFAULT; ++#endif + } + + static void diff --git a/dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch b/dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch new file mode 100644 index 0000000..cabe56f --- /dev/null +++ b/dev-libs/glib/files/glib-2.18.1-workaround-gio-test-failure-without-userpriv.patch @@ -0,0 +1,20 @@ +Temporary workaround for gio tests failure when ran without FEATURES=userpriv +until upstream bug #552912 is fixed + +--- gio/tests/live-g-file.c.orig 2008-09-25 05:44:12.848556034 +0300 ++++ gio/tests/live-g-file.c 2008-09-25 06:12:34.248726237 +0300 +@@ -769,11 +769,14 @@ + if (posix_compat) + { + /* target directory is not accessible (no execute flag) */ ++#if 0 ++/* Fails when ran as root */ + do_copy_move (root, item, TEST_DIR_NO_ACCESS, + TEST_NO_ACCESS); + /* target directory is readonly */ + do_copy_move (root, item, TEST_DIR_NO_WRITE, + TEST_NO_ACCESS); ++#endif + } + } + } diff --git a/dev-libs/glib/files/glib-2.6.3-testglib-ssp.patch b/dev-libs/glib/files/glib-2.6.3-testglib-ssp.patch new file mode 100644 index 0000000..9b104dd --- /dev/null +++ b/dev-libs/glib/files/glib-2.6.3-testglib-ssp.patch @@ -0,0 +1,11 @@ +--- tests/Makefile.in.orig 2005-04-07 01:05:39.000000000 +0000 ++++ tests/Makefile.in 2005-04-07 01:09:02.000000000 +0000 +@@ -50,7 +50,7 @@ + CATOBJEXT = @CATOBJEXT@ + CC = @CC@ + CCDEPMODE = @CCDEPMODE@ +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -fno-stack-protector + CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ + CROSS_COMPILING_FALSE = @CROSS_COMPILING_FALSE@ diff --git a/dev-libs/glib/glib-2.9999.ebuild b/dev-libs/glib/glib-2.9999.ebuild index 515be5a..44c70d4 100644 --- a/dev-libs/glib/glib-2.9999.ebuild +++ b/dev-libs/glib/glib-2.9999.ebuild @@ -1,31 +1,59 @@ -# Copyright 1999-2008 Gentoo Foundation +# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/glib-2.20.2.ebuild,v 1.2 2009/05/18 21:37:06 eva Exp $ -inherit eutils flag-o-matic gnome2-live +EAPI="2" + +inherit libtool eutils flag-o-matic gnome2-live DESCRIPTION="The GLib library of C routines" HOMEPAGE="http://www.gtk.org/" +SRC_URI="" LICENSE="LGPL-2" SLOT="2" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" IUSE="debug doc fam hardened selinux xattr" RDEPEND="virtual/libc - virtual/libiconv - xattr? ( sys-apps/attr ) - fam? ( virtual/fam )" + virtual/libiconv + xattr? ( sys-apps/attr ) + fam? ( virtual/fam )" DEPEND="${RDEPEND} - >=dev-util/pkgconfig-0.16 - >=sys-devel/gettext-0.11 - doc? ( - >=dev-libs/libxslt-1.0 - >=dev-util/gtk-doc-1.8 - ~app-text/docbook-xml-dtd-4.1.2 - )" - -src_compile() { + >=dev-util/pkgconfig-0.16 + >=sys-devel/gettext-0.11 + doc? ( + >=dev-libs/libxslt-1.0 + >=dev-util/gtk-doc-1.11 + ~app-text/docbook-xml-dtd-4.1.2 )" + +src_prepare() { + if use ppc64 && use hardened ; then + replace-flags -O[2-3] -O1 + epatch "${FILESDIR}/glib-2.6.3-testglib-ssp.patch" + fi + + if use ia64 ; then + # Only apply for < 4.1 + local major=$(gcc-major-version) + local minor=$(gcc-minor-version) + if (( major < 4 || ( major == 4 && minor == 0 ) )); then + epatch "${FILESDIR}/glib-2.10.3-ia64-atomic-ops.patch" + fi + fi + + # Don't fail gio tests when ran without userpriv, upstream bug 552912 + # This is only a temporary workaround, remove as soon as possible + epatch "${FILESDIR}/${PN}-2.18.1-workaround-gio-test-failure-without-userpriv.patch" + + # Fix gmodule issues on fbsd; bug #184301 + epatch "${FILESDIR}"/${PN}-2.12.12-fbsd.patch + + # No PATCHES use because of convoluted logic + gnome2-live_src_prepare +} + +src_configure() { local myconf epunt_cxx @@ -36,7 +64,8 @@ src_compile() { # -- compnerd (3/27/06) use debug && myconf="--enable-debug" - # always build static libs, see #153807 + # Always build static libs, see #153807 + # Always use internal libpcre, bug #254659 econf ${myconf} \ $(use_enable xattr) \ $(use_enable doc man) \ @@ -44,21 +73,9 @@ src_compile() { $(use_enable fam) \ $(use_enable selinux) \ --enable-static \ - --with-threads=posix || die "configure failed" - - emake || die "make failed" -} - -src_test() { - make -C tests - make -C glib/tests - make -C gobject/tests - make -C gio/tests - make test - make -C tests test - make -C glib/tests test - make -C gobject/tests test - make -C gio/tests test + --enable-regex \ + --with-pcre=internal \ + --with-threads=posix } src_install() { @@ -67,5 +84,10 @@ src_install() { # Do not install charset.alias even if generated, leave it to libiconv rm -f "${D}/usr/lib/charset.alias" - dodoc AUTHORS ChangeLog* NEWS* README + dodoc AUTHORS ChangeLog* NEWS* README || die "dodoc failed" +} + +src_test() { + unset DBUS_SESSION_BUS_ADDRESS + emake check || die "tests failed" } -- cgit v1.2.3-65-gdbad