[bug#33505] Patch: Fix aegisub on core-updates

Message ID 20181125203953.1fb71814@alma-ubu
State Accepted
Headers show
Series [bug#33505] Patch: Fix aegisub on core-updates | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Björn Höfling Nov. 25, 2018, 7:39 p.m. UTC
aegisub fails to compile with boost 68.

This little patch fixes it.

Comments

Ludovic Courtès Nov. 25, 2018, 8:35 p.m. UTC | #1
Hi Björn,

Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:

> From 297f7530262959f7389c4a776907dd13caec69ff Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Bj=C3=B6rn=20H=C3=B6fling?=
>  <bjoern.hoefling@bjoernhoefling.de>
> Date: Sun, 25 Nov 2018 20:33:13 +0100
> Subject: [PATCH 1/1] gnu: aegisub: Fix build.
>
> * gnu/packages/patches/aegisub-boost68.patch: New file
> * gnu/local.mk: Add it.
> * gnu/packages/video.scm (aegisub)[source]: Use patch.

LGTM, thank you!

Ludo’.
Björn Höfling Nov. 25, 2018, 10:30 p.m. UTC | #2
On Sun, 25 Nov 2018 21:35:06 +0100
ludo@gnu.org (Ludovic Courtès) wrote:

> Hi Björn,
> 
> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:
> 
> > From 297f7530262959f7389c4a776907dd13caec69ff Mon Sep 17 00:00:00
> > 2001 From: =?UTF-8?q?Bj=C3=B6rn=20H=C3=B6fling?=
> >  <bjoern.hoefling@bjoernhoefling.de>
> > Date: Sun, 25 Nov 2018 20:33:13 +0100
> > Subject: [PATCH 1/1] gnu: aegisub: Fix build.
> >
> > * gnu/packages/patches/aegisub-boost68.patch: New file
> > * gnu/local.mk: Add it.
> > * gnu/packages/video.scm (aegisub)[source]: Use patch.  
> 
> LGTM, thank you!
> 
> Ludo’.

Thanks for the review, pushed as

644af6c87092936e8a556da192ee195db58d65b3

Björn

Patch

From 297f7530262959f7389c4a776907dd13caec69ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20H=C3=B6fling?=
 <bjoern.hoefling@bjoernhoefling.de>
Date: Sun, 25 Nov 2018 20:33:13 +0100
Subject: [PATCH 1/1] gnu: aegisub: Fix build.

* gnu/packages/patches/aegisub-boost68.patch: New file
* gnu/local.mk: Add it.
* gnu/packages/video.scm (aegisub)[source]: Use patch.
---
 gnu/local.mk                               |  1 +
 gnu/packages/patches/aegisub-boost68.patch | 35 ++++++++++++++++++++++
 gnu/packages/video.scm                     |  3 +-
 3 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/aegisub-boost68.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 8b673fdd8..fda692b0f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -574,6 +574,7 @@  dist_patch_DATA =						\
   %D%/packages/patches/aegis-test-fixup-1.patch            	\
   %D%/packages/patches/aegis-test-fixup-2.patch            	\
   %D%/packages/patches/aegisub-icu59-include-unistr.patch	\
+  %D%/packages/patches/aegisub-boost68.patch                    \
   %D%/packages/patches/agg-am_c_prototype.patch			\
   %D%/packages/patches/amule-crypto-6.patch			\
   %D%/packages/patches/ansible-wrap-program-hack.patch		\
diff --git a/gnu/packages/patches/aegisub-boost68.patch b/gnu/packages/patches/aegisub-boost68.patch
new file mode 100644
index 000000000..013721f3b
--- /dev/null
+++ b/gnu/packages/patches/aegisub-boost68.patch
@@ -0,0 +1,35 @@ 
+Source: https://git.archlinux.org/svntogit/community.git/plain/trunk/boost-1.68.patch?h=packages/aegisub
+From d8336d2fed73c72d1227b343d6acfb991bc1651b Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Mon, 9 Jul 2018 20:15:29 +0000
+Subject: [PATCH] Keep using std::distance after Boost 1.68
+
+src/search_replace_engine.cpp:256:14: error: call to
+      'distance' is ambiguous
+                                count += distance(
+                                         ^~~~~~~~
+/usr/include/c++/v1/iterator:511:1: note: candidate function [with _InputIter =
+      boost::u32regex_iterator<std::__1::__wrap_iter<const char *> >]
+distance(_InputIter __first, _InputIter __last)
+^
+/usr/local/include/boost/iterator/distance.hpp:49:9: note: candidate function [with SinglePassIterator =
+      boost::u32regex_iterator<std::__1::__wrap_iter<const char *> >]
+        distance(SinglePassIterator first, SinglePassIterator last)
+        ^
+---
+ src/search_replace_engine.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/search_replace_engine.cpp b/src/search_replace_engine.cpp
+index 594c21e5e..14c71680d 100644
+--- a/src/search_replace_engine.cpp
++++ b/src/search_replace_engine.cpp
+@@ -253,7 +253,7 @@ bool SearchReplaceEngine::ReplaceAll() {
+ 			if (MatchState ms = matches(&diag, 0)) {
+ 				auto& diag_field = diag.*get_dialogue_field(settings.field);
+ 				std::string const& text = diag_field.get();
+-				count += distance(
++				count += std::distance(
+ 					boost::u32regex_iterator<std::string::const_iterator>(begin(text), end(text), *ms.re),
+ 					boost::u32regex_iterator<std::string::const_iterator>());
+ 				diag_field = u32regex_replace(text, *ms.re, settings.replace_with);
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8a5e730bd..3b2a37112 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2757,7 +2757,8 @@  programmers to access a standard API to open and decompress media files.")
               (sha256
                (base32
                 "11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5"))
-              (patches (search-patches "aegisub-icu59-include-unistr.patch"))))
+              (patches (search-patches "aegisub-icu59-include-unistr.patch"
+                                       "aegisub-boost68.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
-- 
2.19.1