public inbox for cygwin-apps-cvs@sourceware.org
help / color / mirror / Atom feed
* [cygport - the Cygwin packaging tool] branch master, updated. 0.35.5
@ 2022-12-06 18:44 Jon TURNEY
  0 siblings, 0 replies; 2+ messages in thread
From: Jon TURNEY @ 2022-12-06 18:44 UTC (permalink / raw)
  To: cygwin-apps-cvs

[-- 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


^ permalink raw reply	[flat|nested] 2+ messages in thread
* [cygport - the Cygwin packaging tool] branch master, updated. 0.35.5
@ 2023-01-15  0:34 Jon Turney
  0 siblings, 0 replies; 2+ messages in thread
From: Jon Turney @ 2023-01-15  0:34 UTC (permalink / raw)
  To: cygwin-apps-cvs


No new revisions were added by this update.
Diff:
---
 .github/workflows/cygwin.yml                       |  10 +-
 bin/cygport.in                                     |  21 +-
 cygclass/aspell-dict.cygclass                      |   2 -
 cygclass/autotools.cygclass                        |   4 -
 cygclass/font.cygclass                             |   1 -
 cygclass/httpd.cygclass                            |   2 -
 cygclass/multilib.cygclass                         |   1 -
 cygclass/pygtk.cygclass                            |   2 -
 cygclass/python-distutils.cygclass                 |   3 -
 cygclass/python-wheel.cygclass                     |  15 +-
 cygclass/python.cygclass                           |   2 -
 cygclass/python2-distutils.cygclass                |   3 -
 cygclass/python2-wheel.cygclass                    |   3 -
 cygclass/python2.cygclass                          |   2 -
 cygclass/python3-distutils.cygclass                |   2 -
 cygclass/python3-wheel.cygclass                    |   1 -
 data/cygport.conf                                  |  16 +-
 lib/pkg_info.cygpart                               |   4 +-
 lib/pkg_pkg.cygpart                                | 130 +++---------
 lib/pkg_upload.cygpart                             |  10 +-
 lib/src_fetch.cygpart                              |   6 +-
 lib/src_postinst.cygpart                           |  26 ---
 lib/src_prep.cygpart                               |  37 +---
 lib/syntax.cygpart                                 |  11 +-
 testsuite/R/cran/vars                              |   3 -
 testsuite/aspell/dict/vars                         |   3 -
 testsuite/autotools/c/vars                         |   3 -
 testsuite/autotools/gnome/vars                     |   3 -
 testsuite/autotools/gtkmm/vars                     |   3 -
 testsuite/autotools/kde3/vars                      |   3 -
 .../python2-matemenu-1.18.0-1.hint                 |   8 +
 testsuite/autotools/mate/mate-menus.cygport        |  10 +-
 testsuite/autotools/mate/mate-menus.list           |   2 +
 testsuite/autotools/mate/vars                      |   3 -
 testsuite/autotools/meson.build                    |   2 +-
 testsuite/autotools/xfce/vars                      |   3 -
 testsuite/basic/info/vars                          |   3 -
 testsuite/cmake/c/vars                             |   3 -
 testsuite/cmake/kde4/vars                          |   3 -
 testsuite/cmake/kf5/vars                           |   3 -
 testsuite/cmake/qt4/vars                           |   3 -
 testsuite/cmake/qt5/vars                           |   3 -
 testsuite/cross/cmake/vars                         |   3 -
 testsuite/cross/make/vars                          |   3 -
 testsuite/cross/qt5/vars                           |   3 -
 testsuite/docbook/sgml/vars                        |   3 -
 testsuite/docbook/xml/vars                         |   3 -
 testsuite/download/R/vars                          |   3 -
 testsuite/download/bzr/vars                        |   3 -
 testsuite/download/cvs/vars                        |   3 -
 testsuite/download/git/vars                        |   3 -
 testsuite/download/gnome.org/vars                  |   3 -
 testsuite/download/hg/vars                         |   3 -
 testsuite/download/mate/vars                       |   3 -
 testsuite/download/mtn/vars                        |   3 -
 testsuite/download/perl/vars                       |   3 -
 testsuite/download/python.org/vars                 |   3 -
 .../python27-clang/python27-clang-9.0.1-1.hint     |   9 +
 testsuite/download/svn/python-clang.cygport        |   2 +-
 testsuite/download/svn/python-clang.list           |  17 ++
 testsuite/download/svn/vars                        |   3 -
 testsuite/download/x.org/vars                      |   3 -
 testsuite/files/meson.build                        |   1 -
 testsuite/files/xinit/README                       |   1 -
 .../dist/xinit/xinit-1.4.2-2-src.hint              |  10 -
 .../dist/xinit/xinit-1.4.2-2.hint                  |   7 -
 testsuite/files/xinit/postinstall.sh               |   3 -
 testsuite/files/xinit/preremove.sh                 |   3 -
 testsuite/files/xinit/profile.d.csh                |   4 -
 testsuite/files/xinit/profile.d.fish               |   4 -
 testsuite/files/xinit/profile.d.sh                 |   1 -
 testsuite/files/xinit/startxdmcp.bat               | 102 ----------
 testsuite/files/xinit/startxwin                    | 226 ---------------------
 testsuite/files/xinit/startxwin.1                  | 213 -------------------
 testsuite/files/xinit/vars                         |   3 -
 testsuite/files/xinit/xinit.cygport                |  44 ----
 testsuite/files/xinit/xinit.list                   |   9 -
 testsuite/font/install/vars                        |   3 -
 testsuite/font/sfd2ttf/vars                        |   3 -
 testsuite/hints/multiple/vars                      |   3 -
 testsuite/hints/single/vars                        |   3 -
 testsuite/httpd/apxs/vars                          |   3 -
 testsuite/logic/arch_patch/arch_patch.cygport      |  12 --
 testsuite/logic/arch_src/arch_src.cygport          |  12 --
 testsuite/logic/meson.build                        |   9 -
 testsuite/lua/all/vars                             |   4 -
 testsuite/meson.build                              |   6 +-
 testsuite/meson/c/vars                             |   3 -
 testsuite/meson/gnome/vars                         |   3 -
 testsuite/ocaml/dune/vars                          |   4 -
 testsuite/ocaml/findlib/vars                       |   3 -
 testsuite/perl/ExtUtils-MakeMaker/vars             |   3 -
 testsuite/perl/Module-Build/vars                   |   3 -
 testsuite/php/pear/vars                            |   3 -
 testsuite/php/pecl/vars                            |   3 -
 .../python-beautifulsoup-3.2.1-1-src.hint}         |   2 +-
 .../python2-beautifulsoup-3.2.1-1.hint}            |   3 +-
 .../python/distutils/python-beautifulsoup.cygport  |  18 +-
 .../python/distutils/python-beautifulsoup.list     | 114 +----------
 testsuite/python/distutils/vars                    |   3 -
 testsuite/python/meson.build                       |  10 +-
 .../python-pynotify-0.1.1-5-src.hint               |   7 +
 .../python-pynotify/python-pynotify-0.1.1-5.hint   |   5 +
 .../python-pynotify-debuginfo-0.1.1-5.hint}        |   6 +-
 .../pygtk/notify-python-0.1.1-libnotify-0.7.patch  |  37 ++++
 testsuite/python/pygtk/python-pynotify.cygport     |  18 ++
 testsuite/python/pygtk/python-pynotify.list        |  10 +
 testsuite/python/wheel/vars                        |   3 -
 testsuite/qmake/qt3/vars                           |   3 -
 testsuite/qmake/qt4/vars                           |   3 -
 testsuite/qmake/qt5/vars                           |   3 -
 testsuite/ruby/gem/vars                            |   3 -
 testsuite/texlive/collection/vars                  |   3 -
 testsuite/vars                                     |  35 ----
 testsuite/waf/all/1.12.0-cygwin-shlib.patch        |  66 ++++++
 .../dist/lv2/lv2-1.12.0-1-src.hint}                |   0
 .../dist/lv2/lv2-1.12.0-1.hint}                    |   0
 .../dist/lv2/lv2-devel/lv2-devel-1.12.0-1.hint}    |   2 +-
 testsuite/waf/all/lv2.cygport                      |   9 +-
 testsuite/waf/all/lv2.list                         |  90 +++-----
 testsuite/waf/all/vars                             |   3 -
 testsuite/waf/all/waf-python2.patch                |  16 ++
 testsuite/waf/meson.build                          |   2 +-
 123 files changed, 340 insertions(+), 1305 deletions(-)

diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml
index 57df4f05..9ed59f58 100644
--- a/.github/workflows/cygwin.yml
+++ b/.github/workflows/cygwin.yml
@@ -95,7 +95,11 @@ jobs:
         perl,^
         perl-Module-Build,^
         php-PEAR,^
-        python38-devel,^
+        python-gtk2.0-devel,^
+        python2-devel,^
+        python27-pip,^
+        python27-setuptools,^
+        python27-wheel,^
         python38-pip,^
         python38-setuptools,^
         python38-wheel,^
@@ -116,9 +120,7 @@ jobs:
     - name: Fixup Cygwin installation
       run: |
         bash --login
-        bash -c '/usr/sbin/alternatives --set python /usr/bin/python3.8'
-        bash -c '/usr/sbin/alternatives --set python3 /usr/bin/python3.8'
-        bash -c '/usr/sbin/alternatives --set python3-config /usr/bin/python3.8-config'
+        bash -c '/usr/sbin/alternatives --set python /usr/bin/python3.8 ; /usr/sbin/alternatives --set python3 /usr/bin/python3.8'
         bash -c 'sed -i s#/usr/bin/python\$#/usr/bin/python3.9# /usr/bin/pip3.9'
         bash -c 'sed -i s@#!/bin/python\$@#!/bin/python2@ /usr/bin/bzr'
         bash -c 'git config --system --add safe.directory /cygdrive/d/a/cygport/cygport'
diff --git a/bin/cygport.in b/bin/cygport.in
index 46647573..446734fa 100755
--- a/bin/cygport.in
+++ b/bin/cygport.in
@@ -57,7 +57,7 @@ source ${_privlibdir}/syntax.cygpart
 #  The Cygport Reference Manual documents cygport, a utility for creating and
 #  building software packages for the Cygwin platform.
 #
-#  |html Copyright &#169; 2006-2023 Cygport authors
+#  |html Copyright &#169; 2006-2020 Cygport authors
 #
 #  Permission is granted to copy, distribute and/or modify this manual
 #  under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -263,16 +263,16 @@ fi
 declare    MAKEOPTS="${_nproc:--j $(($(nproc 2>/dev/null) + 1))} "
 
 # load configuration
-for conf in \
-	"${_privsysconfdir}/cygport.conf" \
-	"${HOME}/.config/cygport.conf" \
-	"${HOME}/.cygport/cygport.conf" \
-	"${HOME}/.cygport.conf" \
-	"${HOME}/.cygportrc"
+for conf in "${HOME}/.config/cygport.conf" \
+	    "${HOME}/.cygport/cygport.conf" \
+	    "${HOME}/.cygport.conf" \
+	    "${HOME}/.cygportrc" \
+	    "${_privsysconfdir}/cygport.conf"
 do
 	if [ -e "${conf}" ]
 	then
 		source "${conf}" || error "could not read ${conf}"
+		break;
 	fi
 done
 unset conf;
@@ -431,10 +431,7 @@ do
     n=0
     while (( n < ${#ARCHES[*]} ))
     do
-        # the '\n' at the end ensures that if the source-ing fails, the process
-        # substitution still outputs something, so read has some input and
-        # doesn't fail on seeing an end-of-file
-        read -r < <( (declare ARCH=${ARCHES[$n]}; declare ARCH_${ARCH}=1; source ${top}/${cygportfile} 2>/dev/null ; eval echo "\$${VAR}}" ) || echo "\n" )
+        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
@@ -450,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} 2>/dev/null ; echo "${ARCH}") || true )
+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/aspell-dict.cygclass b/cygclass/aspell-dict.cygclass
index 22dd97b1..565c44b6 100644
--- a/cygclass/aspell-dict.cygclass
+++ b/cygclass/aspell-dict.cygclass
@@ -47,8 +47,6 @@
 #    to eventually replace Ispell. It can either be used as a library or as an
 #    independent spell checker.
 #    This package provides English dictionaries for Aspell."
-#    HOMEPAGE="http://aspell.net/"
-#    LICENSE="MIT and BSD"
 #
 #  REQUIRES
 #  aspell
diff --git a/cygclass/autotools.cygclass b/cygclass/autotools.cygclass
index 1b608425..c83dd001 100644
--- a/cygclass/autotools.cygclass
+++ b/cygclass/autotools.cygclass
@@ -42,7 +42,6 @@
 #    containing a match to a specified pattern. By default, grep prints the
 #    matching lines."
 #    HOMEPAGE="https://www.gnu.org/software/grep/"
-#    LICENSE="GPL-2.0-or-later"
 #    SRC_URI="mirror://gnu/grep/grep-${VERSION}.tar.xz"
 #
 #  If the only customization needed is to add configure flags, use CYGCONF_ARGS:
@@ -58,7 +57,6 @@
 #    column number, auto-indentation, feature toggles, internationalization support,
 #    and filename tab completion."
 #    HOMEPAGE="https://www.nano-editor.org/"
-#    LICENSE="GPL-3.0-or-later"
 #    SRC_URI="https://www.nano-editor.org/dist/v${VERSION%.*}/nano-${VERSION}.tar.gz"
 #    PATCH_URI="2.2.4-wchar.patch"
 #    
@@ -76,8 +74,6 @@
 #    SUMMARY="Double-array digital search tree library"
 #    DESCRIPTION="This is an implementation of double-array structure for
 #    representing trie, as proposed by Junichi Aoe."
-#    HOMEPAGE="https://linux.thai.net/~thep/datrie/datrie.html"
-#    LICENSE="LGPL"
 #    
 #    PKG_NAMES="${NAME}1 ${NAME}-devel ${NAME}-doc"
 #    # see PKG_CONTENTS
diff --git a/cygclass/font.cygclass b/cygclass/font.cygclass
index 20bbfa54..545b8be6 100644
--- a/cygclass/font.cygclass
+++ b/cygclass/font.cygclass
@@ -38,7 +38,6 @@
 #    Humanist sans serif, and was developed for on-screen reading; in particular,
 #    reading web pages on a mobile phone."
 #    HOMEPAGE="https://gitlab.gnome.org/GNOME/cantarell-fonts/"
-#    LICENSE="OFL"
 #    
 #    src_compile() { :; }
 #    
diff --git a/cygclass/httpd.cygclass b/cygclass/httpd.cygclass
index 125d1f6e..e210ec6e 100644
--- a/cygclass/httpd.cygclass
+++ b/cygclass/httpd.cygclass
@@ -48,7 +48,6 @@
 #    delivered by the proxy module (mod_proxy) for viruses using the Clamav
 #    virus scanning engine."
 #    HOMEPAGE="http://software.othello.ch/mod_clamav/"
-#    LICENSE="GPL-2.0-only"
 #    SRC_URI="http://software.othello.ch/mod_clamav/mod_clamav-${VERSION}.tar.gz"
 #    SRC_DIR="mod_clamav-${VERSION}"
 #    PATCH_URI="0.22-cygwin-layout.patch"
@@ -79,7 +78,6 @@
 #    city that a web request originated from.  It uses the GeoIP library and
 #    database to perform the lookup."
 #    HOMEPAGE="https://dev.maxmind.com/geoip/legacy/mod_geoip2/"
-#    LICENSE="Apache-1.1"
 #    SRC_URI="https://github.com/maxmind/geoip-api-mod_geoip2/archive/v${VERSION}.tar.gz"
 #    SRC_DIR="geoip-api-mod_geoip2-${VERSION}"
 #    
diff --git a/cygclass/multilib.cygclass b/cygclass/multilib.cygclass
index 7ce36e73..a9fbc85f 100644
--- a/cygclass/multilib.cygclass
+++ b/cygclass/multilib.cygclass
@@ -53,7 +53,6 @@
 #  CATEGORY="Devel"
 #  SUMMARY="zlib for Linux x86-64/x32 toolchain"
 #  HOMEPAGE="https://www.zlib.net/"
