Upgraded packages to latest upstream

Upgraded sys-apps/diffutils to v3.9-r1

BUG=None
TEST=presubmit
RELEASE_NOTE=Upgraded sys-apps/diffutils to v3.9-r1.

Change-Id: I5440beb67c1f423da4cfcbfd7c61d67e8d74d653
Reviewed-on: https://cos-review.googlesource.com/c/third_party/overlays/portage-stable/+/44572
Reviewed-by: Chenglong Tang <chenglongtang@google.com>
Tested-by: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com>
diff --git a/sys-apps/diffutils/Manifest b/sys-apps/diffutils/Manifest
index acf8f16..eda49ea 100644
--- a/sys-apps/diffutils/Manifest
+++ b/sys-apps/diffutils/Manifest
@@ -1,2 +1,4 @@
 DIST diffutils-3.8.tar.xz 1585120 BLAKE2B 573abbfba55c62ba30d2084ca68860e9681cfe92648407f7fb04e1aaed2e4719e2fb5a29cf25bd125d762f4dfd52f85ee91f2ec19b099365bada7fe27a0394af SHA512 279441270987e70d5ecfaf84b6285a4866929c43ec877e50f154a788858d548a8a316f2fc26ad62f7348c8d289cb29a09d06dfadce1806e3d8b4ea88c8b1aa7c
 DIST diffutils-3.8.tar.xz.sig 833 BLAKE2B 439d331d9839d8b434b7192c52628bc9e8e1c11cada28170f85c9390abc3e5e9ea86aee696a4f9260552133053194680ff54b960ed539fabec85fdff54dee3a2 SHA512 0464ac89209411993800666b45ff90243d22fbda53bf1d71c6870d565b39cc8d9c54c141b9d297a181ce74ad8fb5313953f416bced179ff7728a52a3e9a4f5a5
