Fix python ddependency issues as it's needed in some cases, bug #384853 (by Alexandre...
authorPacho Ramos <pacho@gentoo.org>
Sun, 16 Oct 2011 21:37:16 +0000 (21:37 +0000)
committerPacho Ramos <pacho@gentoo.org>
Sun, 16 Oct 2011 21:37:16 +0000 (21:37 +0000)
Package-Manager: portage-2.1.10.27/cvs/Linux x86_64

dev-libs/glib/ChangeLog
dev-libs/glib/Manifest
dev-libs/glib/files/glib-2.30.1-homedir-env.patch [new file with mode: 0644]
dev-libs/glib/glib-2.30.1-r1.ebuild [new file with mode: 0644]
dev-libs/glib/metadata.xml

index 73777eee7d4fbf9bdc96193615a7d560fc41c429..cc39afc0a23ca69218c29d061ebdd281a6e0885c 100644 (file)
@@ -1,6 +1,22 @@
 # ChangeLog for dev-libs/glib
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/ChangeLog,v 1.487 2011/10/16 16:31:15 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/ChangeLog,v 1.488 2011/10/16 21:37:16 pacho Exp $
+
+*glib-2.30.1-r1 (16 Oct 2011)
+
+  16 Oct 2011; Pacho Ramos <pacho@gentoo.org> +glib-2.30.1-r1.ebuild,
+  +files/glib-2.30.1-homedir-env.patch, metadata.xml:
+  Fix python ddependency issues as it's needed in some cases, bug #384853 (by
+  Alexandre Rostovtsev and Arfrever Frehtes Taifersar Arahesis); depend more
+  scrictly on dev-util/gdbus-codegen to prevent unwanted mixes (and also help
+  maintainers to remember both need to be bumped at the same time); utils die
+  themselves with eapi4 (drop unneeded dies then); handle the G_HOME
+  environment variable to override the passwd entry, upstream bug #142568;
+  handle the G_HOME environment variable to override the passwd entry, upstream
+  bug #142568 (by Debian folks);
+  workaround-gio-test-failure-without-userpriv.patch looks to be no longer
+  needed as upstream bug should be fixed; assert-msg-test prefers to have gdb
+  installed when running test.
 
 *glib-2.30.1 (16 Oct 2011)
 
index 6c924fb6176cabc3d13d7e0ba0bbd7f300d1c80e..b42975754fcb40cdc8e69f4d3d36fc7e4771d196 100644 (file)
@@ -15,6 +15,7 @@ AUX glib-2.26.0-disable-volumemonitor-broken-test.patch 1181 RMD160 c99e2969a3ca
 AUX glib-2.26.1-gatomic-header.patch 269 RMD160 668ded743e0004b671e79d1ee5918c42cc78163d SHA1 db7808b0dfc39d8b415dce071b6a1805cad1a850 SHA256 81046ce8bdb7b1c863aba9cb457443e92b792807b304d0ee8e7dfd2b6fb7b122
 AUX glib-2.29.18-external-gdbus-codegen.patch 3099 RMD160 f34d34c3b716a4472123eb0e5e6f4d60bc6f842c SHA1 22a9f31c4f255bdbf1bb37c410fe4e97039873d9 SHA256 4ddd01367518b22c000732c1ad27a2ff8c24cb7876874b2aecd2ebf8361dfd0b
 AUX glib-2.30.1-external-gdbus-codegen.patch 2293 RMD160 9b2f6beda060c45d473edc48c8fb839e6036372d SHA1 11a902608b7261e1db7736ebb59c0ca94b549efb SHA256 45daf662034806d2858f1b2b43185e6891e9d395acd3bbfb7a81a15541b49078
+AUX glib-2.30.1-homedir-env.patch 1849 RMD160 2bbe190e2d6ee96cb33dcfe37c1ff227ea4e8ca9 SHA1 42077f9373acce576b4eb811b6464f0332db7711 SHA256 4f0e149703a9aadc4fb568b9fa00419b9848b345b19d3cc9e1a2bd67985ea25b
 DIST glib-1.2.10-r1-as-needed.patch.bz2 9099 RMD160 5b7a21da6dc10112409bd885501a6976a2eb894d SHA1 468a7947b7d1688c2e7d61da80d40ca59422fbec SHA256 3bb8c45706f97b526da851061c89618bc258fa61f9100802c1340548e4bb2731
 DIST glib-1.2.10.tar.gz 421480 RMD160 f19efe8c87ebeea979a4d36902d8a8209640cd95 SHA1 e5a9361c594608d152d5d9650154c2e3260b87fa SHA256 6e1ce7eedae713b11db82f11434d455d8a1379f783a79812cd2e05fc024a8d9f
 DIST glib-2.28.6.tar.bz2 6955725 RMD160 5858c29829352c0c59fe12dbd6dceba81aabe5f6 SHA1 51996339c823cf36ba28c774c4afad933d5f5744 SHA256 557fb7c39d21b9359fbac51fd6b0b883bc97a2561c0166eef993a4078312f578
