public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Gilles Dartiguelongue" <eva@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gnome:master commit in: eclass/
Date: Wed, 11 Dec 2013 23:44:23 +0000 (UTC)	[thread overview]
Message-ID: <1386805424.6e514c4c1a602f3a97e276f6e07084561f3ae897.eva@gentoo> (raw)

commit:     6e514c4c1a602f3a97e276f6e07084561f3ae897
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 23:41:34 2013 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Wed Dec 11 23:43:44 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=6e514c4c

eclass: sync with gentoo-x86

---
 eclass/gnome2-utils.eclass | 98 ++++++++++++++++++++++++++++++++++++----------
 eclass/gnome2.eclass       | 31 +++++++--------
 2 files changed, 92 insertions(+), 37 deletions(-)

diff --git a/eclass/gnome2-utils.eclass b/eclass/gnome2-utils.eclass
index 2da7528..a70e322 100644
--- a/eclass/gnome2-utils.eclass
+++ b/eclass/gnome2-utils.eclass
@@ -1,6 +1,6 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/gnome2-utils.eclass,v 1.31 2012/10/27 22:24:10 tetromino Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/gnome2-utils.eclass,v 1.33 2013/09/15 19:29:11 pacho Exp $
 
 # @ECLASS: gnome2-utils.eclass
 # @MAINTAINER:
@@ -15,6 +15,8 @@
 #  * GConf schemas management
 #  * scrollkeeper (old Gnome help system) management
 
+inherit multilib
+
 case "${EAPI:-0}" in
 	0|1|2|3|4|5) ;;
 	*) die "EAPI=${EAPI} is not supported" ;;
@@ -50,6 +52,12 @@ esac
 # Path to glib-compile-schemas
 : ${GLIB_COMPILE_SCHEMAS:="/usr/bin/glib-compile-schemas"}
 
+# @ECLASS-VARIABLE: GDK_PIXBUF_UPDATE_BIN
+# @INTERNAL
+# @DESCRIPTION:
+# Path to gdk-pixbuf-query-loaders
+: ${GDK_PIXBUF_UPDATE_BIN:="/usr/bin/gdk-pixbuf-query-loaders"}
+
 # @ECLASS-VARIABLE: GNOME2_ECLASS_SCHEMAS
 # @INTERNAL
 # @DEFAULT_UNSET
@@ -74,6 +82,12 @@ esac
 # @DESCRIPTION:
 # List of GSettings schemas provided by the package
 
+# @ECLASS-VARIABLE: GNOME2_ECLASS_GDK_PIXBUF_LOADERS
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# List of gdk-pixbuf loaders provided by the package
+
 DEPEND=">=sys-apps/sed-4"
 
 
@@ -387,34 +401,78 @@ gnome2_schemas_update() {
 	eend $?
 }
 
