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.
This commit is contained in:
Björn Höfling 2018-11-25 20:33:13 +01:00
parent 1e92d311c3
commit 644af6c870
No known key found for this signature in database
GPG key ID: BF286CB6593E5FFD
3 changed files with 38 additions and 1 deletions

View file

@ -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 \

View file

@ -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);

View file

@ -2757,7 +2757,8 @@ (define-public aegisub
(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