gettext: upgraded package to upstream

Upgraded sys-devel/gettext to version 0.21 on amd64, arm, arm64

This commit was generated by running the following command. The goal is
to update powertop which now depends on >=sys-devel/gettext-0.20.2.
cros_portage_upgrade --unstable-ok --upgrade \
                     --board=volteer:arm64-generic:arm-generic \
                     sys-devel/gettext

BUG=b:167535714
TEST=PowerTOP builds and runs
     emerge-volteer powertop
     cros deploy ${DUT_IP} powertop

Change-Id: Icdd73c5743e27e915efc26b8ea02622bd4855c03
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/2392775
Reviewed-by: Manoj Gupta (OoO) <manojgupta@chromium.org>
Tested-by: Manoj Gupta (OoO) <manojgupta@chromium.org>
Commit-Queue: Manoj Gupta (OoO) <manojgupta@chromium.org>
diff --git a/metadata/md5-cache/sys-devel/gettext-0.19.8.1 b/metadata/md5-cache/sys-devel/gettext-0.21
similarity index 62%
rename from metadata/md5-cache/sys-devel/gettext-0.19.8.1
rename to metadata/md5-cache/sys-devel/gettext-0.21
index 11a7a56..00e4479 100644
--- a/metadata/md5-cache/sys-devel/gettext-0.19.8.1
+++ b/metadata/md5-cache/sys-devel/gettext-0.21
@@ -1,7 +1,8 @@
+BDEPEND=git? ( dev-vcs/git ) >=app-portage/elt-patches-20170815
 DEFINED_PHASES=compile configure install preinst prepare setup test
-DEPEND=>=virtual/libiconv-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=virtual/libintl-0-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/libxml2-2.9.3:= dev-libs/expat acl? ( virtual/acl ) ncurses? ( sys-libs/ncurses:0= ) java? ( >=virtual/jdk-1.4:= ) >=app-portage/elt-patches-20170317 >=app-portage/elt-patches-20170815 java? ( >=dev-java/java-config-2.2.0-r3 )
+DEPEND=>=virtual/libiconv-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=virtual/libintl-0-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/libxml2-2.9.3:= dev-libs/expat acl? ( virtual/acl ) ncurses? ( sys-libs/ncurses:0= ) java? ( >=virtual/jdk-1.4:= ) java? ( >=dev-java/java-config-2.2.0-r3 )
 DESCRIPTION=GNU locale utilities
-EAPI=5
+EAPI=7
 HOMEPAGE=https://www.gnu.org/software/gettext/
 IUSE=acl -cvs +cxx doc emacs git java ncurses nls openmp static-libs elibc_FreeBSD java abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 abi_arm_32 abi_arm_64
 KEYWORDS=*
@@ -9,6 +10,6 @@
 PDEPEND=emacs? ( app-emacs/po-mode )
 RDEPEND=>=virtual/libiconv-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=virtual/libintl-0-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,abi_arm_32(-)?,abi_arm_64(-)?] >=dev-libs/libxml2-2.9.3:= dev-libs/expat acl? ( virtual/acl ) ncurses? ( sys-libs/ncurses:0= ) java? ( >=virtual/jdk-1.4:= ) !git? ( cvs? ( dev-vcs/cvs ) ) git? ( dev-vcs/git ) java? ( >=virtual/jre-1.4 ) java? ( >=dev-java/java-config-2.2.0-r3 )
 SLOT=0
