summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2010-01-05 07:13:54 +0000
committerPeter Volkov <pva@gentoo.org>2010-01-05 07:13:54 +0000
commit4bd9fffc68d69c21a7aba5c385e839f66d6a33e8 (patch)
tree153fba4b3ca429bf4352f5afa7de30daf2af77a5 /sys-devel
parentAdd back ~x86 keyword. (diff)
downloadgentoo-2-4bd9fffc68d69c21a7aba5c385e839f66d6a33e8.tar.gz
gentoo-2-4bd9fffc68d69c21a7aba5c385e839f66d6a33e8.tar.bz2
gentoo-2-4bd9fffc68d69c21a7aba5c385e839f66d6a33e8.zip
Backport upstream fix: replace a lone high surrogate with U+FFFD, bug #299658. Required for gajim test suite to pass.
(Portage version: 2.1.7.16/cvs/Linux x86_64)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/gettext/ChangeLog11
-rw-r--r--sys-devel/gettext/files/gettext-0.17-x-python.patch28
-rw-r--r--sys-devel/gettext/gettext-0.17-r1.ebuild118
3 files changed, 155 insertions, 2 deletions
diff --git a/sys-devel/gettext/ChangeLog b/sys-devel/gettext/ChangeLog
index 04938e5abd90..0cc98d26d3fb 100644
--- a/sys-devel/gettext/ChangeLog
+++ b/sys-devel/gettext/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-devel/gettext
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gettext/ChangeLog,v 1.169 2009/05/29 19:57:17 flameeyes Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gettext/ChangeLog,v 1.170 2010/01/05 07:13:54 pva Exp $
+
+*gettext-0.17-r1 (05 Jan 2010)
+
+ 05 Jan 2010; Peter Volkov <pva@gentoo.org> +gettext-0.17-r1.ebuild,
+ +files/gettext-0.17-x-python.patch:
+ Backport upstream fix: replace a lone high surrogate with U+FFFD, bug
+ #299658. Required for gajim test suite to pass.
29 May 2009; Diego E. Pettenò <flameeyes@gentoo.org> gettext-0.17.ebuild:
Replace kernel-conditional dependency on sys-apps/acl with virtual/acl.
diff --git a/sys-devel/gettext/files/gettext-0.17-x-python.patch b/sys-devel/gettext/files/gettext-0.17-x-python.patch
new file mode 100644
index 000000000000..20d55f8a32ba
--- /dev/null
+++ b/sys-devel/gettext/files/gettext-0.17-x-python.patch
@@ -0,0 +1,28 @@
+From a6fed64abcc079877b33804420c666b867b50987 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sun, 03 Aug 2008 20:00:25 +0000
+Subject: Handle lone high surrogates gracefully.
+
+2008-08-03 Bruno Haible <bruno@clisp.org>
+
+ * x-python.c (mixed_string_buffer_append): Replace a lone high
+ surrogate with U+FFFD.
+ Reported by Yann <asterix@lagaule.org>
+ via Santiago Vila <sanvila@unex.es>.
+
+diff --git a/gettext-tools/src/x-python.c b/gettext-tools/src/x-python.c
+index e6dcc31..e05aca4 100644
+--- a/gettext-tools/src/x-python.c
++++ b/gettext-tools/src/x-python.c
+@@ -930,6 +930,11 @@ mixed_string_buffer_append (struct mixed_string_buffer *bp, int c)
+
+ if (c >= UNICODE (0xd800) && c < UNICODE (0xdc00))
+ bp->utf16_surr = UNICODE_VALUE (c);
++ else if (c >= UNICODE (0xdc00) && c < UNICODE (0xe000))
++ {
++ /* A half surrogate is invalid, therefore use U+FFFD instead. */
++ mixed_string_buffer_append_unicode (bp, 0xfffd);
++ }
+ else
+ mixed_string_buffer_append_unicode (bp, UNICODE_VALUE (c));
+ }
diff --git a/sys-devel/gettext/gettext-0.17-r1.ebuild b/sys-devel/gettext/gettext-0.17-r1.ebuild
new file mode 100644
index 000000000000..c42e6c580dbe
--- /dev/null
+++ b/sys-devel/gettext/gettext-0.17-r1.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gettext/gettext-0.17-r1.ebuild,v 1.1 2010/01/05 07:13:54 pva Exp $
+
+inherit flag-o-matic eutils multilib toolchain-funcs mono libtool
+
+DESCRIPTION="GNU locale utilities"
+HOMEPAGE="http://www.gnu.org/software/gettext/gettext.html"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="acl doc emacs nls nocxx openmp"
+
+DEPEND="virtual/libiconv
+ dev-libs/libxml2
+ sys-libs/ncurses
+ dev-libs/expat
+ acl? ( virtual/acl )"
+PDEPEND="emacs? ( app-emacs/po-mode )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epunt_cxx
+
+ epatch "${FILESDIR}"/${PN}-0.14.1-lib-path-tests.patch #81628
+ epatch "${FILESDIR}"/${PN}-0.14.2-fix-race.patch #85054
+ epatch "${FILESDIR}"/${PN}-0.15-expat-no-dlopen.patch #146211
+ epatch "${FILESDIR}"/${PN}-0.17-open-args.patch #232081
+ epatch "${FILESDIR}"/${P}-gnuinfo.patch #249167
+ epatch "${FILESDIR}"/${P}-x-python.patch #299658
+
+ # bundled libtool seems to be broken so skip certain rpath tests
+ # http://lists.gnu.org/archive/html/bug-libtool/2005-03/msg00070.html
+ sed -i \
+ -e '2iexit 77' \
+ autoconf-lib-link/tests/rpath-3*[ef] || die "sed tests"
+
+ # until upstream pulls a new gnulib/acl, we have to hack around it
+ if ! use acl ; then
+ eval export ac_cv_func_acl{,delete_def_file,extended_file,free,from_{mode,text},{g,s}et_{fd,file}}=no
+ export ac_cv_header_acl_libacl_h=no
+ export ac_cv_header_sys_acl_h=no
+ export ac_cv_search_acl_get_file=no
+ export gl_cv_func_working_acl_get_file=no
+ sed -i -e 's:use_acl=1:use_acl=0:' gettext-tools/configure
+ fi
+}
+
+src_compile() {
+ local myconf=""
+ # Build with --without-included-gettext (on glibc systems)
+ if use elibc_glibc ; then
+ myconf="${myconf} --without-included-gettext $(use_enable nls)"
+ else
+ myconf="${myconf} --with-included-gettext --enable-nls"
+ fi
+ use nocxx && export CXX=$(tc-getCC)
+
+ # --without-emacs: Emacs support is now in a separate package
+ # --with-included-glib: glib depends on us so avoid circular deps
+ # --with-included-libcroco: libcroco depends on glib which ... ^^^
+ econf \
+ --docdir="/usr/share/doc/${PF}" \
+ --without-emacs \
+ --disable-java \
+ --with-included-glib \
+ --with-included-libcroco \
+ $(use_enable openmp) \
+ ${myconf} \
+ || die
+ emake || die
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "install failed"
+ use nls || rm -r "${D}"/usr/share/locale
+ dosym msgfmt /usr/bin/gmsgfmt #43435
+ dobin gettext-tools/misc/gettextize || die "gettextize"
+
+ # remove stuff that glibc handles
+ if use elibc_glibc ; then
+ rm -f "${D}"/usr/include/libintl.h
+ rm -f "${D}"/usr/$(get_libdir)/libintl.*
+ fi
+ rm -f "${D}"/usr/share/locale/locale.alias "${D}"/usr/lib/charset.alias
+
+ if [[ ${USERLAND} == "BSD" ]] ; then
+ libname="libintl$(get_libname 8)"
+ # Move dynamic libs and creates ldscripts into /usr/lib
+ dodir /$(get_libdir)
+ mv "${D}"/usr/$(get_libdir)/${libname}* "${D}"/$(get_libdir)/
+ gen_usr_ldscript ${libname}
+ fi
+
+ if use doc ; then
+ dohtml "${D}"/usr/share/doc/${PF}/*.html
+ else
+ rm -rf "${D}"/usr/share/doc/${PF}/{csharpdoc,examples,javadoc2,javadoc1}
+ fi
+ rm -f "${D}"/usr/share/doc/${PF}/*.html
+
+ dodoc AUTHORS ChangeLog NEWS README THANKS
+}
+
+pkg_preinst() {
+ # older gettext's sometimes installed libintl ...
+ # need to keep the linked version or the system
+ # could die (things like sed link against it :/)
+ preserve_old_lib /{,usr/}$(get_libdir)/libintl$(get_libname 7)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /{,usr/}$(get_libdir)/libintl$(get_libname 7)
+}