summaryrefslogtreecommitdiffstats
path: root/abs/core/intltool
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/intltool')
-rw-r--r--abs/core/intltool/PKGBUILD24
-rw-r--r--abs/core/intltool/intltool-0.51.0-perl-5.26.patch51
-rw-r--r--abs/core/intltool/intltool-merge-Create-cache-file-atomically.patch38
-rw-r--r--abs/core/intltool/intltool_distcheck-fix.patch30
4 files changed, 137 insertions, 6 deletions
diff --git a/abs/core/intltool/PKGBUILD b/abs/core/intltool/PKGBUILD
index 3ddeaaf..36e18b7 100644
--- a/abs/core/intltool/PKGBUILD
+++ b/abs/core/intltool/PKGBUILD
@@ -1,19 +1,31 @@
-# $Id$
# Maintainer: Eric BĂ©langer <eric@archlinux.org>
pkgname=intltool
pkgver=0.51.0
-pkgrel=1
+pkgrel=4
pkgdesc="The internationalization tool collection"
arch=('any')
-url="https://edge.launchpad.net/intltool"
+url="https://launchpad.net/intltool"
license=('GPL')
depends=('perl-xml-parser')
-source=(http://launchpad.net/intltool/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz{,.asc})
-sha1sums=('a0c3bcb99d1bcfc5db70f8d848232a47c47da090'
- 'SKIP')
+source=(https://launchpad.net/intltool/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz{,.asc}
+ intltool-0.51.0-perl-5.26.patch
+ intltool-merge-Create-cache-file-atomically.patch
+ intltool_distcheck-fix.patch)
+sha256sums=('67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd'
+ 'SKIP'
+ '458f5d53ac358810879080f69b11649901babcacc14471c243eb850e9436d546'
+ '13bd6deb65dc94933f132919d4eea4c24354d7c1c1c9e5930cb6e70c75703763'
+ '58cb7d60796bc69c7d0865f106feb589d0271619e62f8741bff6f5ce1a2615ff')
validpgpkeys=('9EBD001680E8C8F9FAC61A9BE1A701D4C9DE75B5')
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -Np1 -i ../intltool-0.51.0-perl-5.26.patch
+ patch -Np1 -i ../intltool-merge-Create-cache-file-atomically.patch
+ patch -Np1 -i ../intltool_distcheck-fix.patch
+}
+
build() {
cd ${pkgname}-${pkgver}
./configure --prefix=/usr
diff --git a/abs/core/intltool/intltool-0.51.0-perl-5.26.patch b/abs/core/intltool/intltool-0.51.0-perl-5.26.patch
new file mode 100644
index 0000000..8f6a0b3
--- /dev/null
+++ b/abs/core/intltool/intltool-0.51.0-perl-5.26.patch
@@ -0,0 +1,51 @@
+diff -Naur intltool-0.51.0.orig/intltool-update.in intltool-0.51.0/intltool-update.in
+--- intltool-0.51.0.orig/intltool-update.in 2015-03-09 02:39:54.000000000 +0100
++++ intltool-0.51.0/intltool-update.in 2017-07-21 22:35:10.613631420 +0200
+@@ -1062,13 +1062,13 @@
+ }
+ }
+
+- if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/)
++ if ($str =~ /^(.*)\$\{?([A-Z_]+)}?(.*)$/)
+ {
+ my $rest = $3;
+ my $untouched = $1;
+ my $sub = "";
+ # Ignore recursive definitions of variables
+- $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/;
++ $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\$\{?$2}?/;
+
+ return SubstituteVariable ("$untouched$sub$rest");
+ }
+@@ -1190,10 +1190,10 @@
+ $name =~ s/\(+$//g;
+ $version =~ s/\(+$//g;
+
+- $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/);
+- $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/);
+- $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/);
+- $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/);
++ $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/);
++ $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/);
++ $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/);
++ $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/);
+ }
+
+ if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)[,]?([^,\)]+)?/m)
+@@ -1219,11 +1219,11 @@
+ $version =~ s/\(+$//g;
+ $bugurl =~ s/\(+$//g if (defined $bugurl);
+
+- $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/);
+- $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/);
+- $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/);
+- $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/);
+- $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\${?\w+}?/);
++ $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/);
++ $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/);
++ $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/);
++ $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/);
++ $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\$\{?\w+}?/);
+ }
+
+ # \s makes this not work, why?
diff --git a/abs/core/intltool/intltool-merge-Create-cache-file-atomically.patch b/abs/core/intltool/intltool-merge-Create-cache-file-atomically.patch
new file mode 100644
index 0000000..677ea45
--- /dev/null
+++ b/abs/core/intltool/intltool-merge-Create-cache-file-atomically.patch
@@ -0,0 +1,38 @@
+From d328542bea50b9445c63cdf2454052392282a1ce Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Thu, 8 Oct 2015 16:25:47 -0400
+Subject: [PATCH] intltool-merge: Create cache file atomically
+
+It's going to be relatively common for build systems operating in
+parallel to run multiple copies of `intltool-merge`, yet the cache
+file is not created atomically (i.e. with the "open .tmp file and
+rename()" dance).
+
+I suspect (but have not yet determined conclusively) this is the cause
+of some systemd build issues where translations don't appear in the
+merged file.
+
+Regardless, this patch can't hurt.
+---
+ intltool-merge.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/intltool-merge.in b/intltool-merge.in
+index 1afa2a4..d1eba8f 100644
+--- a/intltool-merge.in
++++ b/intltool-merge.in
+@@ -371,9 +371,10 @@ sub create_cache
+
+ &create_translation_database;
+
+- open CACHE, ">$cache_file" || die;
++ open CACHE, ">$cache_file" . ".tmp" || die;
+ print CACHE join "\x01", %translations;
+ close CACHE;
++ rename("$cache_file" . ".tmp", "$cache_file");
+ }
+
+ sub load_cache
+--
+1.8.3.1
+
diff --git a/abs/core/intltool/intltool_distcheck-fix.patch b/abs/core/intltool/intltool_distcheck-fix.patch
new file mode 100644
index 0000000..6e7f198
--- /dev/null
+++ b/abs/core/intltool/intltool_distcheck-fix.patch
@@ -0,0 +1,30 @@
+diff -upr intltool-0.51.0-orig/intltool-update.in intltool-0.51.0/intltool-update.in
+--- intltool-0.51.0-orig/intltool-update.in 2016-07-29 14:08:06.276987000 +0200
++++ intltool-0.51.0/intltool-update.in 2016-07-29 14:11:09.562126918 +0200
+@@ -620,6 +620,14 @@ sub FindLeftoutFiles
+
+ my @result;
+
++ # If the builddir is a subdir of srcdir, the list of files found will be prefixed with
++ # an additional prefix (e.g. "_build/sub" for automake 1.15 make distcheck). Try to
++ # handle that, by removing those matches as well.
++ my $absbuilddir = Cwd::abs_path("..\/");
++ my $abssrcdir = Cwd::abs_path("$SRCDIR/..");
++ # Check if builddir is a subdir of srcdir
++ my ($abspath,$relpath) = split /\s*$abssrcdir\/\s*/, $absbuilddir, 2;
++
+ foreach (@buf_allfiles_sorted)
+ {
+ my $dummy = $_;
+@@ -628,7 +636,10 @@ sub FindLeftoutFiles
+ $srcdir =~ s#^../##;
+ $dummy =~ s#^$srcdir/../##;
+ $dummy =~ s#^$srcdir/##;
+- $dummy =~ s#_build/##;
++ if ($relpath)
++ {
++ $dummy =~ s#^$relpath/##;
++ }
+ if (!exists($in2{$dummy}))
+ {
+ push @result, $dummy