commit:     a73aef3bfd56434bbc405d8c45dc4b2c67a84478
Author:     Mike Auty <ikelos <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  6 13:09:15 2014 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Tue Apr 15 20:58:59 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=a73aef3b

dev-libs/glib: 2.38.2-r1 → 2.40.0

Bump glib to 2.40.0, remove two 2.38 patches that were backported from 
2.39/2.40 and fix the external-gdbus-codegen patch to work on 2.40.0. No other 
ebuild/dependency changes.

---
 dev-libs/glib/files/glib-2.38.2-configure.patch    |  24 ++
 dev-libs/glib/files/glib-2.38.2-sigaction.patch    |  23 ++
 .../files/glib-2.40.0-external-gdbus-codegen.patch |  95 ++++++++
 dev-libs/glib/glib-2.40.0.ebuild                   | 269 +++++++++++++++++++++
 4 files changed, 411 insertions(+)

diff --git a/dev-libs/glib/files/glib-2.38.2-configure.patch 
b/dev-libs/glib/files/glib-2.38.2-configure.patch
new file mode 100644
index 0000000..8f08ca0
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.38.2-configure.patch
@@ -0,0 +1,24 @@
+From 838b49ead77c35d94fa16d48a6d7271bab082a71 Mon Sep 17 00:00:00 2001
+From: Patrick Welche <pr...@cam.ac.uk>
+Date: Thu, 07 Nov 2013 10:58:46 +0000
+Subject: configure: test(1) uses = to test for string equality
+
+https://bugzilla.gnome.org/show_bug.cgi?id=711600
+---
+(limited to 'm4macros/glibtests.m4')
+
+diff --git a/m4macros/glibtests.m4 b/m4macros/glibtests.m4
+index 27e9024..7d5920a 100644
+--- a/m4macros/glibtests.m4
++++ b/m4macros/glibtests.m4
+@@ -21,7 +21,7 @@ AC_DEFUN([GLIB_TESTS],
+                   *) AC_MSG_ERROR([bad value ${enableval} for 
--enable-always-build-tests]) ;;
+                  esac])
+   AM_CONDITIONAL([ENABLE_ALWAYS_BUILD_TESTS], test 
"$ENABLE_ALWAYS_BUILD_TESTS" = "1")
+-  if test "$ENABLE_INSTALLED_TESTS" == "1"; then
++  if test "$ENABLE_INSTALLED_TESTS" = "1"; then
+     AC_SUBST(installed_test_metadir, 
[${datadir}/installed-tests/]AC_PACKAGE_NAME)
+     AC_SUBST(installed_testdir, 
[${libexecdir}/installed-tests/]AC_PACKAGE_NAME)
+   fi
+--
+cgit v0.9.2

