diff options
author | Pacho Ramos <pacho@gentoo.org> | 2011-10-16 21:37:16 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2011-10-16 21:37:16 +0000 |
commit | 80fb2ce9b24eac34ba3dd8890798794ab2f10a88 (patch) | |
tree | 01f434207b2e0507fae5318ca0e320a6c884e5ac /dev-libs/glib | |
parent | Migrate to bash-completion-r1. (diff) | |
download | historical-80fb2ce9b24eac34ba3dd8890798794ab2f10a88.tar.gz historical-80fb2ce9b24eac34ba3dd8890798794ab2f10a88.tar.bz2 historical-80fb2ce9b24eac34ba3dd8890798794ab2f10a88.zip |
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.
Package-Manager: portage-2.1.10.27/cvs/Linux x86_64
Diffstat (limited to 'dev-libs/glib')
-rw-r--r-- | dev-libs/glib/ChangeLog | 18 | ||||
-rw-r--r-- | dev-libs/glib/Manifest | 18 | ||||
-rw-r--r-- | dev-libs/glib/files/glib-2.30.1-homedir-env.patch | 61 | ||||
-rw-r--r-- | dev-libs/glib/glib-2.30.1-r1.ebuild | 237 | ||||
-rw-r--r-- | dev-libs/glib/metadata.xml | 6 |
5 files changed, 327 insertions, 13 deletions
diff --git a/dev-libs/glib/ChangeLog b/dev-libs/glib/ChangeLog index 73777eee7d4f..cc39afc0a23c 100644 --- a/dev-libs/glib/ChangeLog +++ b/dev-libs/glib/ChangeLog @@ -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) diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest index 6c924fb6176c..b42975754fcb 100644 --- a/dev-libs/glib/Manifest +++ b/dev-libs/glib/Manifest @@ -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 index 000000000000..30d44997c591 --- /dev/null +++ b/dev-libs/glib/files/glib-2.30.1-homedir-env.patch @@ -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 index 000000000000..0dc0089dc94d --- /dev/null +++ b/dev-libs/glib/glib-2.30.1-r1.ebuild @@ -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 +} diff --git a/dev-libs/glib/metadata.xml b/dev-libs/glib/metadata.xml index 4a97cd88df22..52b214526f4b 100644 --- a/dev-libs/glib/metadata.xml +++ b/dev-libs/glib/metadata.xml @@ -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> |