Subject: [bug#76594] [PATCH v3 2/4] gnu: quilt: Update to 0.68.

From: Morgan Smith <[email-masked]>
Date: Sun, 13 Apr 2025 13:39:42 -0400

* gnu/packages/patchutils.scm (quilt): Update to 0.68.  Enable parallel tests
as upstream fixed it.
* /gnu/packages/patches/quilt-grep-compat.patch: Delete file.
* gnu/local.mk: Remove quilt-grep-compat.patch.

Change-Id: I5da532c07c83d00363799a1cc7f48e0fe63864fe
---
 gnu/local.mk                                 |   1 -
 gnu/packages/patches/quilt-grep-compat.patch | 145 -------------------
 gnu/packages/patchutils.scm                  |   6 +-
 3 files changed, 2 insertions(+), 150 deletions(-)
 delete mode 100644 gnu/packages/patches/quilt-grep-compat.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index c0b9a76cd2..9d8b17f94a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2164,7 +2164,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/qtscript-disable-tests.patch		\
   %D%/packages/patches/quagga-reproducible-build.patch          \
   %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
-  %D%/packages/patches/quilt-grep-compat.patch 			\
   %D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch 	\
   %D%/packages/patches/qtwayland-dont-recreate-callbacks.patch	\
   %D%/packages/patches/qtwayland-cleanup-callbacks.patch	\
diff --git a/gnu/packages/patches/quilt-grep-compat.patch b/gnu/packages/patches/quilt-grep-compat.patch
deleted file mode 100644
index 25fef506d1..0000000000
--- a/gnu/packages/patches/quilt-grep-compat.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From upstream
-https://git.savannah.nongnu.org/cgit/quilt.git/patch/?id=f73f8d7f71de2878d3f92881a5fcb8eafd78cb5f
-
-From f73f8d7f71de2878d3f92881a5fcb8eafd78cb5f Mon Sep 17 00:00:00 2001
-From: Jean Delvare <[email-masked]>
-Date: Fri, 9 Sep 2022 10:10:37 +0200
-Subject: Avoid warnings with grep 3.8
-
-GNU grep version 3.8 became more strict about needless quoting in
-patterns. We have one occurrence of that in quilt, where "/"
-characters are being quoted by default. There are cases where they
-indeed need to be quoted (typically when used in a sed s/// command)
-but most of the time they do not, and this results in the following
-warning:
-
-grep: warning: stray \ before /
-
-So rename quote_bre() to quote_sed_re(), and introduce
-quote_grep_re() which does not quote "/".
-
-Signed-off-by: Jean Delvare <[email-masked]>
----
- quilt/diff.in             |  2 +-
- quilt/patches.in          |  2 +-
- quilt/scripts/patchfns.in | 20 +++++++++++++-------
- quilt/upgrade.in          |  4 ++--
- 4 files changed, 17 insertions(+), 11 deletions(-)
-
-diff --git a/quilt/diff.in b/quilt/diff.in
-index e90dc33..07788ff 100644
---- a/quilt/diff.in
-+++ b/quilt/diff.in
-@@ -255,7 +255,7 @@ then
- 	# Add all files in the snapshot into the file list (they may all
- 	# have changed).
- 	files=( $(find $QUILT_PC/$snap_subdir -type f \
--		  | sed -e "s/^$(quote_bre $QUILT_PC/$snap_subdir/)//" \
-+		  | sed -e "s/^$(quote_sed_re $QUILT_PC/$snap_subdir/)//" \
- 		  | sort) )
- 	printf "%s\n" "${files[@]}" >&4
- 	unset files
-diff --git a/quilt/patches.in b/quilt/patches.in
-index bb17a46..eac45a9 100644
---- a/quilt/patches.in
-+++ b/quilt/patches.in
-@@ -60,7 +60,7 @@ scan_unapplied()
- 	# Quote each file name only once
- 	for file in "${opt_files[@]}"
- 	do
--		files_bre[${#files_bre[@]}]=$(quote_bre "$file")
-+		files_bre[${#files_bre[@]}]=$(quote_grep_re "$file")
- 	done
- 
- 	# "Or" all files in a single pattern
-diff --git a/quilt/scripts/patchfns.in b/quilt/scripts/patchfns.in
-index c2d5f9d..1bd7233 100644
---- a/quilt/scripts/patchfns.in
-+++ b/quilt/scripts/patchfns.in
-@@ -78,8 +78,14 @@ array_join()
- 	done
- }
- 
--# Quote a string for use in a basic regular expression.
--quote_bre()
-+# Quote a string for use in a regular expression for a grep pattern.
-+quote_grep_re()
-+{
-+	echo "$1" | sed -e 's:\([][^$.*\\]\):\\\1:g'
-+}
-+
-+# Quote a string for use in a regular expression for a sed s/// command.
-+quote_sed_re()
- {
- 	echo "$1" | sed -e 's:\([][^$/.*\\]\):\\\1:g'
- }
-@@ -215,7 +221,7 @@ patch_in_series()
- 
- 	if [ -e "$SERIES" ]
- 	then
--		grep -q "^$(quote_bre $patch)\([ \t]\|$\)" "$SERIES"
-+		grep -q "^$(quote_grep_re $patch)\([ \t]\|$\)" "$SERIES"
- 	else
- 		return 1
- 	fi
-@@ -365,7 +371,7 @@ is_applied()
- {
- 	local patch=$1
- 	[ -e $DB ] || return 1
--	grep -q "^$(quote_bre $patch)\$" $DB
-+	grep -q "^$(quote_grep_re $patch)\$" $DB
- }
- 
- applied_patches()
-@@ -465,7 +471,7 @@ remove_from_db()
- 	local tmpfile
- 	if tmpfile=$(gen_tempfile)
- 	then
--		grep -v "^$(quote_bre $patch)\$" $DB > $tmpfile
-+		grep -v "^$(quote_grep_re $patch)\$" $DB > $tmpfile
- 		cat $tmpfile > $DB
- 		rm -f $tmpfile
- 		[ -s $DB ] || rm -f $DB
-@@ -520,7 +526,7 @@ find_patch()
- 		fi
- 
- 		local patch=${1#$SUBDIR_DOWN$QUILT_PATCHES/}
--		local bre=$(quote_bre "$patch")
-+		local bre=$(quote_sed_re "$patch")
- 		set -- $(sed -e "/^$bre\(\|\.patch\|\.diff\?\)\(\|\.gz\|\.bz2\|\.xz\|\.lzma\|\.lz\)\([ "$'\t'"]\|$\)/!d" \
- 			       -e 's/[ '$'\t''].*//' "$SERIES")
- 		if [ $# -eq 1 ]
-@@ -631,7 +637,7 @@ files_in_patch()
- 	then
- 		find "$path" -type f \
- 			       -a ! -path "$(quote_glob "$path")/.timestamp" |
--		sed -e "s/$(quote_bre "$path")\///"
-+		sed -e "s/$(quote_sed_re "$path")\///"
- 	fi
- }
- 
-diff --git a/quilt/upgrade.in b/quilt/upgrade.in
-index dbf7d05..866aa33 100644
---- a/quilt/upgrade.in
-+++ b/quilt/upgrade.in
-@@ -74,7 +74,7 @@ printf $"Converting meta-data to version %s\n" "$DB_VERSION"
- 
- for patch in $(applied_patches)
- do
--	proper_name="$(grep "^$(quote_bre $patch)"'\(\|\.patch\|\.diff?\)\(\|\.gz\|\.bz2\)\([ \t]\|$\)' $SERIES)"
-+	proper_name="$(grep "^$(quote_grep_re $patch)"'\(\|\.patch\|\.diff?\)\(\|\.gz\|\.bz2\)\([ \t]\|$\)' $SERIES)"
- 	proper_name=${proper_name#$QUILT_PATCHES/}
- 	proper_name=${proper_name%% *}
- 	if [ -z "$proper_name" ]
-@@ -84,7 +84,7 @@ do
- 	fi
- 
- 	if [ "$patch" != "$proper_name" -a -d $QUILT_PC/$patch ] \
--	   && grep -q "^$(quote_bre $patch)\$" \
-+	   && grep -q "^$(quote_grep_re $patch)\$" \
- 		   $QUILT_PC/applied-patches
- 	then
- 		mv $QUILT_PC/$patch $QUILT_PC/$proper_name \
--- 
-cgit v1.1
-
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index b929ed9a5a..ea784c5acd 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -169,15 +169,14 @@ (define-public patchutils
 (define-public quilt
   (package
     (name "quilt")
-    (version "0.67")
+    (version "0.68")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://savannah/quilt/"
                            "quilt-" version ".tar.gz"))
        (sha256
-        (base32 "1hiw05aqysbnnl15zg2n5cr11k0z7rz85fvq8qv6qap7hw4vxqrv"))
-       (patches (search-patches "quilt-grep-compat.patch"))))
+        (base32 "09l4nf6qb8y8l62z8ypdg5mraz0lvqxg1j1p6xdyh1n10gg0k37y"))))
     (build-system gnu-build-system)
     (native-inputs
      (list gettext-minimal))
@@ -188,7 +187,6 @@ (define-public quilt
            guile-3.0))
     (arguments
      (list
-      #:parallel-tests? #f
       #:phases
       #~(modify-phases %standard-phases
           (delete 'check)
-- 
2.49.0