Severity 913507 serious
Thanks.

First off the new icu is now in buster and sid, so this is now a rc bug.

Secondly I tried to apply this patch for raspbian buster but I ran into
a strange issue where the configure script would hang while trying
to find ICU related libraries. Looking at the log it seems it kept
repeatedly trying the same wrong library name.

I don't know if said strange issue is raspbian-specific or even specific
to the chroot in which I was working on the update.

Anyway I hacked up the configure script so it would check the correct
library first. Since autoreconf is in use the patch for configure has
to be applied in debian/rules rather than by source package unpacking.

Debdiff of what I uploaded to raspbian is attached, no intent to NMU
in Debian.

diff -Nru ncmpcpp-0.8.1/debian/changelog ncmpcpp-0.8.1/debian/changelog
--- ncmpcpp-0.8.1/debian/changelog      2017-11-01 12:21:58.000000000 +0000
+++ ncmpcpp-0.8.1/debian/changelog      2018-11-18 15:51:06.000000000 +0000
@@ -1,3 +1,10 @@
+ncmpcpp (0.8.1-1+rpi1) buster-staging; urgency=medium
+
+  * Add icu:: namespace.
+  * Add hack to work around hang while trying to find boost libraries.
+
+ -- Peter Michael Green <plugw...@raspbian.org>  Sun, 18 Nov 2018 15:51:06 
+0000
+
 ncmpcpp (0.8.1-1) unstable; urgency=medium
 
   * Bump standards version to 4.1.1
diff -Nru ncmpcpp-0.8.1/debian/patches/hack-configure.patch 
ncmpcpp-0.8.1/debian/patches/hack-configure.patch
--- ncmpcpp-0.8.1/debian/patches/hack-configure.patch   1970-01-01 
00:00:00.000000000 +0000
+++ ncmpcpp-0.8.1/debian/patches/hack-configure.patch   2018-11-18 
15:51:06.000000000 +0000
@@ -0,0 +1,85 @@
+Index: ncmpcpp-0.8.1/configure
+===================================================================
+--- ncmpcpp-0.8.1.orig/configure
++++ ncmpcpp-0.8.1/configure
+@@ -16869,7 +16869,7 @@ for boost_ver_ in -$boost_cv_lib_version
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_ \
+     boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_ver_
+@@ -17164,7 +17164,7 @@
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_ \
+     boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_ver_
+@@ -17455,7 +17455,7 @@
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_ \
+     boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_ver_
+@@ -17756,7 +17756,7 @@
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_ \
+     boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_ver_
+@@ -18045,7 +18045,7 @@
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_ \
+     boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_ver_
+@@ -18338,7 +18338,7 @@
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_ \
+     boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_ver_
+@@ -18629,7 +18629,7 @@
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_ \
+     boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_ver_
+@@ -19007,7 +19007,7 @@
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_ \
+     boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_ver_
+@@ -19308,7 +19308,7 @@
+ for boost_mt_ in $boost_mt -mt ''; do
+ for boost_rtopt_ in $boost_rtopt '' -d; do
+   for boost_lib in \
+-    boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
++    boost_$boost_lib_ \
+     boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \
+     boost_$boost_lib_$boost_tag_$boost_ver_
diff -Nru ncmpcpp-0.8.1/debian/patches/ncmpcpp_ICU_63.1.patch 
ncmpcpp-0.8.1/debian/patches/ncmpcpp_ICU_63.1.patch
--- ncmpcpp-0.8.1/debian/patches/ncmpcpp_ICU_63.1.patch 1970-01-01 
00:00:00.000000000 +0000
+++ ncmpcpp-0.8.1/debian/patches/ncmpcpp_ICU_63.1.patch 2018-11-18 
15:51:06.000000000 +0000
@@ -0,0 +1,49 @@
+Description: fix FTBFS with ICU 63.1
+ Add icu namespace.
+Author: Laszlo Boszormenyi (GCS) <g...@debian.org>
+Last-Update: 2018-11-07
+
+---
+
+--- ncmpcpp-0.8.1.orig/src/regex_filter.h
++++ ncmpcpp-0.8.1/src/regex_filter.h
+@@ -42,12 +42,12 @@ namespace {
+ 
+ struct StripDiacritics
+ {
+-      static void convert(UnicodeString &s)
++      static void convert(icu::UnicodeString &s)
+       {
+               if (m_converter == nullptr)
+               {
+-                      ErrorCode result;
+-                      m_converter = Transliterator::createInstance(
++                      icu::ErrorCode result;
++                      m_converter = icu::Transliterator::createInstance(
+                               "NFD; [:M:] Remove; NFC", UTRANS_FORWARD, 
result);
+                       if (result.isFailure())
+                               throw std::runtime_error(
+@@ -58,10 +58,10 @@ struct StripDiacritics
+       }
+ 
+ private:
+-      static Transliterator *m_converter;
++      static icu::Transliterator *m_converter;
+ };
+ 
+-Transliterator *StripDiacritics::m_converter;
++icu::Transliterator *StripDiacritics::m_converter;
+ 
+ #endif // BOOST_REGEX_ICU
+ 
+@@ -99,8 +99,8 @@ inline bool search(const std::basic_stri
+ #ifdef BOOST_REGEX_ICU
+               if (ignore_diacritics)
+               {
+-                      auto us = UnicodeString::fromUTF8(
+-                              StringPiece(convertString<char, 
CharT>::apply(s)));
++                      auto us = icu::UnicodeString::fromUTF8(
++                              icu::StringPiece(convertString<char, 
CharT>::apply(s)));
+                       StripDiacritics::convert(us);
+                       return boost::u32regex_search(us, rx);
+               }
diff -Nru ncmpcpp-0.8.1/debian/patches/series 
ncmpcpp-0.8.1/debian/patches/series
--- ncmpcpp-0.8.1/debian/patches/series 2016-05-17 13:57:28.000000000 +0000
+++ ncmpcpp-0.8.1/debian/patches/series 2018-11-18 15:51:06.000000000 +0000
@@ -1 +1 @@
-
+ncmpcpp_ICU_63.1.patch
diff -Nru ncmpcpp-0.8.1/debian/rules ncmpcpp-0.8.1/debian/rules
--- ncmpcpp-0.8.1/debian/rules  2017-11-01 12:16:23.000000000 +0000
+++ ncmpcpp-0.8.1/debian/rules  2018-11-18 15:51:06.000000000 +0000
@@ -9,6 +9,7 @@
        dh $@ --with autoreconf
 
 override_dh_auto_configure:
+       patch -p1 < debian/patches/hack-configure.patch
        dh_auto_configure --     --enable-clock \
                              --enable-unicode \
                              --without-iconv \

Reply via email to