From 7c990c667a263d7fb65516e0770bc43e703f7c7c Mon Sep 17 00:00:00 2001 From: Rémi Cardona Date: Sun, 7 Jun 2009 21:06:30 +0000 Subject: x11-libs/libxcb: bump to 1.3, add xcb-rebuilder.sh from the x11 overlay (Portage version: 2.2_rc33/cvs/Linux i686) --- x11-libs/libxcb/ChangeLog | 8 ++++- x11-libs/libxcb/files/xcb-rebuilder.sh | 63 ++++++++++++++++++++++++++++++++++ x11-libs/libxcb/libxcb-1.3.ebuild | 47 +++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 1 deletion(-) create mode 100755 x11-libs/libxcb/files/xcb-rebuilder.sh create mode 100644 x11-libs/libxcb/libxcb-1.3.ebuild (limited to 'x11-libs/libxcb') diff --git a/x11-libs/libxcb/ChangeLog b/x11-libs/libxcb/ChangeLog index 971b0ea47beb..180ff8ef540d 100644 --- a/x11-libs/libxcb/ChangeLog +++ b/x11-libs/libxcb/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-libs/libxcb # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/libxcb/ChangeLog,v 1.30 2009/05/04 17:06:59 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libxcb/ChangeLog,v 1.31 2009/06/07 21:06:29 remi Exp $ + +*libxcb-1.3 (07 Jun 2009) + + 07 Jun 2009; Rémi Cardona +libxcb-1.3.ebuild, + +files/xcb-rebuilder.sh: + bump to 1.3, add xcb-rebuilder.sh from the x11 overlay 04 May 2009; Samuli Suominen libxcb-1.1.ebuild, libxcb-1.1.90.1.ebuild: diff --git a/x11-libs/libxcb/files/xcb-rebuilder.sh b/x11-libs/libxcb/files/xcb-rebuilder.sh new file mode 100755 index 000000000000..0f1a3aa753e4 --- /dev/null +++ b/x11-libs/libxcb/files/xcb-rebuilder.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +# To use something besides `emerge` to install packages, set +# XCB_REBUILDER_INSTALL to that binary. + +. /etc/init.d/functions.sh + +case ${1} in + '') ;; + *) + einfo 'Rebuilds broken packages from the XCB library renaming' + einfo + einfo 'To use something besides `emerge`, set the INSTALL variable to their binary.' + exit 1 + ;; +esac + +if ! type -p qfile >/dev/null; then + einfo "Please install app-portage/portage-utils." + exit 1 +fi + +if ! type -p scanelf >/dev/null; then + einfo "Please install app-misc/pax-utils." + exit 1 +fi + +einfo "Fixing broken libtool archives (.la)" +for i in $(qlist -a | grep "\.la$"); do + sed -i \ + -e "s:[^[:space:]]*xcb-xlib[^[:space:]]*::g" \ + "${i}" 2>/dev/null +done + +einfo "Scanning for libraries requiring libxcb-xlib.so..." +for i in $(qlist -a | grep "\.so$"); do + scanelf -n $i \ + | grep -q xcb-xlib \ + && XCB_LIBS="${XCB_LIBS} ${i}" +done + +if [[ -n ${XCB_LIBS} ]]; then + einfo "Broken libraries:" + for lib in ${XCB_LIBS}; do + echo " ${lib}" + done + ebegin "Scanning for packages installing broken libraries" + XCB_PACKAGES=$(qfile -qC ${XCB_LIBS} | sort | uniq) + eend 0 +else + einfo "No broken libraries detected" + exit 0 +fi + + +einfo "Broken packages:" +for pkg in ${XCB_PACKAGES}; do + echo " ${pkg}" +done + +ebegin "Rebuilding broken packages" +${XCB_REBUILDER_INSTALL:-emerge -1} ${XCB_PACKAGES} +eend $? diff --git a/x11-libs/libxcb/libxcb-1.3.ebuild b/x11-libs/libxcb/libxcb-1.3.ebuild new file mode 100644 index 000000000000..877209df17b1 --- /dev/null +++ b/x11-libs/libxcb/libxcb-1.3.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libxcb/libxcb-1.3.ebuild,v 1.1 2009/06/07 21:06:29 remi Exp $ + +EAPI="2" + +# Must be before x-modular eclass is inherited +#SNAPSHOT="yes" + +inherit x-modular + +DESCRIPTION="X C-language Bindings library" +HOMEPAGE="http://xcb.freedesktop.org/" +SRC_URI="http://xcb.freedesktop.org/dist/${P}.tar.bz2" +LICENSE="X11" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="doc selinux" + +RDEPEND="x11-libs/libXau + x11-libs/libXdmcp + dev-libs/libpthread-stubs" +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + dev-libs/libxslt + >=x11-proto/xcb-proto-1.5 + >=dev-lang/python-2.5[xml]" + +pkg_setup() { + CONFIGURE_OPTIONS="$(use_enable doc build-docs) + $(use_enable selinux xselinux) + --enable-xinput" +} + +src_install() { + x-modular_src_install + dobin "${FILESDIR}"/xcb-rebuilder.sh || die +} + +pkg_postinst() { + x-modular_pkg_postinst + + ewarn "libxcb-1.2 removed libxcb-xlib.so. Run xcb-rebuilder.sh to rebuild" + ewarn "packages that broke. revdep-rebuild may also work." + ebeep 5 + epause 5 +} -- cgit v1.2.3-65-gdbad