diff options
author | Giovanni Santini | 2015-07-15 14:08:47 +0200 |
---|---|---|
committer | Giovanni Santini | 2015-07-15 14:08:47 +0200 |
commit | 04a7f7d78717d8aafc6fcc0e29f148898ec89c51 (patch) | |
tree | 14c65faf63fa7000b25c10a26876d809cd5af40d | |
download | aur-04a7f7d78717d8aafc6fcc0e29f148898ec89c51.tar.gz |
Initial AUR release
-rw-r--r-- | .SRCINFO | 28 | ||||
-rw-r--r-- | PKGBUILD | 56 | ||||
-rw-r--r-- | fix_buggy_msgunfmt3.patch | 76 | ||||
-rw-r--r-- | gettext.install | 22 |
4 files changed, 182 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..e4a263dd2da6 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,28 @@ +pkgbase = gettext-java + pkgdesc = GNU internationalization library - Java libraries + pkgver = 0.19.4 + pkgrel = 1 + url = http://www.gnu.org/software/gettext/ + install = gettext.install + arch = i686 + arch = x86_64 + groups = base + groups = base-devel + license = GPL + makedepends = java-environment + depends = gcc-libs + depends = acl + depends = sh + depends = glib2 + depends = libunistring + optdepends = git: for autopoint infrastructure updates + options = !docs + source = ftp://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.4.tar.gz + source = ftp://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.4.tar.gz.sig + source = fix_buggy_msgunfmt3.patch + md5sums = d3511af1e604a3478900d2c2b4a4a48e + md5sums = SKIP + md5sums = d80847a08b5c6566a3ef940c52347d37 + +pkgname = gettext-java + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..9c6f171638c8 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: Giovanni Santini <giovannisantini93@yahoo.it> +# Based mainly on original 'gettext' PKGBUILD + +pkgname=gettext-java +_pkgbase=gettext +pkgver=0.19.4 +pkgrel=1 +pkgdesc="GNU internationalization library - Java libraries" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/gettext/" +license=('GPL') +groups=('base' 'base-devel') +depends=('gcc-libs' 'acl' 'sh' 'glib2' 'libunistring') +makedepends=('java-environment') +optdepends=('git: for autopoint infrastructure updates') +options=(!docs) +install=gettext.install +source=(ftp://ftp.gnu.org/pub/gnu/gettext/${_pkgbase}-${pkgver}.tar.gz{,.sig} + fix_buggy_msgunfmt3.patch) +md5sums=('d3511af1e604a3478900d2c2b4a4a48e' + 'SKIP' + 'd80847a08b5c6566a3ef940c52347d37') +validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # Daiki Ueno + +prepare() { + # Fixing an error in 'make check', see patch headers + cd "${srcdir}/${_pkgbase}-${pkgver}" + patch -Np1 -i "$srcdir/fix_buggy_msgunfmt3.patch" + + # Do a dirty installation: install files in a temporary + # directory and install them there, then package just new stuff + mkdir -p "${srcdir}/temp" +} + +build() { + cd "${srcdir}/${_pkgbase}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}/${_pkgbase}-${pkgver}" + make -j1 -k check +} + +package() { + cd "${srcdir}/${_pkgbase}-${pkgver}" + # New stuff from here + # Install in the junk directory, not pkgdir + make DESTDIR="${srcdir}/temp" install + # Now move just what we need + install -Dm644 "${srcdir}/temp/usr/share/gettext/gettext.jar" "$pkgdir/usr/share/gettext/gettext.jar" + install -Dm644 "${srcdir}/temp/usr/share/gettext/libintl.jar" "$pkgdir/usr/share/gettext/libintl.jar" + # Remove junk directory + rm -r "${srcdir}/temp/" +} diff --git a/fix_buggy_msgunfmt3.patch b/fix_buggy_msgunfmt3.patch new file mode 100644 index 000000000000..2aea9a5ee0b8 --- /dev/null +++ b/fix_buggy_msgunfmt3.patch @@ -0,0 +1,76 @@ +From: Giovanni Santini <giovannisantini93@yahoo.it> +Just fixed the patch for building against official PKGBUILD. +See below for original patch infos. + +From 5d3eeaa0d3b7f4f6932bd29d859925a940b69459 Mon Sep 17 00:00:00 2001 +From: Daiki Ueno <ueno@gnu.org> +Date: Wed, 11 Mar 2015 07:18:26 +0000 +Subject: msgunfmt: Check allocated size for static segment + +Reported by Max Lin in: +http://lists.gnu.org/archive/html/bug-gettext/2015-03/msg00005.html +* read-mo.c (get_sysdep_string): Check if the embedded segment +size is valid, before adding it to the string length. +--- +diff -ur a/gettext-tools/src/ChangeLog b/gettext-tools/src/ChangeLog +--- a/gettext-tools/src/ChangeLog 2014-12-24 07:32:59.000000000 +0100 ++++ b/gettext-tools/src/ChangeLog 2015-07-15 11:10:47.253402348 +0200 +@@ -1,3 +1,11 @@ ++2015-03-11 Daiki Ueno <ueno@gnu.org> ++ ++ msgunfmt: Check allocated size for static segment ++ Reported by Max Lin in: ++ http://lists.gnu.org/archive/html/bug-gettext/2015-03/msg00005.html ++ * read-mo.c (get_sysdep_string): Check if the embedded segment ++ size is valid, before adding it to the string length. ++ + 2014-12-24 Daiki Ueno <ueno@gnu.org> + + * gettext 0.19.4 released. +diff -ur a/gettext-tools/src/read-mo.c b/gettext-tools/src/read-mo.c +--- a/gettext-tools/src/read-mo.c 2014-12-09 09:43:46.000000000 +0100 ++++ b/gettext-tools/src/read-mo.c 2015-07-15 11:15:24.563676393 +0200 +@@ -149,6 +149,7 @@ + nls_uint32 s_offset; + + /* Compute the length. */ ++ s_offset = get_uint32 (bfp, offset); + length = 0; + for (i = 4; ; i += 8) + { +@@ -158,9 +159,14 @@ + nls_uint32 ss_length; + nls_uint32 ss_offset; + size_t ss_end; ++ size_t s_end; + size_t n; + ++ s_end = xsum (s_offset, segsize); ++ if (size_overflow_p (s_end) || s_end > bfp->size) ++ error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename); + length += segsize; ++ s_offset += segsize; + + if (sysdepref == SEGMENTS_END) + break; +@@ -175,7 +181,7 @@ + ss_end = xsum (ss_offset, ss_length); + if (size_overflow_p (ss_end) || ss_end > bfp->size) + error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename); +- if (!(ss_length > 0 && bfp->data[ss_offset + ss_length - 1] == '\0')) ++ if (!(ss_length > 0 && bfp->data[ss_end - 1] == '\0')) + { + char location[30]; + sprintf (location, "sysdep_segment[%u]", (unsigned int) sysdepref); +@@ -198,11 +204,8 @@ + nls_uint32 sysdep_segment_offset; + nls_uint32 ss_length; + nls_uint32 ss_offset; +- size_t s_end = xsum (s_offset, segsize); + size_t n; + +- if (size_overflow_p (s_end) || s_end > bfp->size) +- error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename); + memcpy (p, bfp->data + s_offset, segsize); + p += segsize; + s_offset += segsize; diff --git a/gettext.install b/gettext.install new file mode 100644 index 000000000000..0ff52942fd09 --- /dev/null +++ b/gettext.install @@ -0,0 +1,22 @@ +infodir=/usr/share/info +filelist=(gettext.info.gz autosprintf.info.gz) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +} + +# vim:set ts=2 sw=2 et: |