gettext: upgrade to current upstream

Primarily this gets us some cross compilation fixes, and
static-lib support.

BUG=chromium-os:24207
TEST=`emerge gettext`
TEST=`build_packages --board x86-alex`
TEST=`build_packages --board tegra2
CQ-DEPEND=I82c162cf58592e76807e96a75053c9490d83a88f

Change-Id: I7a3d8ac578b64c20301d2e761c964c1afc9b8bb8
Reviewed-on: https://gerrit.chromium.org/gerrit/13402
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
Brian Harring 2011-12-22 01:39:49 -08:00
parent 0697062739
commit 3b3dd0028d
3 changed files with 141 additions and 0 deletions

View File

@ -0,0 +1 @@
DIST gettext-0.18.1.1.tar.gz 15139737 RMD160 0ca0b6bf0219440404a86f0c16cbac3d1a2ecd37 SHA1 5009deb02f67fc3c59c8ce6b82408d1d35d4e38f SHA256 93ac71a7afa5b70c1b1032516663658c51e653087f42a3fc8044752c026443e9

View File

@ -0,0 +1,20 @@
uclibc defines __GLIBC__ but it does not expose struct shed_param as much as glibc
and is not needed too per standard. gnulib attempts to use it but we have to account
for it because in this case uclibc does not behave like glibc.
-Khem
http://bugs.gentoo.org/336484
http://bugs.gentoo.org/323377
--- gettext/gettext-tools/gnulib-lib/spawn.in.h
+++ gettext/gettext-tools/gnulib-lib/spawn.in.h
@@ -31,7 +31,7 @@
/* Get definitions of 'struct sched_param' and 'sigset_t'.
But avoid namespace pollution on glibc systems. */
-#ifndef __GLIBC__
+#if !defined __GLIBC__ || defined __UCLIBC__
# include <sched.h>
# include <signal.h>
#endif

View File

@ -0,0 +1,120 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-devel/gettext/gettext-0.18.1.1-r3.ebuild,v 1.2 2011/11/13 19:21:31 vapier Exp $
EAPI="2"
inherit flag-o-matic eutils multilib toolchain-funcs mono libtool java-pkg-opt-2
DESCRIPTION="GNU locale utilities"
HOMEPAGE="http://www.gnu.org/software/gettext/"
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 +git java nls +cxx openmp static-libs elibc_glibc"
DEPEND="virtual/libiconv
dev-libs/libxml2
sys-libs/ncurses
dev-libs/expat
acl? ( virtual/acl )
java? ( >=virtual/jdk-1.4 )"
RDEPEND="${DEPEND}
git? ( dev-vcs/git )
java? ( >=virtual/jre-1.4 )"
PDEPEND="emacs? ( app-emacs/po-mode )"
src_prepare() {
java-pkg-opt-2_src_prepare
epunt_cxx
elibtoolize
epatch "${FILESDIR}"/${P}-uclibc-sched_param-def.patch
}
src_configure() {
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 cxx || 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 ... ^^^
#
# --with-included-libunistring will _disable_ libunistring (since
# --it's not bundled), see bug #326477
econf \
--docdir="/usr/share/doc/${PF}" \
--without-emacs \
--without-lispdir \
$(use_enable java) \
--with-included-glib \
--with-included-libcroco \
--with-included-libunistring \
$(use_enable acl) \
$(use_enable openmp) \
$(use_enable static-libs static) \
$(use_with git) \
--without-cvs
}
src_install() {
emake install DESTDIR="${D}" || die "install failed"
use nls || rm -r "${D}"/usr/share/locale
use static-libs || rm -f "${D}"/usr/lib*/*.la
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)"
# 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 java ; then
java-pkg_dojar "${D}"/usr/share/${PN}/*.jar
rm -f "${D}"/usr/share/${PN}/*.jar
rm -f "${D}"/usr/share/${PN}/*.class
if use doc ; then
java-pkg_dojavadoc "${D}"/usr/share/doc/${PF}/javadoc2
rm -rf "${D}"/usr/share/doc/${PF}/javadoc2
fi
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)
java-pkg-opt-2_pkg_preinst
}
pkg_postinst() {
preserve_old_lib_notify /{,usr/}$(get_libdir)/libintl$(get_libname 7)
}