public inbox for cygwin-apps-cvs@sourceware.org
help / color / mirror / Atom feed
From: Jon TURNEY <jturney@sourceware.org>
To: cygwin-apps-cvs@sourceware.org
Subject: [cygport - the Cygwin packaging tool] branch master, updated. 0.35.5
Date: Tue,  6 Dec 2022 18:44:41 +0000 (GMT)	[thread overview]
Message-ID: <20221206184441.35B573871F97@sourceware.org> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 71555 bytes --]




https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=63af01b4f35fc1bf3d2b87cc32e85844c4206c02

commit 63af01b4f35fc1bf3d2b87cc32e85844c4206c02
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Tue Dec 6 15:52:34 2022 +0000

    Bump version to 0.35.5

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=272fb817b2d2fe294f3f7d6e80b58ea960f19841

commit 272fb817b2d2fe294f3f7d6e80b58ea960f19841
Author: Achim Gratz <Stromeko@Stromeko.DE>
Date:   Mon Sep 19 19:59:38 2022 +0200

    Implement --jobs/-j N option to specify number of jobs to use
    
    Pass this number to make, ninja or waf builds.
    
    If -j is not specified, we use a tool dependent default (nproc+1 for
    make, and whatever is coded as the default for ninja [(nproc+1)*2?] and
    waf [1?]).

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=f5c414c6f72aff0bd41f8cbc2801c3d4fc110c41

commit f5c414c6f72aff0bd41f8cbc2801c3d4fc110c41
Author: Achim Gratz <Stromeko@Stromeko.DE>
Date:   Sun Jun 14 11:07:58 2020 +0200

    Decompress SRC_URI archives and files using ZStandard compression

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=6e09750d52a05ec83758b2fe12786617cfab96ae

commit 6e09750d52a05ec83758b2fe12786617cfab96ae
Author: Achim Gratz <Stromeko@Stromeko.DE>
Date:   Mon Sep 19 20:47:18 2022 +0200

    lib/src_prep.cygpart: improve auto-decompression for patches to handle .xz & .zst

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=c0cd5d438b729ec74e805bddd31555961329fadc

commit c0cd5d438b729ec74e805bddd31555961329fadc
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sun Dec 4 20:06:45 2022 +0000

    CI: Update to actions/cache@v3 to avoid deprecation warning

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=e2ac11603be9a36255f13a1681f1272ca924cb37

commit e2ac11603be9a36255f13a1681f1272ca924cb37
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sun Dec 4 20:30:32 2022 +0000

    Fix test meson/c
    
    login needs a patch to build with current cygwin headers
    Also bump login version
    Also fetch login from git, now that's possible

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=2596f6851c59d14ec156803230e410fbd45e7905

commit 2596f6851c59d14ec156803230e410fbd45e7905
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Fri Dec 2 11:50:33 2022 +0000

    python-wheel: Handle projects without a setup.py
    
    Since setuptools 40.9.0, projects can follow PEP 517, and have just a
    setup.cfg, and a default setup.py is emulated.
    
    In that case, rather than setuptools, use 'pip wheel' to build the
    wheel.
    
    Note: possibly could use the pypa build module to do the build, but we
    need pip for the install anyhow?

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=e9bb659b591e6983266153766a28cf737375c706

commit e9bb659b591e6983266153766a28cf737375c706
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Tue Nov 29 23:02:08 2022 +0000

    Canonicalize whitespace appropriately in .hint file values
    
    People like to insert extra whitespace (including newlines) into the
    variables which control these, for clarity and formatting in the cygport
    file. This is a resonable thing to do.
    
    Canonicalize any whitespace in the values of .hint file keys which are
    single-line, space-separated lists, to avoid those newlines leaking
    through into the .hint file, making the value multi-line, and hence
    invalid.
    
    Update tests where the expected hints currently contain excess
    whitespace (usually at the end of the line) appropriately.

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=aa665473aa7dec84571a19a2055a4045901df671

commit aa665473aa7dec84571a19a2055a4045901df671
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Thu Dec 1 15:12:24 2022 +0000

    Send informational messages to stderr
    
    This prevents any 'inform' messages caused by inherit-ing a cygclass
    appearing in stdout for 'cygport vars', or being captured into ARCHES.
    
    Also discard stderr from the nested .cygport sourcing to probe ARCH and
    ARCH sensitivity of PATCH_URI/SRC_URI, so these informational messages
    are seen only once.
    
    (There might have been a latent bug here, as inform messages to stdout
    were considered part of the probed PATCH_URI/SRC_URI, but they are
    fortunately also ARCH-invariant)

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=6c79ed46ef87c7a3862b3ab77cadf924e9992b8e

commit 6c79ed46ef87c7a3862b3ab77cadf924e9992b8e
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Tue Nov 29 22:21:42 2022 +0000

    Default to x86_64-pc-cygwin target when cross-compiling
    
    This is appropriate, now that the i686-pc-cygwin target is unsupported.
    
    Long-term perhaps we want an option which takes a target name e.g.
    something like '--target [i686|x86_64|arm64|...]'


Diff:
---
 .github/workflows/cygwin.yml                       |   2 +-
 NEWS                                               |  10 ++++++++
 bin/cygport.in                                     |  12 ++++++---
 cygclass/ninja.cygclass                            |   2 +-
 cygclass/python-wheel.cygclass                     |  28 +++++++++++++--------
 cygclass/waf.cygclass                              |   2 +-
 cygport.spec                                       |   2 +-
 data/sample.cygport                                |   2 +-
 lib/compilers.cygpart                              |   2 +-
 lib/help.cygpart                                   |   3 ++-
 lib/pkg_pkg.cygpart                                |  20 +++++++++------
 lib/src_fetch.cygpart                              |   3 +++
 lib/src_prep.cygpart                               |  12 +++++++--
 lib/syntax.cygpart                                 |   2 +-
 meson.build                                        |   2 +-
 .../dist/R-chron/R-chron-2.3_51-1.hint             |   2 +-
 .../dist/aspell-pa/aspell-pa-0.01.1-1.hint         |   2 +-
 .../dist/libtxc_dxtn/libtxc_dxtn-1.0.1-2.hint      |   2 +-
 .../girepository-Notify0.7-0.7.7-1.hint            |   2 +-
 .../dist/libnotify/libnotify-0.7.7-1.hint          |   2 +-
 .../libnotify-devel/libnotify-devel-0.7.7-1.hint   |   2 +-
 .../libnotify-doc/libnotify-doc-0.7.7-1.hint       |   2 +-
 .../libnotify/libnotify4/libnotify4-0.7.7-1.hint   |   2 +-
 .../libpangomm1.4-devel-2.40.1-1.hint              |   2 +-
 .../libpangomm1.4-doc-2.40.1-1.hint                |   2 +-
 .../libpangomm1.4_1/libpangomm1.4_1-2.40.1-1.hint  |   2 +-
 .../girepository-MateMenu2.0-1.18.0-1.hint         |   2 +-
 .../libmate-menu-devel-1.18.0-1.hint               |   2 +-
 .../dist/mate-menus/mate-menus-1.18.0-1.hint       |   2 +-
 .../python2-matemenu-1.18.0-1.hint                 |   2 +-
 .../dist/win-iconv/win-iconv-0.0.8-1.hint          |   2 +-
 .../kcolorchooser/kcolorchooser-17.08.3-1.hint     |   2 +-
 .../libQt5Xdg-devel/libQt5Xdg-devel-2.0.0-1.hint   |   2 +-
 .../libqt5xdg/libQt5Xdg2/libQt5Xdg2-2.0.0-1.hint   |   2 +-
 .../libQt5XdgIconLoader-devel-2.0.0-1.hint         |   2 +-
 .../libQt5XdgIconLoader2-2.0.0-1.hint              |   2 +-
 .../mingw64-i686-win-iconv-0.0.8-1.hint            |   2 +-
 .../mingw64-i686-crypt-2.1-1.hint                  |   2 +-
 .../mingw64-i686-qt5ct-0.34-1.hint                 |   2 +-
 testsuite/distdir/login-1.11.1.tar.xz              | Bin 21340 -> 0 bytes
 .../dist/R-nanotime/R-nanotime-0.3.2-1.hint        |   2 +-
 .../gtk3-engines-unico-1.0.3-bzr152-1.hint         |   2 +-
 .../crypt-1.1-1.x86_64/dist/crypt/crypt-1.1-1.hint |   2 +-
 .../dist/cygrunsrv/cygrunsrv-1.62-1.hint           |   2 +-
 .../dist/gnome-common/gnome-common-3.18.0-1.hint   |   2 +-
 .../dist/SDL2_net/SDL2_net-2.0.1-1.hint            |   2 +-
 .../dist/mate-common/mate-common-1.18.0-1.hint     |   2 +-
 .../dist/viewmtn/viewmtn-0.10-1.hint               |   2 +-
 .../dist/perl-Text-Glob/perl-Text-Glob-0.11-1.hint |   2 +-
 .../dist/python-six/python-six-1.10.0-1.hint       |   2 +-
 .../python3-clang/python3-clang-9.0.1-1.hint       |   2 +-
 .../xorg-util-macros-1.19.1-1.hint                 |   2 +-
 .../dist/sj-fonts/sj-fonts-2.0.2-2.hint            |   2 +-
 .../inconsolata-fonts-1.010-1.hint                 |   2 +-
 .../libmultiple-devel-3.14-1.hint                  |   2 +-
 .../multiple/libmultiple1/libmultiple1-3.14-1.hint |   2 +-
 .../dist/single/single-2.3.4-1.hint                |   2 +-
 .../httpd-mod_geoip/httpd-mod_geoip-1.2.10-1.hint  |   2 +-
 .../dist/lua-lfs/lua-lfs-1.8.0-1-src.hint          |   2 +-
 .../dist/lua-lfs/lua-lfs-1.8.0-1.hint              |   2 +-
 .../c/0001-Fix-compilation-with-Cygwin-3.4.0.patch |  21 ++++++++++++++++
 .../dist/login/login-1.13-1-src.hint}              |   0
 .../dist/login/login-1.13-1.hint}                  |   2 +-
 .../login-debuginfo/login-debuginfo-1.13-1.hint}   |   0
 testsuite/meson/c/login.cygport                    |  11 +++++---
 .../girepository-Json1.0-1.4.2-1.hint              |   2 +-
 .../dist/json-glib1.0/json-glib1.0-1.4.2-1.hint    |   2 +-
 .../libjson-glib1.0-doc-1.4.2-1.hint               |   2 +-
 .../libjson-glib1.0_0-1.4.2-1.hint                 |   2 +-
 .../dist/ocaml-result/ocaml-result-1.5-1.hint      |   2 +-
 .../dist/ocaml-expat/ocaml-expat-0.9.1-6.hint      |   2 +-
 .../dist/perl-Carp/perl-Carp-1.38-1.hint           |   2 +-
 .../dist/perl-Lchown/perl-Lchown-1.01-1.hint       |   2 +-
 .../php-Structures_Graph-1.1.1-1.hint              |   2 +-
 .../dist/php-bitset/php-bitset-3.0.1-1.hint        |   2 +-
 .../python2-beautifulsoup-3.2.1-1.hint             |   2 +-
 .../libqoauth-qt5-devel-2.0.0-1.hint               |   2 +-
 .../libqoauth-qt5_1/libqoauth-qt5_1-2.0.0-1.hint   |   2 +-
 .../dist/ruby-rack-ssl/ruby-rack-ssl-1.4.1-1.hint  |   2 +-
 .../ruby-rack-ssl-doc-1.4.1-1.hint                 |   2 +-
 ...e-collection-genericrecommended-20160404-1.hint |   2 +-
 .../lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1.hint |   2 +-
 82 files changed, 162 insertions(+), 98 deletions(-)

diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml
index 9158dff0..9ed59f58 100644
--- a/.github/workflows/cygwin.yml
+++ b/.github/workflows/cygwin.yml
@@ -22,7 +22,7 @@ jobs:
     - uses: actions/checkout@v1
       with:
         submodules: true
-    - uses: actions/cache@v1
+    - uses: actions/cache@v3
       with:
         path: C:\cygwin-packages
         key: cygwin-packages-${{ hashFiles('C:\cygwin-packages\**') }}
diff --git a/NEWS b/NEWS
index 976237d8..15bd6abb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+0.35.5:
+	* Default to x86_64-pc-cygwin target on Linux.
+	* 'inform' messages are now sent to stderr
+	* Canonicalize whitespace in the values of .hint file keys which are
+           single-line, space-separated lists
+	* python-wheel: Handle PEP 517 projects without a setup.py
+	* Umprove auto-decompression for patches to handle .xz & .zst
+	* Decompress SRC_URI archives and files using ZStandard compression
+	* Implement --jobs/-j N option to specify number of build jobs to use
+
 0.35.4:
 	* Replace 'egrep' with 'grep -E' throughout
 	* xorg: Default LICENSE to 'MIT'
diff --git a/bin/cygport.in b/bin/cygport.in
index fe6f6eff..446734fa 100755
--- a/bin/cygport.in
+++ b/bin/cygport.in
@@ -179,6 +179,11 @@ do
 		set -x;
 		shift;
 		;;
+	--jobs|-j)
+		shift;
+		_nproc="-j $1";
+		shift;
+		;;
 	--32|-4)
 		if defined _host_arch && [ ${_host_arch} != i686 ]
 		then
@@ -254,7 +259,8 @@ fi
 
 # Values which can be overridden either system-wide or per package
 
-declare    MAKEOPTS="-j$(($(nproc 2>/dev/null) + 1)) ";
+# default: use all available processors plus one more job
+declare    MAKEOPTS="${_nproc:--j $(($(nproc 2>/dev/null) + 1))} "
 
 # load configuration
 for conf in "${HOME}/.config/cygport.conf" \