+# @FUNCTION: gnome2_gdk_pixbuf_savelist
+# @DESCRIPTION:
+# Find if there is any gdk-pixbuf loader to install and save the list in
+# GNOME2_ECLASS_GDK_PIXBUF_LOADERS variable.
+# This function should be called from pkg_preinst.
+gnome2_gdk_pixbuf_savelist() {
+	has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}"
+	pushd "${ED}" 1>/dev/null
+	export GNOME2_ECLASS_GDK_PIXBUF_LOADERS=$(find "usr/$(get_libdir)/gdk-pixbuf-2.0" -type f 2>/dev/null)
+	popd 1>/dev/null
+}
+
+# @FUNCTION: gnome2_gdk_pixbuf_update
+# @USAGE: gnome2_gdk_pixbuf_update
+# @DESCRIPTION:
+# Updates gdk-pixbuf loader cache if GNOME2_ECLASS_GDK_PIXBUF_LOADERS has some.
+# This function should be called from pkg_postinst and pkg_postrm.
+gnome2_gdk_pixbuf_update() {
+	has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}"
+	local updater="${EROOT}${GDK_PIXBUF_UPDATE_BIN}"
+
+	if [[ ! -x ${updater} ]]; then
+		debug-print "${updater} is not executable"
+		return
+	fi
+
+	if [[ -z ${GNOME2_ECLASS_GDK_PIXBUF_LOADERS} ]]; then
+		debug-print "gdk-pixbuf loader cache does not need an update"
+		return
+	fi
+
+	ebegin "Updating gdk-pixbuf loader cache"
+	local tmp_file=$(mktemp -t tmp.XXXXXXXXXX_gdkpixbuf)
+	${updater} 1> "${tmp_file}" &&
+	chmod 0644 "${tmp_file}" &&
+	mv -f "${tmp_file}" "${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache"
+	eend $?
+}
+
+
 # @FUNCTION: gnome2_query_immodules_gtk2
 # @USAGE: gnome2_query_immodules_gtk2
 # @DESCRIPTION:
 # Updates gtk2 immodules/gdk-pixbuf loaders listing.
 gnome2_query_immodules_gtk2() {
-	local GTK2_CONFDIR="/etc/gtk-2.0/$(get_abi_CHOST)"
+	if has_version ">=x11-libs/gtk+-2.24.20:2"; then
+		"${EPREFIX}/usr/bin/gtk-query-immodules-2.0" --update-cache
+	else
+		local GTK2_CONFDIR="/etc/gtk-2.0/$(get_abi_CHOST)"
 
-	local query_exec="${EPREFIX}/usr/bin/gtk-query-immodules-2.0"
-	local gtk_conf="${EPREFIX}${GTK2_CONFDIR}/gtk.immodules"
-	local gtk_conf_dir=$(dirname "${gtk_conf}")
+		local query_exec="${EPREFIX}/usr/bin/gtk-query-immodules-2.0"
+		local gtk_conf="${EPREFIX}${GTK2_CONFDIR}/gtk.immodules"
+		local gtk_conf_dir=$(dirname "${gtk_conf}")
 
-	einfo "Generating Gtk2 immodules/gdk-pixbuf loaders listing:"
-	einfo "-> ${gtk_conf}"
+		einfo "Generating Gtk2 immodules/gdk-pixbuf loaders listing:"
+		einfo "-> ${gtk_conf}"
 
-	mkdir -p "${gtk_conf_dir}"
-	local tmp_file=$(mktemp -t tmp.XXXXXXXXXXgtk_query_immodules)
-	if [ -z "${tmp_file}" ]; then
-		ewarn "gtk_query_immodules: cannot create temporary file"
-		return 1
-	fi
+		mkdir -p "${gtk_conf_dir}"
+		local tmp_file=$(mktemp -t tmp.XXXXXXXXXXgtk_query_immodules)
+		if [ -z "${tmp_file}" ]; then
+			ewarn "gtk_query_immodules: cannot create temporary file"
+			return 1
+		fi
 
-	if ${query_exec} > "${tmp_file}"; then
-		cat "${tmp_file}" > "${gtk_conf}" || \
-			ewarn "Failed to write to ${gtk_conf}"
-	else
-		ewarn "Cannot update gtk.immodules, file generation failed"
+		if ${query_exec} > "${tmp_file}"; then
+			cat "${tmp_file}" > "${gtk_conf}" || \
+				ewarn "Failed to write to ${gtk_conf}"
+		else
+			ewarn "Cannot update gtk.immodules, file generation failed"
+		fi
+		rm "${tmp_file}"
 	fi
-	rm "${tmp_file}"
 }
 
 # @FUNCTION: gnome2_query_immodules_gtk3

diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass
index 53ffe22..af95a5b 100644
--- a/eclass/gnome2.eclass
+++ b/eclass/gnome2.eclass
@@ -150,7 +150,7 @@ gnome2_src_configure() {
 	# Remember to drop 'doc' USE flag from your package if it was only used to
 	# rebuild docs.
 	# Preserve old behavior for older EAPI.
-	if grep -q "enable-gtk-doc" ${ECONF_SOURCE:-.}/configure ; then
+	if grep -q "enable-gtk-doc" "${ECONF_SOURCE:-.}"/configure ; then
 		if has ${EAPI:-0} 0 1 2 3 4 && in_iuse doc ; then
 			G2CONF="$(use_enable doc gtk-doc) ${G2CONF}"
 		else
@@ -160,32 +160,37 @@ gnome2_src_configure() {
 
 	# Pass --disable-maintainer-mode when needed
 	if grep -q "^[[:space:]]*AM_MAINTAINER_MODE(\[enable\])" \
-		${ECONF_SOURCE:-.}/configure.*; then
+		"${ECONF_SOURCE:-.}"/configure.*; then
 		G2CONF="--disable-maintainer-mode ${G2CONF}"
 	fi
 
 	# Pass --disable-scrollkeeper when possible
-	if grep -q "disable-scrollkeeper" ${ECONF_SOURCE:-.}/configure; then
+	if grep -q "disable-scrollkeeper" "${ECONF_SOURCE:-.}"/configure; then
 		G2CONF="--disable-scrollkeeper ${G2CONF}"
 	fi
 
 	# Pass --disable-silent-rules when possible (not needed for eapi5), bug #429308
 	if has ${EAPI:-0} 0 1 2 3 4; then
-		if grep -q "disable-silent-rules" ${ECONF_SOURCE:-.}/configure; then
+		if grep -q "disable-silent-rules" "${ECONF_SOURCE:-.}"/configure; then
 			G2CONF="--disable-silent-rules ${G2CONF}"
 		fi
 	fi
 
 	# Pass --disable-schemas-install when possible
-	if grep -q "disable-schemas-install" ${ECONF_SOURCE:-.}/configure; then
+	if grep -q "disable-schemas-install" "${ECONF_SOURCE:-.}"/configure; then
 		G2CONF="--disable-schemas-install ${G2CONF}"
 	fi
 
 	# Pass --disable-schemas-compile when possible
-	if grep -q "disable-schemas-compile" ${ECONF_SOURCE:-.}/configure; then
+	if grep -q "disable-schemas-compile" "${ECONF_SOURCE:-.}"/configure; then
 		G2CONF="--disable-schemas-compile ${G2CONF}"
 	fi
 
+	# Pass --enable-compile-warnings=minimum as we don't want -Werror* flags, bug #471336
+	if grep -q "enable-compile-warnings" "${ECONF_SOURCE:-.}"/configure; then
+		G2CONF="--enable-compile-warnings=minimum ${G2CONF}"
+	fi
+
 	# Avoid sandbox violations caused by gnome-vfs (bug #128289 and #345659)
 	addwrite "$(unset HOME; echo ~)/.gnome2"
 
@@ -231,17 +236,7 @@ gnome2_src_install() {
 			dodoc ${DOCS} || die "dodoc failed"
 		fi
 	else
-		if ! declare -p DOCS >/dev/null 2>&1 ; then
-			local d
-			for d in README* ChangeLog AUTHORS NEWS TODO CHANGES THANKS BUGS \
-					FAQ CREDITS CHANGELOG ; do
-				[[ -s "${d}" ]] && dodoc "${d}"
-			done
-		elif declare -p DOCS | grep -q '^declare -a' ; then
-			dodoc "${DOCS[@]}"
-		else
-			dodoc ${DOCS}
-		fi
+		einstalldocs
 	fi
 
 	# Do not keep /var/lib/scrollkeeper because:
@@ -281,6 +276,7 @@ gnome2_pkg_preinst() {
 	gnome2_icon_savelist
 	gnome2_schemas_savelist
 	gnome2_scrollkeeper_savelist
+	gnome2_gdk_pixbuf_savelist
 }
 
 # @FUNCTION: gnome2_pkg_postinst
@@ -294,6 +290,7 @@ gnome2_pkg_postinst() {
 	gnome2_icon_cache_update
 	gnome2_schemas_update
 	gnome2_scrollkeeper_update
+	gnome2_gdk_pixbuf_update
 
 	# This should only be in the overlay
 	ewarn "**************************************************************"


             reply	other threads:[~2013-12-11 23:44 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-11 23:44 Gilles Dartiguelongue [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-08-16 14:16 [gentoo-commits] proj/gnome:master commit in: eclass/ Matt Turner
2021-01-30 20:02 Mart Raudsepp
2021-01-30 20:02 Mart Raudsepp
2019-02-24  8:40 Mart Raudsepp
2019-02-23 20:37 Mart Raudsepp
2018-02-16 16:12 Sobhan Mohammadpour
2018-02-01 10:37 Sobhan Mohammadpour
2018-01-29  7:50 Gilles Dartiguelongue
2018-01-29  7:50 Gilles Dartiguelongue
2017-12-26 12:20 Mart Raudsepp
2017-12-10 18:37 Sobhan Mohammadpour
2017-12-10  4:04 Sobhan Mohammadpour
2017-09-13 22:19 Gilles Dartiguelongue
2016-10-30 11:44 Gilles Dartiguelongue
2016-10-30 11:44 Gilles Dartiguelongue
2016-10-30 11:44 Gilles Dartiguelongue
2016-09-05 22:05 Gilles Dartiguelongue
2015-12-24  1:18 Gilles Dartiguelongue
2015-12-24  1:18 Gilles Dartiguelongue
2015-11-26 22:46 Gilles Dartiguelongue
2015-05-25 16:08 Gilles Dartiguelongue
2015-05-25 16:08 Gilles Dartiguelongue
2015-05-24 16:33 Gilles Dartiguelongue
2015-05-24 16:33 Gilles Dartiguelongue
2015-05-10 21:27 Gilles Dartiguelongue
2014-11-23 22:35 Remi Cardona
2014-11-03 23:24 Gilles Dartiguelongue
2014-11-03 23:24 Gilles Dartiguelongue
2014-11-03 23:24 Gilles Dartiguelongue
2014-11-03 23:24 Gilles Dartiguelongue
2014-11-03 23:24 Gilles Dartiguelongue
2014-11-03 23:24 Gilles Dartiguelongue
2014-11-02 15:58 Gilles Dartiguelongue
2014-04-20 23:44 Gilles Dartiguelongue
2014-04-20 22:57 Gilles Dartiguelongue
2013-01-16 22:56 Gilles Dartiguelongue
2012-12-29 20:21 Gilles Dartiguelongue
2012-12-27 22:54 Gilles Dartiguelongue
2012-12-27 22:51 Gilles Dartiguelongue
2012-12-27 22:51 Gilles Dartiguelongue
2012-12-27 22:19 Gilles Dartiguelongue
2012-12-27 22:19 Gilles Dartiguelongue
2012-12-16 14:16 Gilles Dartiguelongue
2012-12-16 14:16 Gilles Dartiguelongue
2012-12-05 21:59 Alexandre Rostovtsev
2012-12-03 23:43 Gilles Dartiguelongue
2012-12-02 16:02 Gilles Dartiguelongue
2012-12-02 14:50 Gilles Dartiguelongue
2012-12-02 14:50 Gilles Dartiguelongue
2012-12-02 14:50 Gilles Dartiguelongue
2012-12-02 14:50 Gilles Dartiguelongue
2012-11-26 21:35 Gilles Dartiguelongue
2012-11-25 22:38 Gilles Dartiguelongue
2012-11-18 19:11 Gilles Dartiguelongue
2012-11-18 18:50 Gilles Dartiguelongue
2012-11-18 18:50 Gilles Dartiguelongue
2012-11-18 18:25 Gilles Dartiguelongue
2012-10-27  8:42 Gilles Dartiguelongue
2012-09-12 20:23 Alexandre Rostovtsev
2012-09-10  2:17 Alexandre Rostovtsev
2012-05-03  0:03 Alexandre Restovtsev
2012-04-24  3:36 Alexandre Restovtsev
2012-02-26 21:53 Alexandre Restovtsev
2012-02-12 15:32 Gilles Dartiguelongue
2012-01-03 11:56 Priit Laes
2011-12-18  5:26 Alexandre Restovtsev
2011-12-14 19:46 Alexandre Restovtsev
2011-11-15  1:31 Nirbheek Chauhan
2011-11-14  7:01 Alexandre Restovtsev
2011-11-04 20:35 Alexandre Restovtsev
2011-09-27 13:36 Nirbheek Chauhan
2011-09-26  4:46 Alexandre Restovtsev
2011-09-25 20:37 Alexandre Restovtsev
2011-09-20  2:17 Alexandre Restovtsev
2011-09-20  0:12 Alexandre Restovtsev
2011-08-28 18:46 Alexandre Restovtsev
2011-08-24  7:04 Arun Raghavan
2011-08-21  7:06 Alexandre Restovtsev
2011-07-19  0:22 Alexandre Restovtsev
2011-05-08 18:54 Gilles Dartiguelongue
2011-05-08 18:54 Gilles Dartiguelongue
2011-05-08 18:54 Gilles Dartiguelongue
2011-04-21 22:09 Gilles Dartiguelongue
2011-04-20 20:39 Nirbheek Chauhan
2011-04-20 18:58 Nirbheek Chauhan
2011-04-05  0:57 Nirbheek Chauhan
2011-04-05  0:57 Nirbheek Chauhan
2011-03-26  2:17 Nirbheek Chauhan
2011-03-20 22:15 Nirbheek Chauhan
2011-03-20 21:46 Nirbheek Chauhan
2011-03-16 20:20 Nirbheek Chauhan
2011-02-28 10:19 Nirbheek Chauhan
2011-02-25 23:34 Nirbheek Chauhan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1386805424.6e514c4c1a602f3a97e276f6e07084561f3ae897.eva@gentoo \
    --to=eva@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox