summaryrefslogtreecommitdiff
path: root/libre-testing/gettext
diff options
context:
space:
mode:
authorBruno Cichon <ebrasca@librepanther.com>2018-10-01 01:51:03 +0200
committerBruno Cichon <ebrasca@librepanther.com>2018-10-01 01:51:03 +0200
commit56f955aca6231693fe797de4793f77ed58ab116e (patch)
tree17daeabce98174f288bab94b47961dc9e9931e66 /libre-testing/gettext
parent75ff40baa049bae7e9270d20ef86a88b733006ab (diff)
downloadabslibre-56f955aca6231693fe797de4793f77ed58ab116e.tar.gz
abslibre-56f955aca6231693fe797de4793f77ed58ab116e.tar.bz2
abslibre-56f955aca6231693fe797de4793f77ed58ab116e.zip
Add some base packages for ppc64le
Diffstat (limited to 'libre-testing/gettext')
-rw-r--r--libre-testing/gettext/PKGBUILD50
-rw-r--r--libre-testing/gettext/gettext-0.19.8-its-segfault.patch43
2 files changed, 93 insertions, 0 deletions
diff --git a/libre-testing/gettext/PKGBUILD b/libre-testing/gettext/PKGBUILD
new file mode 100644
index 000000000..dedc2f11b
--- /dev/null
+++ b/libre-testing/gettext/PKGBUILD
@@ -0,0 +1,50 @@
+# Maintainer:
+
+pkgname=gettext
+pkgver=0.19.8.1
+pkgrel=2
+pkgdesc="GNU internationalization library"
+url="https://www.gnu.org/software/gettext/"
+arch=(x86_64 ppc64le)
+license=(GPL)
+groups=(base base-devel)
+depends=(gcc-libs acl sh glib2 libunistring libcroco)
+makedepends=(gettext emacs git)
+optdepends=('git: for autopoint infrastructure updates')
+options=(!docs)
+source=(https://ftp.gnu.org/pub/gnu/gettext/$pkgname-$pkgver.tar.gz{,.sig}
+ gettext-0.19.8-its-segfault.patch)
+sha256sums=('ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43'
+ 'SKIP'
+ '0e3b19ea94e956a6a484ca4c4ecea32a01a83f10a413e586183de464c51f158d')
+validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # Daiki Ueno
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np1 -i ../gettext-0.19.8-its-segfault.patch
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --enable-csharp \
+ --enable-nls \
+ --with-xz \
+ --without-included-gettext
+
+ sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' \
+ -i gettext-{tools,runtime,runtime/libasprintf}/libtool
+
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/libre-testing/gettext/gettext-0.19.8-its-segfault.patch b/libre-testing/gettext/gettext-0.19.8-its-segfault.patch
new file mode 100644
index 000000000..430719f65
--- /dev/null
+++ b/libre-testing/gettext/gettext-0.19.8-its-segfault.patch
@@ -0,0 +1,43 @@
+From a0cab23332a254e3500cac2a3a984472d02180e5 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Fri, 9 Dec 2016 21:04:31 +0100
+Subject: [PATCH] Fix crash of xgettext with --its option.
+
+* gettext-tools/src/xgettext.c (main): Free contents of its_dirs only when it
+was initialized. Fixes bug introduced on 2016-05-16.
+---
+ gettext-tools/src/xgettext.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/gettext-tools/src/xgettext.c b/gettext-tools/src/xgettext.c
+index f848d76d1..a80ee51ac 100644
+--- a/gettext-tools/src/xgettext.c
++++ b/gettext-tools/src/xgettext.c
+@@ -330,7 +330,7 @@ main (int argc, char *argv[])
+ bool sort_by_msgid = false;
+ bool sort_by_filepos = false;
+ char **dirs;
+- char **its_dirs;
++ char **its_dirs = NULL;
+ char *explicit_its_filename = NULL;
+ const char *file_name;
+ const char *files_from = NULL;
+@@ -1016,9 +1016,12 @@ warning: file '%s' extension '%s' is unknown; will try C"), filename, extension)
+ if (its_locating_rules)
+ locating_rule_list_free (its_locating_rules);
+
+- for (i = 0; its_dirs[i] != NULL; i++)
+- free (its_dirs[i]);
+- free (its_dirs);
++ if (its_dirs != NULL)
++ {
++ for (i = 0; its_dirs[i] != NULL; i++)
++ free (its_dirs[i]);
++ free (its_dirs);
++ }
+
+ exit (EXIT_SUCCESS);
+ }
+--
+2.14.3
+