-#  LICENSE="Zlib"
 #  SRC_URI="mirror://sourceforge/libpng/zlib-${VERSION}.tar.gz"
 #  SRC_DIR="zlib-${VERSION}"
 #  
diff --git a/cygclass/pygtk.cygclass b/cygclass/pygtk.cygclass
index 8bc38a8e..b1412880 100644
--- a/cygclass/pygtk.cygclass
+++ b/cygclass/pygtk.cygclass
@@ -40,8 +40,6 @@
 #  gnome.org.cygclass (unless mate.cygclass has been inherit()ed), python.cygclass
 #****
 
-warning "pygtk.cygclass: pygtk bindings are limited to got gtk+2 and python2 and considered obsolete."
-
 case ${PN#python-} in
 	${PN})
 		# for packages which provide pygtk bindings together with the C lib.
diff --git a/cygclass/python-distutils.cygclass b/cygclass/python-distutils.cygclass
index 14d4ae65..177bb88d 100644
--- a/cygclass/python-distutils.cygclass
+++ b/cygclass/python-distutils.cygclass
@@ -27,9 +27,6 @@
 #  INHERITS
 #  python2-distutils.cygclass, python.cygclass
 #****
-
-warning "python-distutils.cygclass: deprecated compatibility wrapper for the python2-distutils cygclass"
-
 inherit python2-distutils python
 
 #****iC* python-distutils.cygclass/python_distutils_compile
diff --git a/cygclass/python-wheel.cygclass b/cygclass/python-wheel.cygclass
index 1ef23826..064fec2a 100644
--- a/cygclass/python-wheel.cygclass
+++ b/cygclass/python-wheel.cygclass
@@ -57,7 +57,7 @@ inherit python.org
 
 #****v* python-wheel.cygclass/PYTHON_WHEEL_VERSIONS
 #  SYNOPSIS
-#  PYTHON_WHEEL_VERSIONS="3.5:3.6" # e.g. added to stdlib in 3.7
+#  PYTHON_WHEEL_VERSIONS="2.7:3.5" # e.g. added to stdlib in 3.6
 #  inherit python-wheel
 #  DESCRIPTION
 #  A colon-seperated list of version(s) for which this module should be built.
@@ -71,8 +71,11 @@ inherit python.org
 #  If undefined, "default" is assumed.
 #  NOTES
 #  * Python 2.7 is no longer supported upstream, and all code should be moving
-#    to Python 3.y.  A 2.x version appearing in PYTHON_WHEEL_VERSIONS is now an
-#    error.
+#    to Python 3.y.  While the 2.7 packages will remain for now, they should
+#    only be used when absolutely needed.  Therefore, 2.7 has been dropped from
+#    the all/default/future sets.  If you still need to provide your module for
+#    2.7 -- and 2.7 is still supported by the module -- then set a value of
+#    e.g. PYTHON_WHEEL_VERSIONS="2:default".
 #  * It is not generally expected for wheel packages to be built with "all".
 #    This option is primarily intended for the most basic modules used to
 #    build, install, and run other modules (e.g. setuptools, wheel, pip, and