@@ -26,17 +27,14 @@ EBUILD glib-1.2.10-r5.ebuild 1777 RMD160 eaf01d9d6f1ba55edb93e46f46110b9e9c2fb77
 EBUILD glib-2.28.6.ebuild 5649 RMD160 1a57e73c13cae0a708808053ed6bd3e92c1ce29c SHA1 3c607a96e34dad256b32d9b006f2f5a8a333f454 SHA256 4a9d0a6f835a2aced9de540091acf8eaccf74cb054ce6d55576ea2ef34bdb78e
 EBUILD glib-2.28.8.ebuild 7412 RMD160 435c6ad000b6aa13fe161b21a0575ead944a2805 SHA1 8ffbfc1ab5f71d783e3697d1e580b57b1ea3a5cc SHA256 c8b600b3d8417878ba8b49ed3217f1a5ef38a64573fc8bc5b5990b5bc523da20
 EBUILD glib-2.30.0.ebuild 6784 RMD160 5f5107c9c6edfca27da651367ea9b2b80d400859 SHA1 c24ccc3504a798d613969ad09ac677c0429acbd2 SHA256 6f10287a368a61d99dfd9af9945bd152cad51124ce6f5a8cc94957114bb387de
+EBUILD glib-2.30.1-r1.ebuild 8313 RMD160 314e5fdb8992ddc626e91da22502e43115feafbb SHA1 dadd9966ac41ee07684a4e2e870b3b9149e5720e SHA256 3a65be6a77a78dcf876ac7d0527abb85e8317c0e283515caac77eea8a0250564
 EBUILD glib-2.30.1.ebuild 6827 RMD160 5b7cd8a5fedf380a92ca0fb70ff5c5281113a4f2 SHA1 f828c171be5e5161565ad22709b8b4a093808b27 SHA256 045bd5c3d152632dae7196d285b2b63bc0333bb976284fbcf34dc7590a495278
-MISC ChangeLog 64099 RMD160 2f2aa9697d2f7dbfbb487c62edad06b8580940a4 SHA1 a39b82b38a79d8ccfca8254335dc99fe08a1f09b SHA256 22345007aff6213b584e28c64e5892c431f9b1059acf79c08faba2619416e436
-MISC metadata.xml 395 RMD160 12e6f6ec98b635283d1f254e93da3c4f47f50a13 SHA1 db51ce81497f12112e03bb5812ea734e1e15b44e SHA256 7ff3e0519e10476616dbcc11540641d9cf8b2ae0c97b5715b8db1f72135c95d4
+MISC ChangeLog 65003 RMD160 1e9e89fede111e09db0d971cf08cefa299e8329b SHA1 e32dac4bfd9172b6f6e1bf39c4665d842feff75f SHA256 86ad83c3d4573ab73a71d57567d8d8a6fd80ac8b6803d751df46e1079c4f6415
+MISC metadata.xml 497 RMD160 447ae0d07ac529dbe1830e383d2ef4eae7359ea7 SHA1 4cb36fafa32d53a0dbeec978b0d75f4e7acb3fa0 SHA256 a1840f7e6af57edc9fe5b54deae9e2083858d27792fda3f4e1e8e04624b17d0d
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.18 (GNU/Linux)
+Version: GnuPG v2.0.17 (GNU/Linux)
 
-iQEcBAEBAgAGBQJOmwbIAAoJEEdUh39IaPFN4jMH/jHiGqY4Zu1lNm71O1IobB5I
-GevScDAgycrSWhXtUmIcj3wOCQEMsEvtk8QOaKeZCZUiCUVh+WrKQuuy7Kim9F7T
-0bQZqN8Om9eSfo59HRQQ45PWqysTWS/FuwwoHnBVqMe7RDd/bMUWt9CeoN9NsaQv
-VL6bwahQb3f03oUD3L0Qn2geBcOMOaep3oXsvAQsN9EwSJOfq7ZSE/+GlxgkCVT8
-3nIBmz6w2mfFkwJe3U66YVsT0ZzVXUI4KB+tV3BwA5G/qv3E78buH/e/jlpWC/mL
-zkJ6yaCSjhDm6GBQH6WiiZm/ljmpF0ZxWhDQDf2aSd72BqRcmzb8oxTtqyjfsKw=
-=xRME
+iEYEARECAAYFAk6bTpIACgkQCaWpQKGI+9RTRQCggxWYiXk+vqFmBuICAUZ+PuIN
+zR4AmgO+Ktgea0VihEjASSpCK3QJTvo0
+=kUu1
 -----END PGP SIGNATURE-----