diff --git a/dev-libs/glib/files/glib-2.38.2-sigaction.patch 
b/dev-libs/glib/files/glib-2.38.2-sigaction.patch
new file mode 100644
index 0000000..f87e224
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.38.2-sigaction.patch
@@ -0,0 +1,23 @@
+From 81d0ebe29ccd852e969acda7394969e3f13eb136 Mon Sep 17 00:00:00 2001
+From: Stef Walter <st...@gnome.org>
+Date: Thu, 31 Oct 2013 11:43:14 +0100
+Subject: [PATCH] gmain: Fix use of uninitialized memory in sigaction structure
+
+https://bugzilla.gnome.org/show_bug.cgi?id=711754
+
+
+diff --git a/glib/gmain.c b/glib/gmain.c
+index 9c37bb2..608c1a5 100644
+--- a/glib/gmain.c
++++ b/glib/gmain.c
+@@ -4978,6 +4978,7 @@ unref_unix_signal_handler_unlocked (int signum)
+   if (unix_signal_refcount[signum] == 0)
+     {
+       struct sigaction action;
++      memset (&action, 0, sizeof (action));
+       action.sa_handler = SIG_DFL;
+       sigemptyset (&action.sa_mask);
+       sigaction (signum, &action, NULL);
+--
+Gitg
+

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 0000000..50a9370
--- /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-2.40.0.ebuild b/dev-libs/glib/glib-2.40.0.ebuild
new file mode 100644
index 0000000..55d0f08
--- /dev/null
+++ b/dev-libs/glib/glib-2.40.0.ebuild
@@ -0,0 +1,269 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/glib-2.38.2-r1.ebuild,v 1.5 
2014/03/28 02:11:52 jer Exp $
+
+EAPI="5"
+PYTHON_COMPAT=( python2_{6,7} )
+# Avoid runtime dependency on python when USE=test
+
+inherit autotools bash-completion-r1 gnome.org libtool eutils flag-o-matic 
gnome2-utils 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="debug fam kernel_linux selinux static-libs systemtap test utils xattr"
+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"
+
+# FIXME: want libselinux[${MULTILIB_USEDEP}] - bug #480960
+RDEPEND="
+       virtual/libiconv[${MULTILIB_USEDEP}]
+       virtual/libffi[${MULTILIB_USEDEP}]
+       sys-libs/zlib[${MULTILIB_USEDEP}]
+       || (
+               >=dev-libs/elfutils-0.142
+               >=dev-libs/libelf-0.8.12
+               >=sys-freebsd/freebsd-lib-9.2_rc1
+               )
+       selinux? ( sys-libs/libselinux )
+       xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+       fam? ( virtual/fam[${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.15
+       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-libs/gobject-introspection-1.$(get_version_component_range 2)
+       !<dev-util/gtk-doc-1.15-r2
+"
+# gobject-introspection blocker to ensure people don't mix
+# different g-i and glib major versions
+
+PDEPEND="x11-misc/shared-mime-info
+       !<gnome-base/gvfs-1.6.4-r990"
+# 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
+       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
+       fi
+
+       # thread test fails, upstream bug #679306
+       epatch "${FILESDIR}/${PN}-2.34.0-testsuite-skip-thread4.patch"
+
+       # gdbus-codegen is a separate package
+       epatch "${FILESDIR}/${PN}-2.40.0-external-gdbus-codegen.patch"
+
+       # do not allow libgobject to unload; bug #405173, 
https://bugzilla.gnome.org/show_bug.cgi?id=707298
+       epatch "${FILESDIR}/${PN}-2.36.4-znodelete.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
+
+       # Support compilation in clang until upstream solves this, upstream bug 
#691608
+       append-flags -Wno-format-nonliteral
+
+       epatch_user
+
+       # Needed for the punt-python-check patch, disabling timeout test
+       # Also needed to prevent cross-compile failures, see bug #267603
+       # Also needed for the no-gdbus-codegen patch
+       eautoreconf
+
+       # FIXME: Really needed when running eautoreconf before? bug#????
+       #[[ ${CHOST} == *-freebsd* ]] && elibtoolize
+
+       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
+
+       # 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.
+       use debug && myconf="--enable-debug"
+
+       # Only used by the gresource bin
+       multilib_is_native_abi || myconf="${myconf} --disable-libelf"
+
+       # FIXME: change to "$(use_enable selinux)" when libselinux is 
multilibbed, bug #480960
+       if multilib_is_native_abi; then
+               myconf="${myconf} $(use_enable selinux)"
+       else
+               myconf="${myconf} --disable-selinux"
+       fi
+
+       # Always use internal libpcre, bug #254659
+       ECONF_SOURCE="${S}" econf ${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"
+}
+
+multilib_src_install_all() {
+       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/"
+
+       # Completely useless with or without USE static-libs, people need to use
+       # pkg-config
+       prune_libtool_files --modules
+}
+
+multilib_src_test() {
+       gnome2_environment_reset
+
+       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
+}
+
+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
+}

Reply via email to