From f31120b3238971fd52f4a4a703efe81df06b1d27 Mon Sep 17 00:00:00 2001 From: Tee KOBAYASHI Date: Sun, 13 Mar 2022 13:14:35 +0900 Subject: [PATCH] socat: Update to 1.7.4.3 * Re-enable 32-bit builds --- packages/socat/build.sh | 16 ++-- ...x-format-specifiers-for-32-bit-archs.patch | 89 +++++++++++++++++++ 2 files changed, 98 insertions(+), 7 deletions(-) create mode 100644 packages/socat/fix-format-specifiers-for-32-bit-archs.patch diff --git a/packages/socat/build.sh b/packages/socat/build.sh index ecad7f657..e2fb8eae3 100644 --- a/packages/socat/build.sh +++ b/packages/socat/build.sh @@ -2,12 +2,14 @@ TERMUX_PKG_HOMEPAGE=http://www.dest-unreach.org/socat/ TERMUX_PKG_DESCRIPTION="Relay for bidirectional data transfer between two independent data channels" TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION=1.7.4.1 -TERMUX_PKG_REVISION=2 -TERMUX_PKG_SRCURL=http://www.dest-unreach.org/socat/download/Archive/socat-$TERMUX_PKG_VERSION.tar.gz -TERMUX_PKG_SHA256=0c7e635070af1b9037fd96869fc45eacf9845cb54547681de9d885044538736d +TERMUX_PKG_VERSION=1.7.4.3 +TERMUX_PKG_SRCURL=http://www.dest-unreach.org/socat/download/socat-$TERMUX_PKG_VERSION.tar.gz +TERMUX_PKG_SHA256=d697245144731423ddbbceacabbd29447089ea223e9a439b28f9ff90d0dd216e TERMUX_PKG_DEPENDS="openssl, readline" -TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_header_resolv_h=no ac_cv_c_compiler_gnu=yes ac_compiler_gnu=yes" # sc_cv_sys_crdly_shift=9 sc_cv_sys_csize_shift=4 sc_cv_sys_tabdly_shift=11" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" +ac_header_resolv_h=no +ac_cv_c_compiler_gnu=yes +ac_compiler_gnu=yes +sc_cv_getprotobynumber_r= +" # sc_cv_sys_crdly_shift=9 sc_cv_sys_csize_shift=4 sc_cv_sys_tabdly_shift=11" TERMUX_PKG_BUILD_IN_SRC=true -# Broken 32bit support. -TERMUX_PKG_BLACKLISTED_ARCHES="arm, i686" diff --git a/packages/socat/fix-format-specifiers-for-32-bit-archs.patch b/packages/socat/fix-format-specifiers-for-32-bit-archs.patch new file mode 100644 index 000000000..3663f9079 --- /dev/null +++ b/packages/socat/fix-format-specifiers-for-32-bit-archs.patch @@ -0,0 +1,89 @@ +--- a/filan.c ++++ b/filan.c +@@ -261,7 +261,11 @@ + headprinted = 1; + } + if (filan_rawoutput) { ++#if defined __ANDROID__ && !defined __LP64__ ++ snprintf(stdevstr, 8, "%llu", buf->st_dev); ++#else + snprintf(stdevstr, 8, F_dev, buf->st_dev); ++#endif + } else { + snprintf(stdevstr, 8, "%hu,%hu", (unsigned short)(buf->st_dev>>8), (unsigned short)(buf->st_dev&0xff)); + } +@@ -271,7 +275,11 @@ + #else + F_st_ino + #endif /* HAVE_STAT64 */ ++#if defined __ANDROID__ && !defined __LP64__ ++ "\t%u\t"F_st_nlink"\t"F_uid"\t"F_gid ++#else + "\t"F_mode"\t"F_st_nlink"\t"F_uid"\t"F_gid ++#endif + #if HAVE_ST_RDEV + "\t%hu,%hu" + #endif +--- a/procan.c ++++ b/procan.c +@@ -156,8 +156,12 @@ + } + #endif + #ifdef SIZE_MAX ++#if defined __ANDROID__ && !defined __LP64__ ++ fprintf(outfile, "SIZE_MAX = %-24u\n", SIZE_MAX); ++#else + fprintf(outfile, "SIZE_MAX = %-24lu\n", SIZE_MAX); + #endif ++#endif + } + + /* file descriptors */ +--- a/sycls.c ++++ b/sycls.c +@@ -395,12 +395,22 @@ + static void prtstat(const char *func, struct stat *buf, int result) { + char txt[256], *t = txt; + ++#if defined __ANDROID__ && !defined __LP64__ ++ t += sprintf(t, "%s(, {%llu,"F_st_ino",%u,"F_st_nlink","F_uid","F_gid, ++ func, buf->st_dev, buf->st_ino, ++ buf->st_mode, buf->st_nlink, buf->st_uid, buf->st_gid); ++#else + t += sprintf(t, "%s(, {"F_dev","F_st_ino","F_mode","F_st_nlink","F_uid","F_gid, + func, buf->st_dev, buf->st_ino, + buf->st_mode, buf->st_nlink, buf->st_uid, buf->st_gid); ++#endif + #if HAVE_ST_RDEV ++#if defined __ANDROID__ && !defined __LP64__ ++ t += sprintf(t, ",%llu", buf->st_rdev); ++#else + t += sprintf(t, ","F_dev, buf->st_rdev); + #endif ++#endif + t += sprintf(t, ","F_st_size, buf->st_size); + #if HAVE_ST_BLKSIZE + t += sprintf(t, ","F_st_blksize, buf->st_blksize); +@@ -419,12 +429,22 @@ + if (result < 0) { + sprintf(t, "%s(, {}) -> %d", func, result); + } else { ++#if defined __ANDROID__ && !defined __LP64__ ++ t += sprintf(t, "%s(, {%llu,"F_st64_ino",%u,"F_st_nlink","F_uid","F_gid, ++ func, buf->st_dev, buf->st_ino, ++ buf->st_mode, buf->st_nlink, buf->st_uid, buf->st_gid); ++#else + t += sprintf(t, "%s(, {"F_dev","F_st64_ino","F_mode","F_st_nlink","F_uid","F_gid, + func, buf->st_dev, buf->st_ino, + buf->st_mode, buf->st_nlink, buf->st_uid, buf->st_gid); ++#endif + #if HAVE_ST_RDEV ++#if defined __ANDROID__ && !defined __LP64__ ++ t += sprintf(t, ",%llu", buf->st_rdev); ++#else + t += sprintf(t, ","F_dev, buf->st_rdev); + #endif ++#endif + t += sprintf(t, ","F_st64_size, buf->st_size); + #if HAVE_ST_BLKSIZE + t += sprintf(t, ","F_st_blksize, buf->st_blksize);