-SRC_URI=mirror://gnu/gettext/gettext-0.19.8.1.tar.gz
-_eclasses_=eapi7-ver	756b3f27d8e46131d5cf3c51bd876446	epatch	8233751dc5105a6ae8fcd86ce2bb0247	epunt-cxx	e99babeaa7d98c1caaa6a61a79902210	estack	43ddf5aaffa7a8d0482df54d25a66a1f	eutils	06133990e861be0fe60c2b428fd025d9	java-pkg-opt-2	be255db325e3af8fbf3506cf63998341	java-utils-2	82402a1c36ab4bf38f3313a543f9e827	libtool	f143db5a74ccd9ca28c1234deffede96	ltprune	2770eed66a9b8ef944714cd0e968182e	mono-env	59ca1177366cc9e14521d3501e9bb281	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	605c126bed8d87e4378d5ff1645330cb	versionator	26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=0ded11e15a66553e9b6c34f859fe9089
+SRC_URI=mirror://gnu/gettext/gettext-0.21.tar.gz
+_eclasses_=java-pkg-opt-2	be255db325e3af8fbf3506cf63998341	java-utils-2	82402a1c36ab4bf38f3313a543f9e827	libtool	f143db5a74ccd9ca28c1234deffede96	mono-env	59ca1177366cc9e14521d3501e9bb281	multibuild	40fe59465edacd730c644ec2bc197809	multilib	2477ebe553d3e4d2c606191fe6c33602	multilib-build	1979aa0ff4d356d32507ca4650d9f37d	multilib-minimal	8bddda43703ba94d8341f4e247f97566	toolchain-funcs	605c126bed8d87e4378d5ff1645330cb
+_md5_=44e94db6b370eb1ae1c49eada0bcced1
diff --git a/sys-devel/gettext/Manifest b/sys-devel/gettext/Manifest
index 45ba8b6..61bb66f 100644
--- a/sys-devel/gettext/Manifest
+++ b/sys-devel/gettext/Manifest
@@ -1 +1 @@
-DIST gettext-0.19.8.1.tar.gz 19704011 SHA256 ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43 SHA512 073042fa2dc48804c58e76f036130a669e19612c25427b0ab14d0b366b549a63751bf3af03bfd0745d7c4f72497a4b2aab26a3cc6de83189ce111679073878e1 WHIRLPOOL ef9aa9eef3067595dc725169075401dfad8ba15d6224d2b563e3421afa7c4dce9336a287147404273b772def811230b3758c005902ec90192e6ee4ac373d9a9a
+DIST gettext-0.21.tar.gz 24181849 BLAKE2B 2eae99d0916b00b2af6fbc6bf7e309076519a10fea16cd49e7aa29fe8aec1ee7c784c6277281b764dc4abacf400cd3fe461129586303c8cd337db15c76cb4b87 SHA512 bbe590c5dd3580c75bf30ff768da99a88eb8d466ec1ac9eea20be4cab4357ecf72448e6b81b47425e39d50fa6320ba426632914d7898dfebb4f159abc39c31d1
diff --git a/sys-devel/gettext/files/gettext-0.20-avoid_eautomake.patch b/sys-devel/gettext/files/gettext-0.20-avoid_eautomake.patch
new file mode 100644
index 0000000..16592c8
--- /dev/null
+++ b/sys-devel/gettext/files/gettext-0.20-avoid_eautomake.patch
@@ -0,0 +1,22 @@
+--- gettext-0.20/gettext-tools/src/Makefile.in
++++ gettext-0.20/gettext-tools/src/Makefile.in
+@@ -3952,9 +3952,16 @@
+ 
+ # How to get the include files of libtextstyle.
+ textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h:
+-	here=`pwd`; \
+-	cd ../../libtextstyle/lib && \
+-	  $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS includedir="$$here"
++	cd "$(abs_top_builddir)/../libtextstyle/lib" && $(MAKE) $@
++	if test -f "$(abs_top_builddir)/../libtextstyle/lib/$@"; then \
++		file="$(abs_top_builddir)/../libtextstyle/lib/$@"; \
++	else \
++		file="$(abs_top_srcdir)/../libtextstyle/lib/$@"; \
++	fi; \
++	target_dir="$(abs_builddir)/$@"; \
++	target_dir="$${target_dir%/*}"; \
++	$(MKDIR_P) "$${target_dir}"; \
++	$(INSTALL_HEADER) "$$file" $@
+ 
+ # No need to install libgettextsrc.a, except on AIX.
+ install-exec-hook: install-exec-clean
diff --git a/sys-devel/gettext/files/gettext-0.20-parallel_install.patch b/sys-devel/gettext/files/gettext-0.20-parallel_install.patch
new file mode 100644
index 0000000..e47beaf
--- /dev/null
+++ b/sys-devel/gettext/files/gettext-0.20-parallel_install.patch
@@ -0,0 +1,37 @@
+From 829660df1583c6c3ee1d90291dd910f08e3b777e Mon Sep 17 00:00:00 2001
+From: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
+Date: Fri, 10 May 2019 20:08:25 +0200
+Subject: [PATCH] Fix parallel install issue
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ gettext-tools/src/Makefile.am | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am
+index 09a3c153d..1ee49cdca 100644
+--- a/gettext-tools/src/Makefile.am
++++ b/gettext-tools/src/Makefile.am
+@@ -252,9 +252,16 @@ cldr_plurals_LDADD = libgettextsrc.la $(LDADD)
+ 
+ # How to get the include files of libtextstyle.
+ textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h:
+-	here=`pwd`; \
+-	cd ../../libtextstyle/lib && \
+-	  $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS includedir="$$here"
++	cd "$(abs_top_builddir)/../libtextstyle/lib" && $(MAKE) $@
++	if test -f "$(abs_top_builddir)/../libtextstyle/lib/$@"; then \
++		file="$(abs_top_builddir)/../libtextstyle/lib/$@"; \
++	else \
++		file="$(abs_top_srcdir)/../libtextstyle/lib/$@"; \
++	fi; \
++	target_dir="$(abs_builddir)/$@"; \
++	target_dir="$${target_dir%/*}"; \
++	$(MKDIR_P) "$${target_dir}"; \
++	$(INSTALL_HEADER) "$$file" $@
+ BUILT_SOURCES    += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h
+ MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h
+ 
+-- 
+2.21.0
+
diff --git a/sys-devel/gettext/files/gettext-0.21_rc1-avoid_eautomake.patch b/sys-devel/gettext/files/gettext-0.21_rc1-avoid_eautomake.patch
new file mode 100644
index 0000000..8adae5d
--- /dev/null
+++ b/sys-devel/gettext/files/gettext-0.21_rc1-avoid_eautomake.patch
@@ -0,0 +1,22 @@
+--- gettext-0.21-rc1/gettext-tools/src/Makefile.in
++++ gettext-0.21-rc1/gettext-tools/src/Makefile.in
+@@ -4106,9 +4106,16 @@
+ 
+ # How to get the include files of libtextstyle.
+ @USE_INSTALLED_LIBTEXTSTYLE_FALSE@textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h:
+-@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	here=`pwd`; \
+-@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	cd ../../libtextstyle/lib && \
+-@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	  $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS includedir="$$here"
++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	cd "$(abs_top_builddir)/../libtextstyle/lib" && $(MAKE) $@
++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	if test -f "$(abs_top_builddir)/../libtextstyle/lib/$@"; then \
++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@		file="$(abs_top_builddir)/../libtextstyle/lib/$@"; \
++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	else \
++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@		file="$(abs_top_srcdir)/../libtextstyle/lib/$@"; \
++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	fi; \
++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	target_dir="$(abs_builddir)/$@"; \
++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	target_dir="$${target_dir%/*}"; \
++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	$(MKDIR_P) "$${target_dir}"; \
++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@	$(INSTALL_HEADER) "$$file" $@
+ 
+ # No need to install libgettextsrc.a, except on AIX.
+ install-exec-hook: install-exec-clean
diff --git a/sys-devel/gettext/gettext-0.19.8.1.ebuild b/sys-devel/gettext/gettext-0.21.ebuild
similarity index 73%
rename from sys-devel/gettext/gettext-0.19.8.1.ebuild
rename to sys-devel/gettext/gettext-0.21.ebuild
index 9b23161..2a9df2e 100644
--- a/sys-devel/gettext/gettext-0.19.8.1.ebuild
+++ b/sys-devel/gettext/gettext-0.21.ebuild
@@ -1,21 +1,25 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # Note: Keep version bumps in sync with dev-libs/libintl.
 
