[cygport - the Cygwin packaging tool] branch master, updated. 0.35.0

Jon TURNEY jturney@sourceware.org
Mon May 2 19:58:36 GMT 2022




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

commit 716ff586c9f956506208bdca7ed4f735709b19d3
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Mon May 2 20:18:06 2022 +0100

    Bump version to 0.35.0

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

commit 6d34ca9e54a3be73070de5482ee3330c73e7ac62
Author: Achim Gratz <Stromeko@Stromeko.DE>
Date:   Sun Dec 13 19:21:08 2020 +0100

    lib/pkg_info.cygport: implement automatic determination of the appropriate perl5_0xy requirement
    
    Add a perl5_0xy requirement for packages which own files in the
    vendor_perl directory, and for packages which contain executables or
    shared libraries dynamically linked with cygperl5_xy.dll.

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

commit dfbd759b54cb0f06c4fdac469d0ac110b6b045be
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sun May 1 18:45:25 2022 +0100

    autotools.cygclass: Report an error if ./configure version could not be detected
    
    Allow AUTOCONF_VERSION to be set to override auto-dection of the
    ./configure script version.

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

commit 1242642d04e16e2c399728811e97eb17496729b9
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sun Apr 10 17:21:49 2022 +0100

    xorg.cygclass: Allow configuration of default SRC_URI compression
    
    Historically, xorg packages were usually provided as .gz and .bz2
    compressed tarballs.  The current trend is to no longer provide .bz2,
    but .gz and .xz instead.  Allow the compression to be configured, with a
    backwards compatible default.


Diff:
---
 NEWS                                               |  9 ++++++++
 cygclass/autotools.cygclass                        | 20 ++++++++++++++++-
 cygclass/xorg.cygclass                             | 13 ++++++++++-
 cygport.spec                                       |  2 +-
 data/sample.cygport                                |  2 +-
 lib/pkg_info.cygpart                               | 26 +++++++++++++++++++++-
 meson.build                                        |  2 +-
 .../dist/perl-Carp/perl-Carp-1.38-1.hint           |  2 +-
 .../dist/perl-Lchown/perl-Lchown-1.01-1.hint       |  2 +-
 9 files changed, 70 insertions(+), 8 deletions(-)

diff --git a/NEWS b/NEWS
index 97dec9b..a15f8e8 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+0.35.0:
+	* Don't ignore errors from 'make test'
+	* Add subcommand 'vars'
+	* Add subcommand 'srcpackage'
+	* perl: do not clobber HOMEPAGE and correct default
+	* autotools: correctly detect Autoconf 2.70+
+	* xorg: Allow configuration of default SRC_URI compression
+	* Implement automatic determination of the appropriate perl5_0xy requirement
+
 0.34.2:
 	* Don't use llvm-objdump.
 	* git: also use shallow clones for tags and branches.