+DIST diffutils-3.9.tar.xz 1587916 BLAKE2B d43ed9f1643ac46b69083755974fc9611ad00c3b98b08332c681223d17d762567562233b51342a16f7dad8f28dfc5536999143594e33a64e6624001a71787c8f SHA512 d43280cb1cb2615a8867d971467eb9a3fa037fe9a411028068036f733dab42b10d42767093cea4de71e62b2659a3ec73bd7d1a8f251befd49587e32802682d0f
+DIST diffutils-3.9.tar.xz.sig 833 BLAKE2B 3bc4aa2b5c73da03dbcfab6edc10f8d5062d5564a6fa2d3a1e0e791d29e189285ff69a3c618685e4471a4c5e37c4f921fe6a12594d7a4b7d7085f9af3ed885d5 SHA512 38e90b7b5708f65f9f3bd04c69d718facbe5109ce3ba55a9bd6aa6becbc69d4b3a8a4e1579ce7ad84514d55ec45fb520b9b22c0cc4a286e6e28714a5c633e9ed
diff --git a/sys-apps/diffutils/diffutils-3.8.ebuild b/sys-apps/diffutils/diffutils-3.8.ebuild
deleted file mode 100644
index 89ae912..0000000
--- a/sys-apps/diffutils/diffutils-3.8.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/diffutils.asc
-inherit flag-o-matic verify-sig
-
-DESCRIPTION="Tools to make diffs and compare files"
-HOMEPAGE="https://www.gnu.org/software/diffutils/"
-SRC_URI="mirror://gnu/diffutils/${P}.tar.xz
-	https://alpha.gnu.org/gnu/diffutils/${P}.tar.xz
-	verify-sig? (
-		mirror://gnu/diffutils/${P}.tar.xz.sig
-		https://alpha.gnu.org/gnu/diffutils/${P}.tar.xz.sig
-	)"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="nls static"
-
-BDEPEND="nls? ( sys-devel/gettext )
-	verify-sig? ( sec-keys/openpgp-keys-diffutils )"
-
-PATCHES=(
-	"${FILESDIR}/ppc-musl.patch"
-	"${FILESDIR}/loong-fix-build.patch"
-)
-
-src_prepare() {
-	default
-
-	# touch generated files after patching m4, to avoid activating maintainer
-	# mode
-	# remove when loong-fix-build.patch is no longer necessary
-	touch ./aclocal.m4 lib/config.hin ./configure || die
-	find . -name Makefile.in -exec touch {} + || die
-}
-
-src_configure() {
-	use static && append-ldflags -static
-
-	# Disable automagic dependency over libsigsegv; see bug #312351.
-	export ac_cv_libsigsegv=no
-
-	# required for >=glibc-2.26, bug #653914
-	use elibc_glibc && export gl_cv_func_getopt_gnu=yes
-
-	local myeconfargs=(
-		--with-packager="Gentoo"
-		--with-packager-version="${PVR}"
-		--with-packager-bug-reports="https://bugs.gentoo.org/"
-		$(use_enable nls)
-	)
-	econf "${myeconfargs[@]}"
-}
diff --git a/sys-apps/diffutils/diffutils-3.9-r1.ebuild b/sys-apps/diffutils/diffutils-3.9-r1.ebuild
new file mode 100644
index 0000000..f3f7df6
--- /dev/null
+++ b/sys-apps/diffutils/diffutils-3.9-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/diffutils.asc
+inherit flag-o-matic verify-sig
+
+DESCRIPTION="Tools to make diffs and compare files"
+HOMEPAGE="https://www.gnu.org/software/diffutils/"
+
+if [[ ${PV} == *_p* ]] ; then
+	# Subscribe to the 'platform-testers' ML to find these.
+	# Useful to test on our especially more niche arches and report issues upstream.
+	MY_COMMIT="43-2d50"
+	MY_P=${PN}-$(ver_cut 1-2).${MY_COMMIT}
+	SRC_URI="https://meyering.net/diff/${MY_P}.tar.xz"
+	SRC_URI+=" verify-sig? ( https://meyering.net/diff/${MY_P}.tar.xz.sig )"
+	S="${WORKDIR}"/${MY_P}
+else
+	SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+	SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )"
+	KEYWORDS="*"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="nls static"
+
+BDEPEND="
+	nls? ( sys-devel/gettext )
+	verify-sig? ( sec-keys/openpgp-keys-diffutils )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-make-4.4-test-color.patch
+	"${FILESDIR}"/${P}-diff-D-option-regression.patch
+)
+
+src_prepare() {
+	default
+
+	# Needed because of ${P}-diff-D-option-regression.patch
+	touch man/diff.1 || die
+}
+
+src_configure() {
+	use static && append-ldflags -static
+
+	# Disable automagic dependency over libsigsegv; see bug #312351.
+	export ac_cv_libsigsegv=no
+
+	# required for >=glibc-2.26, bug #653914
+	use elibc_glibc && export gl_cv_func_getopt_gnu=yes
+
+	local myeconfargs=(
+		# Interferes with F_S (sets F_S=2)
+		--disable-gcc-warnings
+		--with-packager="Gentoo"
+		--with-packager-version="${PVR}"
+		--with-packager-bug-reports="https://bugs.gentoo.org/"
+		$(use_enable nls)
+	)
+	econf "${myeconfargs[@]}"
+}
diff --git a/sys-apps/diffutils/files/diffutils-3.9-diff-D-option-regression.patch b/sys-apps/diffutils/files/diffutils-3.9-diff-D-option-regression.patch
new file mode 100644
index 0000000..a12e1bc
--- /dev/null
+++ b/sys-apps/diffutils/files/diffutils-3.9-diff-D-option-regression.patch
@@ -0,0 +1,27 @@
+https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61193
+https://git.savannah.gnu.org/cgit/groff.git/commit/?id=10274fb69e517b2c4b10fcd0ba3347e5bd0eefd7
+https://git.savannah.gnu.org/cgit/diffutils.git/commit/?id=ba08fbbb0ca5da455bf695236c57bc50e7faed50
+
+From ba08fbbb0ca5da455bf695236c57bc50e7faed50 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri, 10 Feb 2023 15:33:40 -0800
+Subject: diff: fix bug where -D does not work
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by Robert Webb (bug#61193).
+* src/diff.c (main): Omit stray ‘sizeof’.
+* tests/ifdef: New test.
+* tests/Makefile.am (TESTS): Add it.
+--- a/src/diff.c
++++ b/src/diff.c
+@@ -416,7 +416,7 @@ main (int argc, char **argv)
+ 	    char *base = b;
+ 	    int changes = 0;
+ 
+-	    for (i = 0; i < sizeof sizeof C_ifdef_group_formats; i++)
++	    for (i = 0; i < sizeof C_ifdef_group_formats; i++)
+ 	      {
+ 		char ch = C_ifdef_group_formats[i];
+ 		switch (ch)
diff --git a/sys-apps/diffutils/files/diffutils-3.9-make-4.4-test-color.patch b/sys-apps/diffutils/files/diffutils-3.9-make-4.4-test-color.patch
new file mode 100644
index 0000000..01f6aee
--- /dev/null
+++ b/sys-apps/diffutils/files/diffutils-3.9-make-4.4-test-color.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/879891
+https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59905
+https://git.savannah.gnu.org/cgit/diffutils.git/commit/?id=89f3daeaaf021a77177daec8666bcd80ec476833
+
+From 89f3daeaaf021a77177daec8666bcd80ec476833 Mon Sep 17 00:00:00 2001
+From: Jim Meyering <meyering@fb.com>
+Date: Mon, 16 Jan 2023 15:48:10 -0800
+Subject: tests: accommodate newer GNU make's SIGPIPE-ignore
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* tests/colors: Allow an exit code of not just 141 (SIGPIPE),
+but also "error": 2.
+Reported by Tomasz Kłoczko in http://bugs.gnu.org/59905.
+--- a/tests/colors
++++ b/tests/colors
+@@ -128,6 +128,9 @@ printf '%1000000s-a' > a
+ printf '%1000000s-b' > b
+ head -c 10 < fifo > /dev/null &
+ diff --color=always ---presume-output-tty a b > fifo
+-test $? = 141 || fail=1
++
++# Depending on version of GNU make (4.3.92-4.4 set SIGPIPE to "ignore"),
++# either of these is acceptable.
++case $? in 2|141) ;; *) fail=1 ;; esac
+ 
+ Exit $fail
+-- 
+cgit v1.1
diff --git a/sys-apps/diffutils/metadata.xml b/sys-apps/diffutils/metadata.xml
index 88f7706..8963b14 100644
--- a/sys-apps/diffutils/metadata.xml
+++ b/sys-apps/diffutils/metadata.xml
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-<maintainer type="project">
-	<email>base-system@gentoo.org</email>
-	<name>Gentoo Base System</name>
-</maintainer>
-<upstream>
-	<remote-id type="cpe">cpe:/a:gnu:diffutils</remote-id>
-</upstream>
+  <maintainer type="project">
+    <email>base-system@gentoo.org</email>
+    <name>Gentoo Base System</name>
+  </maintainer>
+  <upstream>
+    <remote-id type="cpe">cpe:/a:gnu:diffutils</remote-id>
+    <remote-id type="savannah">diffutils</remote-id>
+  </upstream>
 </pkgmetadata>