-EAPI="5"
+EAPI=7
 
-inherit epatch epunt-cxx ltprune mono-env libtool java-pkg-opt-2 multilib-minimal
+inherit mono-env libtool java-pkg-opt-2 multilib-minimal
 
 DESCRIPTION="GNU locale utilities"
 HOMEPAGE="https://www.gnu.org/software/gettext/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
+if [[ "${PV}" == *_rc* ]] ; then
+	SRC_URI="mirror://gnu-alpha/${PN}/${P/_/-}.tar.bz2"
+	S="${WORKDIR}/${P/_/-}"
+else
+	SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+	KEYWORDS="*"
+fi
 # Only libasprintf is under the LGPL (and libintl is in a sep package),
 # so put that license behind USE=cxx.
 LICENSE="GPL-3+ cxx? ( LGPL-2.1+ )"
 SLOT="0"
-KEYWORDS="*"
 IUSE="acl -cvs +cxx doc emacs git java ncurses nls openmp static-libs"
 
 # only runtime goes multilib
@@ -36,13 +40,30 @@
 	!git? ( cvs? ( dev-vcs/cvs ) )
 	git? ( dev-vcs/git )
 	java? ( >=virtual/jre-1.4 )"
+BDEPEND="
+	git? ( dev-vcs/git )
+"
 PDEPEND="emacs? ( app-emacs/po-mode )"
 
 MULTILIB_WRAPPED_HEADERS=(
 	# only installed for native ABI
 	/usr/include/gettext-po.h
+
+	/usr/include/autosprintf.h
+	/usr/include/textstyle.h
+	/usr/include/textstyle/stdbool.h
+	/usr/include/textstyle/version.h
+	/usr/include/textstyle/woe32dll.h
 )
 
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.19.7-disable-libintl.patch #564168
+	"${FILESDIR}"/${PN}-0.20-parallel_install.patch #685530
+	"${FILESDIR}"/${PN}-0.21_rc1-avoid_eautomake.patch
+)
+
+QA_SONAME_NO_SYMLINK=".*/preloadable_libintl.so"
+
 pkg_setup() {
 	mono-env_pkg_setup
 	java-pkg-opt-2_pkg_setup
@@ -51,9 +72,8 @@
 src_prepare() {
 	java-pkg-opt-2_src_prepare
 
-	epatch "${FILESDIR}"/${PN}-0.19.7-disable-libintl.patch #564168
+	default
 
-	epunt_cxx
 	elibtoolize
 }
 
@@ -61,7 +81,7 @@
 	local myconf=(
 		# switches common to runtime and top-level
 		--cache-file="${BUILD_DIR}"/config.cache
-		--docdir="\$(datarootdir)/doc/${PF}"
+		#--docdir="\$(datarootdir)/doc/${PF}"
 
 		# Emacs support is now in a separate package
 		--without-emacs
@@ -90,7 +110,7 @@
 		$(use_enable static-libs static)
 	)
 
-	local ECONF_SOURCE=${S}
+	local ECONF_SOURCE="${S}"
 	if ! multilib_is_native_abi ; then
 		# for non-native ABIs, we build runtime only
 		ECONF_SOURCE+=/gettext-runtime
@@ -100,7 +120,7 @@
 }
 
 multilib_src_install() {
-	default
+	emake DESTDIR="${D}" install
 
 	if multilib_is_native_abi ; then
 		dosym msgfmt /usr/bin/gmsgfmt #43435
@@ -109,29 +129,26 @@
 }
 
 multilib_src_install_all() {
-	use nls || rm -r "${ED}"/usr/share/locale
-	use static-libs || prune_libtool_files --all
-
-	rm -f "${ED}"/usr/share/locale/locale.alias "${ED}"/usr/lib/charset.alias
+	find "${ED}" -type f -name "*.la" -delete || die
 
 	if use java ; then
 		java-pkg_dojar "${ED}"/usr/share/${PN}/*.jar
-		rm -f "${ED}"/usr/share/${PN}/*.jar
-		rm -f "${ED}"/usr/share/${PN}/*.class
+		rm "${ED}"/usr/share/${PN}/*.jar || die
+		rm "${ED}"/usr/share/${PN}/*.class || die
 		if use doc ; then
-			java-pkg_dojavadoc "${ED}"/usr/share/doc/${PF}/javadoc2
-			rm -rf "${ED}"/usr/share/doc/${PF}/javadoc2
+			java-pkg_dojavadoc "${ED}"/usr/share/doc/${PF}/html/javadoc2
 		fi
 	fi
 
+	dodoc AUTHORS ChangeLog NEWS README THANKS
+
 	if use doc ; then
-		dohtml "${ED}"/usr/share/doc/${PF}/*.html
+		docinto html
+		dodoc "${ED}"/usr/share/doc/${PF}/*.html
 	else
 		rm -rf "${ED}"/usr/share/doc/${PF}/{csharpdoc,examples,javadoc2,javadoc1}
 	fi
-	rm -f "${ED}"/usr/share/doc/${PF}/*.html
-
-	dodoc AUTHORS ChangeLog NEWS README THANKS
+	rm "${ED}"/usr/share/doc/${PF}/*.html || die
 }
 
 pkg_preinst() {
diff --git a/sys-devel/gettext/metadata.xml b/sys-devel/gettext/metadata.xml
index 127047a..8b69e80 100644
--- a/sys-devel/gettext/metadata.xml
+++ b/sys-devel/gettext/metadata.xml
@@ -16,6 +16,6 @@
 	</flag>
 </use>
 <upstream>
-	<remote-id type="cpe">cpe:/a:gnu:texinfo</remote-id>
+	<remote-id type="cpe">cpe:/a:gnu:gettext</remote-id>
 </upstream>
 </pkgmetadata>