diff --git a/dev-libs/glib/files/glib-2.30.1-homedir-env.patch b/dev-libs/glib/files/glib-2.30.1-homedir-env.patch
new file mode 100644 (file)
index 0000000..30d4499
--- /dev/null
@@ -0,0 +1,61 @@
+Description: Handle the G_HOME environment variable to override the passwd entry
+ This will allow to fix various kinds of build failures due to restricted
+ build environments.
+Author: Josselin Mouette <joss@debian.org>
+Origin: vendor
+
+--- a/docs/reference/glib/running.sgml
++++ b/docs/reference/glib/running.sgml
+@@ -213,6 +213,22 @@
+   </para>
+ </formalpara>
++<formalpara id="G_HOME">
++  <title><envar>G_HOME</envar></title>
++
++  <para>
++    For various reasons, GLib applications ignore the <envar>HOME</envar>
++    environment variable on Unix systems and will use the user directory
++    as specified by the <filename>passwd</filename> entry, which is more
++    reliable.
++  </para>
++  <para>
++    The <envar>G_HOME</envar> environment variable will override any
++    other setting for the home directory. It is not meant for daily usage,
++    but it is useful in testing or building environments.
++  </para>
++</formalpara>
++
+ </refsect2>
+ <refsect2 id="setlocale">
+--- a/glib/gutils.c
++++ b/glib/gutils.c
+@@ -1626,11 +1626,14 @@
+     }
+ #endif        /* !G_OS_WIN32 */
+   
++  g_home_dir = g_strdup (g_getenv ("G_HOME"));
++  
+ #ifdef G_OS_WIN32
+   /* We check $HOME first for Win32, though it is a last resort for Unix
+    * where we prefer the results of getpwuid().
+    */
+-  g_home_dir = g_strdup (g_getenv ("HOME"));
++  if (!g_home_dir)
++    g_home_dir = g_strdup (g_getenv ("HOME"));
+   /* Only believe HOME if it is an absolute path and exists */
+   if (g_home_dir)
+@@ -1926,6 +1929,11 @@
+  *      homedir = g_get_home_dir (<!-- -->);
+  * ]|
+  *
++ * However, to allow changing this value for testing and development
++ * purposes, the value of the <envar>G_HOME</envar> environment 
++ * variable, if set, will override the <filename>passwd</filename>
++ * entry.
++ *
+  * Returns: the current user's home directory
+  */
+ G_CONST_RETURN gchar*
diff --git a/dev-libs/glib/glib-2.30.1-r1.ebuild b/dev-libs/glib/glib-2.30.1-r1.ebuild
new file mode 100644 (file)
index 0000000..0dc0089
--- /dev/null
@@ -0,0 +1,237 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/glib-2.30.1-r1.ebuild,v 1.1 2011/10/16 21:37:16 pacho Exp $
+
+EAPI="4"
+PYTHON_DEPEND="utils? 2"
+# Avoid runtime dependency on python when USE=test
+
+inherit autotools gnome.org libtool eutils flag-o-matic multilib pax-utils python virtualx
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="http://www.gtk.org/"
+SRC_URI="${SRC_URI}
+       http://pkgconfig.freedesktop.org/releases/pkg-config-0.26.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2"
+SLOT="2"
+IUSE="debug doc fam selinux +static-libs systemtap test utils xattr"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh
+~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-linux"
+
+RDEPEND="virtual/libiconv
+       virtual/libffi
+       sys-libs/zlib
+       xattr? ( sys-apps/attr )
+       fam? ( virtual/fam )
+       utils? ( >=dev-util/gdbus-codegen-${PV} )"
+DEPEND="${RDEPEND}
+       >=sys-devel/gettext-0.11
+       >=dev-util/gtk-doc-am-1.15
+       doc? (
+               >=dev-libs/libxslt-1.0
+               >=dev-util/gtk-doc-1.15
+               ~app-text/docbook-xml-dtd-4.1.2 )
+       systemtap? ( >=dev-util/systemtap-1.3 )
+       test? (
+               sys-devel/gdb
+               =dev-lang/python-2*
+               >=dev-util/gdbus-codegen-${PV}
+               >=sys-apps/dbus-1.2.14 )
+       !<dev-util/gtk-doc-1.15-r2"
+PDEPEND="!<gnome-base/gvfs-1.6.4-r990" # Earlier versions do not work with glib
+
+pkg_setup() {
+       # Needed for gio/tests/gdbus-testserver.py
+       if use test ; then
+               python_set_active_version 2
+               python_pkg_setup
+       fi
+}
+
+src_prepare() {
+       mv -vf "${WORKDIR}"/pkg-config-*/pkg.m4 "${WORKDIR}"/ || die
+
+       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
+
+       # Fix test failure when upgrading from 2.22 to 2.24, upstream bug 621368
+       epatch "${FILESDIR}/${PN}-2.24-assert-test-failure.patch"
+
+       # 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"
+
+       if ! use test; then
+               # don't waste time building tests
+               sed 's/^\(.*\SUBDIRS .*\=.*\)tests\(.*\)$/\1\2/' -i $(find . -name Makefile.am -o -name Makefile.in) || die
+       else
+               # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629
+               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
+
+               # Disable tests requiring dbus-python and pygobject; bugs #349236, #377549, #384853
+               if ! has_version dev-python/dbus-python || ! has_version 'dev-python/pygobject:2' ; then
+                       ewarn "Some tests will be skipped due to dev-python/dbus-python or dev-python/pygobject:2"
+                       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
+       fi
+
+       # gdbus-codegen is a separate package
+       epatch "${FILESDIR}/${PN}-2.30.1-external-gdbus-codegen.patch"
+
+       # Handle the G_HOME environment variable to override the passwd entry, upstream bug #142568
+       epatch "${FILESDIR}/${PN}-2.30.1-homedir-env.patch"
+
+       # disable pyc compiling
+       ln -sfn $(type -P true) py-compile
+
+       # Needed for the punt-python-check patch, disabling timeout test
+       # Also needed to prevent croscompile failures, see bug #267603
+       # Also needed for the no-gdbus-codegen patch
+       AT_M4DIR="${WORKDIR}" eautoreconf
+
+       [[ ${CHOST} == *-freebsd* ]] && elibtoolize
+
+       epunt_cxx
+}
+
+src_configure() {
+       # Avoid circular depend with dev-util/pkgconfig
+       if ! has_version dev-util/pkgconfig; 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
+
+       # 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.
+       # -- compnerd (3/27/06)
+       use debug && myconf="--enable-debug"
+
+       # Always use internal libpcre, bug #254659
+       econf ${myconf} \
+               $(use_enable xattr) \
+               $(use_enable doc man) \
+               $(use_enable doc gtk-doc) \
+               $(use_enable fam) \
+               $(use_enable selinux) \
+               $(use_enable static-libs static) \
+               $(use_enable systemtap dtrace) \
+               $(use_enable systemtap systemtap) \
+               --enable-regex \
+               --with-pcre=internal \
+               --with-threads=posix
+}
+
+src_install() {
+       local f
+
+       # install-exec-hook substitutes ${PYTHON} in glib/gtester-report
+       emake DESTDIR="${D}" PYTHON="${EPREFIX}/usr/bin/python2" install
+
+       if ! use utils; then
+               rm "${ED}usr/bin/gtester-report"
+       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/"
+
+       dodoc AUTHORS ChangeLog* NEWS* README
+
+       insinto /usr/share/bash-completion
+       for f in gdbus gsettings; do
+               newins "${ED}/etc/bash_completion.d/${f}-bash-completion.sh" ${f}
+       done
+       rm -rf "${ED}/etc"
+
+       # Completely useless with or without USE static-libs, people need to use
+       # pkg-config
+       find "${D}" -name '*.la' -exec rm -f {} +
+}
+
+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"
+       export XDG_DATA_HOME="${T}"
+       unset GSETTINGS_BACKEND # bug 352451
+
+       # 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 "${S}"/tests/.libs/assert-msg-test \
+                       || die "Hardened adjustment failed"
+       fi
+
+       # Need X for dbus-launch session X11 initialization
+       Xemake check
+}
+
+pkg_preinst() {
+       # Only give the introspection message if:
+       # * The user has gobject-introspection
+       # * Has glib already installed
+       # * Previous version was different from new version
+       if has_version "dev-libs/gobject-introspection" && ! has_version "=${CATEGORY}/${PF}"; then
+               ewarn "You must rebuild gobject-introspection so that the installed"
+               ewarn "typelibs and girs are regenerated for the new APIs in glib"
+       fi
+}
+
+pkg_postinst() {
+       # Inform users about possible breakage when updating glib and not dbus-glib, bug #297483
+       if has_version dev-libs/dbus-glib; then
+               ewarn "If you experience a breakage after updating dev-libs/glib try"
+               ewarn "rebuilding dev-libs/dbus-glib"
+       fi
+
+       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
+}
index 4a97cd88df2258d4fcdce2cad1f4c6897ff1592f..52b214526f4bd5f7c041ba21929dcd4042fe9795 100644 (file)
@@ -3,9 +3,11 @@
 <pkgmetadata>
   <herd>gnome</herd>
   <use>
-    <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg>
-      for introspection</flag>
+       <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg>
+               for introspection</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>
 </pkgmetadata>