diff --git a/cygclass/autotools.cygclass b/cygclass/autotools.cygclass
index b40828b..7d56cbf 100644
--- a/cygclass/autotools.cygclass
+++ b/cygclass/autotools.cygclass
@@ -625,6 +625,15 @@ cygconf() {
 	local foo_config;
 	local prefix;
 
+#****v* cygconf/AUTOCONF_VERSION
+#  DESCRIPTION
+#  In some in some rare cases, cygport cannot automatically detect the autoconf
+#  version that was used to generate the configure script (typically when
+#  cygautoreconf is not being used, and the autoconfigury has been heavily
+#  customized).  This variable can be set to indicate the autoconf version the
+#  configure script's options are compatible with e.g. "2.50", "2.60", "2.70".
+#****
+
 #****v* cygconf/CYGCONF_SOURCE
 #  DESCRIPTION
 #  Set this variable to the directory containing the configure script.  This
@@ -652,9 +661,18 @@ cygconf() {
 	fi
 
 	configure="${confdir}/configure"
-	confver="$("$configure" --version | sed -rn 's/.*GNU Autoconf ([0-9\.]+)/\1/p')"
+	if [ -z ${AUTOCONF_VERSION} ]
+	then
+		confver="$("$configure" --version | sed -rn 's/.*GNU Autoconf ([0-9\.]+)/\1/p')"
+	else
+		confver=${AUTOCONF_VERSION}
+	fi
 	confver_maj=${confver%%.*}
 	confver_min=${confver##*.}
+	if [ -z $confver_maj ]
+	then
+		error "could not detect autoconf version; perhaps set AUTOCONF_VERSION?";
+	fi
 	if [ $confver_maj -ne 2 ]
 	then
 		error "unexpected autoconf version";
diff --git a/cygclass/xorg.cygclass b/cygclass/xorg.cygclass
index 2049fd5..519ea8f 100644
--- a/cygclass/xorg.cygclass
+++ b/cygclass/xorg.cygclass
@@ -143,11 +143,22 @@ SUMMARY="X.Org ${ORIG_PN} component"
 #  DEFINITION
 HOMEPAGE="https://www.x.org/"
 #****
+
+#****o* xorg.cygclass/XORG_SRC_COMPRESSION
+#  DESCRIPTION
+#  The compression extension used in the default SRC_URI, set by the xorg
+#  cygclass.  For backwards compatibility, this defaults to 'bz2', but a
+#  different value may be needed for X.Org packages which no longer provide
+#  tarballs using that compression.
+#  DEFINITION
+XORG_SRC_COMPRESSION="${XORG_SRC_COMPRESSION:-bz2}"
+#****
+
 #****o* xorg.cygclass/SRC_URI (xorg)
 #  DESCRIPTION
 #  Download location of the release tarball.
 #****
-SRC_URI="https://www.x.org/releases/individual/${xorg_cat}/${ORIG_PN}-${PV}.tar.bz2"
+SRC_URI="https://www.x.org/releases/individual/${xorg_cat}/${ORIG_PN}-${PV}.tar.${XORG_SRC_COMPRESSION}"
 
 #****o* xorg.cygclass/GIT_URI (xorg)
 #  DESCRIPTION
diff --git a/cygport.spec b/cygport.spec
index cdfecb3..1e36003 100644
--- a/cygport.spec
+++ b/cygport.spec
@@ -1,7 +1,7 @@
 %define debug_package %{nil}
 
 Name:           cygport
-Version:        0.34.2
+Version:        0.35.0
 Release:        1%{?dist}
 Summary:        Cygwin package building tool
 
diff --git a/data/sample.cygport b/data/sample.cygport
index 8de294c..ed03c32 100644
--- a/data/sample.cygport
+++ b/data/sample.cygport
@@ -1,7 +1,7 @@
 inherit meson
 
 NAME="cygport"
-VERSION=0.34.2
+VERSION=0.35.0
 RELEASE=1
 CATEGORY="Devel"
 SUMMARY="Cygwin source packaging tool"
diff --git a/lib/pkg_info.cygpart b/lib/pkg_info.cygpart
index 9f768d5..1ad8baa 100644
--- a/lib/pkg_info.cygpart
+++ b/lib/pkg_info.cygpart
@@ -72,7 +72,7 @@ __list_deps() {
 	local d f ext
 	local alldeps shdep girdep jar jpkg ladep luadep luapaths pcdep pctgt pidep
 	local mldep mldir mllib
-	local phpdep phpmoddir pldep pldirs
+	local phpdep phpmoddir pldep pldirs plver
 	local pydep pydirs pyexts pyscr pysite pyver
 	local rbdep rbdirs gemdir gemextdir gemspecdir
 	local tcldep tclpkgs vapidep vapidir
@@ -419,6 +419,19 @@ __list_deps() {
 		done
 	fi
 
+	plver=( $(find "${@//^_^/ }" -path "usr/*/perl5/vendor_perl/5.[0-9][0-9]/*" \
+	        | sed -E 's!usr/.*/perl5/vendor_perl/5.([0-9][0-9])/.*!perl5_0\1!' \
+	        | sort -ru) )
+	if [ "${#plver[@]}" -gt 1 ]
+	then
+		warning "More than one targeted Perl version: ${plver[*]},"
+		warning "using only the latest as dependency: ${plver[0]}."
+	fi
+	if [ "${#plver[@]}" -gt 0 ] && [ "${PN}" != "perl_base" ]
+	then
+		echo "${plver[0]}"
+	fi
+
 	if check_prog php-config
 	then
 		phpmoddir=$(php-config  --extension-dir)
@@ -603,6 +616,17 @@ for suffix, mode, type in imp.get_suffixes(): print(suffix)')
 	# the target is from another package
 	alldeps+=" "$(find "${@//^_^/ }" -type l | xargs -r readlink -f)
 
+	# add perl5_0xy requirement if linked with cygperl5_xy.dll
+	for dll in $(echo ${alldeps} | tr \\n ' ' ) ; do
+	    case "${dll##*/}" in
+		cygperl5_[0-9][0-9].dll)
+		    plver="${dll##*cygperl5_}"
+		    plver="${plver%%.dll}"
+		    echo "perl5_0${plver}"
+		    ;;
+	    esac
+	done
+
 	if [ "${CBUILD##*-}" = "cygwin" ]
 	then
 	    echo $alldeps | sort -u | xargs -r /bin/cygcheck -f;
diff --git a/meson.build b/meson.build
index 4c03e55..f085911 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
 project('cygport',
-        version: '0.34.2')
+        version: '0.35.0')
 
 bindir = join_paths(get_option('prefix'), get_option('bindir'))
 datadir = join_paths(get_option('prefix'), get_option('datadir'))
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 48ac974..6d90752 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: 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 f71d996..5c23835 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 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



More information about the Cygwin-apps-cvs mailing list