@@ -104,12 +107,6 @@ unset _tmp_wheel_v
 
 for ver in ${PYTHON_WHEEL_VERSIONS//:/ }
 do
-	case "${ver}" in
-	2.*)
-		error "${ver} in PYTHON_WHEEL_VERSIONS"
-		;;
-	esac
-
 	check_prog_req pip${ver} python${ver//.}-pip
 done
 
diff --git a/cygclass/python.cygclass b/cygclass/python.cygclass
index 7502fa0e..6f3c1ca2 100644
--- a/cygclass/python.cygclass
+++ b/cygclass/python.cygclass
@@ -30,8 +30,6 @@
 #  python2.cygclass
 #****
 
-warning "python.cygclass: deprecated compatibility wrapper for the python2 cygclass"
-
 inherit python2
 
 #****id* python.cygclass/PYTHON
diff --git a/cygclass/python2-distutils.cygclass b/cygclass/python2-distutils.cygclass
index c20f6834..20468a3c 100644
--- a/cygclass/python2-distutils.cygclass
+++ b/cygclass/python2-distutils.cygclass
@@ -21,9 +21,6 @@
 #
 ################################################################################
 
-warning "python2-distutils.cygclass: python distutils is deprecated. Please migrate to the python-wheel cygclass."
-error "python2-distutils.cyclass: python2 was sunsetted on 1 January, 2020.  Please use python3 instead."
-
 #****h* Cygclasses/python2-distutils.cygclass
 #  DESCRIPTION
 #  Distutils is the most common method for building and installing Python
diff --git a/cygclass/python2-wheel.cygclass b/cygclass/python2-wheel.cygclass
index 8d3e32e9..26670fcc 100644
--- a/cygclass/python2-wheel.cygclass
+++ b/cygclass/python2-wheel.cygclass
@@ -50,9 +50,6 @@
 #  REQUIRES
 #  python2, python2-pip
 #****
-
-error "python2-wheel.cyclass: python2 was sunsetted on 1 January, 2020.  Please use python3 instead."
-
 inherit python2
 PYTHON_WHEEL_VERSIONS=${PYTHON2_VERSION}
 inherit python-wheel
diff --git a/cygclass/python2.cygclass b/cygclass/python2.cygclass
index 0052689f..84aa4b93 100644
--- a/cygclass/python2.cygclass
+++ b/cygclass/python2.cygclass
@@ -43,8 +43,6 @@
 #  python2
 #****
 
-error "python2.cyclass: python2 was sunsetted on 1 January, 2020.  Please use python3 instead."
-
 # cross-compiling is not (yet?) supported
 __cross_compiling_error
 
diff --git a/cygclass/python3-distutils.cygclass b/cygclass/python3-distutils.cygclass
index b74390fc..114f5757 100644
--- a/cygclass/python3-distutils.cygclass
+++ b/cygclass/python3-distutils.cygclass
@@ -21,8 +21,6 @@
 #
 ################################################################################
 
-warning "python3-distutils.cygclass: python distutils is deprecated. Please migrate to the python-wheel cygclass."
-
 #****h* Cygclasses/python3-distutils.cygclass
 #  DESCRIPTION
 #  Distutils is the most common method for building and installing Python
diff --git a/cygclass/python3-wheel.cygclass b/cygclass/python3-wheel.cygclass
index 72c3f169..e20e777c 100644
--- a/cygclass/python3-wheel.cygclass
+++ b/cygclass/python3-wheel.cygclass
@@ -43,7 +43,6 @@
 #    DESCRIPTION="git-review is a tool that helps submitting git branches to
 #    Gerrit for review."
 #    HOMEPAGE="https://opendev.org/opendev/git-review"
-#    LICENSE="Apache-2.0"
 #    SRC_URI="https://tarballs.opendev.org/openstack/git-review/${NAME}-${VERSION}.tar.gz"
 #    
 #    ARCH=noarch
diff --git a/data/cygport.conf b/data/cygport.conf
index 34ccd291..478b1a33 100644
--- a/data/cygport.conf
+++ b/data/cygport.conf
@@ -12,18 +12,10 @@
 
 #****** Configuration/cygport.conf
 #  DESCRIPTION
-#  The cygport.conf file can be used by users to customize certain aspects of
-#  cygport's behaviour.  Users who wish to customize their settings should copy
-#  the respective settings from /etc/cygport.conf file to $HOME/.cygport.conf
-#  and edit the latter.
-#
-#  Settings in /etc/cygport.conf are read first and can be changed via
-#  user-defined settings in $HOME/.config/cygport.conf,
-#  $HOME/.cygport/cygport.conf, $HOME/.cygport.conf, $HOME/.cygportrc in that
-#  order.  The last one is for backwards compatibility with older versions of
-#  cygport, usually just one of these user-defined configuration files should
-#  exist.
-
+#  The cygport.conf file can be used by users to customize certain aspects
+#  of cygport's behaviour.  Users who wish to customize their settings should
+#  copy the default /etc/cygport.conf file to $HOME/.cygport.conf and edit the
+#  latter.
 #****
 
 #****v* Configuration/DISTDIR
diff --git a/lib/pkg_info.cygpart b/lib/pkg_info.cygpart
index b9022d73..c399cc5f 100644
--- a/lib/pkg_info.cygpart
+++ b/lib/pkg_info.cygpart
@@ -137,9 +137,9 @@ __list_deps() {
 	export PATH+="${D}$(__host_prefix)/bin:${os_path}";
 
 	# only on Cygwin: assure Windows\System32 is present for w32api DLLs
-	if check_prog /bin/cygpath
+	if check_prog cygpath
 	then
-		PATH+=":$(/bin/cygpath -S)"
+		PATH+=":$(cygpath -S)"
 	fi
 
 	if (cross_compiling || [ "${CHOST}" != "${CTARGET}" ]) && ! __target_is_embedded && check_target_tool gcc
diff --git a/lib/pkg_pkg.cygpart b/lib/pkg_pkg.cygpart
index 65dd145d..6f02f7e9 100644
--- a/lib/pkg_pkg.cygpart
+++ b/lib/pkg_pkg.cygpart
@@ -32,42 +32,6 @@
 #  section.
 #****
 
-#****v* Packaging/TAR_COMPRESSION_EXT
-#  SYNOPSIS
-#  TAR_COMPRESSION_EXT="zstd"
-#  DESCRIPTION
-#  The compression to be used for package tar archives, default xz.
-#  DEFINITION
-TAR_COMPRESSION_EXT="${TAR_COMPRESSION_EXT:-xz}"
-#****
-
-__tar() {
-	local TAR_COMPRESSION_OPT;
-
-	# We could use --auto-compress, but this also constrains the extension
-	# to the currently valid set. We could probe if tar supports the
-	# compression and/or use an external compressor.
-	case ${TAR_COMPRESSION_EXT} in
-		bz2)
-			TAR_COMPRESSION_OPT="-j"
-			;;
-		gz)
-			TAR_COMPRESSION_OPT="-z"
-			warning "gzip compression for packages is considered obsolete"
-			;;
-		xz)
-			TAR_COMPRESSION_OPT="-J"
-			;;
-		zst)
-			TAR_COMPRESSION_OPT="--zstd"
-			;;
-		*)
-			error "tar option for TAR_COMPRESSION_EXT='${TAR_COMPRESSION_EXT}' unknown"
-			;;
-	esac
-	tar ${TAR_COMPRESSION_OPT} --owner=Guest:501 --group=None:513 -cvf "$@"
-}
-
 __pkg_binpkg() {
 	local -i n=0;
 	local pkg_contents;
@@ -98,11 +62,9 @@ __pkg_binpkg() {
 #  PKG_NAMES="foo libfoo1 libfoo-devel libfoo-doc"
 #  PKG_HINTS="setup runtime devel doc"
 #  DESCRIPTION
-#  A list of unsuffixed .hint files in $C, which should be used for each given
+#  A list of unsuffixed .hint files which should be used for each given
 #  binary package in PKG_NAMES.
 #  NOTES
-#  * This variable is obsolete, and allowing cygport to automatically generate
-#    hints should be used in new packages.
 #  * If PN is not included in PKG_NAMES, a file named $PN.hint or setup.hint
 #    is still required for the source package, but should not be listed in
 #    PKG_HINTS.
@@ -133,7 +95,8 @@ __pkg_binpkg() {
 #    form of an array.  This form should be considered deprecated in favour
 #    of explicitly-named variables as described above.
 #  * If the contents of a package are too many or complicated to easily
-#    describe in this form, a PKG.list file in $C can be used instead.
+#    describe in this form, a PN.list file can be used instead and placed
+#    in C before the packaging stage.
 #****
 
 	pkg_list=(${PKG_LISTS:-${PKG_NAMES}});
@@ -173,7 +136,7 @@ __pkg_binpkg() {
 		*-[0-9]*) error "Package ${pkg_name[${n}]}: Use underscore instead of hyphen when followed by digit" ;;
 		esac
 
-		__step "${pkg_name[${n}]}-${PVR}.tar.${TAR_COMPRESSION_EXT}";
+		__step "${pkg_name[${n}]}-${PVR}.tar.xz";
 
 		pkg_contents_var=${pkg_name[${n}]//[-+\.]/_}_CONTENTS;
 		pkg_docs_var=${pkg_name[${n}]//[-+\.]/_}_DOCS;
@@ -207,7 +170,7 @@ __pkg_binpkg() {
 		if defined pkg_contents
 		then
 			mkdir -p ${distdir}/${PN}/${distsubdir};
-			__tar ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.${TAR_COMPRESSION_EXT} \
+			tar Jcvf ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.xz \
 				--exclude=usr/lib/debug --exclude=usr/src \
 				--exclude=${autoloaddir} \
 				${pkg_contents} \
@@ -216,8 +179,7 @@ __pkg_binpkg() {
 		else
 			inform "Creating empty package"
 			mkdir -p ${distdir}/${PN}/${distsubdir};
-			__tar ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.${TAR_COMPRESSION_EXT} \
-				--files-from /dev/null \
+			tar -Jcf ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.xz --files-from /dev/null \
 				|| error "Empty package creation failed"
 			> ${T}/.${pkg_name[${n}]}.lst
 		fi
@@ -230,9 +192,9 @@ __pkg_binpkg() {
 		[ -d ${autoloaddir} ] || autoloaddir=
 		local dbg_contents_var=${PN//[-+\.]/_}_debuginfo_CONTENTS;
 
-		__step "${PN}-debuginfo-${PVR}.tar.${TAR_COMPRESSION_EXT}";
+		__step "${PN}-debuginfo-${PVR}.tar.xz";
 		mkdir -p ${distdir}/${PN}/${PN}-debuginfo;
-		__tar ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.${TAR_COMPRESSION_EXT} \
+		tar Jcvf ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.xz \
 			usr/*/debug/ ${autoloaddir} ${!dbg_contents_var} \
 			| tee ${T}/.${PN}-debuginfo.lst \
 			|| error "Debuginfo package creation failed: ${PN}-debuginfo"
@@ -261,7 +223,7 @@ __pkg_pkgcheck() {
 		n+=1
 	done
 
-	if ! defined _CYGPORT_RESTRICT_debuginfo_ && [ -f ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.${TAR_COMPRESSION_EXT} ]
+	if ! defined _CYGPORT_RESTRICT_debuginfo_ && [ -f ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.xz ]
 	then
 		grep -Ev "/$" ${T}/.${PN}-debuginfo.lst >> ${tmp1}
 	fi
@@ -318,7 +280,6 @@ __pkg_diff() {
 	local diff_excludes_x;
 	local difflevel;
 	local exclude;
-	local optional_patchfiles;
 
 	default_excludes="CYGWIN-PATCHES aclocal.m4~ aclocal.m4t autom4te.cache
 		config.cache config.guess config.log config.status config.sub
@@ -462,30 +423,20 @@ __pkg_diff() {
 			;;
 	esac
 
+	# diff exits >0 when targets differ, hence catch exception with true
 	if [ "${SRC_DIR}" = "." ]
 	then
+		diff -urN -x '*~' \
+			${origsrcdir##*/}/CYGWIN-PATCHES ${srcdir##*/}/CYGWIN-PATCHES \
+			> ${patchdir}/${cygwin_patchfile} || true;
 		difflevel=1;
 	else
-
+		diff -urN -x '*~' \
+			${origsrcdir##*/}/${SRC_DIR}/CYGWIN-PATCHES ${srcdir##*/}/${SRC_DIR}/CYGWIN-PATCHES \
+			> ${patchdir}/${cygwin_patchfile} || true;
 		difflevel=2;
 	fi
 
-	if [ -z "${CYGWIN_FILES}" ]
-	then
-		# diff exits >0 when targets differ, hence catch exception with true
-		if [ "${SRC_DIR}" = "." ]
-		then
-			diff -urN -x '*~' \
-				${origsrcdir##*/}/CYGWIN-PATCHES ${srcdir##*/}/CYGWIN-PATCHES \
-				> ${patchdir}/${cygwin_patchfile} || true;
-		else
-			diff -urN -x '*~' \
-				${origsrcdir##*/}/${SRC_DIR}/CYGWIN-PATCHES ${srcdir##*/}/${SRC_DIR}/CYGWIN-PATCHES \
-				> ${patchdir}/${cygwin_patchfile} || true;
-		fi
-		optional_patchfiles=${patchdir}/${cygwin_patchfile}
-	fi
-
 	if defined _CYGPORT_RESTRICT_diff_
 	then
 		rm -f ${patchdir}/${src_patchfile};
@@ -496,9 +447,9 @@ __pkg_diff() {
 			> ${patchdir}/${src_patchfile} || true;
 	fi
 
-	sed -b -e '/^diff -u/d' -i ${optional_patchfiles} ${patchdir}/${src_patchfile};
+	sed -b -e '/^diff -u/d' -i ${patchdir}/${cygwin_patchfile} ${patchdir}/${src_patchfile};
 
-	diffstat -p${difflevel} ${optional_patchfiles} ${patchdir}/${src_patchfile};
+	diffstat -p${difflevel} ${patchdir}/${cygwin_patchfile} ${patchdir}/${src_patchfile};
 }
 
 __gpg_sign() {
@@ -513,7 +464,6 @@ __squeeze_whitespace() {
 }
 
 __pkg_srcpkg() {
-	local cygwin_file;
 	local src;
 	local pkg_tag=${1};
 
@@ -530,22 +480,17 @@ __pkg_srcpkg() {
 
 	if [ -s ${patchdir}/${cygwin_patchfile} ]
 	then
-		cp --preserve=timestamps ${patchdir}/${cygwin_patchfile} ${spkgdir};
+		cp ${patchdir}/${cygwin_patchfile} ${spkgdir};
 	fi
 
 	if [ -s ${patchdir}/${src_patchfile} ]
 	then
-		cp --preserve=timestamps ${patchdir}/${src_patchfile} ${spkgdir};
+		cp ${patchdir}/${src_patchfile} ${spkgdir};
 	fi
 
 	__step "Creating source package";
 
-	for cygwin_file in ${CYGWIN_FILES}
-	do
-		cp --preserve=timestamps ${C}/${cygwin_file} ${spkgdir}
-	done
-
-	cp --preserve=timestamps ${top}/${cygportfile} ${spkgdir};
+	cp ${top}/${cygportfile} ${spkgdir};
 
 	for src in ${_src_orig_pkgs} ${_src_orig_patches}
 	do
@@ -558,7 +503,7 @@ __pkg_srcpkg() {
 		else
 			src=${top}/${src};
 		fi
-		cp --preserve=timestamps ${src} ${spkgdir};
+		cp ${src} ${spkgdir};
 	done
 
 	if __arg_bool SIG
@@ -572,12 +517,6 @@ __pkg_srcpkg() {
 				__gpg_sign ${spkgdir}/${cygwin_patchfile} "CYGWIN PATCH";
 			fi
 
-			if [ -n "${CYGWIN_FILES}" && check_prog sha512sum ]
-			then
-				(cd ${spkgdir} ; sha512sum ${CYGWIN_FILES} >${spkgdir}/sha512.sum)
-				__gpg_sign ${spkgdir}/sha512.sum "CYGWIN FILES MANIFEST";
-			fi
-
 			if [ -f ${spkgdir}/${src_patchfile} ]
 			then
 				__gpg_sign ${spkgdir}/${src_patchfile} "SOURCE PATCH";
@@ -590,7 +529,7 @@ __pkg_srcpkg() {
 	cd ${spkgdir%/*};
 
 	mkdir -p ${distdir}/${PN};
-	__tar ${distdir}/${PN}/${PF}-src.tar.${TAR_COMPRESSION_EXT} ${spkgdir##*/}/ || error "Source package creation failed"
+	tar Jcvf ${distdir}/${PN}/${PF}-src.tar.xz ${spkgdir##*/}/ || error "Source package creation failed"
 	echo;
 
 	# source package hint
@@ -759,9 +698,9 @@ __pkg_dist() {
 #****
 #****v* Packaging/OBSOLETES
 #  DESCRIPTION
-#  A single-line string containing a list of package(s) which this package
-#  replaces.  This package's metadata will include the listed obsoletions, which
-#  will cause this package to be installed in their place.
+#  A single-line string containing a list of package(s) which this
+#  package replaces.  An empty package will be created for each listed
+#  obsoletion which will cause this package to be installed in its place.
 #  NOTE
 #  If there is more than one package in PKG_NAMES, this variable will be
 #  ignored; you must use PKG_OBSOLETES instead.
@@ -770,9 +709,9 @@ __pkg_dist() {
 #****
 #****v* Packaging/PKG_OBSOLETES
 #  DESCRIPTION
-#  A single-line string containing a list of package(s) which PKG replaces.
-#  PKG's metadata will include the listed obsoletions, which will cause PKG to
-#  be installed in their place.
+#  A single-line string containing a list of package(s) which this
+#  package replaces.  An empty package will be created for each listed
+#  obsoletion which will cause PKG to be installed in its place.
 #
 #  Note that the PKG_OBSOLETES name is descriptive rather than literal,
 #  where "PKG" should be substituted with the name of the binary package
@@ -780,12 +719,6 @@ __pkg_dist() {
 #  cannot be used in a shell variable name (namely '+', '-', and '.'),
 #  that character must be substituted with an underscore ('_'), e.g.
 #  libfoo-devel will use libfoo_devel_OBSOLETES.
-#
-#  NOTES
-#  * Additionally, if a debuginfo package is automatically generated, you may
-#  specify a PN_debuginfo_OBSOLETES value, even though PN_debuginfo is not
-#  explicitly listed in PKG_NAMES.
-#
 #****
 #****v* Packaging/PROVIDES
 #  DESCRIPTION
@@ -939,7 +872,7 @@ _EOF
 		n+=1;
 	done
 
-	if ! defined _CYGPORT_RESTRICT_debuginfo_ && [ -f ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.${TAR_COMPRESSION_EXT} ]
+	if ! defined _CYGPORT_RESTRICT_debuginfo_ && [ -f ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.xz ]
 	then
 		if [ -f ${C}/${PN}-debuginfo.hint ]
 		then
@@ -972,5 +905,4 @@ _EOF
 }
 
 # protect functions
-readonly -f __pkg_binpkg __pkg_diff __gpg_sign __pkg_srcpkg __pkg_dist \
-	 __squeeze_whitespace __tar
+readonly -f __pkg_binpkg __pkg_diff __gpg_sign __pkg_srcpkg __pkg_dist
diff --git a/lib/pkg_upload.cygpart b/lib/pkg_upload.cygpart
index dcae8e2c..f4c22ce5 100644
--- a/lib/pkg_upload.cygpart
+++ b/lib/pkg_upload.cygpart
@@ -26,13 +26,13 @@
 #  to users you'll need to upload them to the Cygwin package archive.  Before
 #  you can upload packages, you'll need to do the following things:
 #  * Request upload privileges, and provide your ssh public key.  The
-#    |html <a href="https://cygwin.com/package-upload.html">Uploading Packages</a>
+#    |html <a href="https://sourceware.org/cygwin-apps/package-upload.html">Uploading Packages</a>
 #    page tells how to do that, and how to be notified in case of problems with
 #    your uploads.
 #  * After your key is approved, connect once to cygwin.com by
 #    |html <tt>sftp cygwin@cygwin.com</tt>.
 #    Verify that the host key fingerprint for cygwin.com matches one of the ones posted on the
-#    |html <a href="https://cygwin.com/packaging/key.html">Providing an SSH key</a>
+#    |html <a href="https://sourceware.org/cygwin-apps/package-upload.html">Uploading Packages</a>
 #    page. If it does, answer "yes" to continue connecting.  Then exit sftp.
 #    This will store the host key fingerprint in your ~/.known_hosts file.
 #    You have to do this once before uploading, or the upload will fail.
@@ -81,7 +81,7 @@ __pkg_upload() {
 
 	# Check that binary and source package files exist
 
-	pkg_files=("${NAME}/${NAME}-${PVR}-src.tar.${TAR_COMPRESSION_EXT}" "${NAME}/${NAME}-${PVR}-src.hint")
+	pkg_files=("${NAME}/${NAME}-${PVR}-src.tar.xz" "${NAME}/${NAME}-${PVR}-src.hint")
 
 	while (( n < pkg_count ))
 	do
@@ -90,13 +90,13 @@ __pkg_upload() {
 		*)      distsubdir=${pkg_name[${n}]} ;;
 		esac
 
-		pkg_files+=("${NAME}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.${TAR_COMPRESSION_EXT}" "${NAME}/${distsubdir}/${pkg_name[${n}]}-${PVR}.hint")
+		pkg_files+=("${NAME}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.xz" "${NAME}/${distsubdir}/${pkg_name[${n}]}-${PVR}.hint")
 		n+=1
 	done
 
 	if [ -d ${NAME}/${NAME}-debuginfo ]
 	then
-		pkg_files+=("${NAME}/${NAME}-debuginfo/${NAME}-debuginfo-${PVR}.tar.${TAR_COMPRESSION_EXT}" "${NAME}/${NAME}-debuginfo/${NAME}-debuginfo-${PVR}.hint")
+		pkg_files+=("${NAME}/${NAME}-debuginfo/${NAME}-debuginfo-${PVR}.tar.xz" "${NAME}/${NAME}-debuginfo/${NAME}-debuginfo-${PVR}.hint")
 	fi
 
 	for file in "${pkg_files[@]}"
diff --git a/lib/src_fetch.cygpart b/lib/src_fetch.cygpart
index 930f5f65..67e7bafe 100644
--- a/lib/src_fetch.cygpart
+++ b/lib/src_fetch.cygpart
@@ -64,9 +64,9 @@
 #
 #  NOTE
 #
-#  For historical reasons, patches with basenames of ${PF}.{cygwin,src}.patch
+#  For historical reasons, patches with basenames of ${PVR}.{cygwin,src}.patch
 #  should not be listed in PATCH_URI, as they are treated specially and are
-#  automatically applied, if present, and generated, if required.
+#  automatically applied, if present.
 #
 #  NOTE
 #
@@ -98,7 +98,7 @@ fetch() {
 		fi
 	elif check_prog curl
 	then
-		if curl -R -k --url ${uri} -o ${urifile}.tmp
+		if curl -k --url ${uri} -o ${urifile}.tmp
 		then
 			mv -f ${urifile}.tmp ${urifile}
 		else
diff --git a/lib/src_postinst.cygpart b/lib/src_postinst.cygpart
index d5de9c3d..b0361b1b 100644
--- a/lib/src_postinst.cygpart
+++ b/lib/src_postinst.cygpart
@@ -420,11 +420,6 @@ _EOF
 #  DESCRIPTION
 #  Standard documentation files in $S will be automatically installed into
 #  $D/usr/share/doc/PN.  Empty files will be skipped.
-#
-#  Any README in $C will be automatically installed into /usr/share/doc/Cygwin/
-#  as $PN.README. Any PKG.README will be automatically installed into
-#  /usr/share/doc/Cygwin/ (where PKG is the name of a binary package).
-#
 #  SEE ALSO
 #  RESTRICT
 #****
@@ -566,21 +561,6 @@ __prepetc() {
 	local -i n;
 	local s;
 
-#****P* Postinstall/Post-install and Pre-remove Scripts
-#  DESCRIPTION
-#  Any postinstall.sh or $PN.postinstall in $C will be automatically appended to
-#  /etc/postinstall/$PN.sh. Any PKG.postinstall in $C will be automatically
-#  appended to /etc/postinstall/$PKG.sh (where PKG is the name of a binary
-#  package).
-#
-#  Likewise, any preremove.sh or $PN.preremove in $C will be automatically
-#  appended to /etc/preremove/$PN.sh. Any PKG.preremove in $C will be
-#  automatically appended to /etc/preremove/$PKG.sh
-#
-#  As they are appended, these scripts should be written as stubs, without the
-#  sh-bang header.
-#****
-
 	for s in postinstall preremove
 	do
 		if [ -f ${C}/${s}.sh -a -f ${C}/${PN}.${s} ]
@@ -609,12 +589,6 @@ __prepetc() {
 		done
 	done
 
-#****P* Postinstall/Shell Profile Files
-#  DESCRIPTION
-#  Any profile.d.{sh,csh,fish} in $C will be automatically installed into
-#  /etc/profile.d/ as ${PN}.{sh,csh,fish}
-#****
-
 	if [ -f ${C}/profile.d.sh ]
 	then
 		exeinto /etc/profile.d;
diff --git a/lib/src_prep.cygpart b/lib/src_prep.cygpart
index da174dd8..ca487666 100644
--- a/lib/src_prep.cygpart
+++ b/lib/src_prep.cygpart
@@ -1,3 +1,4 @@
+
 ################################################################################
 #
 # src_prep.cygpart - cygport source unpacking and preparation functions
@@ -285,7 +286,6 @@ cygpatch() {
 }
 
 __src_prep() {
-	local cygwin_file;
 	local sigext;
 	local sig_exts="asc sig sign";
 	local src_orig_patch;
@@ -464,41 +464,6 @@ __src_prep() {
 	mkdir -p ${C};
 	ln -sfn ${C} ${workdir}/CYGWIN-PATCHES;
 
-#****v* Preparation/CYGWIN_FILES
-#  DESCRIPTION
-#  A list of files which are to be included in the source package, and installed
-#  into ${C}.
-#  NOTE
-#  Historically, files in $C were created by a patch file named
-#  ${PF}.cygwin.patch, which is automatically applied and generated.  This
-#  variable should not be set if that file is present.
-#
-#  In the absence of a ${PF}.cygwin.patch file, the default value is 'README' if
-#  a file of that name exists, otherwise empty.
-#
-#****
-
-	if [ ! -e ${top}/${cygwin_patchfile} ]
-	then
-		if [ -f ${top}/README ]
-		then
-			CYGWIN_FILES="${CYGWIN_FILES:-README}"
-		fi
-	fi
-
-	if [ -n "${CYGWIN_FILES}" ]
-	then
-		if [ -f ${top}/${cygwin_patchfile} ]
-		then
-			error "Use only the CYGWIN_FILES variable or a ${cygwin_patchfile} patchfile, not both"
-		fi
-
-		for cygwin_file in ${CYGWIN_FILES}
-		do
-			 cp -a ${top}/${cygwin_file} ${C}/
-		done
-	fi
-
 	cd ${S};
 
 	if [ -f ${top}/${cygwin_patchfile} ]
diff --git a/lib/syntax.cygpart b/lib/syntax.cygpart
index 84970007..4a400a71 100644
--- a/lib/syntax.cygpart
+++ b/lib/syntax.cygpart
@@ -360,14 +360,9 @@ __target_is_embedded() {
 #****
 #****d* Globals/C
 #  DESCRIPTION
-#  The directory where Cygwin READMEs, custom post-install scripts, shell
-#  profile scripts, PKG.list files, and other Cygwin-specific files are placed.
-#  NOTE
-#  Providing setup.hint or PKG.hint files in this directory (rather than
-#  allowing .hint files to be automatically generated) is an obsolete feature
-#  and should not be used in new packages.
-#
-#  For historical reasons, this directory is named 'CYGWIN-PATCHES'.
+#  The CYGWIN-PATCHES directory where Cygwin READMEs, setup.hint files,
+#  custom postinstall scripts, and other Cygwin-specific files are placed
+#  before packaging.
 #****
 #****d* Globals/D
 #  DESCRIPTION
diff --git a/testsuite/R/cran/vars b/testsuite/R/cran/vars
deleted file mode 100644
index 4e204326..00000000
--- a/testsuite/R/cran/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="R autotools "
diff --git a/testsuite/aspell/dict/vars b/testsuite/aspell/dict/vars
deleted file mode 100644
index 11ed4d9a..00000000
--- a/testsuite/aspell/dict/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="aspell-dict autotools "
diff --git a/testsuite/autotools/c/vars b/testsuite/autotools/c/vars
deleted file mode 100644
index 075532a6..00000000
--- a/testsuite/autotools/c/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="autotools "
diff --git a/testsuite/autotools/gnome/vars b/testsuite/autotools/gnome/vars
deleted file mode 100644
index ef6feea6..00000000
--- a/testsuite/autotools/gnome/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="gnome.org gnome2 autotools "
diff --git a/testsuite/autotools/gtkmm/vars b/testsuite/autotools/gtkmm/vars
deleted file mode 100644
index 4a3301e6..00000000
--- a/testsuite/autotools/gtkmm/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="gnome.org gtkmm autotools "
diff --git a/testsuite/autotools/kde3/vars b/testsuite/autotools/kde3/vars
deleted file mode 100644
index 01f22c0d..00000000
--- a/testsuite/autotools/kde3/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="kde.org qt3 kde3 autotools "
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
new file mode 100644
index 00000000..b14d4a5b
--- /dev/null
+++ 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
@@ -0,0 +1,8 @@
+category: Python
+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."
+obsoletes: python-matemenu
+external-source: mate-menus
+
diff --git a/testsuite/autotools/mate/mate-menus.cygport b/testsuite/autotools/mate/mate-menus.cygport
index d2ea302e..75e03052 100644
--- a/testsuite/autotools/mate/mate-menus.cygport
+++ b/testsuite/autotools/mate/mate-menus.cygport
@@ -1,4 +1,4 @@
-inherit mate
+inherit mate python2
 
 NAME="mate-menus"
 VERSION=1.18.0
@@ -9,9 +9,9 @@ DESCRIPTION="MATE is a fork of the GNOME 2 desktop. It provides an intuitive
 and attractive desktop to Linux users using traditional metaphors."
 
 PATCH_URI="1.2.0-no-undefined.patch"
-CYGCONF_ARGS="--disable-python"
+export PYTHON="python2"
 
-PKG_NAMES="${NAME} libmate-menu2 libmate-menu-devel girepository-MateMenu2.0"
+PKG_NAMES="${NAME} libmate-menu2 libmate-menu-devel girepository-MateMenu2.0 python2-matemenu"
 mate_menus_CATEGORY="MATE"
 mate_menus_CONTENTS="etc/ usr/share/doc/ usr/share/locale/ usr/share/mate/"
 libmate_menu2_SUMMARY="MATE Desktop Menu Specification library (runtime)"
@@ -21,3 +21,7 @@ libmate_menu_devel_SUMMARY="MATE Desktop Menu Specification library (development
 libmate_menu_devel_CONTENTS="usr/include/ usr/lib/lib* usr/lib/pkgconfig/"
 girepository_MateMenu2_0_SUMMARY="MATE Desktop Menu Specification library (GObject Introspection)"
 girepository_MateMenu2_0_CONTENTS="usr/*/gir*/MateMenu-2.0.*"
+python2_matemenu_CATEGORY="Python"
+python2_matemenu_SUMMARY="MATE Desktop Menu Specification library (Python bindings)"
+python2_matemenu_OBSOLETES="python-matemenu"
+python2_matemenu_CONTENTS="${PYTHON2_SITELIB#/}/matemenu.dll usr/share/mate-menus/examples/"
diff --git a/testsuite/autotools/mate/mate-menus.list b/testsuite/autotools/mate/mate-menus.list
index 3fe35899..d9ffb350 100644
--- a/testsuite/autotools/mate/mate-menus.list
+++ b/testsuite/autotools/mate/mate-menus.list
@@ -6,6 +6,7 @@
 /usr/lib/girepository-1.0/MateMenu-2.0.typelib
 /usr/lib/libmate-menu.dll.a
 /usr/lib/pkgconfig/libmate-menu.pc
+/usr/lib/python2.7/site-packages/matemenu.dll
 /usr/share/doc/mate-menus/AUTHORS
 /usr/share/doc/mate-menus/COPYING
 /usr/share/doc/mate-menus/COPYING.LIB
@@ -120,6 +121,7 @@
 /usr/share/locale/zh_CN/LC_MESSAGES/mate-menus.mo
 /usr/share/locale/zh_HK/LC_MESSAGES/mate-menus.mo
 /usr/share/locale/zh_TW/LC_MESSAGES/mate-menus.mo
+/usr/share/mate-menus/examples/mate-menus-ls.py
 /usr/share/mate/desktop-directories/mate-audio-video.directory
 /usr/share/mate/desktop-directories/mate-development.directory
 /usr/share/mate/desktop-directories/mate-education.directory
diff --git a/testsuite/autotools/mate/vars b/testsuite/autotools/mate/vars
deleted file mode 100644
index b5f82994..00000000
--- a/testsuite/autotools/mate/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="mate autotools "
diff --git a/testsuite/autotools/meson.build b/testsuite/autotools/meson.build
index 629fd399..1b20ff42 100644
--- a/testsuite/autotools/meson.build
+++ b/testsuite/autotools/meson.build
@@ -24,7 +24,7 @@ endif
 if kde3.found() and libexif.found()
 tests += [['autotools/kde3', 720]]
 endif
-if mate_common.found() and gi.found() and python3.found()
+if mate_common.found() and gi.found() and python2.found()
 tests += [['autotools/mate', 720]]
 endif
 if xdt.found() and xfce4_panel.found()
diff --git a/testsuite/autotools/xfce/vars b/testsuite/autotools/xfce/vars
deleted file mode 100644
index d2e51eaf..00000000
--- a/testsuite/autotools/xfce/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="xfce4 autotools "
diff --git a/testsuite/basic/info/vars b/testsuite/basic/info/vars
deleted file mode 100644
index 075532a6..00000000
--- a/testsuite/basic/info/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="autotools "
diff --git a/testsuite/cmake/c/vars b/testsuite/cmake/c/vars
deleted file mode 100644
index c2de1531..00000000
--- a/testsuite/cmake/c/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="ninja cmake autotools "
diff --git a/testsuite/cmake/kde4/vars b/testsuite/cmake/kde4/vars
deleted file mode 100644
index 240455f5..00000000
--- a/testsuite/cmake/kde4/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="kde.org qt4 ninja cmake kde4 autotools "
diff --git a/testsuite/cmake/kf5/vars b/testsuite/cmake/kf5/vars
deleted file mode 100644
index 482bef4f..00000000
--- a/testsuite/cmake/kf5/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="kde.org qt5 ninja cmake kf5 autotools "
diff --git a/testsuite/cmake/qt4/vars b/testsuite/cmake/qt4/vars
deleted file mode 100644
index d9d73928..00000000
--- a/testsuite/cmake/qt4/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="qt4 ninja cmake qt4-cmake autotools "
diff --git a/testsuite/cmake/qt5/vars b/testsuite/cmake/qt5/vars
deleted file mode 100644
index 93d1e596..00000000
--- a/testsuite/cmake/qt5/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="ninja cmake qt5 autotools "
diff --git a/testsuite/cross/cmake/vars b/testsuite/cross/cmake/vars
deleted file mode 100644
index 891c9a76..00000000
--- a/testsuite/cross/cmake/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST="i686-w64-mingw32"
-declare -- INHERITED="ninja cmake cross autotools "
diff --git a/testsuite/cross/make/vars b/testsuite/cross/make/vars
deleted file mode 100644
index 92816415..00000000
--- a/testsuite/cross/make/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST="i686-w64-mingw32"
-declare -- INHERITED="git cross autotools "
diff --git a/testsuite/cross/qt5/vars b/testsuite/cross/qt5/vars
deleted file mode 100644
index a6cfae09..00000000
--- a/testsuite/cross/qt5/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST="i686-w64-mingw32"
-declare -- INHERITED="qt5 qt5-qmake cross autotools "
diff --git a/testsuite/docbook/sgml/vars b/testsuite/docbook/sgml/vars
deleted file mode 100644
index db0ac7a7..00000000
--- a/testsuite/docbook/sgml/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="docbook autotools "
diff --git a/testsuite/docbook/xml/vars b/testsuite/docbook/xml/vars
deleted file mode 100644
index db0ac7a7..00000000
--- a/testsuite/docbook/xml/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="docbook autotools "
diff --git a/testsuite/download/R/vars b/testsuite/download/R/vars
deleted file mode 100644
index 2a36b7a5..00000000
--- a/testsuite/download/R/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch autotools "
diff --git a/testsuite/download/bzr/vars b/testsuite/download/bzr/vars
deleted file mode 100644
index af73e71d..00000000
--- a/testsuite/download/bzr/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch bzr autotools "
diff --git a/testsuite/download/cvs/vars b/testsuite/download/cvs/vars
deleted file mode 100644
index b034a307..00000000
--- a/testsuite/download/cvs/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch cvs autotools "
diff --git a/testsuite/download/git/vars b/testsuite/download/git/vars
deleted file mode 100644
index d68a2c30..00000000
--- a/testsuite/download/git/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch git autotools "
diff --git a/testsuite/download/gnome.org/vars b/testsuite/download/gnome.org/vars
deleted file mode 100644
index 9fef6133..00000000
--- a/testsuite/download/gnome.org/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch gnome.org gnome2 autotools "
diff --git a/testsuite/download/hg/vars b/testsuite/download/hg/vars
deleted file mode 100644
index 8bc94eda..00000000
--- a/testsuite/download/hg/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch hg autotools "
diff --git a/testsuite/download/mate/vars b/testsuite/download/mate/vars
deleted file mode 100644
index 09412d86..00000000
--- a/testsuite/download/mate/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch mate autotools "
diff --git a/testsuite/download/mtn/vars b/testsuite/download/mtn/vars
deleted file mode 100644
index efed76b4..00000000
--- a/testsuite/download/mtn/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch mtn autotools "
diff --git a/testsuite/download/perl/vars b/testsuite/download/perl/vars
deleted file mode 100644
index 2bd4250b..00000000
--- a/testsuite/download/perl/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch perl autotools "
diff --git a/testsuite/download/python.org/vars b/testsuite/download/python.org/vars
deleted file mode 100644
index 1434fe2b..00000000
--- a/testsuite/download/python.org/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch python.org autotools "
diff --git a/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python27-clang/python27-clang-9.0.1-1.hint b/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python27-clang/python27-clang-9.0.1-1.hint
new file mode 100644
index 00000000..dd23e2c4
--- /dev/null
+++ b/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python27-clang/python27-clang-9.0.1-1.hint
@@ -0,0 +1,9 @@
+category: Python
+requires: python27 libclang9
+sdesc: "Python bindings for Clang-C Source Indexing Library"
+ldesc: "Clang is an LLVM native C/C++/ObjC compiler, which aims to deliver
+amazingly fast compiles, extremely useful error and warning messages and to
+provide a platform for building great source level tools."
+obsoletes: python-clang python2-clang
+external-source: python-clang
+
diff --git a/testsuite/download/svn/python-clang.cygport b/testsuite/download/svn/python-clang.cygport
index 612d94ec..aef80a03 100644
--- a/testsuite/download/svn/python-clang.cygport
+++ b/testsuite/download/svn/python-clang.cygport
@@ -1,7 +1,7 @@
 SVN_URI="https://github.com/llvm/llvm-project"
 SVN_BRANCH="tags/llvmorg-${PV}/clang/bindings/python"
 SVN_MODULE="python-clang"
-PYTHON_WHEEL_VERSIONS="default"
+PYTHON_WHEEL_VERSIONS="2:default"
 inherit python-wheel svn
 
 NAME="python-clang"
diff --git a/testsuite/download/svn/python-clang.list b/testsuite/download/svn/python-clang.list
index 6aaa655d..a3b49623 100644
--- a/testsuite/download/svn/python-clang.list
+++ b/testsuite/download/svn/python-clang.list
@@ -1,3 +1,19 @@
+/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/INSTALLER
+/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/METADATA
+/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/RECORD
+/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/REQUESTED
+/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/WHEEL
+/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/direct_url.json
+/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/top_level.txt
+/usr/lib/python2.7/site-packages/clang/__init__.py
+/usr/lib/python2.7/site-packages/clang/__init__.pyc
+/usr/lib/python2.7/site-packages/clang/__init__.pyo
+/usr/lib/python2.7/site-packages/clang/cindex.py
+/usr/lib/python2.7/site-packages/clang/cindex.pyc
+/usr/lib/python2.7/site-packages/clang/cindex.pyo
+/usr/lib/python2.7/site-packages/clang/enumerations.py
+/usr/lib/python2.7/site-packages/clang/enumerations.pyc
+/usr/lib/python2.7/site-packages/clang/enumerations.pyo
 /usr/lib/python3.8/site-packages/clang-9.0.1.dist-info/INSTALLER
 /usr/lib/python3.8/site-packages/clang-9.0.1.dist-info/METADATA
 /usr/lib/python3.8/site-packages/clang-9.0.1.dist-info/RECORD
@@ -36,5 +52,6 @@
 /usr/lib/python3.9/site-packages/clang/__pycache__/enumerations.cpython-39.pyc
 /usr/lib/python3.9/site-packages/clang/cindex.py
 /usr/lib/python3.9/site-packages/clang/enumerations.py
+/usr/share/doc/python27-clang/README.txt
 /usr/share/doc/python38-clang/README.txt
 /usr/share/doc/python39-clang/README.txt
diff --git a/testsuite/download/svn/vars b/testsuite/download/svn/vars
deleted file mode 100644
index ce08dcba..00000000
--- a/testsuite/download/svn/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="svn python.org python-wheel autotools "
diff --git a/testsuite/download/x.org/vars b/testsuite/download/x.org/vars
deleted file mode 100644
index 9999628d..00000000
--- a/testsuite/download/x.org/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="test-fetch xorg autotools "
diff --git a/testsuite/files/meson.build b/testsuite/files/meson.build
deleted file mode 100644
index 00d5b45d..00000000
--- a/testsuite/files/meson.build
+++ /dev/null
@@ -1 +0,0 @@
-tests += [['files/xinit', 720]]
diff --git a/testsuite/files/xinit/README b/testsuite/files/xinit/README
deleted file mode 100644
index 62d85292..00000000
--- a/testsuite/files/xinit/README
+++ /dev/null
@@ -1 +0,0 @@
-An example Cygwin README
diff --git a/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2-src.hint b/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2-src.hint
deleted file mode 100644
index 5f8e4909..00000000
--- a/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2-src.hint
+++ /dev/null
@@ -1,10 +0,0 @@
-category: X11
-build-depends: cygport 
-sdesc: "X.Org X server launcher"
-ldesc: "This package contains programs used to start the X Window System
-server and a first client program in environments that use multiple window
-systems."
-skip:
-
-homepage: https://www.x.org/
-license: MIT
diff --git a/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2.hint b/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2.hint
deleted file mode 100644
index d517eb25..00000000
--- a/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2.hint
+++ /dev/null
@@ -1,7 +0,0 @@
-category: X11
-requires: bash coreutils cygutils adwaita-themes dbus-x11 run sed util-linux setxkbmap xauth xdg-user-dirs xmodmap xrdb xorg-server xterm xwin-xdg-menu
-sdesc: "X.Org X server launcher"
-ldesc: "This package contains programs used to start the X Window System
-server and a first client program in environments that use multiple window
-systems."
-
diff --git a/testsuite/files/xinit/postinstall.sh b/testsuite/files/xinit/postinstall.sh
deleted file mode 100644
index a29881f2..00000000
--- a/testsuite/files/xinit/postinstall.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-case $(uname -s) in *-WOW*) wow64=" (32-bit)" ;; esac
-/usr/bin/mkdir -p "$(/usr/bin/cygpath $CYGWINFORALL -P)/Cygwin-X${wow64}"
-/usr/bin/mkshortcut $CYGWINFORALL -P -w / -i /usr/bin/xwin-xdg-menu.exe -n "Cygwin-X${wow64}/XWin Server" -a "--quote /usr/bin/bash.exe -l -c \"cd; exec /usr/bin/startxwin\"" /usr/bin/run.exe
diff --git a/testsuite/files/xinit/preremove.sh b/testsuite/files/xinit/preremove.sh
deleted file mode 100644
index 6dbb3b78..00000000
--- a/testsuite/files/xinit/preremove.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-case $(uname -s) in *-WOW*) wow64=" (32-bit)" ;; esac
-rm -f "$(cygpath $CYGWINFORALL -P)/Cygwin-X${wow64}/XWin Server.lnk"
-rmdir --ignore-fail-on-non-empty "$(cygpath $CYGWINFORALL -P)/Cygwin-X${wow64}"
diff --git a/testsuite/files/xinit/profile.d.csh b/testsuite/files/xinit/profile.d.csh
deleted file mode 100644
index f6acfe6b..00000000
--- a/testsuite/files/xinit/profile.d.csh
+++ /dev/null
@@ -1,4 +0,0 @@
-unsetenv XAPPLRESDIR
-unsetenv XCMSDB
-unsetenv XKEYSYMDB
-unsetenv XNLSPATH
diff --git a/testsuite/files/xinit/profile.d.fish b/testsuite/files/xinit/profile.d.fish
deleted file mode 100644
index 5d65dbf1..00000000
--- a/testsuite/files/xinit/profile.d.fish
+++ /dev/null
@@ -1,4 +0,0 @@
-set -e XAPPLRESDIR
-set -e XCMSDB
-set -e XKEYSYMDB
-set -e XNLSPATH
diff --git a/testsuite/files/xinit/profile.d.sh b/testsuite/files/xinit/profile.d.sh
deleted file mode 100644
index 4c677613..00000000
--- a/testsuite/files/xinit/profile.d.sh
+++ /dev/null
@@ -1 +0,0 @@
-unset XAPPLRESDIR XCMSDB XKEYSYMDB XNLSPATH
diff --git a/testsuite/files/xinit/startxdmcp.bat b/testsuite/files/xinit/startxdmcp.bat
deleted file mode 100644
index 54ef171d..00000000
--- a/testsuite/files/xinit/startxdmcp.bat
+++ /dev/null
@@ -1,102 +0,0 @@
-@echo off
-SET DISPLAY=127.0.0.1:0.0
-
-REM
-REM The IP address or hostname of your remote host can be specified as the
-REM first (and only) argument to this script. You may also specify the default
-REM value in the IF statement below.
-REM
-
-SET REMOTE_HOST=%1
-
-IF "%REMOTE_HOST%" == "" SET REMOTE_HOST=10.0.0.1
-
-
-REM 
-REM The path in the CYGWIN_ROOT environment variable assignment assume
-REM that Cygwin is installed in a directory called 'cygwin' in the root
-REM directory of the current drive.  You will only need to modify
-REM CYGWIN_ROOT if you have installed Cygwin in another directory.  For
-REM example, if you installed Cygwin in \foo\bar\baz\cygwin, you will need 
-REM to change \cygwin to \foo\bar\baz\cygwin.
-REM 
-REM This batch file will almost always be run from the same drive (and
-REM directory) as the drive that contains Cygwin/X, therefore you will
-REM not need to add a drive letter to CYGWIN_ROOT.  For example, you do
-REM not need to change \cygwin to c:\cygwin if you are running this
-REM batch file from the C drive.
-REM 
-
-SET CYGWIN_ROOT=\cygwin
-SET RUN=%CYGWIN_ROOT%\bin\run -p /usr/bin
-
-SET PATH=.;%CYGWIN_ROOT%\bin;%PATH%
-
-SET XAPPLRESDIR=
-SET XCMSDB=
-SET XKEYSYMDB=
-SET XNLSPATH=
-
-
-
-REM
-REM Cleanup after last run.
-REM
-
-if not exist %CYGWIN_ROOT%\tmp\.X11-unix\X0 goto CLEANUP-FINISH
-attrib -s %CYGWIN_ROOT%\tmp\.X11-unix\X0
-del %CYGWIN_ROOT%\tmp\.X11-unix\X0
-
-:CLEANUP-FINISH
-if exist %CYGWIN_ROOT%\tmp\.X11-unix rmdir %CYGWIN_ROOT%\tmp\.X11-unix
-
-
-REM
-REM Startup the X Server and attempt to connect to a remote XDM server.
-REM 
-REM The error "Fatal server error: could not open default font 'fixed'" is
-REM caused by using a DOS mode mount for the mount that the Cygwin/X
-REM fonts are accessed through.  See the Cygwin/X FAQ for more 
-REM information:
-REM http://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-error-font-eof
-REM
-
-if "%OS%" == "Windows_NT" goto OS_NT
-
-REM Windows 95/98/Me
-echo startxdmcp.bat - Starting on Windows 95/98/Me
-
-goto STARTUP
-
-:OS_NT
-
-REM Windows NT/2000/XP
-echo startxdmcp.bat - Starting on Windows NT/2000/XP
-
-:STARTUP
-
-
-REM
-REM A few examples of initiating an XDMCP connection are
-REM given below.  The default is to connect to a specified host
-REM with -query.  The second example connects to the first
-REM responding host with -broadcast.  The third example shows
-REM how to connect to the font server of a remote host.
-REM 
-REM See startxwin.bat for a description of the most typical
-REM command-line parameters for XWin.exe.
-REM
-
-REM Connect to a specified machine.
-
-%RUN% XWin -query %REMOTE_HOST% -nodecoration -lesspointer
-
-
-REM Connect to the first XDM machine to respond.
-
-REM %RUN% XWin -broadcast -nodecoration -lesspointer
-
-
-REM Connect to a specified machine and a specified font server.
-
-REM %RUN% XWin -query %REMOTE_HOST% -nodecoration -lesspointer -fp tcp/%REMOTE_HOST%:7100
diff --git a/testsuite/files/xinit/startxwin b/testsuite/files/xinit/startxwin
deleted file mode 100644
index 35757dbd..00000000
--- a/testsuite/files/xinit/startxwin
+++ /dev/null
@@ -1,226 +0,0 @@
-#!/bin/sh
-
-#
-# This is just a sample implementation of a slightly less primitive
-# interface than xinit. It looks for user .xinitrc and .xserverrc
-# files, then system xinitrc and xserverrc files, else lets xinit choose
-# its default. The system xinitrc should probably do things like check
-# for .Xresources files and merge them in, start up a window manager,
-# and pop a clock and several xterms.
-#
-# Site administrators are STRONGLY urged to write nicer versions.
-#
-
-unset DBUS_SESSION_BUS_ADDRESS
-unset SESSION_MANAGER
-userclientrc=$HOME/.startxwinrc
-sysclientrc=/etc/X11/xinit/startxwinrc
-
-userserverrc=$HOME/.xserverrc
-sysserverrc=/etc/X11/xinit/xserverrc
-defaultclient=xterm
-defaultserver=/usr/bin/XWin
-defaultclientargs=""
-defaultserverargs=""
-defaultdisplay=":0"
-clientargs=""
-serverargs=""
-vtarg=""
-display=""
-enable_xauth=1
-
-
-# Automatically determine an unused $DISPLAY
-d=0
-while true ; do
-    [ -e "/tmp/.X$d-lock" -o -S "/tmp/.X11-unix/X$d" ] || break
-    kill -0 `cat /tmp/.X$d-lock` 2>/dev/null || break
-    d=$(($d + 1))
-done
-defaultdisplay=":$d"
-unset d
-
-whoseargs="client"
-while [ x"$1" != x ]; do
-    case "$1" in
-    # '' required to prevent cpp from treating "/*" as a C comment.
-    /''*|\./''*)
- if [ "$whoseargs" = "client" ]; then
-     if [ x"$client" = x ] && [ x"$clientargs" = x ]; then
-  client="$1"
-     else
-  clientargs="$clientargs $1"
-     fi
- else
-     if [ x"$server" = x ] && [ x"$serverargs" = x ]; then
-  server="$1"
-     else
-  serverargs="$serverargs $1"
-     fi
- fi
- ;;
-    --)
- whoseargs="server"
- ;;
-    *)
- if [ "$whoseargs" = "client" ]; then
-     clientargs="$clientargs $1"
- else
-     # display must be the FIRST server argument
-     if [ x"$serverargs" = x ] && \
-   expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
-  display="$1"
-     else
-  serverargs="$serverargs $1"
-     fi
- fi
- ;;
-    esac
-    shift
-done
-
-# process client arguments
-if [ x"$client" = x ]; then
-    client=$defaultclient
-
-    # For compatibility reasons, only use startxwinrc if there were no client command line arguments
-    if [ x"$clientargs" = x ]; then
-        if [ -f "$userclientrc" ] && [ ! -x "$userclientrc" ]; then
-            echo "Skipping $userclientrc; present but not executable"
-        fi
-        if [ -x "$userclientrc" ]; then
-            client=$userclientrc
-        elif [ -f "$sysclientrc" ]; then
-            client=$sysclientrc
-        fi
-    fi
-fi
-
-# if no client arguments, use defaults
-if [ x"$clientargs" = x ]; then
-    clientargs=$defaultclientargs
-fi
-
-# process server arguments
-if [ x"$server" = x ]; then
-    server=$defaultserver
-    # For compatibility reasons, only use xserverrc if there were no server command line arguments
-    if [ x"$serverargs" = x -a x"$display" = x ]; then
- if [ -f "$userserverrc" ]; then
-     server=$userserverrc
- elif [ -f "$sysserverrc" ]; then
-     server=$sysserverrc
- fi
-    fi
-fi
-
-# if no server arguments, use defaults
-if [ x"$serverargs" = x ]; then
-    serverargs=$defaultserverargs
-fi
-serverargs="-multiwindow $serverargs"
-
-# if no vt is specified add vtarg (which may be empty)
-have_vtarg="no"
-for i in $serverargs; do
-    if expr match "$i" '^vt[0-9]\+$' > /dev/null; then
-        have_vtarg="yes"
-    fi
-done
-if [ "$have_vtarg" = "no" ]; then
-    serverargs="$serverargs $vtarg"
-fi
-
-# if no display, use default
-if [ x"$display" = x ]; then
-    display=$defaultdisplay
-fi
-
-if [ x"$enable_xauth" = x1 ] ; then
-    if [ x"$XAUTHORITY" = x ]; then
-        XAUTHORITY=$HOME/.Xauthority
-        export XAUTHORITY
-    fi
-
-    removelist=
-
-    # set up default Xauth info for this machine
-    case `uname` in
-    Linux*)
-        if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then
-            hostname=`hostname -f`
-        else
-            hostname=`hostname`
-        fi
-        ;;
-    *)
-        hostname=`hostname`
-        ;;
-    esac
-
-    authdisplay=${display:-:0}
-
-    mcookie=`/usr/bin/mcookie`
-
-
-
-
-
-
-
-    if test x"$mcookie" = x; then
-        echo "Couldn't create cookie"
-        exit 1
-    fi
-    dummy=0
-
-    # create a file with auth information for the server. ':0' is a dummy.
-    xserverauthfile=$HOME/.serverauth.$$
-    trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM
-    touch "$xserverauthfile"
-    xauth -q -f "$xserverauthfile" << EOF
-add :$dummy . $mcookie
-EOF
-
-    xserverauthfilequoted=$(echo ${xserverauthfile} | sed "s/'/'\\\\''/g")
-    serverargs=${serverargs}" -auth '"${xserverauthfilequoted}"'"
-
-
-
-
-    # now add the same credentials to the client authority file
-    # if '$displayname' already exists do not overwrite it as another
-    # server man need it. Add them to the '$xserverauthfile' instead.
-    for displayname in $authdisplay $hostname$authdisplay; do
-        authcookie=`xauth list "$displayname" \
-        | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null;
-        if [ "z${authcookie}" = "z" ] ; then
-            xauth -q << EOF
-add $displayname . $mcookie
-EOF
-        removelist="$displayname $removelist"
-        else
-            dummy=$(($dummy+1));
-            xauth -q -f "$xserverauthfile" << EOF
-add :$dummy . $authcookie
-EOF
-        fi
-    done
-fi
-
-
-eval xinit \"$client\" $clientargs -- \"$server\" $display $serverargs
-
-
-
-retval=$?
-
-if [ x"$enable_xauth" = x1 ] ; then
-    if [ x"$removelist" != x ]; then
-        xauth remove $removelist
-    fi
-    if [ x"$xserverauthfile" != x ]; then
-        rm -f "$xserverauthfile"
-    fi
-fi
-exit $retval
diff --git a/testsuite/files/xinit/startxwin.1 b/testsuite/files/xinit/startxwin.1
deleted file mode 100644
index f51ef47a..00000000
--- a/testsuite/files/xinit/startxwin.1
+++ /dev/null
@@ -1,213 +0,0 @@
-.\"
-.\" Copyright 1993, 1998  The Open Group
-.\"
-.\" Permission to use, copy, modify, distribute, and sell this software and its
-.\" documentation for any purpose is hereby granted without fee, provided that
-.\" the above copyright notice appear in all copies and that both that
-.\" copyright notice and this permission notice appear in supporting
-.\" documentation.
-.\"
-.\" The above copyright notice and this permission notice shall be included
-.\" in all copies or substantial portions of the Software.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-.\" OTHER DEALINGS IN THE SOFTWARE.
-.\"
-.\" Except as contained in this notice, the name of The Open Group shall
-.\" not be used in advertising or otherwise to promote the sale, use or
-.\" other dealings in this Software without prior written authorization
-.\" from The Open Group.
-.\"
-.\"
-.TH STARTXWIN 1 "xinit 1.3.4" "X Version 11"
-.SH NAME
-startxwin \- initialize an X multiwindow session
-.SH SYNOPSIS
-.B startxwin
-[ [
-.I client
-]
-.I options
-\&\.\|.\|. ] [
-.B \-\^\-
-[
-.I server
-] [
-.I display
-] [
-.I -listen
-]
-.I options
-\&.\|.\|. ]
-.SH DESCRIPTION
-The \fBstartxwin\fP script is a front end to
-.BR xinit (1)
-that provides a
-somewhat nicer user interface for running a single session of the X
-Window System in multiwindow mode.  It is often run with no arguments.
-.PP
-Arguments immediately following the
-.I startxwin
-command are used to start a client in the same manner as
-.BR xinit (1).
-The special argument
-.RB '--'
-marks the end of client arguments and the beginning of server options.
-By default startxwin passes
-.RB '-nolisten\ tcp'
-to the server, the special server option
-.RB '-listen'
-can be used to stop startxwin from doing this.
-It may be convenient to specify server options with startxwin to change on a
-per-session basis the
-default color depth, the server's notion of the number of dots-per-inch the
-display device presents, or take advantage of a different server layout, as
-permitted by the
-.BR XWin (1)
-server and specified in the
-.BR XWinrc (5)
-configuration.  Some examples of specifying server arguments follow; consult
-the manual page for your X server to determine which arguments are legal.
-.RS
-.PP
-startxwin -- -depth 16
-.PP
-startxwin -- -dpi 100
-.RE
-.if ''' .ig
-.PP
-To determine the client to run,
-.B startxwin
-looks for the following files, in order:
-.RS
-.PP
-.I $(HOME)/.startxwinrc
-.PP
-.I /etc/X11/xinit/startxwinrc
-.RE
-.PP
-..
-.if !'x.'x.' .ig
-.PP
-To determine the client to run,
-.B startxwin
-first looks for a file called
-.I .startxwinrc
-in the user's home directory.  If that is not found, it uses
-the file
-.I startxwinrc
-in the
-.I xinit
-library directory.
-..
-If command line client options are given, they override this
-behavior and revert to the
-.BR xinit (1)
-behavior.
-To determine the server to run,
-.B startxwin
-first looks for a file called
-.I .xserverrc
-in the user's home directory.  If that is not found, it uses
-the file
-.I xserverrc
-in the
-.I xinit
-library directory.
-If command line server options are given, they override this
-behavior and revert to the
-.BR xinit (1)
-behavior.  Users rarely need to provide a
-.I .xserverrc
-file.
-See the
-.BR xinit (1)
-manual page for more details on the arguments.
-.PP
-The system-wide
-.I startxwinrc
-and
-.I xserverrc
-files are found in the
-.I /etc/X11/xinit
-directory.
-.PP
-The
-.I .startxwinrc
-is typically a shell script which starts many clients according to the
-user's preference.  When this shell script exits,
-.B startxwin
-kills the server and performs any other session shutdown needed.
-Most of the clients started by
-.I .startxwinrc
-should be run in the background.  The last client should run in the
-foreground; when it exits, the session will exit.  People often choose
-a session manager, window manager, or \fIxterm\fP as the ''magic'' client.
-.SH EXAMPLE
-.PP
-Below is a sample \fI\.startxwinrc\fP that starts several applications and
-leaves the panel running as the ''last'' application.  Assuming that
-the window manager has been configured properly, the user
-then chooses the ''Exit'' menu item to shut down X.
-.sp
-.in +4
-.nf
-xrdb \-load $HOME/.Xresources
-xbiff \-geometry \-430+5 &
-oclock \-geometry 75x75\-0\-0 &
-xload \-geometry \-80\-0 &
-xterm \-geometry +0+60 \-ls &
-xterm \-geometry +0\-100 &
-xconsole \-geometry \-0+0 \-fn 5x7 &
-exec fbpanel -profile multiwindow
-.fi
-.in -4
-.SH "ENVIRONMENT VARIABLES"
-.TP 25
-DISPLAY
-This variable gets set to the name of the display to which clients should
-connect.  Note that this gets
-.IR set ,
-not read.
-.TP 25
-XAUTHORITY
-This variable, if not already defined, gets set to
-.IR $(HOME)/.Xauthority .
-This is to prevent the X server, if not given the
-.I \-auth
-argument, from automatically setting up insecure host-based authentication
-for the local host.  See the
-.BR Xserver (1)
-and
-.IR Xsecurity (7)
-manual pages for more information on X client/server authentication.
-.SH FILES
-.TP 25
-.I $(HOME)/.startxwinrc
-Client to run.  Typically a shell script which runs many programs in
-the background.
-.TP 25
-.I $(HOME)/.xserverrc
-Server to run.  The default is
-.IR X .
-.TP 25
-.I /etc/X11/xinit/startxwinrc
-Client to run if the user has no
-.I .startxwinrc
-file.
-.TP 25
-.I /etc/X11/xinit/xserverrc
-Server to run if the user has no
-.I .xserverrc
-file.
-.SH "SEE ALSO"
-.BR xinit (1),
-.BR X (7),
-.BR Xserver (1),
-.BR XWin (1),
-.BR XWinrc (5)
diff --git a/testsuite/files/xinit/vars b/testsuite/files/xinit/vars
deleted file mode 100644
index 075532a6..00000000
--- a/testsuite/files/xinit/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="autotools "
diff --git a/testsuite/files/xinit/xinit.cygport b/testsuite/files/xinit/xinit.cygport
deleted file mode 100644
index eb6e2616..00000000
--- a/testsuite/files/xinit/xinit.cygport
+++ /dev/null
@@ -1,44 +0,0 @@
-# A simplified version of xinit.cygport to excercize the CYGWIN_FILES feature
-
-NAME="xinit"
-VERSION=1.4.2
-RELEASE=2
-CATEGORY="X11"
-SUMMARY="X.Org X server launcher"
-DESCRIPTION="This package contains programs used to start the X Window System
-server and a first client program in environments that use multiple window
-systems."
-HOMEPAGE="https://www.x.org/"
-LICENSE="MIT"
-
-SRC_DIR="."
-
-SRC_URI="
-	startxdmcp.bat
-	startxwin
-	startxwin.1
-"
-
-CYGWIN_FILES="
-	README
-	postinstall.sh
-	preremove.sh
-	profile.d.csh
-	profile.d.fish
-	profile.d.sh
-"
-
-xinit_REQUIRES="adwaita-themes dbus-x11 run sed util-linux setxkbmap xauth xdg-user-dirs xmodmap xrdb xorg-server xterm xwin-xdg-menu"
-# make sure we do not forget to add postinstall/preremove
-xinit_CONTENTS="etc/postinstall/ etc/preremove/ etc/profile.d/ usr/"
-
-src_compile() {
-	:
-}
-
-src_install() {
-	cd ${S}
-	dobin startxdmcp.bat startxwin
-	unix2dos ${D}/usr/bin/*.bat
-	doman startxwin.1
-}
diff --git a/testsuite/files/xinit/xinit.list b/testsuite/files/xinit/xinit.list
deleted file mode 100644
index bbb50edd..00000000
--- a/testsuite/files/xinit/xinit.list
+++ /dev/null
@@ -1,9 +0,0 @@
-/etc/postinstall/xinit.sh
-/etc/preremove/xinit.sh
-/etc/profile.d/xinit.csh
-/etc/profile.d/xinit.fish
-/etc/profile.d/xinit.sh
-/usr/bin/startxdmcp.bat
-/usr/bin/startxwin
-/usr/share/doc/Cygwin/xinit.README
-/usr/share/man/man1/startxwin.1.gz
diff --git a/testsuite/font/install/vars b/testsuite/font/install/vars
deleted file mode 100644
index e53cf498..00000000
--- a/testsuite/font/install/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="font autotools "
diff --git a/testsuite/font/sfd2ttf/vars b/testsuite/font/sfd2ttf/vars
deleted file mode 100644
index e53cf498..00000000
--- a/testsuite/font/sfd2ttf/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="font autotools "
diff --git a/testsuite/hints/multiple/vars b/testsuite/hints/multiple/vars
deleted file mode 100644
index 075532a6..00000000
--- a/testsuite/hints/multiple/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="autotools "
diff --git a/testsuite/hints/single/vars b/testsuite/hints/single/vars
deleted file mode 100644
index 075532a6..00000000
--- a/testsuite/hints/single/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="autotools "
diff --git a/testsuite/httpd/apxs/vars b/testsuite/httpd/apxs/vars
deleted file mode 100644
index 8fab1ce1..00000000
--- a/testsuite/httpd/apxs/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="httpd autotools "
diff --git a/testsuite/logic/arch_patch/arch_patch.cygport b/testsuite/logic/arch_patch/arch_patch.cygport
deleted file mode 100644
index 20207f75..00000000
--- a/testsuite/logic/arch_patch/arch_patch.cygport
+++ /dev/null
@@ -1,12 +0,0 @@
-NAME=arch_patch
-VERSION=1
-RELEASE=1
-
-case ${ARCH} in
-  "i686")
-    PATCH_URI="fix-for-x86.patch"
-    ;;
-  "x86_64")
-    PATCH_URI="fix-for-x86_64.patch"
-    ;;
-esac
diff --git a/testsuite/logic/arch_src/arch_src.cygport b/testsuite/logic/arch_src/arch_src.cygport
deleted file mode 100644
index dd9e8ea7..00000000
--- a/testsuite/logic/arch_src/arch_src.cygport
+++ /dev/null
@@ -1,12 +0,0 @@
-NAME=arch_src
-VERSION=1
-RELEASE=1
-
-case ${ARCH} in
-  "i686")
-    SRC_URI="https://invalid.com/source-x86.tar.xz"
-    ;;
-  "x86_64")
-    SRC_URI="https://invalid.com/source-x86_64.tar.xz"
-    ;;
-esac
diff --git a/testsuite/logic/meson.build b/testsuite/logic/meson.build
deleted file mode 100644
index 2876f378..00000000
--- a/testsuite/logic/meson.build
+++ /dev/null
@@ -1,9 +0,0 @@
-test('arch_src', cygport_inplace,
-     args: ['arch_src', 'info'],
-     workdir: meson.current_source_dir() / 'arch_src',
-     should_fail: true)
-
-test('arch_patch', cygport_inplace,
-     args: ['arch_patch', 'info'],
-     workdir: meson.current_source_dir() / 'arch_patch',
-     should_fail: true)
diff --git a/testsuite/lua/all/vars b/testsuite/lua/all/vars
deleted file mode 100644
index 1d49e0dc..00000000
--- a/testsuite/lua/all/vars
+++ /dev/null
@@ -1,4 +0,0 @@
-declare -r ARCHES="all"
-declare -- BUILD_REQUIRES="  lua  liblua-devel"
-declare -- CROSS_HOST=""
-declare -- INHERITED="lua autotools "
diff --git a/testsuite/meson.build b/testsuite/meson.build
index 2b77594b..cd43e41f 100644
--- a/testsuite/meson.build
+++ b/testsuite/meson.build
@@ -10,7 +10,7 @@ subdir('basic')
 test_driver = find_program('test-driver')
 # this is used in several subdirs
 cmake = find_program('cmake', required: false)
-python3 = find_program('python3', required: false)
+python2 = find_program('python2', required: false)
 
 tests = []
 
@@ -22,10 +22,8 @@ subdir('autotools')
 subdir('cmake')
 subdir('cross')
 subdir('docbook')
-subdir('files')
 subdir('font')
 subdir('httpd')
-subdir('logic')
 subdir('lua')
 subdir('meson')
 subdir('ocaml')
@@ -45,5 +43,3 @@ test(t[0], test_driver,
      is_parallel: t.length() > 1 ? false : true,
      timeout: t.length() > 1 ? t[1] : 240)
 endforeach
-
-test('vars', find_program('vars'), env: testenv, timeout: 0)
diff --git a/testsuite/meson/c/vars b/testsuite/meson/c/vars
deleted file mode 100644
index 8c86aaef..00000000
--- a/testsuite/meson/c/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="git ninja meson autotools "
diff --git a/testsuite/meson/gnome/vars b/testsuite/meson/gnome/vars
deleted file mode 100644
index cab57b42..00000000
--- a/testsuite/meson/gnome/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="ninja meson gnome.org autotools "
diff --git a/testsuite/ocaml/dune/vars b/testsuite/ocaml/dune/vars
deleted file mode 100644
index 0202dfbc..00000000
--- a/testsuite/ocaml/dune/vars
+++ /dev/null
@@ -1,4 +0,0 @@
-declare -r ARCHES="all"
-declare -- BUILD_REQUIRES="ocaml ocaml-dune"
-declare -- CROSS_HOST=""
-declare -- INHERITED="ocaml ocaml-dune autotools "
diff --git a/testsuite/ocaml/findlib/vars b/testsuite/ocaml/findlib/vars
deleted file mode 100644
index 77bd9d58..00000000
--- a/testsuite/ocaml/findlib/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="ocaml autotools "
diff --git a/testsuite/perl/ExtUtils-MakeMaker/vars b/testsuite/perl/ExtUtils-MakeMaker/vars
deleted file mode 100644
index 0aeaf68e..00000000
--- a/testsuite/perl/ExtUtils-MakeMaker/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="perl autotools "
diff --git a/testsuite/perl/Module-Build/vars b/testsuite/perl/Module-Build/vars
deleted file mode 100644
index f11c5763..00000000
--- a/testsuite/perl/Module-Build/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="perl autotools "
diff --git a/testsuite/php/pear/vars b/testsuite/php/pear/vars
deleted file mode 100644
index 27196692..00000000
--- a/testsuite/php/pear/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="php autotools "
diff --git a/testsuite/php/pecl/vars b/testsuite/php/pecl/vars
deleted file mode 100644
index 629c24e6..00000000
--- a/testsuite/php/pecl/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="php autotools "
diff --git a/testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.1-1-src.hint b/testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python-beautifulsoup-3.2.1-1-src.hint
similarity index 83%
rename from testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.1-1-src.hint
rename to testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python-beautifulsoup-3.2.1-1-src.hint
index 5d3076c9..a78b5b82 100644
--- a/testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.1-1-src.hint
+++ b/testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python-beautifulsoup-3.2.1-1-src.hint
@@ -6,4 +6,4 @@ turnaround projects like screen-scraping. Beautiful Soup parses anything you
 give it, and does the tree traversal stuff for you."
 skip:
 
-homepage: https://www.crummy.com/software/BeautifulSoup/
+homepage: http://www.crummy.com/software/BeautifulSoup/
diff --git a/testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.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
similarity index 83%
rename from testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.1-1.hint
rename to 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 73e356b9..f3957d94 100644
--- a/testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.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,8 +1,9 @@
 category: Python
-requires: python38
+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
 give it, and does the tree traversal stuff for you."
 obsoletes: python-beautifulsoup
+external-source: python-beautifulsoup
 
diff --git a/testsuite/python/distutils/python-beautifulsoup.cygport b/testsuite/python/distutils/python-beautifulsoup.cygport
index cf703cd3..155d31a8 100644
--- a/testsuite/python/distutils/python-beautifulsoup.cygport
+++ b/testsuite/python/distutils/python-beautifulsoup.cygport
@@ -1,21 +1,19 @@
-ORIG_PN="beautifulsoup4"
+ORIG_PN="BeautifulSoup"
 inherit distutils
 
-NAME="python3-beautifulsoup"
-VERSION=4.11.1
+NAME="python-beautifulsoup"
+VERSION=3.2.1
 RELEASE=1
 CATEGORY="Python"
 SUMMARY="Python HTML/XML parser"
 DESCRIPTION="Beautiful Soup is a Python HTML/XML parser designed for quick
 turnaround projects like screen-scraping. Beautiful Soup parses anything you
 give it, and does the tree traversal stuff for you."
-HOMEPAGE="https://www.crummy.com/software/BeautifulSoup/"
-SRC_URI="https://www.crummy.com/software/BeautifulSoup/bs4/download/${PV%.*}/${ORIG_PN}-${PV}.tar.gz"
+HOMEPAGE="http://www.crummy.com/software/BeautifulSoup/"
+SRC_URI="http://www.crummy.com/software/BeautifulSoup/download/3.x/${ORIG_PN}-${PV}.tar.gz"
 
-PKG_NAMES="python3-beautifulsoup"
-python3_beautifulsoup_OBSOLETES="python-beautifulsoup"
-python3_beautifulsoup_CONTENTS="*"
+PKG_NAMES="python2-beautifulsoup"
+python2_beautifulsoup_OBSOLETES=${NAME}
+python2_beautifulsoup_CONTENTS="*"
 
 DOCS="PKG-INFO"
-
-export SETUPTOOLS_USE_DISTUTILS=local
diff --git a/testsuite/python/distutils/python-beautifulsoup.list b/testsuite/python/distutils/python-beautifulsoup.list
index b0922eb7..978fb6da 100644
--- a/testsuite/python/distutils/python-beautifulsoup.list
+++ b/testsuite/python/distutils/python-beautifulsoup.list
@@ -1,106 +1,8 @@
-/usr/lib/python3.8/site-packages/beautifulsoup4-4.11.1-py3.8.egg-info/PKG-INFO
-/usr/lib/python3.8/site-packages/beautifulsoup4-4.11.1-py3.8.egg-info/SOURCES.txt
-/usr/lib/python3.8/site-packages/beautifulsoup4-4.11.1-py3.8.egg-info/dependency_links.txt
-/usr/lib/python3.8/site-packages/beautifulsoup4-4.11.1-py3.8.egg-info/requires.txt
-/usr/lib/python3.8/site-packages/beautifulsoup4-4.11.1-py3.8.egg-info/top_level.txt
-/usr/lib/python3.8/site-packages/bs4/__init__.py
-/usr/lib/python3.8/site-packages/bs4/__pycache__/__init__.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/__init__.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/__init__.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/dammit.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/dammit.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/dammit.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/diagnose.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/diagnose.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/diagnose.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/element.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/element.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/element.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/formatter.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/formatter.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/__pycache__/formatter.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__init__.py
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/__init__.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/__init__.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/__init__.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_html5lib.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_html5lib.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_html5lib.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_lxml.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_lxml.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_lxml.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/builder/_html5lib.py
-/usr/lib/python3.8/site-packages/bs4/builder/_htmlparser.py
-/usr/lib/python3.8/site-packages/bs4/builder/_lxml.py
-/usr/lib/python3.8/site-packages/bs4/dammit.py
-/usr/lib/python3.8/site-packages/bs4/diagnose.py
-/usr/lib/python3.8/site-packages/bs4/element.py
-/usr/lib/python3.8/site-packages/bs4/formatter.py
-/usr/lib/python3.8/site-packages/bs4/tests/__init__.py
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/__init__.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/__init__.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/__init__.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder_registry.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder_registry.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder_registry.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_dammit.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_dammit.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_dammit.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_docs.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_docs.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_docs.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_element.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_element.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_element.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_formatter.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_formatter.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_formatter.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_html5lib.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_html5lib.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_html5lib.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_lxml.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_lxml.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_lxml.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_navigablestring.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_navigablestring.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_navigablestring.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_pageelement.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_pageelement.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_pageelement.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_soup.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_soup.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_soup.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tag.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tag.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tag.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tree.cpython-38.opt-1.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tree.cpython-38.opt-2.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tree.cpython-38.pyc
-/usr/lib/python3.8/site-packages/bs4/tests/test_builder.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_builder_registry.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_dammit.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_docs.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_element.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_formatter.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_html5lib.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_htmlparser.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_lxml.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_navigablestring.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_pageelement.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_soup.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_tag.py
-/usr/lib/python3.8/site-packages/bs4/tests/test_tree.py
-/usr/share/doc/python3-beautifulsoup/COPYING.txt
-/usr/share/doc/python3-beautifulsoup/LICENSE
-/usr/share/doc/python3-beautifulsoup/NEWS.txt
-/usr/share/doc/python3-beautifulsoup/PKG-INFO
-/usr/share/doc/python3-beautifulsoup/README.md
+/usr/lib/python2.7/site-packages/BeautifulSoup-3.2.1-py2.7.egg-info
+/usr/lib/python2.7/site-packages/BeautifulSoup.py
+/usr/lib/python2.7/site-packages/BeautifulSoup.pyc
+/usr/lib/python2.7/site-packages/BeautifulSoup.pyo
+/usr/lib/python2.7/site-packages/BeautifulSoupTests.py
+/usr/lib/python2.7/site-packages/BeautifulSoupTests.pyc
+/usr/lib/python2.7/site-packages/BeautifulSoupTests.pyo
+/usr/share/doc/python-beautifulsoup/PKG-INFO
diff --git a/testsuite/python/distutils/vars b/testsuite/python/distutils/vars
deleted file mode 100644
index bd7c6897..00000000
--- a/testsuite/python/distutils/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="python python2 python.org python2-distutils python-distutils distutils autotools "
diff --git a/testsuite/python/meson.build b/testsuite/python/meson.build
index b30347f4..94a48a80 100644
--- a/testsuite/python/meson.build
+++ b/testsuite/python/meson.build
@@ -1,10 +1,16 @@
+pip27 = find_program('pip2.7', required: false)
 pip37 = find_program('pip3.7', required: false)
 pip38 = find_program('pip3.8', required: false)
+pygtk2 = find_program('pygtk-codegen-2.0', required: false)
 
-if python3.found()
+if python2.found()
 tests += [['python/distutils']]
 endif
 
-if pip37.found() and pip38.found()
+if pygtk2.found()
+tests += [['python/pygtk', 480]]
+endif
+
+if pip27.found() and pip37.found() and pip38.found()
 tests += [['python/wheel']]
 endif
diff --git a/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5-src.hint b/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5-src.hint
new file mode 100644
index 00000000..3042aae9
--- /dev/null
+++ b/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5-src.hint
@@ -0,0 +1,7 @@
+category: Python
+build-depends: cygport 
+sdesc: "Python libnotify bindings"
+ldesc: "Python bindings for libnotify (desktop notification library)"
+skip:
+
+homepage: http://www.galago-project.org/
diff --git a/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5.hint b/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5.hint
new file mode 100644
index 00000000..7606a78b
--- /dev/null
+++ b/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5.hint
@@ -0,0 +1,5 @@
+category: Python
+requires: cygwin libgdk_pixbuf2.0_0 libglib2.0_0 libnotify4 pkg-config python27 python-gobject python-gtk2.0
+sdesc: "Python libnotify bindings"
+ldesc: "Python bindings for libnotify (desktop notification library)"
+
diff --git a/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-debuginfo/xinit-debuginfo-1.4.2-2.hint b/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-debuginfo/python-pynotify-debuginfo-0.1.1-5.hint
similarity index 50%
rename from testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-debuginfo/xinit-debuginfo-1.4.2-2.hint
rename to testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-debuginfo/python-pynotify-debuginfo-0.1.1-5.hint
index d6e48ffa..2b3e358e 100644
--- a/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-debuginfo/xinit-debuginfo-1.4.2-2.hint
+++ b/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-debuginfo/python-pynotify-debuginfo-0.1.1-5.hint
@@ -1,7 +1,7 @@
 category: Debug
 requires: cygwin-debuginfo
-external-source: xinit
-sdesc: "Debug info for xinit"
+external-source: python-pynotify
+sdesc: "Debug info for python-pynotify"
 ldesc: "This package contains files necessary for debugging the
-xinit package with gdb."
+python-pynotify package with gdb."
 
diff --git a/testsuite/python/pygtk/notify-python-0.1.1-libnotify-0.7.patch b/testsuite/python/pygtk/notify-python-0.1.1-libnotify-0.7.patch
new file mode 100644
index 00000000..ee146cb6
--- /dev/null
+++ b/testsuite/python/pygtk/notify-python-0.1.1-libnotify-0.7.patch
@@ -0,0 +1,37 @@
+http://pkgs.fedoraproject.org/gitweb/?p=notify-python.git;a=blob_plain;f=libnotify07.patch;hb=HEAD
+
+--- src/pynotify.defs
++++ src/pynotify.defs
+@@ -38,7 +38,6 @@
+     '("const-gchar*" "summary")
+     '("const-gchar*" "message" (null-ok) (default "NULL"))
+     '("const-gchar*" "icon" (null-ok) (default "NULL"))
+-    '("GtkWidget*" "attach" (null-ok) (default "NULL"))
+   )
+ )
+ 
+@@ -53,24 +52,6 @@
+   )
+ )
+ 
+-(define-method attach_to_widget
+-  (of-object "NotifyNotification")
+-  (c-name "notify_notification_attach_to_widget")
+-  (return-type "none")
+-  (parameters
+-    '("GtkWidget*" "attach")
+-  )
+-)
+-
+-(define-method attach_to_status_icon
+-  (of-object "NotifyNotification")
+-  (c-name "notify_notification_attach_to_status_icon")
+-  (return-type "none")
+-  (parameters
+-    '("GtkStatusIcon*" "attach")
+-  )
+-)
+-
+ (define-method show
+   (of-object "NotifyNotification")
+   (c-name "notify_notification_show")
diff --git a/testsuite/python/pygtk/python-pynotify.cygport b/testsuite/python/pygtk/python-pynotify.cygport
new file mode 100644
index 00000000..70570dcd
--- /dev/null
+++ b/testsuite/python/pygtk/python-pynotify.cygport
@@ -0,0 +1,18 @@
+ORIG_PN="notify-python"
+inherit pygtk
+
+NAME="python-pynotify"
+VERSION=0.1.1
+RELEASE=5
+CATEGORY="Python"
+SUMMARY="Python libnotify bindings"
+DESCRIPTION="Python bindings for libnotify (desktop notification library)"
+HOMEPAGE="http://www.galago-project.org/"
+SRC_URI="http://www.galago-project.org/files/releases/source/${ORIG_PN}/${ORIG_PN}-${PV}.tar.bz2"
+PATCH_URI="mirror://portage/dev-python/${ORIG_PN}/files/${ORIG_PN}-${PV}-libnotify-0.7.patch"
+
+DISTCLEANFILES="src/pynotify.c"
+
+REQUIRES="python-gobject python-gtk2.0"
+
+CFLAGS+=" -fcommon"
diff --git a/testsuite/python/pygtk/python-pynotify.list b/testsuite/python/pygtk/python-pynotify.list
new file mode 100644
index 00000000..7c8f460a
--- /dev/null
+++ b/testsuite/python/pygtk/python-pynotify.list
@@ -0,0 +1,10 @@
+/usr/lib/pkgconfig/notify-python.pc
+/usr/lib/python2.7/site-packages/gtk-2.0/pynotify/__init__.py
+/usr/lib/python2.7/site-packages/gtk-2.0/pynotify/__init__.pyc
+/usr/lib/python2.7/site-packages/gtk-2.0/pynotify/__init__.pyo
+/usr/lib/python2.7/site-packages/gtk-2.0/pynotify/_pynotify.dll
+/usr/share/doc/python-pynotify/AUTHORS
+/usr/share/doc/python-pynotify/COPYING
+/usr/share/doc/python-pynotify/ChangeLog
+/usr/share/doc/python-pynotify/NEWS
+/usr/share/pygtk/2.0/defs/pynotify.defs
diff --git a/testsuite/python/wheel/vars b/testsuite/python/wheel/vars
deleted file mode 100644
index de82fe0a..00000000
--- a/testsuite/python/wheel/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="python.org python-wheel autotools "
diff --git a/testsuite/qmake/qt3/vars b/testsuite/qmake/qt3/vars
deleted file mode 100644
index 2f563e7b..00000000
--- a/testsuite/qmake/qt3/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="qt3 qt3-qmake autotools "
diff --git a/testsuite/qmake/qt4/vars b/testsuite/qmake/qt4/vars
deleted file mode 100644
index 9fdd9fe3..00000000
--- a/testsuite/qmake/qt4/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="qt4 qt4-qmake autotools "
diff --git a/testsuite/qmake/qt5/vars b/testsuite/qmake/qt5/vars
deleted file mode 100644
index 4944800e..00000000
--- a/testsuite/qmake/qt5/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="qt5 qt5-qmake autotools "
diff --git a/testsuite/ruby/gem/vars b/testsuite/ruby/gem/vars
deleted file mode 100644
index af2660b4..00000000
--- a/testsuite/ruby/gem/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="ruby rubygem autotools "
diff --git a/testsuite/texlive/collection/vars b/testsuite/texlive/collection/vars
deleted file mode 100644
index 2bb359ad..00000000
--- a/testsuite/texlive/collection/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="noarch"
-declare -- CROSS_HOST=""
-declare -- INHERITED="texlive autotools "
diff --git a/testsuite/vars b/testsuite/vars
deleted file mode 100755
index 344ba560..00000000
--- a/testsuite/vars
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-set -e
-
-cd ${top_srcdir}/testsuite/
-for c in $(find . -name \*.cygport -not -path './logic/*')
-do
-  test=$(dirname ${c})
-  cygport=$(basename ${c})
-
-  test -d ${top_builddir}/testsuite/$test || mkdir -p ${top_builddir}/testsuite/$test
-  cd ${top_builddir}/testsuite/$test
-  cp -f ${top_srcdir}/testsuite/$test/$cygport $cygport
-
-  ${top_builddir}/bin/cygport-inplace $cygport vars ARCHES BUILD_REQUIRES CROSS_HOST INHERITED >vars
-
-  # compare results
-  if [ -a ${top_srcdir}/testsuite/$test/vars ];
-  then
-      diff -u ${top_srcdir}/testsuite/$test/vars vars || test_failed=1
-  else
-      # if CREATE_VARS is set, create the expected vars file for use in future testing
-      if [ -z ${CREATE_VARS+x} ]
-      then
-          echo "can't verify vars as expected vars ${top_srcdir}/testsuite/$test/vars not found." >&2
-          test_failed=1
-      else
-          cp vars ${top_srcdir}/testsuite/$test/vars
-      fi
-    fi
-done
-
-if [ -n "$test_failed" ]
-then
-    exit 1
-fi
diff --git a/testsuite/waf/all/1.12.0-cygwin-shlib.patch b/testsuite/waf/all/1.12.0-cygwin-shlib.patch
new file mode 100644
index 00000000..19aac8b1
--- /dev/null
+++ b/testsuite/waf/all/1.12.0-cygwin-shlib.patch
@@ -0,0 +1,66 @@
+--- origsrc/lv2-1.12.0/plugins/eg-amp.lv2/wscript	2015-03-02 09:31:54.000000000 -0600
++++ src/lv2-1.12.0/plugins/eg-amp.lv2/wscript	2015-11-26 02:01:55.756934600 -0600
+@@ -32,7 +32,7 @@ def build(bld):
+     bundle = 'eg-amp.lv2'
+ 
+     # Make a pattern for shared objects without the 'lib' prefix
+-    module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
++    module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN)
+     module_ext = module_pat[module_pat.rfind('.'):]
+ 
+     # Build manifest.ttl by substitution (for portable lib extension)
+--- origsrc/lv2-1.12.0/plugins/eg-fifths.lv2/wscript	2015-03-02 09:31:54.000000000 -0600
++++ src/lv2-1.12.0/plugins/eg-fifths.lv2/wscript	2015-11-26 02:02:34.348335100 -0600
+@@ -30,7 +30,7 @@ def build(bld):
+     bundle = 'eg-fifths.lv2'
+ 
+     # Make a pattern for shared objects without the 'lib' prefix
+-    module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
++    module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN)
+     module_ext = module_pat[module_pat.rfind('.'):]
+ 
+     # Build manifest.ttl by substitution (for portable lib extension)
+--- origsrc/lv2-1.12.0/plugins/eg-metro.lv2/wscript	2015-03-02 09:31:54.000000000 -0600
++++ src/lv2-1.12.0/plugins/eg-metro.lv2/wscript	2015-11-26 02:01:55.765435700 -0600
+@@ -32,7 +32,7 @@ def build(bld):
+     bundle = 'eg-metro.lv2'
+ 
+     # Make a pattern for shared objects without the 'lib' prefix
+-    module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
++    module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN)
+     module_ext = module_pat[module_pat.rfind('.'):]
+ 
+     # Build manifest.ttl by substitution (for portable lib extension)
+--- origsrc/lv2-1.12.0/plugins/eg-midigate.lv2/wscript	2015-03-02 09:31:54.000000000 -0600
++++ src/lv2-1.12.0/plugins/eg-midigate.lv2/wscript	2015-11-26 02:01:55.761435200 -0600
+@@ -30,7 +30,7 @@ def build(bld):
+     bundle = 'eg-midigate.lv2'
+ 
+     # Make a pattern for shared objects without the 'lib' prefix
+-    module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
++    module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN)
+     module_ext = module_pat[module_pat.rfind('.'):]
+ 
+     # Build manifest.ttl by substitution (for portable lib extension)
+--- origsrc/lv2-1.12.0/plugins/eg-sampler.lv2/wscript	2015-03-02 09:31:54.000000000 -0600
++++ src/lv2-1.12.0/plugins/eg-sampler.lv2/wscript	2015-11-26 02:01:55.770936400 -0600
+@@ -36,7 +36,7 @@ def build(bld):
+     bundle = 'eg-sampler.lv2'
+ 
+     # Make a pattern for shared objects without the 'lib' prefix
+-    module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
++    module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN)
+     module_ext = module_pat[module_pat.rfind('.'):]
+ 
+     # Build manifest.ttl by substitution (for portable lib extension)
+--- origsrc/lv2-1.12.0/plugins/eg-scope.lv2/wscript	2015-03-02 09:31:54.000000000 -0600
++++ src/lv2-1.12.0/plugins/eg-scope.lv2/wscript	2015-11-26 02:02:42.472866800 -0600
+@@ -35,7 +35,7 @@ def build(bld):
+     bundle = 'eg-scope.lv2'
+ 
+     # Make a pattern for shared objects without the 'lib' prefix
+-    module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
++    module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN)
+     module_ext = module_pat[module_pat.rfind('.'):]
+ 
+     # Build manifest.ttl by substitution (for portable lib extension)
diff --git a/testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-1.18.4-1-src.hint b/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1-src.hint
similarity index 100%
rename from testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-1.18.4-1-src.hint
rename to testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1-src.hint
diff --git a/testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-1.18.4-1.hint b/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1.hint
similarity index 100%
rename from testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-1.18.4-1.hint
rename to testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1.hint
diff --git a/testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.18.4-1.hint b/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.12.0-1.hint
similarity index 93%
rename from testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.18.4-1.hint
rename to testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.12.0-1.hint
index ebd2efab..0e21dae3 100644
--- a/testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.18.4-1.hint
+++ b/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.12.0-1.hint
@@ -1,5 +1,5 @@
 category: Audio
-requires: bash pkg-config python3 lv2
+requires: pkg-config python3 lv2
 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
diff --git a/testsuite/waf/all/lv2.cygport b/testsuite/waf/all/lv2.cygport
index 4ceab9ec..36d86f90 100644
--- a/testsuite/waf/all/lv2.cygport
+++ b/testsuite/waf/all/lv2.cygport
@@ -1,7 +1,7 @@
 inherit waf
 
 NAME="lv2"
-VERSION=1.18.4
+VERSION=1.12.0
 RELEASE=1
 CATEGORY="Audio"
 SUMMARY="LV2 audio plugin specification"
@@ -13,16 +13,17 @@ more advanced functionality. This allows the interface to be grown to
 accommodate the needs of real software as they arise."
 HOMEPAGE="http://lv2plug.in/"
 SRC_URI="http://lv2plug.in/spec/lv2-${VERSION}.tar.bz2"
+PATCH_URI="1.12.0-cygwin-shlib.patch waf-python2.patch"
 
 PKG_NAMES="lv2 lv2-devel"
 lv2_OBSOLETES="lv2core"
 lv2_DOCS="COPYING NEWS README.md"
 lv2_CONTENTS="--exclude=eg-*.lv2 --exclude=*.[ch] etc/ usr/lib/lv2/"
 lv2_devel_REQUIRES="lv2"
-lv2_devel_CONTENTS="usr/bin/lv2specgen.py usr/bin/lv2_validate usr/include/lv2*
-        usr/lib/lv2/*/*.[ch] usr/lib/pkgconfig/ usr/share/lv2specgen/"
+lv2_devel_CONTENTS="usr/bin/lv2specgen.py usr/include/lv2* usr/lib/lv2/*/*.[ch]
+	usr/lib/pkgconfig/ usr/share/lv2specgen/"
 
-WAF_CONFIGURE_FLAGS="--no-plugins --lv2dir=/usr/lib/lv2"
+WAF_CONFIGURE_FLAGS="--no-plugins"
 
 src_install() {
 	cd ${B}
diff --git a/testsuite/waf/all/lv2.list b/testsuite/waf/all/lv2.list
index 1555bd04..841d7ab9 100644
--- a/testsuite/waf/all/lv2.list
+++ b/testsuite/waf/all/lv2.list
@@ -1,17 +1,8 @@
 /etc/profile.d/lv2.csh
 /etc/profile.d/lv2.fish
 /etc/profile.d/lv2.sh
-/usr/bin/lv2_validate
 /usr/bin/lv2specgen.py
 /usr/include/lv2.h
-/usr/include/lv2/atom
-/usr/include/lv2/buf-size
-/usr/include/lv2/core
-/usr/include/lv2/data-access
-/usr/include/lv2/dynmanifest
-/usr/include/lv2/event
-/usr/include/lv2/instance-access
-/usr/include/lv2/log
 /usr/include/lv2/lv2plug.in/ns/ext/atom
 /usr/include/lv2/lv2plug.in/ns/ext/buf-size
 /usr/include/lv2/lv2plug.in/ns/ext/data-access
@@ -36,100 +27,78 @@
 /usr/include/lv2/lv2plug.in/ns/extensions/ui
 /usr/include/lv2/lv2plug.in/ns/extensions/units
 /usr/include/lv2/lv2plug.in/ns/lv2core
-/usr/include/lv2/midi
-/usr/include/lv2/morph
-/usr/include/lv2/options
-/usr/include/lv2/parameters
-/usr/include/lv2/patch
-/usr/include/lv2/port-groups
-/usr/include/lv2/port-props
-/usr/include/lv2/presets
-/usr/include/lv2/resize-port
-/usr/include/lv2/state
-/usr/include/lv2/time
-/usr/include/lv2/ui
-/usr/include/lv2/units
-/usr/include/lv2/uri-map
-/usr/include/lv2/urid
-/usr/include/lv2/worker
-/usr/lib/lv2/atom.lv2/atom-test-utils.c
 /usr/lib/lv2/atom.lv2/atom-test.c
 /usr/lib/lv2/atom.lv2/atom.h
-/usr/lib/lv2/atom.lv2/atom.meta.ttl
 /usr/lib/lv2/atom.lv2/atom.ttl
-/usr/lib/lv2/atom.lv2/forge-overflow-test.c
 /usr/lib/lv2/atom.lv2/forge.h
+/usr/lib/lv2/atom.lv2/lv2-atom.doap.ttl
 /usr/lib/lv2/atom.lv2/manifest.ttl
 /usr/lib/lv2/atom.lv2/util.h
 /usr/lib/lv2/buf-size.lv2/buf-size.h
-/usr/lib/lv2/buf-size.lv2/buf-size.meta.ttl
 /usr/lib/lv2/buf-size.lv2/buf-size.ttl
+/usr/lib/lv2/buf-size.lv2/lv2-buf-size.doap.ttl
 /usr/lib/lv2/buf-size.lv2/manifest.ttl
-/usr/lib/lv2/core.lv2/attributes.h
-/usr/lib/lv2/core.lv2/lv2.h
-/usr/lib/lv2/core.lv2/lv2_util.h
-/usr/lib/lv2/core.lv2/lv2core.meta.ttl
-/usr/lib/lv2/core.lv2/lv2core.ttl
-/usr/lib/lv2/core.lv2/manifest.ttl
-/usr/lib/lv2/core.lv2/meta.ttl
-/usr/lib/lv2/core.lv2/people.ttl
 /usr/lib/lv2/data-access.lv2/data-access.h
-/usr/lib/lv2/data-access.lv2/data-access.meta.ttl
 /usr/lib/lv2/data-access.lv2/data-access.ttl
+/usr/lib/lv2/data-access.lv2/lv2-data-access.doap.ttl
 /usr/lib/lv2/data-access.lv2/manifest.ttl
 /usr/lib/lv2/dynmanifest.lv2/dynmanifest.h
-/usr/lib/lv2/dynmanifest.lv2/dynmanifest.meta.ttl
 /usr/lib/lv2/dynmanifest.lv2/dynmanifest.ttl
+/usr/lib/lv2/dynmanifest.lv2/lv2-dynmanifest.doap.ttl
 /usr/lib/lv2/dynmanifest.lv2/manifest.ttl
 /usr/lib/lv2/event.lv2/event-helpers.h
 /usr/lib/lv2/event.lv2/event.h
-/usr/lib/lv2/event.lv2/event.meta.ttl
 /usr/lib/lv2/event.lv2/event.ttl
+/usr/lib/lv2/event.lv2/lv2-event.doap.ttl
 /usr/lib/lv2/event.lv2/manifest.ttl
 /usr/lib/lv2/instance-access.lv2/instance-access.h
-/usr/lib/lv2/instance-access.lv2/instance-access.meta.ttl
 /usr/lib/lv2/instance-access.lv2/instance-access.ttl
+/usr/lib/lv2/instance-access.lv2/lv2-instance-access.doap.ttl
 /usr/lib/lv2/instance-access.lv2/manifest.ttl
 /usr/lib/lv2/log.lv2/log.h
-/usr/lib/lv2/log.lv2/log.meta.ttl
 /usr/lib/lv2/log.lv2/log.ttl
 /usr/lib/lv2/log.lv2/logger.h
+/usr/lib/lv2/log.lv2/lv2-log.doap.ttl
 /usr/lib/lv2/log.lv2/manifest.ttl
+/usr/lib/lv2/lv2core.lv2/lv2.h
+/usr/lib/lv2/lv2core.lv2/lv2core.doap.ttl
+/usr/lib/lv2/lv2core.lv2/lv2core.ttl
+/usr/lib/lv2/lv2core.lv2/manifest.ttl
+/usr/lib/lv2/midi.lv2/lv2-midi.doap.ttl
 /usr/lib/lv2/midi.lv2/manifest.ttl
 /usr/lib/lv2/midi.lv2/midi.h
-/usr/lib/lv2/midi.lv2/midi.meta.ttl
 /usr/lib/lv2/midi.lv2/midi.ttl
+/usr/lib/lv2/morph.lv2/lv2-morph.doap.ttl
 /usr/lib/lv2/morph.lv2/manifest.ttl
 /usr/lib/lv2/morph.lv2/morph.h
-/usr/lib/lv2/morph.lv2/morph.meta.ttl
 /usr/lib/lv2/morph.lv2/morph.ttl
+/usr/lib/lv2/options.lv2/lv2-options.doap.ttl
 /usr/lib/lv2/options.lv2/manifest.ttl
 /usr/lib/lv2/options.lv2/options.h
-/usr/lib/lv2/options.lv2/options.meta.ttl
 /usr/lib/lv2/options.lv2/options.ttl
+/usr/lib/lv2/parameters.lv2/lv2-parameters.doap.ttl
 /usr/lib/lv2/parameters.lv2/manifest.ttl
 /usr/lib/lv2/parameters.lv2/parameters.h
-/usr/lib/lv2/parameters.lv2/parameters.meta.ttl
 /usr/lib/lv2/parameters.lv2/parameters.ttl
+/usr/lib/lv2/patch.lv2/lv2-patch.doap.ttl
 /usr/lib/lv2/patch.lv2/manifest.ttl
 /usr/lib/lv2/patch.lv2/patch.h
-/usr/lib/lv2/patch.lv2/patch.meta.ttl
 /usr/lib/lv2/patch.lv2/patch.ttl
+/usr/lib/lv2/port-groups.lv2/lv2-port-groups.doap.ttl
 /usr/lib/lv2/port-groups.lv2/manifest.ttl
 /usr/lib/lv2/port-groups.lv2/port-groups.h
-/usr/lib/lv2/port-groups.lv2/port-groups.meta.ttl
 /usr/lib/lv2/port-groups.lv2/port-groups.ttl
+/usr/lib/lv2/port-props.lv2/lv2-port-props.doap.ttl
 /usr/lib/lv2/port-props.lv2/manifest.ttl
 /usr/lib/lv2/port-props.lv2/port-props.h
-/usr/lib/lv2/port-props.lv2/port-props.meta.ttl
 /usr/lib/lv2/port-props.lv2/port-props.ttl
+/usr/lib/lv2/presets.lv2/lv2-presets.doap.ttl
 /usr/lib/lv2/presets.lv2/manifest.ttl
 /usr/lib/lv2/presets.lv2/presets.h
-/usr/lib/lv2/presets.lv2/presets.meta.ttl
 /usr/lib/lv2/presets.lv2/presets.ttl
+/usr/lib/lv2/resize-port.lv2/lv2-resize-port.doap.ttl
 /usr/lib/lv2/resize-port.lv2/manifest.ttl
 /usr/lib/lv2/resize-port.lv2/resize-port.h
-/usr/lib/lv2/resize-port.lv2/resize-port.meta.ttl
 /usr/lib/lv2/resize-port.lv2/resize-port.ttl
 /usr/lib/lv2/schemas.lv2/dcs.ttl
 /usr/lib/lv2/schemas.lv2/dct.ttl
@@ -140,35 +109,36 @@
 /usr/lib/lv2/schemas.lv2/rdf.ttl
 /usr/lib/lv2/schemas.lv2/rdfs.ttl
 /usr/lib/lv2/schemas.lv2/xsd.ttl
+/usr/lib/lv2/state.lv2/lv2-state.doap.ttl
 /usr/lib/lv2/state.lv2/manifest.ttl
 /usr/lib/lv2/state.lv2/state.h
-/usr/lib/lv2/state.lv2/state.meta.ttl
 /usr/lib/lv2/state.lv2/state.ttl
+/usr/lib/lv2/time.lv2/lv2-time.doap.ttl
 /usr/lib/lv2/time.lv2/manifest.ttl
 /usr/lib/lv2/time.lv2/time.h
-/usr/lib/lv2/time.lv2/time.meta.ttl
 /usr/lib/lv2/time.lv2/time.ttl
+/usr/lib/lv2/ui.lv2/lv2-ui.doap.ttl
 /usr/lib/lv2/ui.lv2/manifest.ttl
 /usr/lib/lv2/ui.lv2/ui.h
-/usr/lib/lv2/ui.lv2/ui.meta.ttl
 /usr/lib/lv2/ui.lv2/ui.ttl
+/usr/lib/lv2/units.lv2/lv2-units.doap.ttl
 /usr/lib/lv2/units.lv2/manifest.ttl
 /usr/lib/lv2/units.lv2/units.h
-/usr/lib/lv2/units.lv2/units.meta.ttl
 /usr/lib/lv2/units.lv2/units.ttl
+/usr/lib/lv2/uri-map.lv2/lv2-uri-map.doap.ttl
 /usr/lib/lv2/uri-map.lv2/manifest.ttl
 /usr/lib/lv2/uri-map.lv2/uri-map.h
-/usr/lib/lv2/uri-map.lv2/uri-map.meta.ttl
 /usr/lib/lv2/uri-map.lv2/uri-map.ttl
+/usr/lib/lv2/urid.lv2/lv2-urid.doap.ttl
 /usr/lib/lv2/urid.lv2/manifest.ttl
 /usr/lib/lv2/urid.lv2/urid.h
-/usr/lib/lv2/urid.lv2/urid.meta.ttl
 /usr/lib/lv2/urid.lv2/urid.ttl
+/usr/lib/lv2/worker.lv2/lv2-worker.doap.ttl
 /usr/lib/lv2/worker.lv2/manifest.ttl
 /usr/lib/lv2/worker.lv2/worker.h
-/usr/lib/lv2/worker.lv2/worker.meta.ttl
 /usr/lib/lv2/worker.lv2/worker.ttl
 /usr/lib/pkgconfig/lv2.pc
+/usr/lib/pkgconfig/lv2core.pc
 /usr/share/doc/lv2/COPYING
 /usr/share/doc/lv2/NEWS
 /usr/share/doc/lv2/README.md
@@ -184,7 +154,6 @@
 /usr/share/lv2specgen/DTD/xhtml-charent-1.mod
 /usr/share/lv2specgen/DTD/xhtml-csismap-1.mod
 /usr/share/lv2specgen/DTD/xhtml-datatypes-1.mod
-/usr/share/lv2specgen/DTD/xhtml-datatypes-1.mod.1
 /usr/share/lv2specgen/DTD/xhtml-edit-1.mod
 /usr/share/lv2specgen/DTD/xhtml-events-1.mod
 /usr/share/lv2specgen/DTD/xhtml-form-1.mod
@@ -201,13 +170,10 @@
 /usr/share/lv2specgen/DTD/xhtml-link-1.mod
 /usr/share/lv2specgen/DTD/xhtml-list-1.mod
 /usr/share/lv2specgen/DTD/xhtml-meta-1.mod
-/usr/share/lv2specgen/DTD/xhtml-metaAttributes-1.mod
 /usr/share/lv2specgen/DTD/xhtml-object-1.mod
 /usr/share/lv2specgen/DTD/xhtml-param-1.mod
 /usr/share/lv2specgen/DTD/xhtml-pres-1.mod
 /usr/share/lv2specgen/DTD/xhtml-qname-1.mod
-/usr/share/lv2specgen/DTD/xhtml-rdfa-1.dtd
-/usr/share/lv2specgen/DTD/xhtml-rdfa-model-1.mod
 /usr/share/lv2specgen/DTD/xhtml-script-1.mod
 /usr/share/lv2specgen/DTD/xhtml-special.ent
 /usr/share/lv2specgen/DTD/xhtml-ssismap-1.mod
diff --git a/testsuite/waf/all/vars b/testsuite/waf/all/vars
deleted file mode 100644
index 35255e6e..00000000
--- a/testsuite/waf/all/vars
+++ /dev/null
@@ -1,3 +0,0 @@
-declare -r ARCHES="all"
-declare -- CROSS_HOST=""
-declare -- INHERITED="waf autotools "
diff --git a/testsuite/waf/all/waf-python2.patch b/testsuite/waf/all/waf-python2.patch
new file mode 100644
index 00000000..e7c8e755
--- /dev/null
+++ b/testsuite/waf/all/waf-python2.patch
@@ -0,0 +1,16 @@
+--- origsrc/lv2-1.12.0/waf	2015-01-25 21:24:02.000000000 +0000
++++ src/lv2-1.12.0/waf	2022-03-14 16:41:08.376713600 +0000
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ # encoding: ISO8859-1
+ # Thomas Nagy, 2005-2014
+ 
+--- origsrc/lv2-1.12.0/wscript	2015-04-07 20:02:55.000000000 +0100
++++ src/lv2-1.12.0/wscript	2022-03-14 16:41:18.847770500 +0000
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ import glob
+ import os
+ import re
diff --git a/testsuite/waf/meson.build b/testsuite/waf/meson.build
index 59fac88a..498b2f01 100644
--- a/testsuite/waf/meson.build
+++ b/testsuite/waf/meson.build
@@ -1,3 +1,3 @@
-if python3.found()
+if python2.found()
 tests += [['waf/all']]
 endif


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-01-15  0:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-06 18:44 [cygport - the Cygwin packaging tool] branch master, updated. 0.35.5 Jon TURNEY
2023-01-15  0:34 Jon Turney

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).