From 3b3dd0028db34d36a82b48e18305d75aef120ee0 Mon Sep 17 00:00:00 2001 From: Brian Harring Date: Thu, 22 Dec 2011 01:39:49 -0800 Subject: [PATCH] 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 Reviewed-by: Mike Frysinger --- .../portage-stable/sys-devel/gettext/Manifest | 1 + ...text-0.18.1.1-uclibc-sched_param-def.patch | 20 +++ .../gettext/gettext-0.18.1.1-r3.ebuild | 120 ++++++++++++++++++ 3 files changed, 141 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gettext/Manifest create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gettext/files/gettext-0.18.1.1-uclibc-sched_param-def.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.18.1.1-r3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/Manifest new file mode 100644 index 0000000000..d5b872bb58 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/Manifest @@ -0,0 +1 @@ +DIST gettext-0.18.1.1.tar.gz 15139737 RMD160 0ca0b6bf0219440404a86f0c16cbac3d1a2ecd37 SHA1 5009deb02f67fc3c59c8ce6b82408d1d35d4e38f SHA256 93ac71a7afa5b70c1b1032516663658c51e653087f42a3fc8044752c026443e9 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/files/gettext-0.18.1.1-uclibc-sched_param-def.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/files/gettext-0.18.1.1-uclibc-sched_param-def.patch new file mode 100644 index 0000000000..4e392780fc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/files/gettext-0.18.1.1-uclibc-sched_param-def.patch @@ -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 + # include + #endif diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.18.1.1-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.18.1.1-r3.ebuild new file mode 100644 index 0000000000..fb0ac141ac --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.18.1.1-r3.ebuild @@ -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) +}