@@ -425,7 +431,7 @@ do
     n=0
     while (( n < ${#ARCHES[*]} ))
     do
-        read -r < <(declare ARCH=${ARCHES[$n]}; declare ARCH_${ARCH}=1; source ${top}/${cygportfile}; eval echo "\$${VAR}")
+        read -r < <(declare ARCH=${ARCHES[$n]}; declare ARCH_${ARCH}=1; source ${top}/${cygportfile} 2>/dev/null; eval echo "\$${VAR}")
         VALUE[$n]=${REPLY}
         if (( n > 0 ))
         then
@@ -441,7 +447,7 @@ unset n VALUE ARCHES VAR
 
 # probe if the cygport sets ARCH - if it does, set ARCHES to that value,
 # otherwise set it to the default value "all".
-PROBE_ARCH=$(unset ARCH; source ${top}/${cygportfile}; echo "${ARCH}")
+PROBE_ARCH=$(unset ARCH; source ${top}/${cygportfile} 2>/dev/null; echo "${ARCH}")
 if [ -z "${PROBE_ARCH}" ]
 then
 	declare -r ARCHES="all"
diff --git a/cygclass/ninja.cygclass b/cygclass/ninja.cygclass
index f5f29976..f99ad5ca 100644
--- a/cygclass/ninja.cygclass
+++ b/cygclass/ninja.cygclass
@@ -45,7 +45,7 @@ cygninja() {
 	then
 		error "cygninja: build.ninja: file not found"
 	fi
-	ninja ${@} || error "cygninja: command failed: ${@:-all}"
+	ninja ${_nproc} ${@} || error "cygninja: command failed: ${@:-all}"
 }
 
 #****T* ninja.cygclass/ninja_test
diff --git a/cygclass/python-wheel.cygclass b/cygclass/python-wheel.cygclass
index b6ed68b4..064fec2a 100644
--- a/cygclass/python-wheel.cygclass
+++ b/cygclass/python-wheel.cygclass
@@ -24,9 +24,10 @@
 #****h* Cygclasses/python-wheel.cygclass
 #  DESCRIPTION
 #  Wheels are the new standard for installing Python libraries and programs.
-#  The build is defined by a setup.py file in the top source directory, which
-#  controls the installation of files and the building of C Python extensions.
-#  Many such packages are hosted on the Python Package Index (PyPI).
+#  The build is defined by a PEP 517 conformant source tree, or by a top-level
+#  setup.py file, which controls the installation of files and the building of C
+#  Python extensions.  Many such packages are hosted on the Python Package Index
+#  (PyPI).
 #
 #  This cygclass handles the building of wheel-based Python module packages
 #  for multiple Python versions simultaneously.
@@ -148,23 +149,30 @@ fi
 #  SYNOPSIS
 #  python_wheel_compile [OPTIONS]
 #  DESCRIPTION
-#  Runs the setup.py 'bdist_wheel' command, to which any arguments are passed.
+#  If a setup.py file is present, runs the setup.py 'bdist_wheel' command, to
+#  which any arguments are passed.  Otherwise, for a PEP 517 conformant source
+#  tree, runs 'pip wheel'.
 #****
 python_wheel_compile() {
 	local ver
 
-	if [ ! -e setup.py ]
+	if [ ! -e setup.py ] && [ ! -e setup.cfg ]
 	then
-		error "No Python Distutils module detected"
+		error "No Python Distutils module detected in source tree"
 	fi
 
 	for ver in ${PYTHON_WHEEL_VERSIONS//:/ }
 	do
 		[ ! -d build/lib ] || find build/lib -delete
-		# setuptools.launch imports setuptools hooks regardles of setup.py
 		if [ ! -f dist/*-py2.py3*-none-any.whl -a ! -f dist/*py${ver:0:1}-none-any.whl ]
 		then
-			/usr/bin/python${ver} -msetuptools.launch setup.py bdist_wheel "${@}" || error "setup.py bdist_wheel failed"
+			if [ ! -e setup.py ]
+			then
+				pip${ver} wheel --no-deps -w dist . || error "pip${ver} wheel failed"
+			else
+				# setuptools.launch imports setuptools hooks regardles of setup.py
+				/usr/bin/python${ver} -msetuptools.launch setup.py bdist_wheel "${@}" || error "setup.py bdist_wheel failed"
+			fi
 		fi
 	done
 }
@@ -178,9 +186,9 @@ python_wheel_compile() {
 python_wheel_install() {
 	local ver whl
 
-	if [ ! -e setup.py ]
+	if [ ! -e setup.py ] && [ ! -e setup.cfg ]
 	then
-		error "No Python Distutils module detected"
+		error "No Python Distutils module detected in source tree"
 	fi
 
 	for ver in ${PYTHON_WHEEL_VERSIONS//:/ }
diff --git a/cygclass/waf.cygclass b/cygclass/waf.cygclass
index 026d60d4..d4e00f54 100644
--- a/cygclass/waf.cygclass
+++ b/cygclass/waf.cygclass
@@ -80,7 +80,7 @@ waf_compile() {
 #  DESCRIPTION
 #  String containing additional arguments to pass to 'waf build'.
 #****
-	${WAF} build ${WAF_BUILD_FLAGS} || error "waf build failed"
+	${WAF} build ${_nproc} ${WAF_BUILD_FLAGS} || error "waf build failed"
 }
 
 #****T* waf.cygclass/waf_test
diff --git a/cygport.spec b/cygport.spec
index 6f431a3b..58b8672d 100644
--- a/cygport.spec
+++ b/cygport.spec
@@ -1,7 +1,7 @@
 %define debug_package %{nil}
 
 Name:           cygport
-Version:        0.35.4
+Version:        0.35.5
 Release:        1%{?dist}
 Summary:        Cygwin package building tool
 
diff --git a/data/sample.cygport b/data/sample.cygport
index 15944a74..3422e8e7 100644
--- a/data/sample.cygport
+++ b/data/sample.cygport
@@ -1,7 +1,7 @@
 inherit meson
 
 NAME="cygport"
-VERSION=0.35.4
+VERSION=0.35.5
 RELEASE=1
 CATEGORY="Devel"
 SUMMARY="Cygwin source packaging tool"
diff --git a/lib/compilers.cygpart b/lib/compilers.cygpart
index f9b8c695..35e6fe28 100644
--- a/lib/compilers.cygpart
+++ b/lib/compilers.cygpart
@@ -213,7 +213,7 @@ case ${CBUILD} in
 # https://sourceware.org/legacy-ml/cygwin-developers/2013-02/msg00132.html
 x86_64-unknown-cygwin)  CBUILD="x86_64-pc-cygwin" ;&
 *-cygwin)  CHOST="${_host_arch:-${CBUILD%%-*}}-pc-cygwin" ;;
-*)         defined _host_arch || error "Either --32 or --64 flags MUST be passed to cygport"
+*)         defined _host_arch || _host_arch="x86_64"
            CHOST="${_host_arch}-pc-cygwin" ;;
 esac
 unset _host_arch
diff --git a/lib/help.cygpart b/lib/help.cygpart
index cc9e1f90..a7f30f7a 100644
--- a/lib/help.cygpart
+++ b/lib/help.cygpart
@@ -28,6 +28,7 @@ __show_help() {
 
 		OPTIONS may include the following:
 
+		  --jobs, -j N 	specify the number of jobs to use
 		  --32, -4      build package for i686 Cygwin
 		  --64, -8      build package for x86_64 Cygwin
 		  --debug       enable debugging messages
@@ -38,7 +39,7 @@ __show_help() {
 
 		On Cygwin, if neither the --32 nor --64 options are enabled,
 		the package will be built for the architecture on which cygport
-		is run.  On other systems, one of those options is required.
+		is run.  On other systems, the x86_64 architecture is the default.
 
 		COMMAND may be one or more of the following:
 
diff --git a/lib/pkg_pkg.cygpart b/lib/pkg_pkg.cygpart
index 82112e1c..6f02f7e9 100644
--- a/lib/pkg_pkg.cygpart
+++ b/lib/pkg_pkg.cygpart
@@ -459,6 +459,10 @@ __gpg_sign() {
 	gpg --detach-sign ${1};
 }
 
+__squeeze_whitespace() {
+	echo -n "$*" | tr -s '[:space:]' ' '
+}
+
 __pkg_srcpkg() {
 	local src;
 	local pkg_tag=${1};
@@ -545,8 +549,8 @@ __pkg_srcpkg() {
 			-a -n "${!pkg_summary_var:-${SUMMARY}}${!pkg_description_var:-${DESCRIPTION}}" ]
 		then
 			cat > ${distdir}/${PN}/${PN}-${PVR}-src.hint <<-_EOF
-category: ${!pkg_category_var:-${CATEGORY}}
-build-depends: cygport ${BUILD_REQUIRES}
+category: $(__squeeze_whitespace ${!pkg_category_var:-${CATEGORY}})
+build-depends: cygport $(__squeeze_whitespace ${BUILD_REQUIRES})
 sdesc: "${!pkg_summary_var:-${SUMMARY}}"
 ldesc: "${!pkg_description_var:-${DESCRIPTION:-${!pkg_summary_var:-${SUMMARY}}}}"
 skip:
@@ -820,29 +824,29 @@ __pkg_dist() {
 			fi
 
 			cat > ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.hint <<-_EOF
-category: ${!pkg_category_var:-${CATEGORY}}
-requires: ${pkg_bin_requires} ${!pkg_requires_var}
+category: $(__squeeze_whitespace ${!pkg_category_var:-${CATEGORY}})
+requires: $(__squeeze_whitespace ${pkg_bin_requires} ${!pkg_requires_var})
 sdesc: "${!pkg_summary_var:-${SUMMARY}}"
 ldesc: "${!pkg_description_var:-${DESCRIPTION:-${!pkg_summary_var:-${SUMMARY}}}}"
 _EOF
 			if [ -n "${!pkg_obsoletes_var}" ]
 			then
 				cat >> ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.hint <<-_EOF
-obsoletes: ${!pkg_obsoletes_var}
+obsoletes: $(__squeeze_whitespace ${!pkg_obsoletes_var})
 _EOF
 			fi
 
 			if [ -n "${!pkg_provides_var}" ]
 			then
 				cat >> ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.hint <<-_EOF
-provides: ${!pkg_provides_var}
+provides: $(__squeeze_whitespace ${!pkg_provides_var})
 _EOF
 			fi
 
 			if [ -n "${!pkg_conflicts_var}" ]
 			then
 				cat >> ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.hint <<-_EOF
-conflicts: ${!pkg_conflicts_var}
+conflicts: $(__squeeze_whitespace ${!pkg_conflicts_var})
 _EOF
 			fi
 
@@ -893,7 +897,7 @@ _EOF
 			if [ -n "${!dbg_obsoletes_var}" ]
 			then
 				cat >> ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.hint <<-_EOF
-obsoletes: ${!dbg_obsoletes_var}
+obsoletes: $(__squeeze_whitespace ${!dbg_obsoletes_var})
 _EOF
 			fi
 		fi
diff --git a/lib/src_fetch.cygpart b/lib/src_fetch.cygpart
index 1688171a..67e7bafe 100644
--- a/lib/src_fetch.cygpart
+++ b/lib/src_fetch.cygpart
@@ -59,6 +59,9 @@
 #  their basenames to PATCH_URI.  This provides an easy way to carry
 #  Cygwin-specific patches forward between releases.
 #
+#  Compressed patches and patch archives will be uncompressed on-the-fly.
+#  Supported compression formats are gzip, bzip2, xz and zstd.
+#
 #  NOTE
 #
 #  For historical reasons, patches with basenames of ${PVR}.{cygwin,src}.patch
diff --git a/lib/src_prep.cygpart b/lib/src_prep.cygpart
index 7d57ba0c..ca487666 100644
--- a/lib/src_prep.cygpart
+++ b/lib/src_prep.cygpart
@@ -93,6 +93,10 @@ unpack() {
 				check_prog_req lrzuntar lrzip
 				unpack_cmd="lrzuntar"
 				;;
+			*.tar.zst)
+				check_prog_req zstd
+				unpack_cmd="tar -I zstd -xf"
+				;;
 			*.tar|*.tar.*|*.tbz|*.tbz2|*.tgz|*.tlz|*.tzo)
 				unpack_cmd="tar xf" ;;
 			*.bz2)
@@ -133,6 +137,10 @@ unpack() {
 				check_prog_req unzip;
 				unpack_cmd="unzip -oq";
 				;;
+			*.zst)
+				check_prog_req zstd;
+				unpack_cmd="unzstd -qo";
+				;;
 			*.7z)
 				if check_prog 7zr
 				then
@@ -240,7 +248,7 @@ cygpatch() {
 					patchlevel=$(( ${#srcdir_depth} + 2 ));
 				fi
 				;;
-			*.bz2|*.gz)
+			*.bz2|*.gz|*.xz|*.zst)
 				pushd ${T}
 				unpack ${patchfile_path}
 				popd
@@ -419,7 +427,7 @@ __src_prep() {
 			src_patch=${top}/${src_patch};
 		fi
 		case ${src_patch} in
-			*.tar.gz|*.tgz|*.tar.bz2|*.tbz2)
+			*.tar.gz|*.tgz|*.tar.bz2|*.tbz2|*.tar.xz|*.tar.zst)
 				pushd ${T};
 				unpack ${src_patch};
 				popd;
diff --git a/lib/syntax.cygpart b/lib/syntax.cygpart
index fa96fe77..4a400a71 100644
--- a/lib/syntax.cygpart
+++ b/lib/syntax.cygpart
@@ -125,7 +125,7 @@ warning() {
 #  Displays an informational message.
 #****
 inform() {
-	echo -e "\e[1;32m*** Info:\e[0;0m ${1}";
+	echo -e "\e[1;32m*** Info:\e[0;0m ${1}" >&2;
 }
 
 #****f* Messages/verbose
diff --git a/meson.build b/meson.build
index 9508eef2..ac46272b 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
 project('cygport',
-        version: '0.35.4')
+        version: '0.35.5')
 
 bindir = join_paths(get_option('prefix'), get_option('bindir'))
 datadir = join_paths(get_option('prefix'), get_option('datadir'))
diff --git a/testsuite/R/cran/hints/R-chron-2.3_51-1.x86_64/dist/R-chron/R-chron-2.3_51-1.hint b/testsuite/R/cran/hints/R-chron-2.3_51-1.x86_64/dist/R-chron/R-chron-2.3_51-1.hint
index 4978f57e..3395ac59 100644
--- a/testsuite/R/cran/hints/R-chron-2.3_51-1.x86_64/dist/R-chron/R-chron-2.3_51-1.hint
+++ b/testsuite/R/cran/hints/R-chron-2.3_51-1.x86_64/dist/R-chron/R-chron-2.3_51-1.hint
@@ -1,5 +1,5 @@
 category: Math
-requires: cygwin R 
+requires: cygwin R
 sdesc: "Chronological Objects for R"
 ldesc: "Provides chronological objects which can handle dates and times."
 
diff --git a/testsuite/aspell/dict/hints/aspell-pa-0.01.1-1.x86_64/dist/aspell-pa/aspell-pa-0.01.1-1.hint b/testsuite/aspell/dict/hints/aspell-pa-0.01.1-1.x86_64/dist/aspell-pa/aspell-pa-0.01.1-1.hint
index 87fcb26c..62dfe703 100644
--- a/testsuite/aspell/dict/hints/aspell-pa-0.01.1-1.x86_64/dist/aspell-pa/aspell-pa-0.01.1-1.hint
+++ b/testsuite/aspell/dict/hints/aspell-pa-0.01.1-1.x86_64/dist/aspell-pa/aspell-pa-0.01.1-1.hint
@@ -1,5 +1,5 @@
 category: Text
-requires:  
+requires: 
 sdesc: "Aspell Punjabi dictionaries"
 ldesc: "GNU Aspell is a Free and Open Source spell checker designed to
 eventually replace Ispell. It can either be used as a library or as an
diff --git a/testsuite/autotools/c/hints/libtxc_dxtn-1.0.1-2.x86_64/dist/libtxc_dxtn/libtxc_dxtn-1.0.1-2.hint b/testsuite/autotools/c/hints/libtxc_dxtn-1.0.1-2.x86_64/dist/libtxc_dxtn/libtxc_dxtn-1.0.1-2.hint
index 45b17cec..e5f541e8 100644
--- a/testsuite/autotools/c/hints/libtxc_dxtn-1.0.1-2.x86_64/dist/libtxc_dxtn/libtxc_dxtn-1.0.1-2.hint
+++ b/testsuite/autotools/c/hints/libtxc_dxtn-1.0.1-2.x86_64/dist/libtxc_dxtn/libtxc_dxtn-1.0.1-2.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: cygwin 
+requires: cygwin
 sdesc: "S3TC implementation"
 ldesc: "Software implementation of the S3 Texture Compression algorithm"
 
diff --git a/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/girepository-Notify0.7/girepository-Notify0.7-0.7.7-1.hint b/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/girepository-Notify0.7/girepository-Notify0.7-0.7.7-1.hint
index 054c95d1..8651df8d 100644
--- a/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/girepository-Notify0.7/girepository-Notify0.7-0.7.7-1.hint
+++ b/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/girepository-Notify0.7/girepository-Notify0.7-0.7.7-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: girepository-GdkPixbuf2.0 girepository-GLib2.0 libnotify4 
+requires: girepository-GdkPixbuf2.0 girepository-GLib2.0 libnotify4
 sdesc: "GObject desktop notification utility"
 ldesc: "GNOME desktop notification library"
 external-source: libnotify
diff --git a/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-0.7.7-1.hint b/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-0.7.7-1.hint
index c3a94bf9..b81d5be1 100644
--- a/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-0.7.7-1.hint
+++ b/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-0.7.7-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: cygwin libglib2.0_0 libnotify4 
+requires: cygwin libglib2.0_0 libnotify4
 sdesc: "GObject desktop notification utility"
 ldesc: "GNOME desktop notification library"
 
diff --git a/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-devel/libnotify-devel-0.7.7-1.hint b/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-devel/libnotify-devel-0.7.7-1.hint
index 8eaef5c7..a32cc6b1 100644
--- a/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-devel/libnotify-devel-0.7.7-1.hint
+++ b/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-devel/libnotify-devel-0.7.7-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: libgdk_pixbuf2.0-devel libglib2.0-devel libnotify4 pkg-config 
+requires: libgdk_pixbuf2.0-devel libglib2.0-devel libnotify4 pkg-config
 sdesc: "GObject desktop notification utility"
 ldesc: "GNOME desktop notification library"
 external-source: libnotify
diff --git a/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-doc/libnotify-doc-0.7.7-1.hint b/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-doc/libnotify-doc-0.7.7-1.hint
index 5f0167c9..e1ce0119 100644
--- a/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-doc/libnotify-doc-0.7.7-1.hint
+++ b/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify-doc/libnotify-doc-0.7.7-1.hint
@@ -1,5 +1,5 @@
 category: Doc
-requires:  
+requires: 
 sdesc: "GObject desktop notification utility"
 ldesc: "GNOME desktop notification library"
 external-source: libnotify
diff --git a/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify4/libnotify4-0.7.7-1.hint b/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify4/libnotify4-0.7.7-1.hint
index fd6b4d6d..8cbd08a9 100644
--- a/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify4/libnotify4-0.7.7-1.hint
+++ b/testsuite/autotools/gnome/hints/libnotify-0.7.7-1.x86_64/dist/libnotify/libnotify4/libnotify4-0.7.7-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: cygwin libgdk_pixbuf2.0_0 libglib2.0_0 
+requires: cygwin libgdk_pixbuf2.0_0 libglib2.0_0
 sdesc: "GObject desktop notification utility"
 ldesc: "GNOME desktop notification library"
 external-source: libnotify
diff --git a/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4-devel/libpangomm1.4-devel-2.40.1-1.hint b/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4-devel/libpangomm1.4-devel-2.40.1-1.hint
index aaa0ca61..ca1005e3 100644
--- a/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4-devel/libpangomm1.4-devel-2.40.1-1.hint
+++ b/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4-devel/libpangomm1.4-devel-2.40.1-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: libcairomm1.0-devel libglibmm2.4-devel libpango1.0-devel libpangomm1.4_1 pkg-config 
+requires: libcairomm1.0-devel libglibmm2.4-devel libpango1.0-devel libpangomm1.4_1 pkg-config
 sdesc: "C++ bindings for Pango"
 ldesc: "gtkmm is the official C++ interface for the popular GUI library
 GTK+. It closely follows GTK+ development. Highlights include typesafe
diff --git a/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4-doc/libpangomm1.4-doc-2.40.1-1.hint b/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4-doc/libpangomm1.4-doc-2.40.1-1.hint
index 79ee737d..d12ad07d 100644
--- a/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4-doc/libpangomm1.4-doc-2.40.1-1.hint
+++ b/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4-doc/libpangomm1.4-doc-2.40.1-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires:  
+requires: 
 sdesc: "C++ bindings for Pango"
 ldesc: "gtkmm is the official C++ interface for the popular GUI library
 GTK+. It closely follows GTK+ development. Highlights include typesafe
diff --git a/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4_1/libpangomm1.4_1-2.40.1-1.hint b/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4_1/libpangomm1.4_1-2.40.1-1.hint
index d7991f1c..45877ed9 100644
--- a/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4_1/libpangomm1.4_1-2.40.1-1.hint
+++ b/testsuite/autotools/gtkmm/hints/pangomm1.4-2.40.1-1.x86_64/dist/pangomm1.4/libpangomm1.4_1/libpangomm1.4_1-2.40.1-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: cygwin libcairomm1.0_1 libgcc1 libglib2.0_0 libglibmm2.4_1 libpango1.0_0 libsigc2.0_0 libstdc++6 
+requires: cygwin libcairomm1.0_1 libgcc1 libglib2.0_0 libglibmm2.4_1 libpango1.0_0 libsigc2.0_0 libstdc++6
 sdesc: "C++ bindings for Pango"
 ldesc: "gtkmm is the official C++ interface for the popular GUI library
 GTK+. It closely follows GTK+ development. Highlights include typesafe
diff --git a/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/girepository-MateMenu2.0/girepository-MateMenu2.0-1.18.0-1.hint b/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/girepository-MateMenu2.0/girepository-MateMenu2.0-1.18.0-1.hint
index 1a8ad72c..fe8a3ed7 100644
--- a/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/girepository-MateMenu2.0/girepository-MateMenu2.0-1.18.0-1.hint
+++ b/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/girepository-MateMenu2.0/girepository-MateMenu2.0-1.18.0-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: girepository-GLib2.0 libmate-menu2 
+requires: girepository-GLib2.0 libmate-menu2
 sdesc: "MATE Desktop Menu Specification library (GObject Introspection)"
 ldesc: "MATE is a fork of the GNOME 2 desktop. It provides an intuitive
 and attractive desktop to Linux users using traditional metaphors."
diff --git a/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/libmate-menu-devel/libmate-menu-devel-1.18.0-1.hint b/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/libmate-menu-devel/libmate-menu-devel-1.18.0-1.hint
index 69b03378..d5ae22b6 100644
--- a/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/libmate-menu-devel/libmate-menu-devel-1.18.0-1.hint
+++ b/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/libmate-menu-devel/libmate-menu-devel-1.18.0-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: libglib2.0-devel libmate-menu2 pkg-config 
+requires: libglib2.0-devel libmate-menu2 pkg-config
 sdesc: "MATE Desktop Menu Specification library (development)"
 ldesc: "MATE is a fork of the GNOME 2 desktop. It provides an intuitive
 and attractive desktop to Linux users using traditional metaphors."
diff --git a/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/mate-menus-1.18.0-1.hint b/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/mate-menus-1.18.0-1.hint
index 3b4b220b..5cf1ec6c 100644
--- a/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/mate-menus-1.18.0-1.hint
+++ b/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/mate-menus-1.18.0-1.hint
@@ -1,5 +1,5 @@
 category: MATE
-requires:  
+requires: 
 sdesc: "MATE desktop menus"
 ldesc: "MATE is a fork of the GNOME 2 desktop. It provides an intuitive
 and attractive desktop to Linux users using traditional metaphors."
diff --git a/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/python2-matemenu/python2-matemenu-1.18.0-1.hint b/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/python2-matemenu/python2-matemenu-1.18.0-1.hint
index 484677a9..b14d4a5b 100644
--- a/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/python2-matemenu/python2-matemenu-1.18.0-1.hint
+++ b/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/python2-matemenu/python2-matemenu-1.18.0-1.hint
@@ -1,5 +1,5 @@
 category: Python
-requires: cygwin libglib2.0_0 libmate-menu2 python27 
+requires: cygwin libglib2.0_0 libmate-menu2 python27
 sdesc: "MATE Desktop Menu Specification library (Python bindings)"
 ldesc: "MATE is a fork of the GNOME 2 desktop. It provides an intuitive
 and attractive desktop to Linux users using traditional metaphors."
diff --git a/testsuite/cmake/c/hints/win-iconv-0.0.8-1.x86_64/dist/win-iconv/win-iconv-0.0.8-1.hint b/testsuite/cmake/c/hints/win-iconv-0.0.8-1.x86_64/dist/win-iconv/win-iconv-0.0.8-1.hint
index c3040e01..1eed2d1b 100644
--- a/testsuite/cmake/c/hints/win-iconv-0.0.8-1.x86_64/dist/win-iconv/win-iconv-0.0.8-1.hint
+++ b/testsuite/cmake/c/hints/win-iconv-0.0.8-1.x86_64/dist/win-iconv/win-iconv-0.0.8-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: cygwin 
+requires: cygwin
 sdesc: "Iconv implemenation for Win32 toolchain"
 ldesc: "Iconv implementation which uses the Win32 API to convert."
 
diff --git a/testsuite/cmake/kf5/hints/kcolorchooser-17.08.3-1.x86_64/dist/kcolorchooser/kcolorchooser-17.08.3-1.hint b/testsuite/cmake/kf5/hints/kcolorchooser-17.08.3-1.x86_64/dist/kcolorchooser/kcolorchooser-17.08.3-1.hint
index 8d369e64..fc2ed249 100644
--- a/testsuite/cmake/kf5/hints/kcolorchooser-17.08.3-1.x86_64/dist/kcolorchooser/kcolorchooser-17.08.3-1.hint
+++ b/testsuite/cmake/kf5/hints/kcolorchooser-17.08.3-1.x86_64/dist/kcolorchooser/kcolorchooser-17.08.3-1.hint
@@ -1,5 +1,5 @@
 category: Graphics
-requires: cygwin libKF5CoreAddons5 libKF5I18n5 libKF5XmlGui5 libQt5Core5 libQt5Gui5 libstdc++6 
+requires: cygwin libKF5CoreAddons5 libKF5I18n5 libKF5XmlGui5 libQt5Core5 libQt5Gui5 libstdc++6
 sdesc: "KDE color selector"
 ldesc: "Part of the KDE graphics suite"
 
diff --git a/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5Xdg-devel/libQt5Xdg-devel-2.0.0-1.hint b/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5Xdg-devel/libQt5Xdg-devel-2.0.0-1.hint
index 18ada070..652ffde6 100644
--- a/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5Xdg-devel/libQt5Xdg-devel-2.0.0-1.hint
+++ b/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5Xdg-devel/libQt5Xdg-devel-2.0.0-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: libQt5Core-devel libQt5Gui-devel libQt5Xdg2 libQt5XdgIconLoader-devel pkg-config 
+requires: libQt5Core-devel libQt5Gui-devel libQt5Xdg2 libQt5XdgIconLoader-devel pkg-config
 sdesc: "Qt5 XDG library"
 ldesc: "A Qt5 implementation of Freedesktop.org specifications"
 external-source: libqt5xdg
diff --git a/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5Xdg2/libQt5Xdg2-2.0.0-1.hint b/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5Xdg2/libQt5Xdg2-2.0.0-1.hint
index c64f62e7..7306b38f 100644
--- a/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5Xdg2/libQt5Xdg2-2.0.0-1.hint
+++ b/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5Xdg2/libQt5Xdg2-2.0.0-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: cygwin libQt5Core5 libQt5Gui5 libQt5XdgIconLoader2 libstdc++6 
+requires: cygwin libQt5Core5 libQt5Gui5 libQt5XdgIconLoader2 libstdc++6
 sdesc: "Qt5 XDG library"
 ldesc: "A Qt5 implementation of Freedesktop.org specifications"
 external-source: libqt5xdg
diff --git a/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5XdgIconLoader-devel/libQt5XdgIconLoader-devel-2.0.0-1.hint b/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5XdgIconLoader-devel/libQt5XdgIconLoader-devel-2.0.0-1.hint
index 7aaadb84..6cf14d04 100644
--- a/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5XdgIconLoader-devel/libQt5XdgIconLoader-devel-2.0.0-1.hint
+++ b/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5XdgIconLoader-devel/libQt5XdgIconLoader-devel-2.0.0-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: libQt5Gui-devel libQt5Svg-devel libQt5XdgIconLoader2 pkg-config 
+requires: libQt5Gui-devel libQt5Svg-devel libQt5XdgIconLoader2 pkg-config
 sdesc: "Qt5 XDG library"
 ldesc: "A Qt5 implementation of Freedesktop.org specifications"
 external-source: libqt5xdg
diff --git a/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5XdgIconLoader2/libQt5XdgIconLoader2-2.0.0-1.hint b/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5XdgIconLoader2/libQt5XdgIconLoader2-2.0.0-1.hint
index c08997b5..7c126daf 100644
--- a/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5XdgIconLoader2/libQt5XdgIconLoader2-2.0.0-1.hint
+++ b/testsuite/cmake/qt5/hints/libqt5xdg-2.0.0-1.x86_64/dist/libqt5xdg/libQt5XdgIconLoader2/libQt5XdgIconLoader2-2.0.0-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: cygwin libQt5Core5 libQt5Gui5 libstdc++6 
+requires: cygwin libQt5Core5 libQt5Gui5 libstdc++6
 sdesc: "Qt5 XDG library"
 ldesc: "A Qt5 implementation of Freedesktop.org specifications"
 external-source: libqt5xdg
diff --git a/testsuite/cross/cmake/hints/mingw64-i686-win-iconv-0.0.8-1.noarch/dist/mingw64-i686-win-iconv/mingw64-i686-win-iconv-0.0.8-1.hint b/testsuite/cross/cmake/hints/mingw64-i686-win-iconv-0.0.8-1.noarch/dist/mingw64-i686-win-iconv/mingw64-i686-win-iconv-0.0.8-1.hint
index 389c9d50..75cfaa5f 100644
--- a/testsuite/cross/cmake/hints/mingw64-i686-win-iconv-0.0.8-1.noarch/dist/mingw64-i686-win-iconv/mingw64-i686-win-iconv-0.0.8-1.hint
+++ b/testsuite/cross/cmake/hints/mingw64-i686-win-iconv-0.0.8-1.noarch/dist/mingw64-i686-win-iconv/mingw64-i686-win-iconv-0.0.8-1.hint
@@ -1,5 +1,5 @@
 category: Devel
-requires:  
+requires: 
 sdesc: "Iconv implemenation for Win32 toolchain"
 ldesc: "Iconv implementation which uses the Win32 API to convert."
 
diff --git a/testsuite/cross/make/hints/mingw64-i686-crypt-2.1-1.noarch/dist/mingw64-i686-crypt/mingw64-i686-crypt-2.1-1.hint b/testsuite/cross/make/hints/mingw64-i686-crypt-2.1-1.noarch/dist/mingw64-i686-crypt/mingw64-i686-crypt-2.1-1.hint
index 1319ebfa..a4a80af8 100644
--- a/testsuite/cross/make/hints/mingw64-i686-crypt-2.1-1.noarch/dist/mingw64-i686-crypt/mingw64-i686-crypt-2.1-1.hint
+++ b/testsuite/cross/make/hints/mingw64-i686-crypt-2.1-1.noarch/dist/mingw64-i686-crypt/mingw64-i686-crypt-2.1-1.hint
@@ -1,5 +1,5 @@
 category: Devel
-requires:  
+requires: 
 sdesc: "crypt(3) library for Win32 toolchain"
 ldesc: "This packages provides a library which exports the functions
 crypt(3), encrypt(3), and setkey(3).  The created passwords are 56 bit DES
diff --git a/testsuite/cross/qt5/hints/mingw64-i686-qt5ct-0.34-1.noarch/dist/mingw64-i686-qt5ct/mingw64-i686-qt5ct-0.34-1.hint b/testsuite/cross/qt5/hints/mingw64-i686-qt5ct-0.34-1.noarch/dist/mingw64-i686-qt5ct/mingw64-i686-qt5ct-0.34-1.hint
index acfc81fc..7ea65d8d 100644
--- a/testsuite/cross/qt5/hints/mingw64-i686-qt5ct-0.34-1.noarch/dist/mingw64-i686-qt5ct/mingw64-i686-qt5ct-0.34-1.hint
+++ b/testsuite/cross/qt5/hints/mingw64-i686-qt5ct-0.34-1.noarch/dist/mingw64-i686-qt5ct/mingw64-i686-qt5ct-0.34-1.hint
@@ -1,5 +1,5 @@
 category: Devel
-requires: mingw64-i686-gcc-core mingw64-i686-gcc-g++ mingw64-i686-qt5-base 
+requires: mingw64-i686-gcc-core mingw64-i686-gcc-g++ mingw64-i686-qt5-base
 sdesc: "Qt5 settings for Win32 toolchain"
 ldesc: "This program allows users to configure Qt5 settings (theme,
 font, icons, etc.) under DE/WM without Qt integration."
diff --git a/testsuite/distdir/login-1.11.1.tar.xz b/testsuite/distdir/login-1.11.1.tar.xz
deleted file mode 100644
index 96886a20..00000000
Binary files a/testsuite/distdir/login-1.11.1.tar.xz and /dev/null differ
diff --git a/testsuite/download/R/hints/R-nanotime-0.3.2-1.x86_64/dist/R-nanotime/R-nanotime-0.3.2-1.hint b/testsuite/download/R/hints/R-nanotime-0.3.2-1.x86_64/dist/R-nanotime/R-nanotime-0.3.2-1.hint
index 5d5ce6e6..4e06554a 100644
--- a/testsuite/download/R/hints/R-nanotime-0.3.2-1.x86_64/dist/R-nanotime/R-nanotime-0.3.2-1.hint
+++ b/testsuite/download/R/hints/R-nanotime-0.3.2-1.x86_64/dist/R-nanotime/R-nanotime-0.3.2-1.hint
@@ -1,5 +1,5 @@
 category: Math
-requires:  
+requires: 
 sdesc: "Nanosecond-resolution time for R"
 ldesc: "Full 64-bit resolution date and time support with resolution up
 to nanosecond granularity is provided, with easy transition to and from the
diff --git a/testsuite/download/bzr/hints/gtk3-engines-unico-1.0.3-bzr152-1.x86_64/dist/gtk3-engines-unico/gtk3-engines-unico-1.0.3-bzr152-1.hint b/testsuite/download/bzr/hints/gtk3-engines-unico-1.0.3-bzr152-1.x86_64/dist/gtk3-engines-unico/gtk3-engines-unico-1.0.3-bzr152-1.hint
index 6ca2ed49..fcee1cdf 100644
--- a/testsuite/download/bzr/hints/gtk3-engines-unico-1.0.3-bzr152-1.x86_64/dist/gtk3-engines-unico/gtk3-engines-unico-1.0.3-bzr152-1.hint
+++ b/testsuite/download/bzr/hints/gtk3-engines-unico-1.0.3-bzr152-1.x86_64/dist/gtk3-engines-unico/gtk3-engines-unico-1.0.3-bzr152-1.hint
@@ -1,5 +1,5 @@
 category: X11
-requires:  
+requires: 
 sdesc: "GTK3 Unico theme engine"
 ldesc: "Unico is a Gtk+ engine that aims to be the more complete yet
 powerful theming engine for Gtk+ 3.0 and newer. It’s the first Gtk+ engine
diff --git a/testsuite/download/cvs/hints/crypt-1.1-1.x86_64/dist/crypt/crypt-1.1-1.hint b/testsuite/download/cvs/hints/crypt-1.1-1.x86_64/dist/crypt/crypt-1.1-1.hint
index fc85cf57..35823ddb 100644
--- a/testsuite/download/cvs/hints/crypt-1.1-1.x86_64/dist/crypt/crypt-1.1-1.hint
+++ b/testsuite/download/cvs/hints/crypt-1.1-1.x86_64/dist/crypt/crypt-1.1-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires:  
+requires: 
 sdesc: "Encryption/Decryption utility and library"
 ldesc: "This packages provides a library which exports the functions
 crypt(3), encrypt(3), and setkey(3).  The created passwords are 56 bit DES
diff --git a/testsuite/download/git/hints/cygrunsrv-1.62-1.x86_64/dist/cygrunsrv/cygrunsrv-1.62-1.hint b/testsuite/download/git/hints/cygrunsrv-1.62-1.x86_64/dist/cygrunsrv/cygrunsrv-1.62-1.hint
index c42f8357..7b675799 100644
--- a/testsuite/download/git/hints/cygrunsrv-1.62-1.x86_64/dist/cygrunsrv/cygrunsrv-1.62-1.hint
+++ b/testsuite/download/git/hints/cygrunsrv-1.62-1.x86_64/dist/cygrunsrv/cygrunsrv-1.62-1.hint
@@ -1,5 +1,5 @@
 category: Admin
-requires:  
+requires: 
 sdesc: "NT/W2K service initiator"
 ldesc: "NT/W2K service initiator"
 
diff --git a/testsuite/download/gnome.org/hints/gnome-common-3.18.0-1.noarch/dist/gnome-common/gnome-common-3.18.0-1.hint b/testsuite/download/gnome.org/hints/gnome-common-3.18.0-1.noarch/dist/gnome-common/gnome-common-3.18.0-1.hint
index e0848b97..b8154383 100644
--- a/testsuite/download/gnome.org/hints/gnome-common-3.18.0-1.noarch/dist/gnome-common/gnome-common-3.18.0-1.hint
+++ b/testsuite/download/gnome.org/hints/gnome-common-3.18.0-1.noarch/dist/gnome-common/gnome-common-3.18.0-1.hint
@@ -1,5 +1,5 @@
 category: Devel
-requires:  
+requires: 
 sdesc: "Common development files for GNOME packages"
 ldesc: "Common development files for GNOME packages"
 
diff --git a/testsuite/download/hg/hints/SDL2_net-2.0.1-1.x86_64/dist/SDL2_net/SDL2_net-2.0.1-1.hint b/testsuite/download/hg/hints/SDL2_net-2.0.1-1.x86_64/dist/SDL2_net/SDL2_net-2.0.1-1.hint
index a51ac18e..8c916b64 100644
--- a/testsuite/download/hg/hints/SDL2_net-2.0.1-1.x86_64/dist/SDL2_net/SDL2_net-2.0.1-1.hint
+++ b/testsuite/download/hg/hints/SDL2_net-2.0.1-1.x86_64/dist/SDL2_net/SDL2_net-2.0.1-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires:  
+requires: 
 sdesc: "SDL network library"
 ldesc: "This is an example portable network library for use with SDL."
 
diff --git a/testsuite/download/mate/hints/mate-common-1.18.0-1.noarch/dist/mate-common/mate-common-1.18.0-1.hint b/testsuite/download/mate/hints/mate-common-1.18.0-1.noarch/dist/mate-common/mate-common-1.18.0-1.hint
index 4d54139f..fd09f017 100644
--- a/testsuite/download/mate/hints/mate-common-1.18.0-1.noarch/dist/mate-common/mate-common-1.18.0-1.hint
+++ b/testsuite/download/mate/hints/mate-common-1.18.0-1.noarch/dist/mate-common/mate-common-1.18.0-1.hint
@@ -1,5 +1,5 @@
 category: Devel
-requires:  
+requires: 
 sdesc: "Common development files for MATE Desktop packages"
 ldesc: "MATE is a fork of the GNOME 2 desktop. It provides an intuitive
 and attractive desktop to Linux users using traditional metaphors."
diff --git a/testsuite/download/mtn/hints/viewmtn-0.10-1.noarch/dist/viewmtn/viewmtn-0.10-1.hint b/testsuite/download/mtn/hints/viewmtn-0.10-1.noarch/dist/viewmtn/viewmtn-0.10-1.hint
index 406d37ff..08d8bbd1 100644
--- a/testsuite/download/mtn/hints/viewmtn-0.10-1.noarch/dist/viewmtn/viewmtn-0.10-1.hint
+++ b/testsuite/download/mtn/hints/viewmtn-0.10-1.noarch/dist/viewmtn/viewmtn-0.10-1.hint
@@ -1,5 +1,5 @@
 category: Web
-requires:  
+requires: 
 sdesc: "Monotone web interface"
 ldesc: "ViewMTN is a web interface to the ​Monotone distributed version
 control system. It aims to provide a convenient and useful web interface to
diff --git a/testsuite/download/perl/hints/perl-Text-Glob-0.11-1.noarch/dist/perl-Text-Glob/perl-Text-Glob-0.11-1.hint b/testsuite/download/perl/hints/perl-Text-Glob-0.11-1.noarch/dist/perl-Text-Glob/perl-Text-Glob-0.11-1.hint
index 2a62fcfd..13d38613 100644
--- a/testsuite/download/perl/hints/perl-Text-Glob-0.11-1.noarch/dist/perl-Text-Glob/perl-Text-Glob-0.11-1.hint
+++ b/testsuite/download/perl/hints/perl-Text-Glob-0.11-1.noarch/dist/perl-Text-Glob/perl-Text-Glob-0.11-1.hint
@@ -1,5 +1,5 @@
 category: Perl
-requires:  
+requires: 
 sdesc: "Perl Text::Glob distribution"
 ldesc: "Perl module for matching globbing patterns against text"
 
diff --git a/testsuite/download/python.org/hints/python-six-1.10.0-1.noarch/dist/python-six/python-six-1.10.0-1.hint b/testsuite/download/python.org/hints/python-six-1.10.0-1.noarch/dist/python-six/python-six-1.10.0-1.hint
index 069890f4..e0f9133b 100644
--- a/testsuite/download/python.org/hints/python-six-1.10.0-1.noarch/dist/python-six/python-six-1.10.0-1.hint
+++ b/testsuite/download/python.org/hints/python-six-1.10.0-1.noarch/dist/python-six/python-six-1.10.0-1.hint
@@ -1,5 +1,5 @@
 category: Python
-requires:  
+requires: 
 sdesc: "Python 2 and 3 compatibility library"
 ldesc: "Six is a Python 2 and 3 compatibility library. It provides
 utility functions for smoothing over the differences between the Python
diff --git a/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python3-clang/python3-clang-9.0.1-1.hint b/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python3-clang/python3-clang-9.0.1-1.hint
index 3a0f8a6b..6b8a6efb 100644
--- a/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python3-clang/python3-clang-9.0.1-1.hint
+++ b/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python3-clang/python3-clang-9.0.1-1.hint
@@ -1,5 +1,5 @@
 category: Python Virtual
-requires:  python39-clang
+requires: python39-clang
 sdesc: "Python bindings for Clang-C Source Indexing Library"
 ldesc: "The python3-clang virtual package. Selecting this package for installation will cause the python39-clang package to be installed."
 external-source: python-clang
diff --git a/testsuite/download/x.org/hints/xorg-util-macros-1.19.1-1.noarch/dist/xorg-util-macros/xorg-util-macros-1.19.1-1.hint b/testsuite/download/x.org/hints/xorg-util-macros-1.19.1-1.noarch/dist/xorg-util-macros/xorg-util-macros-1.19.1-1.hint
index 3990befb..29f22f5a 100644
--- a/testsuite/download/x.org/hints/xorg-util-macros-1.19.1-1.noarch/dist/xorg-util-macros/xorg-util-macros-1.19.1-1.hint
+++ b/testsuite/download/x.org/hints/xorg-util-macros-1.19.1-1.noarch/dist/xorg-util-macros/xorg-util-macros-1.19.1-1.hint
@@ -1,5 +1,5 @@
 category: Devel
-requires:  
+requires: 
 sdesc: "X.Org aclocal macros"
 ldesc: "X.Org aclocal macros"
 
diff --git a/testsuite/font/install/hints/sj-fonts-2.0.2-2.noarch/dist/sj-fonts/sj-fonts-2.0.2-2.hint b/testsuite/font/install/hints/sj-fonts-2.0.2-2.noarch/dist/sj-fonts/sj-fonts-2.0.2-2.hint
index cad88ba6..f2838d53 100644
--- a/testsuite/font/install/hints/sj-fonts-2.0.2-2.noarch/dist/sj-fonts/sj-fonts-2.0.2-2.hint
+++ b/testsuite/font/install/hints/sj-fonts-2.0.2-2.noarch/dist/sj-fonts/sj-fonts-2.0.2-2.hint
@@ -1,5 +1,5 @@
 category: X11
-requires:  
+requires: 
 sdesc: "Cursive handwriting TTF fonts"
 ldesc: "Two cursive handwriting fonts by Steve Jordi released under the GPL"
 obsoletes: font-sjfonts-ttf
diff --git a/testsuite/font/sfd2ttf/hints/inconsolata-fonts-1.010-1.noarch/dist/inconsolata-fonts/inconsolata-fonts-1.010-1.hint b/testsuite/font/sfd2ttf/hints/inconsolata-fonts-1.010-1.noarch/dist/inconsolata-fonts/inconsolata-fonts-1.010-1.hint
index fd0d6112..893b0662 100644
--- a/testsuite/font/sfd2ttf/hints/inconsolata-fonts-1.010-1.noarch/dist/inconsolata-fonts/inconsolata-fonts-1.010-1.hint
+++ b/testsuite/font/sfd2ttf/hints/inconsolata-fonts-1.010-1.noarch/dist/inconsolata-fonts/inconsolata-fonts-1.010-1.hint
@@ -1,5 +1,5 @@
 category: X11
-requires:  
+requires: 
 sdesc: "Inconsolata monospace font"
 ldesc: "Inconsolata is a monospace font, designed for code listings and
 the like, in print."
diff --git a/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple-devel/libmultiple-devel-3.14-1.hint b/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple-devel/libmultiple-devel-3.14-1.hint
index 3bb7ad87..66efc70d 100644
--- a/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple-devel/libmultiple-devel-3.14-1.hint
+++ b/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple-devel/libmultiple-devel-3.14-1.hint
@@ -1,5 +1,5 @@
 category: libmultiple1
-requires:  
+requires: 
 sdesc: "Summary of hints for multiple package test"
 ldesc: "Description of hints for multiple package test"
 external-source: multiple
diff --git a/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple1/libmultiple1-3.14-1.hint b/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple1/libmultiple1-3.14-1.hint
index 90f0f573..aa10b13e 100644
--- a/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple1/libmultiple1-3.14-1.hint
+++ b/testsuite/hints/multiple/hints/multiple-3.14-1.x86_64/dist/multiple/libmultiple1/libmultiple1-3.14-1.hint
@@ -1,5 +1,5 @@
 category: Base
-requires:  cygwin
+requires: cygwin
 sdesc: "Summary of hints for multiple package test"
 ldesc: "Description of hints for multiple package test"
 provides: also-provides
diff --git a/testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/single-2.3.4-1.hint b/testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/single-2.3.4-1.hint
index a59628cf..1278a716 100644
--- a/testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/single-2.3.4-1.hint
+++ b/testsuite/hints/single/hints/single-2.3.4-1.x86_64/dist/single/single-2.3.4-1.hint
@@ -1,5 +1,5 @@
 category: Base
-requires:  cygwin
+requires: cygwin
 sdesc: "Summary of hints for single package test"
 ldesc: "Description of hints for single package test"
 obsoletes: obsoleted-by-single
diff --git a/testsuite/httpd/apxs/hints/httpd-mod_geoip-1.2.10-1.x86_64/dist/httpd-mod_geoip/httpd-mod_geoip-1.2.10-1.hint b/testsuite/httpd/apxs/hints/httpd-mod_geoip-1.2.10-1.x86_64/dist/httpd-mod_geoip/httpd-mod_geoip-1.2.10-1.hint
index d88271fa..b0192615 100644
--- a/testsuite/httpd/apxs/hints/httpd-mod_geoip-1.2.10-1.x86_64/dist/httpd-mod_geoip/httpd-mod_geoip-1.2.10-1.hint
+++ b/testsuite/httpd/apxs/hints/httpd-mod_geoip-1.2.10-1.x86_64/dist/httpd-mod_geoip/httpd-mod_geoip-1.2.10-1.hint
@@ -1,5 +1,5 @@
 category: Web
-requires: cygwin httpd libapr1 libGeoIP1 
+requires: cygwin httpd libapr1 libGeoIP1
 sdesc: "Apache 2.x GeoIP module"
 ldesc: "mod_geoip2 is an Apache 2.0 module for finding the country and
 city that a web request originated from.  It uses the GeoIP library and
diff --git a/testsuite/lua/all/hints/lua-lfs-1.8.0-1.x86_64/dist/lua-lfs/lua-lfs-1.8.0-1-src.hint b/testsuite/lua/all/hints/lua-lfs-1.8.0-1.x86_64/dist/lua-lfs/lua-lfs-1.8.0-1-src.hint
index 0d07f9f5..e6cb7c90 100644
--- a/testsuite/lua/all/hints/lua-lfs-1.8.0-1.x86_64/dist/lua-lfs/lua-lfs-1.8.0-1-src.hint
+++ b/testsuite/lua/all/hints/lua-lfs-1.8.0-1.x86_64/dist/lua-lfs/lua-lfs-1.8.0-1-src.hint
@@ -1,5 +1,5 @@
 category: Lua
-build-depends: cygport   lua  liblua-devel
+build-depends: cygport lua liblua-devel
 sdesc: "Lua file system library"
 ldesc: "LuaFileSystem is a Lua library developed to complement the set of
 functions related to file systems offered by the standard Lua
diff --git a/testsuite/lua/all/hints/lua-lfs-1.8.0-1.x86_64/dist/lua-lfs/lua-lfs-1.8.0-1.hint b/testsuite/lua/all/hints/lua-lfs-1.8.0-1.x86_64/dist/lua-lfs/lua-lfs-1.8.0-1.hint
index a511a969..c2a3c94c 100644
--- a/testsuite/lua/all/hints/lua-lfs-1.8.0-1.x86_64/dist/lua-lfs/lua-lfs-1.8.0-1.hint
+++ b/testsuite/lua/all/hints/lua-lfs-1.8.0-1.x86_64/dist/lua-lfs/lua-lfs-1.8.0-1.hint
@@ -1,5 +1,5 @@
 category: Lua
-requires: cygwin liblua5.3 
+requires: cygwin liblua5.3
 sdesc: "Lua file system library"
 ldesc: "LuaFileSystem is a Lua library developed to complement the set of
 functions related to file systems offered by the standard Lua
diff --git a/testsuite/meson/c/0001-Fix-compilation-with-Cygwin-3.4.0.patch b/testsuite/meson/c/0001-Fix-compilation-with-Cygwin-3.4.0.patch
new file mode 100644
index 00000000..f222b760
--- /dev/null
+++ b/testsuite/meson/c/0001-Fix-compilation-with-Cygwin-3.4.0.patch
@@ -0,0 +1,21 @@
+From 2d147bb97f1bff048b76a8f7fa7cc6c02062d521 Mon Sep 17 00:00:00 2001
+From: Jon Turney <jon.turney@dronecode.org.uk>
+Date: Sun, 4 Dec 2022 20:26:02 +0000
+Subject: [PATCH] Fix compilation with Cygwin 3.4.0
+
+---
+ test_winsec.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/test_winsec.c b/test_winsec.c
+index f00487a..22c3620 100644
+--- a/test_winsec.c
++++ b/test_winsec.c
+@@ -1,3 +1,4 @@
++#include <sys/types.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <syslog.h>
+-- 
+2.38.1
+
diff --git a/testsuite/meson/c/hints/login-1.11.1-1.x86_64/dist/login/login-1.11.1-1-src.hint b/testsuite/meson/c/hints/login-1.13-1.x86_64/dist/login/login-1.13-1-src.hint
similarity index 100%
rename from testsuite/meson/c/hints/login-1.11.1-1.x86_64/dist/login/login-1.11.1-1-src.hint
rename to testsuite/meson/c/hints/login-1.13-1.x86_64/dist/login/login-1.13-1-src.hint
diff --git a/testsuite/meson/c/hints/login-1.11.1-1.x86_64/dist/login/login-1.11.1-1.hint b/testsuite/meson/c/hints/login-1.13-1.x86_64/dist/login/login-1.13-1.hint
similarity index 80%
rename from testsuite/meson/c/hints/login-1.11.1-1.x86_64/dist/login/login-1.11.1-1.hint
rename to testsuite/meson/c/hints/login-1.13-1.x86_64/dist/login/login-1.13-1.hint
index f6c10f84..0bbbc676 100644
--- a/testsuite/meson/c/hints/login-1.11.1-1.x86_64/dist/login/login-1.11.1-1.hint
+++ b/testsuite/meson/c/hints/login-1.13-1.x86_64/dist/login/login-1.13-1.hint
@@ -1,5 +1,5 @@
 category: Base
-requires: cygwin 
+requires: cygwin
 sdesc: "Sign on to a system"
 ldesc: "Sign on to a system"
 
diff --git a/testsuite/meson/c/hints/login-1.11.1-1.x86_64/dist/login/login-debuginfo/login-debuginfo-1.11.1-1.hint b/testsuite/meson/c/hints/login-1.13-1.x86_64/dist/login/login-debuginfo/login-debuginfo-1.13-1.hint
similarity index 100%
rename from testsuite/meson/c/hints/login-1.11.1-1.x86_64/dist/login/login-debuginfo/login-debuginfo-1.11.1-1.hint
rename to testsuite/meson/c/hints/login-1.13-1.x86_64/dist/login/login-debuginfo/login-debuginfo-1.13-1.hint
diff --git a/testsuite/meson/c/login.cygport b/testsuite/meson/c/login.cygport
index 28b58a5f..48ba3667 100644
--- a/testsuite/meson/c/login.cygport
+++ b/testsuite/meson/c/login.cygport
@@ -1,11 +1,14 @@
 inherit meson
 
 NAME="login"
-VERSION=1.11.1
+VERSION=1.13
 RELEASE=1
 CATEGORY="Base"
 SUMMARY="Sign on to a system"
 HOMEPAGE="http://cygwin.com/"
-# from a git checkout
-SRC_URI="http://doesnotexist/login-${VERSION}.tar.xz"
-SRC_DIR="login"
+
+GIT_URI="git://cygwin.com/git/cygwin-apps/login.git"
+GIT_TAG="v${PV//\./_}"
+inherit git
+
+PATCH_URI="0001-Fix-compilation-with-Cygwin-3.4.0.patch"
diff --git a/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/girepository-Json1.0/girepository-Json1.0-1.4.2-1.hint b/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/girepository-Json1.0/girepository-Json1.0-1.4.2-1.hint
index a640af98..2769bc00 100644
--- a/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/girepository-Json1.0/girepository-Json1.0-1.4.2-1.hint
+++ b/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/girepository-Json1.0/girepository-Json1.0-1.4.2-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: girepository-GLib2.0 libjson-glib1.0_0 
+requires: girepository-GLib2.0 libjson-glib1.0_0
 sdesc: "GObject JSON parser library"
 ldesc: "GLib JSON manipulation library"
 external-source: json-glib1.0
diff --git a/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/json-glib1.0-1.4.2-1.hint b/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/json-glib1.0-1.4.2-1.hint
index 7dcf8417..a78e4d39 100644
--- a/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/json-glib1.0-1.4.2-1.hint
+++ b/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/json-glib1.0-1.4.2-1.hint
@@ -1,5 +1,5 @@
 category: Utils
-requires: cygwin libglib2.0_0 libintl8 libjson-glib1.0_0 
+requires: cygwin libglib2.0_0 libintl8 libjson-glib1.0_0
 sdesc: "GObject JSON parser utilities"
 ldesc: "GLib JSON manipulation library"
 
diff --git a/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/libjson-glib1.0-doc/libjson-glib1.0-doc-1.4.2-1.hint b/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/libjson-glib1.0-doc/libjson-glib1.0-doc-1.4.2-1.hint
index ecaf6fca..d573a295 100644
--- a/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/libjson-glib1.0-doc/libjson-glib1.0-doc-1.4.2-1.hint
+++ b/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/libjson-glib1.0-doc/libjson-glib1.0-doc-1.4.2-1.hint
@@ -1,5 +1,5 @@
 category: Doc
-requires:  
+requires: 
 sdesc: "GObject JSON parser library"
 ldesc: "GLib JSON manipulation library"
 external-source: json-glib1.0
diff --git a/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/libjson-glib1.0_0/libjson-glib1.0_0-1.4.2-1.hint b/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/libjson-glib1.0_0/libjson-glib1.0_0-1.4.2-1.hint
index 69aa0dbc..610dc666 100644
--- a/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/libjson-glib1.0_0/libjson-glib1.0_0-1.4.2-1.hint
+++ b/testsuite/meson/gnome/hints/json-glib1.0-1.4.2-1.x86_64/dist/json-glib1.0/libjson-glib1.0_0/libjson-glib1.0_0-1.4.2-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: cygwin libglib2.0_0 
+requires: cygwin libglib2.0_0
 sdesc: "GObject JSON parser library"
 ldesc: "GLib JSON manipulation library"
 external-source: json-glib1.0
diff --git a/testsuite/ocaml/dune/hints/ocaml-result-1.5-1.x86_64/dist/ocaml-result/ocaml-result-1.5-1.hint b/testsuite/ocaml/dune/hints/ocaml-result-1.5-1.x86_64/dist/ocaml-result/ocaml-result-1.5-1.hint
index dc1152f3..db76b13e 100644
--- a/testsuite/ocaml/dune/hints/ocaml-result-1.5-1.x86_64/dist/ocaml-result/ocaml-result-1.5-1.hint
+++ b/testsuite/ocaml/dune/hints/ocaml-result-1.5-1.x86_64/dist/ocaml-result/ocaml-result-1.5-1.hint
@@ -1,5 +1,5 @@
 category: OCaml
-requires: cygwin ocaml-runtime 
+requires: cygwin ocaml-runtime
 sdesc: "Compatibility library for OCaml result type"
 ldesc: "Projects that want to use the new result type defined in OCaml
 4.03+ while staying compatible with older version of OCaml should use the
diff --git a/testsuite/ocaml/findlib/hints/ocaml-expat-0.9.1-6.x86_64/dist/ocaml-expat/ocaml-expat-0.9.1-6.hint b/testsuite/ocaml/findlib/hints/ocaml-expat-0.9.1-6.x86_64/dist/ocaml-expat/ocaml-expat-0.9.1-6.hint
index a4ce2b2e..7e74bb1e 100644
--- a/testsuite/ocaml/findlib/hints/ocaml-expat-0.9.1-6.x86_64/dist/ocaml-expat/ocaml-expat-0.9.1-6.hint
+++ b/testsuite/ocaml/findlib/hints/ocaml-expat-0.9.1-6.x86_64/dist/ocaml-expat/ocaml-expat-0.9.1-6.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: cygwin libexpat-devel libexpat1 ocaml-runtime 
+requires: cygwin libexpat-devel libexpat1 ocaml-runtime
 sdesc: "OCaml Expat bindings"
 ldesc: "An ocaml wrapper for the Expat XML parsing library. It allows
 you to write XML-Parsers using the SAX method. An XML document is parsed on
diff --git a/testsuite/perl/ExtUtils-MakeMaker/hints/perl-Carp-1.38-1.noarch/dist/perl-Carp/perl-Carp-1.38-1.hint b/testsuite/perl/ExtUtils-MakeMaker/hints/perl-Carp-1.38-1.noarch/dist/perl-Carp/perl-Carp-1.38-1.hint
index 6d90752f..af6560d7 100644
--- a/testsuite/perl/ExtUtils-MakeMaker/hints/perl-Carp-1.38-1.noarch/dist/perl-Carp/perl-Carp-1.38-1.hint
+++ b/testsuite/perl/ExtUtils-MakeMaker/hints/perl-Carp-1.38-1.noarch/dist/perl-Carp/perl-Carp-1.38-1.hint
@@ -1,5 +1,5 @@
 category: Perl
-requires: perl5_032 perl_base 
+requires: perl5_032 perl_base
 sdesc: "Perl Carp distribution"
 ldesc: "The Carp routines are useful in your own modules because they act
 like die() or warn(), but with a message which is more likely to be useful
diff --git a/testsuite/perl/Module-Build/hints/perl-Lchown-1.01-1.x86_64/dist/perl-Lchown/perl-Lchown-1.01-1.hint b/testsuite/perl/Module-Build/hints/perl-Lchown-1.01-1.x86_64/dist/perl-Lchown/perl-Lchown-1.01-1.hint
index 5c23835c..86422081 100644
--- a/testsuite/perl/Module-Build/hints/perl-Lchown-1.01-1.x86_64/dist/perl-Lchown/perl-Lchown-1.01-1.hint
+++ b/testsuite/perl/Module-Build/hints/perl-Lchown-1.01-1.x86_64/dist/perl-Lchown/perl-Lchown-1.01-1.hint
@@ -1,5 +1,5 @@
 category: Perl
-requires: cygwin perl5_032 perl_base 
+requires: cygwin perl5_032 perl_base
 sdesc: "Perl Lchown distribution"
 ldesc: "The Lchown module provides a perl interface to the lchown(2) UNIX
 system call, on systems that support lchown.  The lchown(2) call is used to
diff --git a/testsuite/php/pear/hints/php-Structures_Graph-1.1.1-1.noarch/dist/php-Structures_Graph/php-Structures_Graph-1.1.1-1.hint b/testsuite/php/pear/hints/php-Structures_Graph-1.1.1-1.noarch/dist/php-Structures_Graph/php-Structures_Graph-1.1.1-1.hint
index d9056b77..7afa9278 100644
--- a/testsuite/php/pear/hints/php-Structures_Graph-1.1.1-1.noarch/dist/php-Structures_Graph/php-Structures_Graph-1.1.1-1.hint
+++ b/testsuite/php/pear/hints/php-Structures_Graph-1.1.1-1.noarch/dist/php-Structures_Graph/php-Structures_Graph-1.1.1-1.hint
@@ -1,5 +1,5 @@
 category: PHP
-requires: php-PEAR 
+requires: php-PEAR
 sdesc: "PHP graph datastructure manipulation class"
 ldesc: "Structures_Graph is a package for creating and manipulating graph
 datastructures. It allows building of directed and undirected graphs, with data
diff --git a/testsuite/php/pecl/hints/php-bitset-3.0.1-1.x86_64/dist/php-bitset/php-bitset-3.0.1-1.hint b/testsuite/php/pecl/hints/php-bitset-3.0.1-1.x86_64/dist/php-bitset/php-bitset-3.0.1-1.hint
index 712f2909..8f86901e 100644
--- a/testsuite/php/pecl/hints/php-bitset-3.0.1-1.x86_64/dist/php-bitset/php-bitset-3.0.1-1.hint
+++ b/testsuite/php/pecl/hints/php-bitset-3.0.1-1.x86_64/dist/php-bitset/php-bitset-3.0.1-1.hint
@@ -1,5 +1,5 @@
 category: PHP
-requires: cygwin php 
+requires: cygwin php
 sdesc: "PHP bitset manipulation library"
 ldesc: "The BitSet library assists by providing a mechanism to manage sets
 of bits. This provides a similar API (object-based) to java.util.BitSet with
diff --git a/testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python2-beautifulsoup/python2-beautifulsoup-3.2.1-1.hint b/testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python2-beautifulsoup/python2-beautifulsoup-3.2.1-1.hint
index 29cd5295..f3957d94 100644
--- a/testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python2-beautifulsoup/python2-beautifulsoup-3.2.1-1.hint
+++ b/testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python2-beautifulsoup/python2-beautifulsoup-3.2.1-1.hint
@@ -1,5 +1,5 @@
 category: Python
-requires: python27 
+requires: python27
 sdesc: "Python HTML/XML parser"
 ldesc: "Beautiful Soup is a Python HTML/XML parser designed for quick
 turnaround projects like screen-scraping. Beautiful Soup parses anything you
diff --git a/testsuite/qmake/qt5/hints/qoauth-qt5-2.0.0-1.x86_64/dist/qoauth-qt5/libqoauth-qt5-devel/libqoauth-qt5-devel-2.0.0-1.hint b/testsuite/qmake/qt5/hints/qoauth-qt5-2.0.0-1.x86_64/dist/qoauth-qt5/libqoauth-qt5-devel/libqoauth-qt5-devel-2.0.0-1.hint
index 8aff3655..761b3cb0 100644
--- a/testsuite/qmake/qt5/hints/qoauth-qt5-2.0.0-1.x86_64/dist/qoauth-qt5/libqoauth-qt5-devel/libqoauth-qt5-devel-2.0.0-1.hint
+++ b/testsuite/qmake/qt5/hints/qoauth-qt5-2.0.0-1.x86_64/dist/qoauth-qt5/libqoauth-qt5-devel/libqoauth-qt5-devel-2.0.0-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: libqca-qt5-devel libqoauth-qt5_1 libQt5Core-devel pkg-config 
+requires: libqca-qt5-devel libqoauth-qt5_1 libQt5Core-devel pkg-config
 sdesc: "Qt5 OAuth library"
 ldesc: "QOAuth is an attempt to support interaction with OAuth-powered
 network services in a Qt way, i.e. simply, clearly and efficiently."
diff --git a/testsuite/qmake/qt5/hints/qoauth-qt5-2.0.0-1.x86_64/dist/qoauth-qt5/libqoauth-qt5_1/libqoauth-qt5_1-2.0.0-1.hint b/testsuite/qmake/qt5/hints/qoauth-qt5-2.0.0-1.x86_64/dist/qoauth-qt5/libqoauth-qt5_1/libqoauth-qt5_1-2.0.0-1.hint
index cbff8bbb..89774d06 100644
--- a/testsuite/qmake/qt5/hints/qoauth-qt5-2.0.0-1.x86_64/dist/qoauth-qt5/libqoauth-qt5_1/libqoauth-qt5_1-2.0.0-1.hint
+++ b/testsuite/qmake/qt5/hints/qoauth-qt5-2.0.0-1.x86_64/dist/qoauth-qt5/libqoauth-qt5_1/libqoauth-qt5_1-2.0.0-1.hint
@@ -1,5 +1,5 @@
 category: Libs
-requires: cygwin libgcc1 libqca-qt5_2 libQt5Core5 libstdc++6 
+requires: cygwin libgcc1 libqca-qt5_2 libQt5Core5 libstdc++6
 sdesc: "Qt5 OAuth library"
 ldesc: "QOAuth is an attempt to support interaction with OAuth-powered
 network services in a Qt way, i.e. simply, clearly and efficiently."
diff --git a/testsuite/ruby/gem/hints/ruby-rack-ssl-1.4.1-1.noarch/dist/ruby-rack-ssl/ruby-rack-ssl-1.4.1-1.hint b/testsuite/ruby/gem/hints/ruby-rack-ssl-1.4.1-1.noarch/dist/ruby-rack-ssl/ruby-rack-ssl-1.4.1-1.hint
index b70c3a85..1e818ece 100644
--- a/testsuite/ruby/gem/hints/ruby-rack-ssl-1.4.1-1.noarch/dist/ruby-rack-ssl/ruby-rack-ssl-1.4.1-1.hint
+++ b/testsuite/ruby/gem/hints/ruby-rack-ssl-1.4.1-1.noarch/dist/ruby-rack-ssl/ruby-rack-ssl-1.4.1-1.hint
@@ -1,5 +1,5 @@
 category: Ruby
-requires: ruby-rack 
+requires: ruby-rack
 sdesc: "Ruby Rack SSL extension"
 ldesc: "Rack middleware to force SSL/TLS."
 
diff --git a/testsuite/ruby/gem/hints/ruby-rack-ssl-1.4.1-1.noarch/dist/ruby-rack-ssl/ruby-rack-ssl-doc/ruby-rack-ssl-doc-1.4.1-1.hint b/testsuite/ruby/gem/hints/ruby-rack-ssl-1.4.1-1.noarch/dist/ruby-rack-ssl/ruby-rack-ssl-doc/ruby-rack-ssl-doc-1.4.1-1.hint
index 5531d705..c7059aba 100644
--- a/testsuite/ruby/gem/hints/ruby-rack-ssl-1.4.1-1.noarch/dist/ruby-rack-ssl/ruby-rack-ssl-doc/ruby-rack-ssl-doc-1.4.1-1.hint
+++ b/testsuite/ruby/gem/hints/ruby-rack-ssl-1.4.1-1.noarch/dist/ruby-rack-ssl/ruby-rack-ssl-doc/ruby-rack-ssl-doc-1.4.1-1.hint
@@ -1,5 +1,5 @@
 category: Ruby
-requires:  
+requires: 
 sdesc: "Ruby Rack SSL extension"
 ldesc: "Rack middleware to force SSL/TLS."
 external-source: ruby-rack-ssl
diff --git a/testsuite/texlive/collection/hints/texlive-collection-genericrecommended-20160404-1.noarch/dist/texlive-collection-genericrecommended/texlive-collection-genericrecommended-20160404-1.hint b/testsuite/texlive/collection/hints/texlive-collection-genericrecommended-20160404-1.noarch/dist/texlive-collection-genericrecommended/texlive-collection-genericrecommended-20160404-1.hint
index af90a902..fa5da354 100644
--- a/testsuite/texlive/collection/hints/texlive-collection-genericrecommended-20160404-1.noarch/dist/texlive-collection-genericrecommended/texlive-collection-genericrecommended-20160404-1.hint
+++ b/testsuite/texlive/collection/hints/texlive-collection-genericrecommended-20160404-1.noarch/dist/texlive-collection-genericrecommended/texlive-collection-genericrecommended-20160404-1.hint
@@ -1,5 +1,5 @@
 category: Publishing
-requires: coreutils texlive-collection-basic 
+requires: coreutils texlive-collection-basic
 sdesc: "TeX Live genericrecommended package collection"
 ldesc: "TeX Live is an easy way to get up and running with the TeX
 document production system.  It includes all the major TeX-related
diff --git a/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1.hint b/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1.hint
index 33df733a..e1148202 100644
--- a/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1.hint
+++ b/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1.hint
@@ -1,5 +1,5 @@
 category: Audio
-requires:  
+requires: 
 sdesc: "LV2 audio plugin specification"
 ldesc: "LV2 is a portable plugin standard for audio systems, similar in
 scope to LADSPA, VST, AU, and others. It defines a C API for code and a format


             reply	other threads:[~2022-12-06 18:44 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-06 18:44 Jon TURNEY [this message]
2023-01-15  0:34 Jon Turney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221206184441.35B573871F97@sourceware.org \
    --to=jturney@sourceware.org \
    --cc=cygwin-apps-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).