[cygport - the Cygwin packaging tool] branch master, updated. 0.37.9
Jon Turney
jturney@sourceware.org
Sun Sep 20 12:12:59 GMT 2026
Diff:
---
NEWS | 3 +++
bin/cygport.in | 39 +++++++++++++++++++++++++++++++++++++--
cygport.spec | 2 +-
data/sample.cygport | 2 +-
lib/compilers.cygpart | 10 +++++++---
lib/help.cygpart | 13 +++++--------
lib/pkg_info.cygpart | 4 ++--
lib/pkg_pkg.cygpart | 2 +-
lib/src_postinst.cygpart | 2 +-
lib/src_prep.cygpart | 4 ++--
lib/src_test.cygpart | 4 ++--
meson.build | 2 +-
12 files changed, 63 insertions(+), 24 deletions(-)
diff --git a/NEWS b/NEWS
index d96e1ba2..e90ad2a3 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+0.37.9:
+ * Handle directories in CYGWIN_FILES
+ * Add '--arch' option to specify cross-compilation architecture
0.37.8:
* python-wheel: Make 3.12 the default python3 version
* gnome.org: Also check for gz compression
diff --git a/bin/cygport.in b/bin/cygport.in
index de8fa0df..f6f0dbe0 100755
--- a/bin/cygport.in
+++ b/bin/cygport.in
@@ -188,22 +188,57 @@ do
_nproc="-j $1";
shift;
;;
+ --arch)
+ shift;
+ _arch_opt="$1";
+ shift;
+ case ${_arch_opt} in
+ x86_64|amd64|x64|64)
+ _arch_opt=x86_64;
+ ;;
+ i686|x86|32)
+ _arch_opt=i686;
+ ;;
+ aarch64|arm64)
+ _arch_opt=aarch64;
+ ;;
+ *)
+ echo "${0}: unknown arch ${_arch_opt}";
+ exit 1;
+ ;;
+ esac
+
+ if defined _host_arch && [ ${_host_arch} != ${_arch_opt} ]
+ then
+ error "Only one of --32|--64|--arch may be specified"
+ fi
+
+ _host_arch=${_arch_opt}
+ unset _arch_opt
+ ;;
+
--32|-4)
+ warning "The option --32 is deprecated. Use --arch x86 instead"
+
if defined _host_arch && [ ${_host_arch} != i686 ]
then
- error "Only one of --32|--64 may be specified"
+ error "Only one of --32|--64|--arch may be specified"
fi
_host_arch=i686
shift;
;;
+
--64|-8)
+ warning "The option --64 is deprecated. Use --arch x86 instead"
+
if defined _host_arch && [ ${_host_arch} != x86_64 ]
then
- error "Only one of --32|--64 may be specified"
+ error "Only one of --32|--64|--arch may be specified"
fi
_host_arch=x86_64
shift;
;;
+
-*)
echo "${0}: unknown argument ${1}";
__show_help;
diff --git a/cygport.spec b/cygport.spec
index 12929044..cefa9967 100644
--- a/cygport.spec
+++ b/cygport.spec
@@ -1,7 +1,7 @@
%define debug_package %{nil}
Name: cygport
-Version: 0.37.8
+Version: 0.37.9
Release: 1%{?dist}
Summary: Cygwin package building tool
diff --git a/data/sample.cygport b/data/sample.cygport
index 8ced78e3..c3674626 100644
--- a/data/sample.cygport
+++ b/data/sample.cygport
@@ -1,7 +1,7 @@
inherit meson
NAME="cygport"
-VERSION=0.37.8
+VERSION=0.37.9
RELEASE=1
CATEGORY="Devel"
SUMMARY="Cygwin source packaging tool"
diff --git a/lib/compilers.cygpart b/lib/compilers.cygpart
index 52df5304..5fc8669a 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 || _host_arch="x86_64"
+*) defined _host_arch || (warning "cross-compiling but --arch is unspecified, assuming x86_64" && _host_arch="x86_64")
CHOST="${_host_arch}-pc-cygwin" ;;
esac
unset _host_arch
@@ -224,8 +224,8 @@ declare TOOLCHAIN_TARGET="";
#****d* Compiling/ARCH
# DESCRIPTION
-# The Cygwin architecture the binaries are being built for (i686 or x86_64),
-# or "noarch".
+# The Cygwin architecture the binaries are being built for ("i686", "x86_64" or
+# "aarch64"), or "noarch".
# NOTE
# This variable should only be defined in a .cygport in one of the
# following cases:
@@ -249,6 +249,10 @@ declare ARCH=${CHOST%%-*};
# DESCRIPTION
# Defined only when building binaries for x86_64 (64-bit) Cygwin.
#****
+#****d* Compiling/ARCH_aarch64
+# DESCRIPTION
+# Defined only when building binaries for aarch64 Cygwin.
+#****
declare ARCH_${ARCH}=1;
if [ ${CBUILD} != ${CHOST} ]
diff --git a/lib/help.cygpart b/lib/help.cygpart
index ff03fb5f..33dcc98c 100644
--- a/lib/help.cygpart
+++ b/lib/help.cygpart
@@ -28,18 +28,15 @@ __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
+ --jobs, -j N specify the number of jobs to use
+ --arch ARCH build package for ARCH-pc-cygwin host
--debug enable debugging messages
--version, -v show the version
--help, -h show this help
- The --32 and --64 options are mutually exclusive.
-
- 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, the x86_64 architecture is the default.
+ On Cygwin, if the --arch option is not specified, the package
+ will be built for the architecture on which cygport 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_info.cygpart b/lib/pkg_info.cygpart
index e9fa2dab..e0e9556f 100644
--- a/lib/pkg_info.cygpart
+++ b/lib/pkg_info.cygpart
@@ -126,8 +126,8 @@ __list_deps() {
#****v* Information/REQUIRES_EXCLUDE_FROM
# DESCRIPTION
-# A colon-separated list of pathname globs, which are excluded from automatic
-# dependency detection.
+# A colon-separated list of pathname globs. Any matching files in ${D} are
+# excluded from automatic dependency detection.
#****
for d in ${REQUIRES_EXCLUDE_FROM//:/ }
diff --git a/lib/pkg_pkg.cygpart b/lib/pkg_pkg.cygpart
index 6a728357..4da390d4 100644
--- a/lib/pkg_pkg.cygpart
+++ b/lib/pkg_pkg.cygpart
@@ -577,7 +577,7 @@ __pkg_srcpkg() {
for cygwin_file in ${CYGWIN_FILES}
do
- cp --preserve=timestamps ${C}/${cygwin_file} ${spkgdir}
+ cp -r --preserve=timestamps ${C}/${cygwin_file} ${spkgdir}
done
cp --preserve=timestamps ${top}/${cygportfile} ${spkgdir};
diff --git a/lib/src_postinst.cygpart b/lib/src_postinst.cygpart
index 89da3664..af91e5b4 100644
--- a/lib/src_postinst.cygpart
+++ b/lib/src_postinst.cygpart
@@ -40,7 +40,7 @@ __prep_fonts_dir() {
for catalogue in ${D}${cataloguedir}/*
do
- fontdir=$(readlink -f ${catalogue})
+ fontdir=$(readlink -m ${catalogue})
find ${D}${fontdir} -name '*.pcf' -exec gzip -q ${SOURCE_DATE_EPOCH:+-n} '{}' +
mkfontscale ${D}${fontdir}
mkfontdir ${D}${fontdir}
diff --git a/lib/src_prep.cygpart b/lib/src_prep.cygpart
index 85bd25e8..820ae804 100644
--- a/lib/src_prep.cygpart
+++ b/lib/src_prep.cygpart
@@ -471,8 +471,8 @@ __src_prep() {
#****v* Preparation/CYGWIN_FILES
# DESCRIPTION
-# A list of files which are to be included in the source package, and installed
-# into ${C}.
+# A list of files and/or directiories 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
diff --git a/lib/src_test.cygpart b/lib/src_test.cygpart
index 39a81c42..4b97dab0 100644
--- a/lib/src_test.cygpart
+++ b/lib/src_test.cygpart
@@ -33,10 +33,10 @@
cygtest() {
if [ -e Makefile -o -e GNUmakefile -o -e makefile ]
then
- if make -n check &> /dev/null
+ if make -in check &> /dev/null
then
make -k check
- elif make -n test &> /dev/null
+ elif make -in test &> /dev/null
then
make -k test
else
diff --git a/meson.build b/meson.build
index 6fd595fa..6da0e2d7 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('cygport',
- version: '0.37.8')
+ version: '0.37.9')
bindir = join_paths(get_option('prefix'), get_option('bindir'))
datadir = join_paths(get_option('prefix'), get_option('datadir'))
More information about the Cygwin-apps-cvs
mailing list