* [bug#27360] [core-updates] gnu: intltool: Fix a compatibility issue with Perl 5.26.0. @ 2017-06-14 15:44 Leo Famulari 2017-06-14 16:03 ` Leo Famulari 0 siblings, 1 reply; 6+ messages in thread From: Leo Famulari @ 2017-06-14 15:44 UTC (permalink / raw) To: 27360 * gnu/packages/patches/intltool-perl-compatibility.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/glib.scm (intltool)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/glib.scm | 1 + .../patches/intltool-perl-compatibility.patch | 51 ++++++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 gnu/packages/patches/intltool-perl-compatibility.patch diff --git a/gnu/local.mk b/gnu/local.mk index e30fa34ef..93dda46d0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -677,6 +677,7 @@ dist_patch_DATA = \ %D%/packages/patches/icu4c-reset-keyword-list-iterator.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ + %D%/packages/patches/intltool-perl-compatibility.patch.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jbig2dec-CVE-2016-9601.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index fcd1daf5e..926703e15 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -347,6 +347,7 @@ bindings to call into the C library.") (uri (string-append "https://launchpad.net/intltool/trunk/" version "/+download/intltool-" version ".tar.gz")) + (patches (search-patches "intltool-perl-compatibility.patch")) (sha256 (base32 "1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7")))) diff --git a/gnu/packages/patches/intltool-perl-compatibility.patch b/gnu/packages/patches/intltool-perl-compatibility.patch new file mode 100644 index 000000000..5fc5d507d --- /dev/null +++ b/gnu/packages/patches/intltool-perl-compatibility.patch @@ -0,0 +1,51 @@ +This patch fixes a compatibility issue with Perl 5.26.0: + +https://bugs.launchpad.net/intltool/+bug/1696658 + +Copied from 3rd-party repository: + +https://github.com/Alexpux/MSYS2-packages/blob/master/intltool/perl-5.22-compatibility.patch + +--- intltool-0.51.0.orig/intltool-update.in 2015-03-09 02:39:54.000000000 +0100 ++++ intltool-0.51.0.orig/intltool-update.in 2015-06-19 01:52:07.171228154 +0200 +@@ -1062,7 +1062,7 @@ + } + } + +- if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/) ++ if ($str =~ /^(.*)\$\{?([A-Z_]+)}?(.*)$/) + { + my $rest = $3; + my $untouched = $1; +@@ -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? -- 2.13.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#27360] [core-updates] gnu: intltool: Fix a compatibility issue with Perl 5.26.0. 2017-06-14 15:44 [bug#27360] [core-updates] gnu: intltool: Fix a compatibility issue with Perl 5.26.0 Leo Famulari @ 2017-06-14 16:03 ` Leo Famulari 2017-06-15 8:06 ` Ludovic Courtès 2017-06-29 6:27 ` Leo Famulari 0 siblings, 2 replies; 6+ messages in thread From: Leo Famulari @ 2017-06-14 16:03 UTC (permalink / raw) To: 27360 [-- Attachment #1: Type: text/plain, Size: 1689 bytes --] On Wed, Jun 14, 2017 at 11:44:59AM -0400, Leo Famulari wrote: > * gnu/packages/patches/intltool-perl-compatibility.patch: New file. > * gnu/local.mk (dist_patch_DATA): Add it. > * gnu/packages/glib.scm (intltool)[source]: Use it. Hm, seems this patch only fixes the build of glib. With this patch applied, at-spi2-core fails like this: ------ starting phase `check' process 4420: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/etc/machine-id": No such file or directory See the manual page for dbus-uuidgen to correct this issue. Making check in po make[1]: Entering directory '/tmp/guix-build-at-spi2-core-2.24.1.drv-0/at-spi2-core-2.24.1/po' INTLTOOL_EXTRACT="/gnu/store/cgk7q1rix13xqdwnlf6bv19crkkcsn04-intltool-0.51.0/bin/intltool-extract" XGETTEXT="/gnu/store/rdmn68786vmi67g4rn4scj0993lqjgbb-gettext-minimal-0.19.8.1/bin/xgettext" srcdir=. /gnu/store/cgk7q1rix13xqdwnlf6bv19crkkcsn04-intltool-0.51.0/bin/intltool-update --gettext-package at-spi2-core --pot rm -f missing notexist srcdir=. /gnu/store/cgk7q1rix13xqdwnlf6bv19crkkcsn04-intltool-0.51.0/bin/intltool-update -m Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ?PACKAGE}?/ at /gnu/store/cgk7q1rix13xqdwnlf6bv19crkkcsn04-intltool-0.51.0/bin/intltool-update line 1071, <CONF> line 229. make[1]: *** [Makefile:154: check] Error 255 make[1]: Leaving directory '/tmp/guix-build-at-spi2-core-2.24.1.drv-0/at-spi2-core-2.24.1/po' make: *** [Makefile:541: check-recursive] Error 1 phase `check' failed after 0.2 seconds ------ And, it seems like other packages will have similar problems: https://bugs.gentoo.org/show_bug.cgi?id=614698 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#27360] [core-updates] gnu: intltool: Fix a compatibility issue with Perl 5.26.0. 2017-06-14 16:03 ` Leo Famulari @ 2017-06-15 8:06 ` Ludovic Courtès 2017-06-29 6:27 ` Leo Famulari 1 sibling, 0 replies; 6+ messages in thread From: Ludovic Courtès @ 2017-06-15 8:06 UTC (permalink / raw) To: Leo Famulari; +Cc: 27360 Leo Famulari <leo@famulari.name> skribis: > On Wed, Jun 14, 2017 at 11:44:59AM -0400, Leo Famulari wrote: >> * gnu/packages/patches/intltool-perl-compatibility.patch: New file. >> * gnu/local.mk (dist_patch_DATA): Add it. >> * gnu/packages/glib.scm (intltool)[source]: Use it. > > Hm, seems this patch only fixes the build of glib. With this patch > applied, at-spi2-core fails like this: > > ------ > starting phase `check' > process 4420: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/etc/machine-id": No such file or directory > See the manual page for dbus-uuidgen to correct this issue. > Making check in po > make[1]: Entering directory '/tmp/guix-build-at-spi2-core-2.24.1.drv-0/at-spi2-core-2.24.1/po' > INTLTOOL_EXTRACT="/gnu/store/cgk7q1rix13xqdwnlf6bv19crkkcsn04-intltool-0.51.0/bin/intltool-extract" XGETTEXT="/gnu/store/rdmn68786vmi67g4rn4scj0993lqjgbb-gettext-minimal-0.19.8.1/bin/xgettext" srcdir=. /gnu/store/cgk7q1rix13xqdwnlf6bv19crkkcsn04-intltool-0.51.0/bin/intltool-update --gettext-package at-spi2-core --pot > rm -f missing notexist > srcdir=. /gnu/store/cgk7q1rix13xqdwnlf6bv19crkkcsn04-intltool-0.51.0/bin/intltool-update -m > Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ?PACKAGE}?/ at /gnu/store/cgk7q1rix13xqdwnlf6bv19crkkcsn04-intltool-0.51.0/bin/intltool-update line 1071, <CONF> line 229. > make[1]: *** [Makefile:154: check] Error 255 > make[1]: Leaving directory '/tmp/guix-build-at-spi2-core-2.24.1.drv-0/at-spi2-core-2.24.1/po' > make: *** [Makefile:541: check-recursive] Error 1 > phase `check' failed after 0.2 seconds > ------ > > And, it seems like other packages will have similar problems: > > https://bugs.gentoo.org/show_bug.cgi?id=614698 Should we keep the previous version of Perl around (with the File::Path patch that we currently have in ‘master’) for those packages that are not ready yet? Ludo’. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#27360] [core-updates] gnu: intltool: Fix a compatibility issue with Perl 5.26.0. 2017-06-14 16:03 ` Leo Famulari 2017-06-15 8:06 ` Ludovic Courtès @ 2017-06-29 6:27 ` Leo Famulari 2017-06-29 16:11 ` Ludovic Courtès 1 sibling, 1 reply; 6+ messages in thread From: Leo Famulari @ 2017-06-29 6:27 UTC (permalink / raw) To: 27360 [-- Attachment #1.1: Type: text/plain, Size: 539 bytes --] On Wed, Jun 14, 2017 at 12:03:47PM -0400, Leo Famulari wrote: > On Wed, Jun 14, 2017 at 11:44:59AM -0400, Leo Famulari wrote: > > * gnu/packages/patches/intltool-perl-compatibility.patch: New file. > > * gnu/local.mk (dist_patch_DATA): Add it. > > * gnu/packages/glib.scm (intltool)[source]: Use it. > > Hm, seems this patch only fixes the build of glib. With this patch > applied, at-spi2-core fails like this: [...] Applying the attached patch to core-updates, I built packages of Git and Borg that work for basic tasks. [-- Attachment #1.2: 0001-gnu-intltool-Fix-a-compatibility-issue-with-Perl-5.2.patch --] [-- Type: text/plain, Size: 5974 bytes --] From 177de9dd8ebfe160d5937c43c39899c2c84a794b Mon Sep 17 00:00:00 2001 From: Leo Famulari <leo@famulari.name> Date: Wed, 14 Jun 2017 11:42:38 -0400 Subject: [PATCH] gnu: intltool: Fix a compatibility issue with Perl 5.26.0. * gnu/packages/patches/intltool-perl-compatibility.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/glib.scm (intltool)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/glib.scm | 1 + .../patches/intltool-perl-compatibility.patch | 76 ++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 gnu/packages/patches/intltool-perl-compatibility.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5328a8063..54c099b5e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -682,6 +682,7 @@ dist_patch_DATA = \ %D%/packages/patches/icu4c-reset-keyword-list-iterator.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ + %D%/packages/patches/intltool-perl-compatibility.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jbig2dec-CVE-2016-9601.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index fcd1daf5e..926703e15 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -347,6 +347,7 @@ bindings to call into the C library.") (uri (string-append "https://launchpad.net/intltool/trunk/" version "/+download/intltool-" version ".tar.gz")) + (patches (search-patches "intltool-perl-compatibility.patch")) (sha256 (base32 "1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7")))) diff --git a/gnu/packages/patches/intltool-perl-compatibility.patch b/gnu/packages/patches/intltool-perl-compatibility.patch new file mode 100644 index 000000000..b895ca7cb --- /dev/null +++ b/gnu/packages/patches/intltool-perl-compatibility.patch @@ -0,0 +1,76 @@ +This patch fixes a regex parsing compatibility issue with Perl 5.26.0. +It manifests during the configure phase of at-spi2-core like this: + +------ +Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/^(.*)\${ <-- HERE ?([A-Z_]+)}?(.*)$/ at /gnu/store/...-intltool-0.51.0/bin/intltool-update line 1065. +------ + +Copied from Gentoo and MSYS2: + +https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-util/intltool/files/intltool-0.51.0-perl-5.26.patch?id=1105187fc65d8bf643e682fcef39620dcfd9326a +https://github.com/Alexpux/MSYS2-packages/blob/0d3f442553ae4fc8798e32cbf44c4252fa8f3c07/intltool/perl-5.22-compatibility.patch + +#diff -ruN intltool-0.51.0.orig/intltool-update.in intltool-0.51.0/intltool-update.in +#--- intltool-0.51.0.orig/intltool-update.in 2017-06-28 00:47:20.889269294 +0200 +#+++ intltool-0.51.0/intltool-update.in 2017-06-28 00:48:14.592271529 +0200 +#@@ -1068,7 +1068,7 @@ +# 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"); +# } +--- intltool-0.51.0.orig/intltool-update.in 2015-03-09 02:39:54.000000000 +0100 ++++ intltool-0.51.0.orig/intltool-update.in 2015-06-19 01:52:07.171228154 +0200 +@@ -1062,7 +1062,7 @@ + } + } + +- if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/) ++ if ($str =~ /^(.*)\$\{?([A-Z_]+)}?(.*)$/) + { + my $rest = $3; + my $untouched = $1; +@@ -1068,7 +1068,7 @@ + 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? -- 2.13.2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#27360] [core-updates] gnu: intltool: Fix a compatibility issue with Perl 5.26.0. 2017-06-29 6:27 ` Leo Famulari @ 2017-06-29 16:11 ` Ludovic Courtès 2017-06-29 20:57 ` bug#27360: " Leo Famulari 0 siblings, 1 reply; 6+ messages in thread From: Ludovic Courtès @ 2017-06-29 16:11 UTC (permalink / raw) To: Leo Famulari; +Cc: 27360 Hi, Leo Famulari <leo@famulari.name> skribis: > From 177de9dd8ebfe160d5937c43c39899c2c84a794b Mon Sep 17 00:00:00 2001 > From: Leo Famulari <leo@famulari.name> > Date: Wed, 14 Jun 2017 11:42:38 -0400 > Subject: [PATCH] gnu: intltool: Fix a compatibility issue with Perl 5.26.0. > > * gnu/packages/patches/intltool-perl-compatibility.patch: New file. > * gnu/local.mk (dist_patch_DATA): Add it. > * gnu/packages/glib.scm (intltool)[source]: Use it. LGTM, thank you! Ludo’. ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#27360: [core-updates] gnu: intltool: Fix a compatibility issue with Perl 5.26.0. 2017-06-29 16:11 ` Ludovic Courtès @ 2017-06-29 20:57 ` Leo Famulari 0 siblings, 0 replies; 6+ messages in thread From: Leo Famulari @ 2017-06-29 20:57 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 27360-done [-- Attachment #1: Type: text/plain, Size: 630 bytes --] On Thu, Jun 29, 2017 at 06:11:50PM +0200, Ludovic Courtès wrote: > Hi, > > Leo Famulari <leo@famulari.name> skribis: > > > From 177de9dd8ebfe160d5937c43c39899c2c84a794b Mon Sep 17 00:00:00 2001 > > From: Leo Famulari <leo@famulari.name> > > Date: Wed, 14 Jun 2017 11:42:38 -0400 > > Subject: [PATCH] gnu: intltool: Fix a compatibility issue with Perl 5.26.0. > > > > * gnu/packages/patches/intltool-perl-compatibility.patch: New file. > > * gnu/local.mk (dist_patch_DATA): Add it. > > * gnu/packages/glib.scm (intltool)[source]: Use it. > > LGTM, thank you! Pushed as 92cb946bd9d78cb8f6aa8418d505f52da6894ab4 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-06-29 20:58 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-06-14 15:44 [bug#27360] [core-updates] gnu: intltool: Fix a compatibility issue with Perl 5.26.0 Leo Famulari 2017-06-14 16:03 ` Leo Famulari 2017-06-15 8:06 ` Ludovic Courtès 2017-06-29 6:27 ` Leo Famulari 2017-06-29 16:11 ` Ludovic Courtès 2017-06-29 20:57 ` bug#27360: " Leo Famulari
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).