From 29992aad3fe36ba7684fa713442190a8b5ffe912 Mon Sep 17 00:00:00 2001
From: dkwo <nicolopiazzalunga@gmail.com>
Date: Wed, 31 Jan 2024 12:05:24 -0500
Subject: [PATCH] coreutils: update to 9.4

---
 srcpkgs/coreutils/patches/split.patch | 32 +++++++++++++++++++++++++++
 srcpkgs/coreutils/template            | 16 ++++++--------
 2 files changed, 39 insertions(+), 9 deletions(-)
 create mode 100644 srcpkgs/coreutils/patches/split.patch

diff --git a/srcpkgs/coreutils/patches/split.patch b/srcpkgs/coreutils/patches/split.patch
new file mode 100644
index 00000000000..cd1523607c5
--- /dev/null
+++ b/srcpkgs/coreutils/patches/split.patch
@@ -0,0 +1,32 @@
+From c4c5ed8f4e9cd55a12966d4f520e3a13101637d9 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 16 Jan 2024 13:48:32 -0800
+Subject: [PATCH] split: do not shrink hold buffer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* src/split.c (line_bytes_split): Do not shrink hold buffer.
+If it’s large for this batch it’s likely to be large for the next
+batch, and for ‘split’ it’s not worth the complexity/CPU hassle to
+shrink it.  Do not assume hold_size can be bufsize.
+---
+ src/split.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/split.c b/src/split.c
+index 64020c859..037960a59 100644
+--- a/src/split.c
++++ b/src/split.c
+@@ -809,10 +809,7 @@ line_bytes_split (intmax_t n_bytes, char *buf, idx_t bufsize)
+             {
+               cwrite (n_out == 0, hold, n_hold);
+               n_out += n_hold;
+-              if (n_hold > bufsize)
+-                hold = xirealloc (hold, bufsize);
+               n_hold = 0;
+-              hold_size = bufsize;
+             }
+ 
+           /* Output to eol if present.  */
+
diff --git a/srcpkgs/coreutils/template b/srcpkgs/coreutils/template
index c158130abf1..56ee80ade41 100644
--- a/srcpkgs/coreutils/template
+++ b/srcpkgs/coreutils/template
@@ -1,6 +1,6 @@
 # Template file for 'coreutils'
 pkgname=coreutils
-version=9.3
+version=9.4
 revision=1
 bootstrap=yes
 makedepends="gmp-devel acl-devel libcap-devel"
@@ -10,7 +10,7 @@ license="GPL-3.0-or-later"
 homepage="https://www.gnu.org/software/coreutils"
 changelog="https://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob_plain;f=NEWS;hb=HEAD"
 distfiles="${GNU_SITE}/coreutils/coreutils-${version}.tar.xz"
-checksum=adbcfcfe899235b71e8768dcf07cd532520b7f54f9a8064843f8d199a904bbaa
+checksum=ea613a4cf44612326e917201bbbcdfbd301de21ffc3b59b6e5c07e040b275e52
 alternatives="
  hostname:hostname:/usr/bin/hostname-coreutils
  hostname:hostname.1:/usr/share/man/man1/hostname-coreutils.1"
@@ -58,8 +58,7 @@ do_configure() {
 	case "$XBPS_TARGET_MACHINE" in
 		arm*-musl)
 		# musl 1.1
-		configure_args+=" ac_year2038_required=no"
-		# this does not work: --disable-year2038
+		configure_args+=" --disable-year2038"
 	esac
 	#
 	# Do not install kill: provided by util-linux.
@@ -97,12 +96,10 @@ do_build() {
 }
 
 do_check() {
-	local exeext_tests
-
-	# chgrp tests fail inside a chroot
+	# Tests that fail due to being inside a chroot
 	vsed -i '/tests\/chgrp/d' Makefile
 
-	# Tests that fail due to being inside a chroot
+	local exeext_tests
 	exeext_tests="chown lchown fchownat"
 
 	for test in $exeext_tests ; do
@@ -110,8 +107,9 @@ do_check() {
 	done
 
 	if [ "$XBPS_BUILD_ENVIRONMENT" = "void-packages-ci" ]; then
-		vsed -i '/tests\/tail-2\/inotify-dir-recreate/d' Makefile
+		vsed -i '/tests\/tail\/inotify-dir-recreate/d' Makefile
 		vsed -i '/tests\/du\/long-from-unreadable/d' Makefile
+		vsed -i '/tests\/dd\/no-allocate/d' Makefile
 	fi
 
 	make check