From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2201) id 1EB0B3858C50; Mon, 2 May 2022 19:58:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1EB0B3858C50 To: cygwin-apps-cvs@sourceware.org Subject: [cygport - the Cygwin packaging tool] branch master, updated. 0.35.0 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 090e3ba936b5dd60b1c123358ef7114ab5c06ab9 X-Git-Newrev: 716ff586c9f956506208bdca7ed4f735709b19d3 Message-Id: <20220502195836.1EB0B3858C50@sourceware.org> Date: Mon, 2 May 2022 19:58:36 +0000 (GMT) From: Jon TURNEY X-BeenThere: cygwin-apps-cvs@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin-apps git logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 May 2022 19:58:36 -0000 https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=716ff586c9f956506208bdca7ed4f735709b19d3 commit 716ff586c9f956506208bdca7ed4f735709b19d3 Author: Jon Turney 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 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 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 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