summaryrefslogtreecommitdiff
path: root/system/gettext-tiny
diff options
context:
space:
mode:
Diffstat (limited to 'system/gettext-tiny')
-rw-r--r--system/gettext-tiny/APKBUILD31
-rw-r--r--system/gettext-tiny/cpp-compat.patch22
-rw-r--r--system/gettext-tiny/double-stack-size.patch20
-rw-r--r--system/gettext-tiny/dynamic.patch18
-rw-r--r--system/gettext-tiny/keyword.patch13
-rw-r--r--system/gettext-tiny/line-length.patch15
-rw-r--r--system/gettext-tiny/m4-installation.patch149
-rw-r--r--system/gettext-tiny/omg-i-cant-believe-im-doing-ua-crap.patch18
-rw-r--r--system/gettext-tiny/respect-cflags.patch4
-rw-r--r--system/gettext-tiny/stop-doing-macro-crap.patch2
10 files changed, 42 insertions, 250 deletions
diff --git a/system/gettext-tiny/APKBUILD b/system/gettext-tiny/APKBUILD
index 6edd0b4b3..ce62d5c99 100644
--- a/system/gettext-tiny/APKBUILD
+++ b/system/gettext-tiny/APKBUILD
@@ -1,42 +1,33 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gettext-tiny
-pkgver=0.3.0_pre1
-pkgrel=6
+pkgver=0.3.1_git20191130
+pkgrel=2
pkgdesc="An internationalisation and localisation system"
url="https://github.com/sabotage-linux/gettext-tiny"
arch="all"
options="!check" # No test suite.
license="MIT"
-depends="!gettext"
-depends_dev="!gettext-dev"
-install=""
+depends=""
+makedepends=""
subpackages="$pkgname-dev"
source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz
- omg-i-cant-believe-im-doing-ua-crap.patch
+ keyword.patch
+ line-length.patch
respect-cflags.patch
stop-doing-macro-crap.patch
- cpp-compat.patch
- double-stack-size.patch
- m4-installation.patch
- dynamic.patch
"
build() {
- cd "$builddir"
make LIBINTL=MUSL prefix=/usr
}
package() {
- cd "$builddir"
make LIBINTL=MUSL DESTDIR="$pkgdir" prefix=/usr install
}
-sha512sums="3795b9923f6820ce6e2c6a27480365a4ee1cb1f8f8916256887a40c8e0f0b582ada049a528330297f8daa1bff7d5877a15169095332456c57dc3fdb49407ef98 gettext-tiny-0.3.0_pre1.tar.xz
-2951ad99fd04ee7d8dc06b4de575b7838e350737e3b40ecd93eae9f6f2b4c15883a392370e25dfaf834a57bc801721894e946d24910cfd65c44c2e025321ade4 omg-i-cant-believe-im-doing-ua-crap.patch
-cea1596f3f20c8983e57d2e49e955a43ed2e261b244f6c4c2ae7d8b869e3cfce3bb87b0a17c16bdac59afd99703cef9c7ef4e93fca536bf1bf9aa5f9be9fa34f respect-cflags.patch
-d2a1a6b1f135c25172cf98dfed64739ff85f6016a31c3ce028b3a7aa72de0b55c1f9a54c5ba2c58817f5222c3d2a5bc3d03ec9058ae5fbae2c798df9227a4e52 stop-doing-macro-crap.patch
-0f1a1be10a038e6d30976f060c271e926f8f6b0541af7044f1b0ac2641825fc784ce3e3ff6ca13f3a5d15bbcd355a0999b60d4aa6f30c7b75254ca0edcaccc4d cpp-compat.patch
-331bd0442b400407d690cce4a90aac09acf64e1a26f9951dc1d1332cc29916987d34cc13bc13e84482c6950908cedad50f6aaf325f99118d769bb1286dd4db1b double-stack-size.patch
-090b685f6846b1cf4c266cbc982701283c7e30ddcbb1d3d263d50f83645ed168530db4bc03b6b688e46a32ac7ad09f0cd3f0e94f5c1a39e86d904f010353d91e m4-installation.patch
-06ca61de36d41ad9545c7c60e54fe0fe77eb67bb4902679f2828e7a14ad01cfc244b7b136e31debbb60d9dc9b4101b4f0463d46f95c263939017fd38fbe31b19 dynamic.patch"
+sha512sums="a318135626a0403a30a81fa475f7e1878b8af5a87053b0e00876c73b591508f3cf1e66d01f8d6a45013d1dc36a4da9f21fbf2b5050676826cb618b5b659aaaf7 gettext-tiny-0.3.1_git20191130.tar.xz
+8efbf9c11429ab26f3c15e00c34258200598833b8f846a23e4c8d95023c2184d9dcf9cbb48d58eec1604442691af76e6f8e904ad7348016c393257aa30eae7cd keyword.patch
+0a26a8481bffe2ce8c73f7f500963aea9db8379fb87849142d8efabf1656604b22f6ad345483256f14c388466f2f44e5924b9f65d88f26867a753a96d1529270 line-length.patch
+b4e7db4e415f6bc31f2214f2044506ad18ea0bd3cae4200d93bbd34aa493c7478a7f953d0a7e08f29f0fd5a5d7b7cbfa2bcfd5692c37e423706a1c193239bf1d respect-cflags.patch
+cd4cfc8cc6ea998f1e33ef666e3b9c3de3f3253994bccc942b177773c94f785e3892cb7d5f34bec1102dc7558236c07c5eac90e15d755e12ee06836336373526 stop-doing-macro-crap.patch"
diff --git a/system/gettext-tiny/cpp-compat.patch b/system/gettext-tiny/cpp-compat.patch
deleted file mode 100644
index e47c59695..000000000
--- a/system/gettext-tiny/cpp-compat.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- gettext-tiny-0.3.0_pre1/include/libintl.h.old 2018-06-21 19:55:29.646162973 -0500
-+++ gettext-tiny-0.3.0_pre1/include/libintl.h 2018-06-21 19:56:16.886116203 -0500
-@@ -1,6 +1,9 @@
- #ifndef LIBINTL_H
- #define LIBINTL_H
-
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- char *gettext(const char *msgid);
- char *dgettext(const char *domainname, const char *msgid);
- char *dcgettext(const char *domainname, const char *msgid, int category);
-@@ -11,6 +14,9 @@
- char *textdomain(const char *domainname);
- char *bind_textdomain_codeset(const char *domainname, const char *codeset);
- char *bindtextdomain(const char *domainname, const char *dirname);
-+#ifdef __cplusplus
-+}
-+#endif
-
- #undef gettext_noop
- #define gettext_noop(X) X
diff --git a/system/gettext-tiny/double-stack-size.patch b/system/gettext-tiny/double-stack-size.patch
deleted file mode 100644
index 275f477e9..000000000
--- a/system/gettext-tiny/double-stack-size.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Seen in the Dzongkha translation of GConf 3.2.6:
-
- /bin/sh: line 1: 25453 Aborted /usr/bin/msgfmt -o $file dz.po
-
-This is what we expect to see having a short read of the line; the line in
-question is 4,279 bytes long.
-
---- gettext-tiny-0.3.0_pre1/src/msgfmt.c.old 2018-06-21 04:47:19.927932643 +0000
-+++ gettext-tiny-0.3.0_pre1/src/msgfmt.c 2018-07-12 01:23:59.250000000 +0000
-@@ -370,8 +370,8 @@
-
- int process(FILE *in, FILE *out) {
- struct mo_hdr mohdr = def_hdr;
-- char line[4096]; char *lp;
-- char convbuf[16384];
-+ char line[8448]; char *lp;
-+ char convbuf[33792];
-
- struct callbackdata d = {
- .num = {
diff --git a/system/gettext-tiny/dynamic.patch b/system/gettext-tiny/dynamic.patch
deleted file mode 100644
index aa027d155..000000000
--- a/system/gettext-tiny/dynamic.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-GDB/symbol splitting doesn't work on static binaries.
-
-For debugability, build dynamic.
---- gettext-tiny-0.3.0_pre1/Makefile.old 2018-07-25 23:41:05.120000000 +0000
-+++ gettext-tiny-0.3.0_pre1/Makefile 2018-07-25 23:42:51.350000000 +0000
-@@ -62,10 +62,10 @@
- $(RANLIB) $@
-
- msgmerge: $(OBJS)
-- $(CC) $(LDFLAGS) -static -o $@ src/msgmerge.o $(PARSEROBJS)
-+ $(CC) $(LDFLAGS) -o $@ src/msgmerge.o $(PARSEROBJS)
-
- msgfmt: $(OBJS)
-- $(CC) $(LDFLAGS) -static -o $@ src/msgfmt.o $(PARSEROBJS)
-+ $(CC) $(LDFLAGS) -o $@ src/msgfmt.o $(PARSEROBJS)
-
- xgettext:
- cp src/xgettext.sh ./xgettext
diff --git a/system/gettext-tiny/keyword.patch b/system/gettext-tiny/keyword.patch
new file mode 100644
index 000000000..417f8c80a
--- /dev/null
+++ b/system/gettext-tiny/keyword.patch
@@ -0,0 +1,13 @@
+diff --git a/src/msgfmt.c b/src/msgfmt.c
+index 1120ff6..f75ab8b 100644
+--- a/src/msgfmt.c
++++ b/src/msgfmt.c
+@@ -333,6 +333,8 @@ int main(int argc, char**argv) {
+ mode = m_desktop;
+ } else if(streq(A+2, "xml")) {
+ mode = m_xml;
++ } else if(streq(A+2, "keyword")) {
++ arg++;
+ } else if((locale = strstarts(A+2, "locale="))) {
+ } else if(streq(A+2, "check")) {
+ strict = true;
diff --git a/system/gettext-tiny/line-length.patch b/system/gettext-tiny/line-length.patch
new file mode 100644
index 000000000..0ba978197
--- /dev/null
+++ b/system/gettext-tiny/line-length.patch
@@ -0,0 +1,15 @@
+https://github.com/sabotage-linux/gettext-tiny/issues/50
+
+We're losing the battle of the bulge; someone really should make this use malloc.
+
+--- gettext-tiny-0.3.1_git20191130/src/msgfmt.c.old 2020-01-14 08:03:11.000000000 +0000
++++ gettext-tiny-0.3.1_git20191130/src/msgfmt.c 2020-01-21 18:58:28.257709860 +0000
+@@ -160,7 +160,7 @@
+
+ int process(FILE *in, FILE *out, bool strict) {
+ struct mo_hdr mohdr = def_hdr;
+- char line[8192]; char *lp;
++ char line[12288]; char *lp;
+ size_t off, i;
+ enum po_error t;
+ char convbuf[32768];
diff --git a/system/gettext-tiny/m4-installation.patch b/system/gettext-tiny/m4-installation.patch
deleted file mode 100644
index f55a03b08..000000000
--- a/system/gettext-tiny/m4-installation.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-From 7698cca6d5634ce0de4bb382e0535e1f02d7fb17 Mon Sep 17 00:00:00 2001
-From: xhe <xw897002528@gmail.com>
-Date: Sat, 14 Jul 2018 18:45:45 +0800
-Subject: [PATCH] install: symlink m4 files to $(dataroot)/aclocal follow
- https://github.com/sabotage-linux/gettext-tiny/issues/27.
-
-According to @awilfox, GNU gettext will install m4 files to aclocal dir.
-But gettext-tiny did not. So autoreconf just stops working and complains
-that it can not find needed macros.
-
-Suggested by rofl0r, symlinking all m4 files into $(dataroot)/aclocal is
-a good idea. Save a little disk space.
----
- Makefile | 22 ++++++++++++---------
- install.sh | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 80 insertions(+), 9 deletions(-)
- create mode 100644 install.sh
-
-diff --git a/Makefile b/Makefile
-index 7842c0f..927d02e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -3,7 +3,9 @@ bindir=$(prefix)/bin
- includedir=$(prefix)/include
- libdir=$(prefix)/lib
- sysconfdir=$(prefix)/etc
--datadir=$(prefix)/share/gettext-tiny
-+datarootdir=$(prefix)/share
-+datadir=$(datarootdir)/gettext-tiny
-+acdir=$(datarootdir)/aclocal
-
- ifeq ($(LIBINTL), MUSL)
- LIBSRC = libintl/libintl-musl.c
-@@ -36,13 +38,15 @@ AR ?= $(CROSS_COMPILE)ar
- RANLIB ?= $(CROSS_COMPILE)ranlib
- CC ?= $(CROSS_COMPILE)cc
-
-+INSTALL ?= ./install.sh
-+
- -include config.mak
-
- BUILDCFLAGS=$(CFLAGS)
-
- all: $(ALL_LIBS) $(ALL_TOOLS)
-
--install: $(ALL_LIBS:lib%=$(DESTDIR)$(libdir)/lib%) $(ALL_INCLUDES:%=$(DESTDIR)$(includedir)/%) $(ALL_TOOLS:%=$(DESTDIR)$(bindir)/%) $(ALL_M4S:%=$(DESTDIR)$(datadir)/%) $(ALL_DATA:%=$(DESTDIR)$(datadir)/%)
-+install: $(ALL_LIBS:lib%=$(DESTDIR)$(libdir)/lib%) $(ALL_INCLUDES:%=$(DESTDIR)$(includedir)/%) $(ALL_TOOLS:%=$(DESTDIR)$(bindir)/%) $(ALL_M4S:%=$(DESTDIR)$(datadir)/%) $(ALL_M4S:%=$(DESTDIR)$(acdir)/%) $(ALL_DATA:%=$(DESTDIR)$(datadir)/%)
-
- clean:
- rm -f $(ALL_LIBS)
-@@ -70,18 +74,18 @@ autopoint: src/autopoint.in
- cat $< | sed 's,@datadir@,$(datadir),' > $@
-
- $(DESTDIR)$(libdir)/%.a: %.a
-- install -D -m 755 $< $@
-+ $(INSTALL) -D -m 755 $< $@
-
- $(DESTDIR)$(includedir)/%.h: include/%.h
-- install -D -m 644 $< $@
-+ $(INSTALL) -D -m 644 $< $@
-
- $(DESTDIR)$(bindir)/%: %
-- install -D -m 755 $< $@
-+ $(INSTALL) -D -m 755 $< $@
-
- $(DESTDIR)$(datadir)/%: %
-- install -D -m 644 $< $@
--
--.PHONY: all clean install
--
-+ $(INSTALL) -D -m 644 $< $@
-
-+$(DESTDIR)$(acdir)/%: %
-+ $(INSTALL) -D -l ../$(subst $(datarootdir)/,,$(datadir))/$< $(subst m4/,,$@)
-
-+.PHONY: all clean install
-diff --git a/install.sh b/install.sh
-new file mode 100755
-index 0000000..0410883
---- /dev/null
-+++ b/install.sh
-@@ -0,0 +1,67 @@
-+#!/bin/sh
-+#
-+# Written by Rich Felker, originally as part of musl libc.
-+# Multi-licensed under MIT, 0BSD, and CC0.
-+#
-+# This is an actually-safe install command which installs the new
-+# file atomically in the new location, rather than overwriting
-+# existing files.
-+#
-+
-+usage() {
-+printf "usage: %s [-D] [-l] [-m mode] src dest\n" "$0" 1>&2
-+exit 1
-+}
-+
-+mkdirp=
-+symlink=
-+mode=755
-+
-+while getopts Dlm: name ; do
-+case "$name" in
-+D) mkdirp=yes ;;
-+l) symlink=yes ;;
-+m) mode=$OPTARG ;;
-+?) usage ;;
-+esac
-+done
-+shift $(($OPTIND - 1))
-+
-+test "$#" -eq 2 || usage
-+src=$1
-+dst=$2
-+tmp="$dst.tmp.$$"
-+
-+case "$dst" in
-+*/) printf "%s: %s ends in /\n", "$0" "$dst" 1>&2 ; exit 1 ;;
-+esac
-+
-+set -C
-+set -e
-+
-+if test "$mkdirp" ; then
-+umask 022
-+case "$2" in
-+*/*) mkdir -p "${dst%/*}" ;;
-+esac
-+fi
-+
-+trap 'rm -f "$tmp"' EXIT INT QUIT TERM HUP
-+
-+umask 077
-+
-+if test "$symlink" ; then
-+ln -s "$1" "$tmp"
-+else
-+cat < "$1" > "$tmp"
-+chmod "$mode" "$tmp"
-+fi
-+
-+mv -f "$tmp" "$2"
-+test -d "$2" && {
-+rm -f "$2/$tmp"
-+printf "%s: %s is a directory\n" "$0" "$dst" 1>&2
-+exit 1
-+}
-+
-+exit 0
diff --git a/system/gettext-tiny/omg-i-cant-believe-im-doing-ua-crap.patch b/system/gettext-tiny/omg-i-cant-believe-im-doing-ua-crap.patch
deleted file mode 100644
index ced35e74b..000000000
--- a/system/gettext-tiny/omg-i-cant-believe-im-doing-ua-crap.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-It turns out CMake requires the format to be:
-
-^msgmerge \(.*\) (gettext-version-number-here)
-
-So, this fixes CMake's test suite, and properly sets GETTEXT_VERSION_STRING
-to be the same as the m4 scripts shipped.
-
---- gettext-tiny-0.3.0_pre1/src/msgmerge.c.old 2018-06-20 23:47:19.927932643 -0500
-+++ gettext-tiny-0.3.0_pre1/src/msgmerge.c 2018-06-20 23:55:12.997464272 -0500
-@@ -18,7 +18,7 @@
- __attribute__((noreturn))
- static void version(void) {
- fprintf(stdout,
-- "these are not (GNU gettext-tools) 99.9999.9999\n");
-+ "msgmerge (GNU gettext-tools compatible) 99.9999.9999\n");
- exit(0);
- }
-
diff --git a/system/gettext-tiny/respect-cflags.patch b/system/gettext-tiny/respect-cflags.patch
index b949371c4..dd1cf3fe2 100644
--- a/system/gettext-tiny/respect-cflags.patch
+++ b/system/gettext-tiny/respect-cflags.patch
@@ -1,8 +1,8 @@
--- gettext-tiny-0.2.0/Makefile.old 2017-08-02 06:14:20.000000000 -0500
+++ gettext-tiny-0.2.0/Makefile 2018-06-16 21:21:57.148735892 -0500
-@@ -29,7 +29,7 @@
- ALL_TOOLS=msgfmt msgmerge xgettext autopoint
+@@ -32,7 +32,7 @@
ALL_M4S=$(sort $(wildcard m4/*.m4))
+ ALL_DATA=$(sort $(wildcard data/*))
-CFLAGS=-O0 -fPIC
+CFLAGS ?= -O0 -fPIC
diff --git a/system/gettext-tiny/stop-doing-macro-crap.patch b/system/gettext-tiny/stop-doing-macro-crap.patch
index 8886b4eb5..277bc7ae7 100644
--- a/system/gettext-tiny/stop-doing-macro-crap.patch
+++ b/system/gettext-tiny/stop-doing-macro-crap.patch
@@ -1,6 +1,6 @@
--- gettext-tiny-0.2.0/include/libintl.h.old 2017-08-02 06:14:20.000000000 -0500
+++ gettext-tiny-0.2.0/include/libintl.h 2018-06-15 02:31:14.241446687 -0500
-@@ -15,14 +15,14 @@
+@@ -34,14 +34,14 @@
#undef gettext_noop
#define gettext_noop(X) X