gettext: Fix implementation of `struct __sFILE`

This commit is contained in:
Tee KOBAYASHI 2022-09-29 00:28:44 +09:00 committed by xtkoba
parent 7fb57fbb52
commit 3b124eac8d
3 changed files with 40 additions and 32 deletions

View File

@ -3,12 +3,27 @@ TERMUX_PKG_DESCRIPTION="GNU Internationalization utilities"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=0.21
TERMUX_PKG_REVISION=6
TERMUX_PKG_REVISION=7
TERMUX_PKG_SRCURL=https://mirrors.kernel.org/gnu/gettext/gettext-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192
TERMUX_PKG_DEPENDS="libc++, libiconv, pcre, liblzma, libxml2, libcroco, ncurses, libunistring, zlib"
TERMUX_PKG_DEPENDS="libc++, libiconv, libunistring, libxml2, ncurses"
TERMUX_PKG_BREAKS="gettext-dev"
TERMUX_PKG_REPLACES="gettext-dev"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-openmp"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
ac_cv_have_decl_posix_spawn=no
ac_cv_header_spawn_h=no
--disable-openmp
--with-included-libcroco
--with-included-libglib
--without-included-libxml
"
TERMUX_PKG_GROUPS="base-devel"
termux_step_post_configure() {
local pv=$(awk '/^PACKAGE_VERSION =/ { print $3 }' Makefile)
local lib
for lib in libgettext{lib,src}; do
ln -sf ${lib}-${pv}.so $TERMUX_PREFIX/lib/${lib}.so
done
}

View File

@ -0,0 +1,22 @@
--- a/gettext-tools/gnulib-lib/stdio-impl.h
+++ b/gettext-tools/gnulib-lib/stdio-impl.h
@@ -68,8 +68,10 @@
# elif defined __ANDROID__ /* Android */
# ifdef __LP64__
# define _gl_flags_file_t int
+# define _gl_struct_file_off_t int64_t
# else
# define _gl_flags_file_t short
+# define _gl_struct_file_off_t __kernel_off_t
# endif
/* Up to this commit from 2015-10-12
<https://android.googlesource.com/platform/bionic.git/+/f0141dfab10a4b332769d52fa76631a64741297a>
@@ -96,7 +98,7 @@
unsigned char _nbuf[1]; \
struct { unsigned char *_base; size_t _size; } _lb; \
int _blksize; \
- fpos_t _offset; \
+ _gl_struct_file_off_t _offset; \
/* More fields, not relevant here. */ \
} *) fp)
# else

View File

@ -1,29 +0,0 @@
Also patch Makefile.in directly due to autoreconf not working.
diff -uNr gettext-0.20.1/gettext-tools/gnulib-lib/Makefile.am gettext-0.20.1.mod/gettext-tools/gnulib-lib/Makefile.am
--- gettext-0.20.1/gettext-tools/gnulib-lib/Makefile.am 2019-04-11 12:22:44.000000000 +0300
+++ gettext-0.20.1.mod/gettext-tools/gnulib-lib/Makefile.am 2019-05-21 15:02:52.740488355 +0300
@@ -73,10 +73,11 @@
RELOCATABLE_LIBRARY_PATH = $(libdir)
# Linking with C++ libraries is needed _only_ on mingw and Cygwin.
+# .. termux edit because i can't be bothered fixing it properly.
if !WOE32DLL
libgettextlib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
- $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(libgettextlib_la_LDFLAGS) $(LDFLAGS) \
+ $(CCLD) $(AM_CFLAGS) $(CFLAGS) -lcroco-0.6 -lglib-2.0 -landroid-support -lpcre -lxml2 -lz -llzma -lm -lncurses -lunistring -liconv $(LDFLAGS) \
-o $@
else
libgettextlib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
--- a/gettext-tools/gnulib-lib/Makefile.in
+++ b/gettext-tools/gnulib-lib/Makefile.in
@@ -2925,7 +2925,7 @@
# Linking with C++ libraries is needed _only_ on mingw and Cygwin.
@WOE32DLL_FALSE@libgettextlib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
@WOE32DLL_FALSE@ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
-@WOE32DLL_FALSE@ $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(libgettextlib_la_LDFLAGS) $(LDFLAGS) \
+@WOE32DLL_FALSE@ $(CCLD) $(AM_CFLAGS) $(CFLAGS) -lcroco-0.6 -lglib-2.0 -landroid-support -lpcre -lxml2 -lz -llzma -lm -lncurses -lunistring -liconv $(LDFLAGS) \
@WOE32DLL_FALSE@ -o $@
@WOE32DLL_TRUE@libgettextlib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \