Control: tags -1 confirmed upstream patch

On lun, set 23, 2013 at 11:03:35 +0300, Damyan Ivanov wrote:
> Package: src:parrot
> Version: 5.0.0-1
> Severity: serious
> Justification: FTBFS
> 
> Parrot fails to build in a current sid pbuilder chroot on amd64:
> 
> During configuration the following steps failed:
>     53:  auto::icu
> You should diagnose and fix these errors before calling 'make'
> make: *** [configure-stamp] Error 1
> dpkg-buildpackage: error: debian/rules build gave error exit status 2

Seems to be caused by the parrot's build system that can't handle multi-arch
include paths.

I prepared a patch (see attached) which seems to fix the problem... but it's
kinda ugly. Allison, can you please have a look at it?

Cheers

-- 
perl -E '$_=q;$/= @{[@_]};and s;\S+;<inidehG ordnasselA>;eg;say~~reverse'
From 4dd2897db56197b2287af1f7395c1823e39cbf4c Mon Sep 17 00:00:00 2001
From: Alessandro Ghedini <alessan...@ghedini.me>
Date: Tue, 24 Sep 2013 11:17:56 +0200
Subject: [PATCH] Fix ICU headers autodetect

Closes: #724336
---
 debian/patches/04_fix_icu_autodetect.patch | 44 ++++++++++++++++++++++++++++++
 debian/patches/series                      |  1 +
 debian/rules                               |  3 ++
 3 files changed, 48 insertions(+)
 create mode 100644 debian/patches/04_fix_icu_autodetect.patch

diff --git a/debian/patches/04_fix_icu_autodetect.patch b/debian/patches/04_fix_icu_autodetect.patch
new file mode 100644
index 0000000..c64ee6e
--- /dev/null
+++ b/debian/patches/04_fix_icu_autodetect.patch
@@ -0,0 +1,44 @@
+Description: Force ICU autodetect even if 'icuheaders' is set
+Origin: vendor
+Bug-Debian: http://bugs.debian.org/724336
+Forwarded: not-needed
+Author: Alessandro Ghedini <gh...@debian.org>
+Last-Update: 2013-09-24
+
+--- a/config/auto/icu.pm
++++ b/config/auto/icu.pm
+@@ -94,9 +94,7 @@
+         return 1;
+     }
+ 
+-    my $autodetect  =   ( ! defined($icushared)  )
+-                            &&
+-                        ( ! defined($icuheaders) );
++    my $autodetect  =   ( ! defined($icushared)  );
+ 
+     my $without = 0;
+     ($icuconfig, $autodetect, $without) = $self->_handle_autodetect(
+@@ -288,12 +286,17 @@
+         $conf->debug("For icushared, found $icushared and $arg->{without}\n");
+ 
+         # location of header files
+-        $conf->debug("Trying $arg->{icuconfig} with '--prefix'\n");
+-        $icuheaders = capture_output("$arg->{icuconfig} --prefix");
+-        chomp($icuheaders);
+-        $conf->debug("icuheaders:  captured $icuheaders\n");
+-        ($icuheaders, $arg->{without}) =
+-            $self->_handle_icuheaders($conf, $icuheaders, $arg->{without});
++        if ( ! $icuheaders ) {
++            $conf->debug("Trying $arg->{icuconfig} with '--prefix'\n");
++            $icuheaders = capture_output("$arg->{icuconfig} --prefix");
++            chomp($icuheaders);
++            $conf->debug("icuheaders:  captured $icuheaders\n");
++            ($icuheaders, $arg->{without}) =
++                $self->_handle_icuheaders($conf, $icuheaders, $arg->{without});
++        } else {
++            ($icuheaders, $arg->{without}) = ($icuheaders, 0);
++        }
++
+         $conf->debug("For icuheaders, found $icuheaders and $arg->{without}\n");
+     }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 8ba7038..7d904e6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 02_fix_perl_interpreter_path.patch
 03_fix_nqp_man.patch
+04_fix_icu_autodetect.patch
diff --git a/debian/rules b/debian/rules
index df71ebc..b7bf939 100755
--- a/debian/rules
+++ b/debian/rules
@@ -6,6 +6,8 @@ LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
 VERSION = $(shell cat VERSION)
 SOVERSION = $(VERSION)
 
+DEB_HOST_MULTIARCH = $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
 CONTROL_FILES = \
   debian/control.in \
   debian/parrot.install.in \
@@ -29,6 +31,7 @@ configure-stamp: debian-control-stamp $(QUILT_STAMPFN)
 	dh_testdir
 	perl Configure.pl --ccflags="$(CFLAGS)" --ldflags="$(LDFLAGS)"	\
 		--prefix=/usr --mandir=/usr/share/man --disable-rpath	\
+		--icuheaders=/usr/include/$(DEB_HOST_MULTIARCH)		\
 		--without-libffi --without-gmp --without-opengl		\
 		--without-pcre --without-zlib
 	touch configure-stamp
-- 
1.8.4.rc3

Attachment: signature.asc
Description: Digital signature

Reply via email to