aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia/aegisub
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2014-08-10 20:13:15 +0800
committermarino <marino@FreeBSD.org>2014-08-10 20:13:15 +0800
commit0998db966dfacc3a1960b67abea21eebf499b265 (patch)
tree8ba93977345bb343ebb0c9f8b2121e4484227bad /multimedia/aegisub
parentf3ae5a2888735f75f0980f1ce37cec66950510aa (diff)
downloadfreebsd-ports-gnome-0998db966dfacc3a1960b67abea21eebf499b265.tar.gz
freebsd-ports-gnome-0998db966dfacc3a1960b67abea21eebf499b265.tar.zst
freebsd-ports-gnome-0998db966dfacc3a1960b67abea21eebf499b265.zip
multimedia/aegisub: Upgrade version 3.1.3 => 3.2.0
PR: 192479 Submitted by: Ports Fury
Diffstat (limited to 'multimedia/aegisub')
-rw-r--r--multimedia/aegisub/Makefile41
-rw-r--r--multimedia/aegisub/distinfo4
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__ass__uuencode.cpp11
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp (renamed from multimedia/aegisub/files/patch-libaegisub__cajun__reader.cpp)11
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp10
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp11
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__common__charset.cpp10
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__common__color.cpp25
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h10
-rw-r--r--multimedia/aegisub/files/patch-src__ass_file.cpp28
-rw-r--r--multimedia/aegisub/files/patch-src__ass_override.cpp11
-rw-r--r--multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp12
-rw-r--r--multimedia/aegisub/files/patch-src__base_grid.cpp83
-rw-r--r--multimedia/aegisub/files/patch-src__command__command.h10
-rw-r--r--multimedia/aegisub/files/patch-src__command__edit.cpp40
-rw-r--r--multimedia/aegisub/files/patch-src__dialog_jumpto.cpp24
-rw-r--r--multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp14
-rw-r--r--multimedia/aegisub/files/patch-src__dialog_properties.cpp28
-rw-r--r--multimedia/aegisub/files/patch-src__dialog_shift_times.cpp20
-rw-r--r--multimedia/aegisub/files/patch-src__dialog_style_editor.cpp21
-rw-r--r--multimedia/aegisub/files/patch-src__dialog_video_properties.cpp38
-rw-r--r--multimedia/aegisub/files/patch-src__grid_column.cpp103
-rw-r--r--multimedia/aegisub/files/patch-src__main.cpp10
-rw-r--r--multimedia/aegisub/files/patch-src__preferences.cpp10
-rw-r--r--multimedia/aegisub/files/patch-src__preferences_base.cpp34
-rw-r--r--multimedia/aegisub/files/patch-src__resolution_resampler.cpp27
-rw-r--r--multimedia/aegisub/files/patch-src__spline_curve.cpp10
-rw-r--r--multimedia/aegisub/files/patch-src__subs_edit_box.cpp25
-rw-r--r--multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp34
-rw-r--r--multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp18
-rw-r--r--multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp14
-rw-r--r--multimedia/aegisub/files/patch-src__validators.cpp19
-rw-r--r--multimedia/aegisub/files/patch-src__video_context.cpp58
-rw-r--r--multimedia/aegisub/files/patch-src__video_display.cpp23
-rw-r--r--multimedia/aegisub/files/patch-src__video_provider_yuv4mpeg.cpp34
-rw-r--r--multimedia/aegisub/pkg-plist58
36 files changed, 520 insertions, 419 deletions
diff --git a/multimedia/aegisub/Makefile b/multimedia/aegisub/Makefile
index a7ecb0686d8d..40841a2c09c9 100644
--- a/multimedia/aegisub/Makefile
+++ b/multimedia/aegisub/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= aegisub
-PORTVERSION= 3.1.3
+PORTVERSION= 3.2.0
CATEGORIES= multimedia
MASTER_SITES= http://ftp.aegisub.org/pub/archives/releases/source/:aegisub \
ftp://ftp.aegisub.org/pub/archives/releases/source/:aegisub \
@@ -17,8 +17,8 @@ LICENSE= BSD3CLAUSE
LIB_DEPENDS= libboost_thread.so:${PORTSDIR}/devel/boost-libs \
libicui18n.so:${PORTSDIR}/devel/icu \
- libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \
- libass.so:${PORTSDIR}/multimedia/libass
+ libass.so:${PORTSDIR}/multimedia/libass \
+ libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig
USE_GITHUB= yes
GH_ACCOUNT= FFMS
@@ -28,7 +28,7 @@ GH_COMMIT= 6b0e4a2
WRKSRC= ${WRKDIR}/${DISTNAME}
-USES= compiler:c++11-lib desktop-file-utils gmake gettext iconv \
+USES= compiler:c++11-lib desktop-file-utils gettext gmake iconv \
pkgconfig tar:xz
USE_GNOME= intltool
USE_WX= 3.0
@@ -36,12 +36,14 @@ WX_UNICODE= yes
WX_CONF_ARGS= absolute
USE_GL= glu
USE_CSTD= c99
-USE_LUA= 5.1+
GNU_CONFIGURE= yes
+CONFIGURE_ENV= agi_cv_with_iconv=yes
CONFIGURE_ARGS= --disable-compiler-flags \
+ --disable-gcc-prec \
+ --disable-sanity-checks \
--disable-update-checker \
--without-libc++ \
- --disable-gcc-prec
+ ${ICONV_CONFIGURE_ARG}
INSTALLS_ICONS= yes
PLIST_SUB= VERSION="${PORTVERSION:R}"
@@ -49,8 +51,8 @@ PLIST_SUB= VERSION="${PORTVERSION:R}"
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib ${ICONV_LIB}
-OPTIONS_DEFINE= ALSA DOCS FFMPEG FFTW HUNSPELL OPENAL \
- PORTAUDIO PULSEAUDIO
+OPTIONS_DEFINE= ALSA DOCS FFMPEG FFTW HUNSPELL OPENAL PORTAUDIO \
+ PULSEAUDIO
OPTIONS_DEFAULT= FFMPEG FFTW HUNSPELL PULSEAUDIO
ALSA_LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib
@@ -58,7 +60,7 @@ ALSA_CONFIGURE_OFF= --without-alsa
FFMPEG_LIB_DEPENDS= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
FFMPEG_CONFIGURE_ENV= FFMS2_CFLAGS="${FFMS_CFLAGS}" \
FFMS2_LIBS="${FFMS_LIBS}"
-FFMPEG_CONFIGURE_OFF= --without-ffms2
+FFMPEG_CONFIGURE_OFF= --without-ffms
FFMPEG_CPPFLAGS= ${FFMS_CFLAGS}
FFTW_LIB_DEPENDS= libfftw3.so:${PORTSDIR}/math/fftw3
FFTW_CONFIGURE_OFF= --without-fftw3
@@ -90,9 +92,21 @@ FFMS_LIBS= ${FFMS_WRKSRC}/src/core/.libs/libffms2.a \
.if ${COMPILER_TYPE} == "gcc"
USE_CXXSTD= gnu++11
+.if empty(CFLAGS:M-march=*)
+CFLAGS_i386= -march=pentium
+.endif
.else
USE_CXXSTD= c++11
CXXFLAGS+= -Wno-c++11-narrowing
+.if ${COMPILER_VERSION} < 34
+BUILD_DEPENDS+= ${LOCALBASE}/lib/c++/libstdc++.so:${PORTSDIR}/devel/libc++ \
+ ${LOCALBASE}/bin/clang34:${PORTSDIR}/lang/clang34
+CPP= clang-cpp34
+CC= clang34
+CXX= clang++34
+CXXFLAGS+= -nostdinc++ -isystem ${LOCALBASE}/include/c++/v1
+LDFLAGS+= -L${LOCALBASE}lib/c++
+.endif
.endif
post-patch:
@@ -101,8 +115,13 @@ post-patch:
@${REINPLACE_CMD} -e \
's|".*build/|"./build/|' ${WRKSRC}/build/version.sh
@${REINPLACE_CMD} -e \
- '/iconv_t/s|^|//|' \
- ${WRKSRC}/libaegisub/include/libaegisub/charset_conv.h
+ 's|^CC=|CC?=| ; \
+ /^CCOPT_/s|=.*|=| ; \
+ /^CCDEBUG/s|=.*|=|' ${WRKSRC}/vendor/luajit/src/Makefile
+.if ${COMPILER_TYPE} == "gcc"
+ @${FIND} ${WRKSRC} -name "*.h" | ${XARGS} ${REINPLACE_CMD} -e \
+ '/virtual /s|= default;$$|{ }|'
+.endif
pre-configure:
.if ${PORT_OPTIONS:MFFMPEG}
diff --git a/multimedia/aegisub/distinfo b/multimedia/aegisub/distinfo
index 4c192776d8d6..5d7b10b0a719 100644
--- a/multimedia/aegisub/distinfo
+++ b/multimedia/aegisub/distinfo
@@ -1,4 +1,4 @@
-SHA256 (aegisub-3.1.3.tar.xz) = efea5bc2bc5e0651ada4f65cfdd8af1b422a15f87933710d11287bf51e2b5e58
-SIZE (aegisub-3.1.3.tar.xz) = 4215196
+SHA256 (aegisub-3.2.0.tar.xz) = d9e5fd48b243e29832361a13f8be82b271ef0c606b13593ec72461156ee19159
+SIZE (aegisub-3.2.0.tar.xz) = 5181228
SHA256 (ffms2-2.19.1.tar.gz) = 8516af3f71531746e7e3e4b16eb30dade5df5edfc0782e7b69f965310ea66640
SIZE (ffms2-2.19.1.tar.gz) = 512444
diff --git a/multimedia/aegisub/files/patch-libaegisub__ass__uuencode.cpp b/multimedia/aegisub/files/patch-libaegisub__ass__uuencode.cpp
deleted file mode 100644
index 553e661e49b9..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub__ass__uuencode.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- libaegisub/ass/uuencode.cpp.orig
-+++ libaegisub/ass/uuencode.cpp
-@@ -16,6 +16,8 @@
-
- #include "../config.h"
-
-+#include <cstring>
-+
- #include "libaegisub/ass/uuencode.h"
-
- // Despite being called uuencoding by ass_specs.doc, the format is actually
diff --git a/multimedia/aegisub/files/patch-libaegisub__cajun__reader.cpp b/multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp
index fd987f17def5..b7737c776079 100644
--- a/multimedia/aegisub/files/patch-libaegisub__cajun__reader.cpp
+++ b/multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp
@@ -1,14 +1,15 @@
--- libaegisub/common/cajun/reader.cpp.orig
+++ libaegisub/common/cajun/reader.cpp
-@@ -9,6 +9,7 @@
- #include "libaegisub/cajun/reader.h"
+@@ -10,6 +10,8 @@
+ #include <boost/interprocess/streams/bufferstream.hpp>
#include <cassert>
+#include <cstdio>
- #include <set>
- #include <sstream>
++#include <set>
-@@ -243,8 +244,16 @@
+ /*
+
+@@ -231,8 +233,16 @@
}
void Reader::MatchNumber(std::string& sNumber, InputStream& inputStream) {
diff --git a/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp b/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp
new file mode 100644
index 000000000000..41a74f61b396
--- /dev/null
+++ b/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp
@@ -0,0 +1,10 @@
+--- libaegisub/common/calltip_provider.cpp.orig 2014-08-05 20:40:25.000000000 +0900
++++ libaegisub/common/calltip_provider.cpp 2014-08-05 20:40:42.000000000 +0900
+@@ -19,6 +19,7 @@
+ #include "libaegisub/ass/dialogue_parser.h"
+
+ #include <algorithm>
++#include <cstring>
+
+ namespace {
+ struct proto_lit {
diff --git a/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp b/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp
new file mode 100644
index 000000000000..3d037948949d
--- /dev/null
+++ b/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp
@@ -0,0 +1,11 @@
+--- libaegisub/common/character_count.cpp.orig 2014-08-05 20:41:47.000000000 +0900
++++ libaegisub/common/character_count.cpp 2014-08-05 20:43:19.000000000 +0900
+@@ -22,6 +22,8 @@
+ #include <unicode/uchar.h>
+ #include <unicode/utf8.h>
+
++#include <algorithm>
++#include <memory>
+ #include <mutex>
+ #include <unicode/brkiter.h>
+
diff --git a/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp b/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp
new file mode 100644
index 000000000000..4b253f17a90e
--- /dev/null
+++ b/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp
@@ -0,0 +1,10 @@
+--- libaegisub/common/charset.cpp.orig 2014-08-05 20:44:44.000000000 +0900
++++ libaegisub/common/charset.cpp 2014-08-05 20:44:59.000000000 +0900
+@@ -20,6 +20,7 @@
+
+ #include "libaegisub/file_mapping.h"
+
++#include <algorithm>
+ #include <string>
+
+ #ifndef _WIN32
diff --git a/multimedia/aegisub/files/patch-libaegisub__common__color.cpp b/multimedia/aegisub/files/patch-libaegisub__common__color.cpp
new file mode 100644
index 000000000000..181e9b90cd84
--- /dev/null
+++ b/multimedia/aegisub/files/patch-libaegisub__common__color.cpp
@@ -0,0 +1,25 @@
+--- libaegisub/common/color.cpp.orig 2014-08-05 20:04:54.000000000 +0900
++++ libaegisub/common/color.cpp 2014-08-05 20:06:27.000000000 +0900
+@@ -18,6 +18,13 @@
+
+ #include "libaegisub/format.h"
+
++#ifdef _LIBCPP_VERSION
++#define TO_STRING(x) std::to_string(x)
++#else
++#include <boost/lexical_cast.hpp>
++#define TO_STRING(x) boost::lexical_cast<std::string>(x)
++#endif
++
+ namespace agi {
+
+ Color::Color(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
+@@ -37,7 +44,7 @@
+ }
+
+ std::string Color::GetSsaFormatted() const {
+- return std::to_string((a << 24) + (b << 16) + (g << 8) + r);
++ return TO_STRING((a << 24) + (b << 16) + (g << 8) + r);
+ }
+
+ std::string Color::GetHexFormatted(bool rgba) const {
diff --git a/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h b/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h
new file mode 100644
index 000000000000..3f7e004be16a
--- /dev/null
+++ b/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h
@@ -0,0 +1,10 @@
+--- libaegisub/include/libaegisub/audio/provider.h.orig 2014-07-28 23:29:16.000000000 +0900
++++ libaegisub/include/libaegisub/audio/provider.h 2014-08-05 19:40:17.000000000 +0900
+@@ -20,6 +20,7 @@
+ #include <libaegisub/fs_fwd.h>
+
+ #include <atomic>
++#include <memory>
+ #include <vector>
+
+ namespace agi {
diff --git a/multimedia/aegisub/files/patch-src__ass_file.cpp b/multimedia/aegisub/files/patch-src__ass_file.cpp
index b3e028ca4181..d575cebd45e9 100644
--- a/multimedia/aegisub/files/patch-src__ass_file.cpp
+++ b/multimedia/aegisub/files/patch-src__ass_file.cpp
@@ -1,27 +1,27 @@
--- src/ass_file.cpp.orig
+++ src/ass_file.cpp
-@@ -49,6 +49,13 @@
- #include <boost/algorithm/string/case_conv.hpp>
+@@ -29,6 +29,13 @@
#include <boost/filesystem/path.hpp>
+ #include <cassert>
+#ifdef _LIBCPP_VERSION
-+#define TO_STRING(x) std::to_string(x)
++#define TO_STRING(x) std::to_string(x)
+#else
+#include <boost/lexical_cast.hpp>
+#define TO_STRING(x) boost::lexical_cast<std::string>(x)
+#endif
+
- namespace std {
- template<>
- void swap(AssFile &lft, AssFile &rgt) {
-@@ -71,8 +78,8 @@
- Line.push_back(*new AssInfo("WrapStyle", "0"));
- Line.push_back(*new AssInfo("ScaledBorderAndShadow", "yes"));
+ AssFile::AssFile() { }
+
+ AssFile::~AssFile() {
+@@ -42,8 +49,8 @@
+ Info.emplace_back("WrapStyle", "0");
+ Info.emplace_back("ScaledBorderAndShadow", "yes");
if (!OPT_GET("Subtitle/Default Resolution/Auto")->GetBool()) {
-- Line.push_back(*new AssInfo("PlayResX", std::to_string(OPT_GET("Subtitle/Default Resolution/Width")->GetInt())));
-- Line.push_back(*new AssInfo("PlayResY", std::to_string(OPT_GET("Subtitle/Default Resolution/Height")->GetInt())));
-+ Line.push_back(*new AssInfo("PlayResX", TO_STRING(OPT_GET("Subtitle/Default Resolution/Width")->GetInt())));
-+ Line.push_back(*new AssInfo("PlayResY", TO_STRING(OPT_GET("Subtitle/Default Resolution/Height")->GetInt())));
+- Info.emplace_back("PlayResX", std::to_string(OPT_GET("Subtitle/Default Resolution/Width")->GetInt()));
+- Info.emplace_back("PlayResY", std::to_string(OPT_GET("Subtitle/Default Resolution/Height")->GetInt()));
++ Info.emplace_back("PlayResX", TO_STRING(OPT_GET("Subtitle/Default Resolution/Width")->GetInt()));
++ Info.emplace_back("PlayResY", TO_STRING(OPT_GET("Subtitle/Default Resolution/Height")->GetInt()));
}
- Line.push_back(*new AssInfo("YCbCr Matrix", "None"));
+ Info.emplace_back("YCbCr Matrix", "None");
diff --git a/multimedia/aegisub/files/patch-src__ass_override.cpp b/multimedia/aegisub/files/patch-src__ass_override.cpp
index 5d9c372abfae..7c0669702558 100644
--- a/multimedia/aegisub/files/patch-src__ass_override.cpp
+++ b/multimedia/aegisub/files/patch-src__ass_override.cpp
@@ -1,6 +1,6 @@
--- src/ass_override.cpp.orig
+++ src/ass_override.cpp
-@@ -49,6 +49,13 @@
+@@ -44,6 +44,13 @@
#include <boost/range/adaptor/transformed.hpp>
#include <functional>
@@ -14,17 +14,12 @@
using namespace boost::adaptors;
AssOverrideParameter::AssOverrideParameter(VariableDataType type, AssParameterClass classification)
-@@ -129,11 +136,11 @@
+@@ -126,7 +133,7 @@
if (classification == AssParameterClass::ALPHA)
- Set(str(boost::format("&H%02X&") % mid(0, new_value, 255)));
+ Set(agi::format("&H%02X&", mid(0, new_value, 255)));
else
- Set(std::to_string(new_value));
+ Set(TO_STRING(new_value));
}
template<> void AssOverrideParameter::Set<double>(double new_value) {
-- Set(std::to_string(new_value));
-+ Set(TO_STRING(new_value));
- }
-
- template<> void AssOverrideParameter::Set<bool>(bool new_value) {
diff --git a/multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp b/multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp
index bd4772d66dd8..9e6950061016 100644
--- a/multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp
+++ b/multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp
@@ -1,8 +1,8 @@
--- src/auto4_lua_dialog.cpp.orig
+++ src/auto4_lua_dialog.cpp
-@@ -66,6 +66,13 @@
- #include <wx/valnum.h>
- #include <wx/window.h>
+@@ -60,6 +60,13 @@
+ #include <wx/stattext.h>
+ #include <wx/valgen.h>
+#ifdef _LIBCPP_VERSION
+#define TO_STRING(x) std::to_string(x)
@@ -11,10 +11,10 @@
+#define TO_STRING(x) boost::lexical_cast<std::string>(x)
+#endif
+
+ using namespace agi::lua;
namespace {
inline void get_if_right_type(lua_State *L, std::string &def) {
- if (lua_isstring(L, -1))
-@@ -256,7 +263,7 @@
+@@ -249,7 +256,7 @@
}
bool CanSerialiseValue() const override { return true; }
@@ -23,7 +23,7 @@
void UnserialiseValue(const std::string &serialised) override { value = atoi(serialised.c_str()); }
wxControl *Create(wxWindow *parent) override {
-@@ -317,7 +324,7 @@
+@@ -287,7 +294,7 @@
}
bool CanSerialiseValue() const override { return true; }
diff --git a/multimedia/aegisub/files/patch-src__base_grid.cpp b/multimedia/aegisub/files/patch-src__base_grid.cpp
deleted file mode 100644
index d5e8d4e2e201..000000000000
--- a/multimedia/aegisub/files/patch-src__base_grid.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
---- src/base_grid.cpp.orig
-+++ src/base_grid.cpp
-@@ -67,6 +67,15 @@
- #include <wx/scrolbar.h>
- #include <wx/sizer.h>
-
-+#ifdef _LIBCPP_VERSION
-+#define TO_STRING(x) std::to_string(x)
-+#define TO_WSTRING(x) std::to_wstring(x)
-+#else
-+#include <boost/lexical_cast.hpp>
-+#define TO_STRING(x) boost::lexical_cast<std::string>(x)
-+#define TO_WSTRING(x) boost::lexical_cast<std::wstring>(x)
-+#endif
-+
- enum {
- GRID_SCROLLBAR = 1730,
- MENU_SHOW_COL = 1250 // Needs 15 IDs after this
-@@ -194,8 +203,8 @@
- }
-
- void BaseGrid::OnSubtitlesSave() {
-- context->ass->SaveUIState("Scroll Position", std::to_string(yPos));
-- context->ass->SaveUIState("Active Line", std::to_string(GetDialogueIndex(active_line)));
-+ context->ass->SaveUIState("Scroll Position", TO_STRING(yPos));
-+ context->ass->SaveUIState("Active Line", TO_STRING(GetDialogueIndex(active_line)));
- }
-
- void BaseGrid::OnShowColMenu(wxCommandEvent &event) {
-@@ -557,11 +566,11 @@
- }
-
- void BaseGrid::GetRowStrings(int row, AssDialogue *line, bool *paint_columns, wxString *strings, bool replace, wxString const& rep_char) const {
-- if (paint_columns[0]) strings[0] = std::to_wstring(row + 1);
-- if (paint_columns[1]) strings[1] = std::to_wstring(line->Layer);
-+ if (paint_columns[0]) strings[0] = TO_WSTRING(row + 1);
-+ if (paint_columns[1]) strings[1] = TO_WSTRING(line->Layer);
- if (byFrame) {
-- if (paint_columns[2]) strings[2] = std::to_wstring(context->videoController->FrameAtTime(line->Start, agi::vfr::START));
-- if (paint_columns[3]) strings[3] = std::to_wstring(context->videoController->FrameAtTime(line->End, agi::vfr::END));
-+ if (paint_columns[2]) strings[2] = TO_WSTRING(context->videoController->FrameAtTime(line->Start, agi::vfr::START));
-+ if (paint_columns[3]) strings[3] = TO_WSTRING(context->videoController->FrameAtTime(line->End, agi::vfr::END));
- }
- else {
- if (paint_columns[2]) strings[2] = to_wx(line->Start.GetAssFormated());
-@@ -570,9 +579,9 @@
- if (paint_columns[4]) strings[4] = to_wx(line->Style);
- if (paint_columns[5]) strings[5] = to_wx(line->Actor);
- if (paint_columns[6]) strings[6] = to_wx(line->Effect);
-- if (paint_columns[7]) strings[7] = line->Margin[0] ? wxString(std::to_wstring(line->Margin[0])) : wxString();
-- if (paint_columns[8]) strings[8] = line->Margin[1] ? wxString(std::to_wstring(line->Margin[1])) : wxString();
-- if (paint_columns[9]) strings[9] = line->Margin[2] ? wxString(std::to_wstring(line->Margin[2])) : wxString();
-+ if (paint_columns[7]) strings[7] = line->Margin[0] ? wxString(TO_WSTRING(line->Margin[0])) : wxString();
-+ if (paint_columns[8]) strings[8] = line->Margin[1] ? wxString(TO_WSTRING(line->Margin[1])) : wxString();
-+ if (paint_columns[9]) strings[9] = line->Margin[2] ? wxString(TO_WSTRING(line->Margin[2])) : wxString();
-
- if (paint_columns[10]) {
- strings[10].clear();
-@@ -799,7 +808,7 @@
- // O(1) widths
- int marginLen = dc.GetTextExtent("0000").GetWidth();
-
-- int labelLen = dc.GetTextExtent(std::to_wstring(GetRows())).GetWidth();
-+ int labelLen = dc.GetTextExtent(TO_WSTRING(GetRows())).GetWidth();
- int startLen = 0;
- int endLen = 0;
- if (!byFrame)
-@@ -844,12 +853,12 @@
- }
-
- // Finish layer
-- int layerLen = maxLayer ? dc.GetTextExtent(std::to_wstring(maxLayer)).GetWidth() : 0;
-+ int layerLen = maxLayer ? dc.GetTextExtent(TO_WSTRING(maxLayer)).GetWidth() : 0;
-
- // Finish times
- if (byFrame) {
-- startLen = dc.GetTextExtent(std::to_wstring(maxStart)).GetWidth();
-- endLen = dc.GetTextExtent(std::to_wstring(maxEnd)).GetWidth();
-+ startLen = dc.GetTextExtent(TO_WSTRING(maxStart)).GetWidth();
-+ endLen = dc.GetTextExtent(TO_WSTRING(maxEnd)).GetWidth();
- }
-
- // Set column widths
diff --git a/multimedia/aegisub/files/patch-src__command__command.h b/multimedia/aegisub/files/patch-src__command__command.h
new file mode 100644
index 000000000000..a3489553be9c
--- /dev/null
+++ b/multimedia/aegisub/files/patch-src__command__command.h
@@ -0,0 +1,10 @@
+--- src/command/command.h.orig 2014-08-05 20:09:07.000000000 +0900
++++ src/command/command.h 2014-08-05 20:09:21.000000000 +0900
+@@ -17,6 +17,7 @@
+ /// @ingroup command
+
+ #include <map>
++#include <memory>
+ #include <string>
+ #include <vector>
+
diff --git a/multimedia/aegisub/files/patch-src__command__edit.cpp b/multimedia/aegisub/files/patch-src__command__edit.cpp
index f58f4c867f2c..155d58dd8906 100644
--- a/multimedia/aegisub/files/patch-src__command__edit.cpp
+++ b/multimedia/aegisub/files/patch-src__command__edit.cpp
@@ -1,8 +1,8 @@
--- src/command/edit.cpp.orig
+++ src/command/edit.cpp
-@@ -68,6 +68,13 @@
- #include <wx/clipbrd.h>
+@@ -69,6 +69,13 @@
#include <wx/fontdlg.h>
+ #include <wx/textentry.h>
+#ifdef _LIBCPP_VERSION
+#define TO_STRING(x) std::to_string(x)
@@ -14,25 +14,25 @@
namespace {
using namespace boost::adaptors;
using cmd::Command;
-@@ -450,13 +457,13 @@
- if (font.GetFaceName() != startfont.GetFaceName())
- set_tag(line, blocks, "\\fn", from_wx(font.GetFaceName()), sel_start, sel_end);
- if (font.GetPointSize() != startfont.GetPointSize())
-- set_tag(line, blocks, "\\fs", std::to_string(font.GetPointSize()), sel_start, sel_end);
-+ set_tag(line, blocks, "\\fs", TO_STRING(font.GetPointSize()), sel_start, sel_end);
- if (font.GetWeight() != startfont.GetWeight())
-- set_tag(line, blocks, "\\b", std::to_string(font.GetWeight() == wxFONTWEIGHT_BOLD), sel_start, sel_end);
-+ set_tag(line, blocks, "\\b", TO_STRING(font.GetWeight() == wxFONTWEIGHT_BOLD), sel_start, sel_end);
- if (font.GetStyle() != startfont.GetStyle())
-- set_tag(line, blocks, "\\i", std::to_string(font.GetStyle() == wxFONTSTYLE_ITALIC), sel_start, sel_end);
-+ set_tag(line, blocks, "\\i", TO_STRING(font.GetStyle() == wxFONTSTYLE_ITALIC), sel_start, sel_end);
- if (font.GetUnderlined() != startfont.GetUnderlined())
-- set_tag(line, blocks, "\\i", std::to_string(font.GetUnderlined()), sel_start, sel_end);
-+ set_tag(line, blocks, "\\i", TO_STRING(font.GetUnderlined()), sel_start, sel_end);
+@@ -516,13 +523,13 @@
+ if (font.GetFaceName() != startfont.GetFaceName())
+ do_set_tag("\\fn", from_wx(font.GetFaceName()));
+ if (font.GetPointSize() != startfont.GetPointSize())
+- do_set_tag("\\fs", std::to_string(font.GetPointSize()));
++ do_set_tag("\\fs", TO_STRING(font.GetPointSize()));
+ if (font.GetWeight() != startfont.GetWeight())
+- do_set_tag("\\b", std::to_string(font.GetWeight() == wxFONTWEIGHT_BOLD));
++ do_set_tag("\\b", TO_STRING(font.GetWeight() == wxFONTWEIGHT_BOLD));
+ if (font.GetStyle() != startfont.GetStyle())
+- do_set_tag("\\i", std::to_string(font.GetStyle() == wxFONTSTYLE_ITALIC));
++ do_set_tag("\\i", TO_STRING(font.GetStyle() == wxFONTSTYLE_ITALIC));
+ if (font.GetUnderlined() != startfont.GetUnderlined())
+- do_set_tag("\\i", std::to_string(font.GetUnderlined()));
++ do_set_tag("\\i", TO_STRING(font.GetUnderlined()));
- commit_text(c, _("set font"), sel_start, sel_end);
- }
-@@ -711,7 +718,7 @@
+ return shift;
+ });
+@@ -761,7 +768,7 @@
}
static void combine_karaoke(AssDialogue *first, AssDialogue *second) {
diff --git a/multimedia/aegisub/files/patch-src__dialog_jumpto.cpp b/multimedia/aegisub/files/patch-src__dialog_jumpto.cpp
index 8f397b3c3fa0..33749fa9797c 100644
--- a/multimedia/aegisub/files/patch-src__dialog_jumpto.cpp
+++ b/multimedia/aegisub/files/patch-src__dialog_jumpto.cpp
@@ -1,6 +1,6 @@
---- src/dialog_jumpto.cpp.orig
-+++ src/dialog_jumpto.cpp
-@@ -48,6 +48,13 @@
+--- src/dialog_jumpto.cpp.orig 2014-07-28 23:29:16.000000000 +0900
++++ src/dialog_jumpto.cpp 2014-08-05 21:03:34.000000000 +0900
+@@ -43,6 +43,13 @@
#include <wx/stattext.h>
#include <wx/textctrl.h>
@@ -11,15 +11,15 @@
+#define TO_STRING(x) boost::lexical_cast<std::string>(x)
+#endif
+
- DialogJumpTo::DialogJumpTo(agi::Context *c)
- : wxDialog(c->parent, -1, _("Jump to"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxWANTS_CHARS)
- , c(c)
-@@ -59,7 +66,7 @@
- auto LabelTime = new wxStaticText(this, -1, _("Time: "));
+ namespace {
+ struct DialogJumpTo {
+ wxDialog d;
+@@ -74,7 +81,7 @@
+ auto LabelTime = new wxStaticText(&d, -1, _("Time: "));
- JumpFrame = new wxTextCtrl(this,-1,"",wxDefaultPosition,wxSize(-1,-1),wxTE_PROCESS_ENTER, IntValidator((int)jumpframe));
-- JumpFrame->SetMaxLength(std::to_string(c->videoController->GetLength() - 1).size());
-+ JumpFrame->SetMaxLength(TO_STRING(c->videoController->GetLength() - 1).size());
- JumpTime = new TimeEdit(this, -1, c, AssTime(c->videoController->TimeAtFrame(jumpframe)).GetAssFormated(), wxSize(-1,-1));
+ JumpFrame = new wxTextCtrl(&d,-1,"",wxDefaultPosition,wxSize(-1,-1),wxTE_PROCESS_ENTER, IntValidator((int)jumpframe));
+- JumpFrame->SetMaxLength(std::to_string(c->project->VideoProvider()->GetFrameCount() - 1).size());
++ JumpFrame->SetMaxLength(TO_STRING(c->project->VideoProvider()->GetFrameCount() - 1).size());
+ JumpTime = new TimeEdit(&d, -1, c, agi::Time(c->videoController->TimeAtFrame(jumpframe)).GetAssFormatted(), wxSize(-1,-1));
auto TimesSizer = new wxGridSizer(2, 5, 5);
diff --git a/multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp b/multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp
index 27df8148c829..55e412dcfdf4 100644
--- a/multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp
+++ b/multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp
@@ -1,8 +1,8 @@
--- src/dialog_kara_timing_copy.cpp.orig
+++ src/dialog_kara_timing_copy.cpp
-@@ -69,6 +69,13 @@
- #define TEXT_LABEL_SOURCE _("Source: ")
- #define TEXT_LABEL_DEST _("Dest: ")
+@@ -53,6 +53,13 @@
+ #include <wx/stattext.h>
+ #include <wx/string.h>
+#ifdef _LIBCPP_VERSION
+#define TO_STRING(x) std::to_string(x)
@@ -11,10 +11,10 @@
+#define TO_STRING(x) boost::lexical_cast<std::string>(x)
+#endif
+
- class KaraokeLineMatchDisplay : public wxControl {
- typedef AssKaraoke::Syllable MatchSyllable;
-
-@@ -358,7 +365,7 @@
+ namespace {
+ #define TEXT_LABEL_SOURCE _("Source: ")
+ #define TEXT_LABEL_DEST _("Dest: ")
+@@ -343,7 +350,7 @@
int duration = 0;
for (auto const& syl : match.src)
duration += syl.duration;
diff --git a/multimedia/aegisub/files/patch-src__dialog_properties.cpp b/multimedia/aegisub/files/patch-src__dialog_properties.cpp
index 9ef5fee0afa1..7bc2d921e9a7 100644
--- a/multimedia/aegisub/files/patch-src__dialog_properties.cpp
+++ b/multimedia/aegisub/files/patch-src__dialog_properties.cpp
@@ -1,6 +1,6 @@
---- src/dialog_properties.cpp.orig
-+++ src/dialog_properties.cpp
-@@ -54,6 +54,15 @@
+--- src/dialog_properties.cpp.orig 2014-07-28 23:29:16.000000000 +0900
++++ src/dialog_properties.cpp 2014-08-05 20:27:38.000000000 +0900
+@@ -47,6 +47,15 @@
#include <wx/stattext.h>
#include <wx/textctrl.h>
@@ -13,24 +13,26 @@
+#define TO_WSTRING(x) boost::lexical_cast<std::wstring>(x)
+#endif
+
- DialogProperties::DialogProperties(agi::Context *c)
- : wxDialog(c->parent, -1, _("Script Properties"))
- , c(c)
-@@ -145,7 +154,7 @@
+ namespace {
+ class DialogProperties {
+ wxDialog d;
+@@ -186,7 +195,7 @@
count += SetInfoIfDifferent("PlayResX", from_wx(ResX->GetValue()));
count += SetInfoIfDifferent("PlayResY", from_wx(ResY->GetValue()));
- count += SetInfoIfDifferent("WrapStyle", std::to_string(WrapStyle->GetSelection()));
+ count += SetInfoIfDifferent("WrapStyle", TO_STRING(WrapStyle->GetSelection()));
count += SetInfoIfDifferent("ScaledBorderAndShadow", ScaleBorder->GetValue() ? "yes" : "no");
+ count += SetInfoIfDifferent("YCbCr Matrix", from_wx(YCbCrMatrix->GetValue()));
- if (count) c->ass->Commit(_("property changes"), AssFile::COMMIT_SCRIPTINFO);
-@@ -162,6 +171,6 @@
+@@ -204,8 +213,8 @@
}
void DialogProperties::OnSetFromVideo(wxCommandEvent &) {
-- ResX->SetValue(std::to_wstring(c->videoController->GetWidth()));
-- ResY->SetValue(std::to_wstring(c->videoController->GetHeight()));
-+ ResX->SetValue(TO_WSTRING(c->videoController->GetWidth()));
-+ ResY->SetValue(TO_WSTRING(c->videoController->GetHeight()));
+- ResX->SetValue(std::to_wstring(c->project->VideoProvider()->GetWidth()));
+- ResY->SetValue(std::to_wstring(c->project->VideoProvider()->GetHeight()));
++ ResX->SetValue(TO_WSTRING(c->project->VideoProvider()->GetWidth()));
++ ResY->SetValue(TO_WSTRING(c->project->VideoProvider()->GetHeight()));
}
+ }
+
diff --git a/multimedia/aegisub/files/patch-src__dialog_shift_times.cpp b/multimedia/aegisub/files/patch-src__dialog_shift_times.cpp
index 7d8f76024966..4bf642bd24f9 100644
--- a/multimedia/aegisub/files/patch-src__dialog_shift_times.cpp
+++ b/multimedia/aegisub/files/patch-src__dialog_shift_times.cpp
@@ -1,6 +1,6 @@
---- src/dialog_shift_times.cpp.orig
-+++ src/dialog_shift_times.cpp
-@@ -56,6 +56,13 @@
+--- src/dialog_shift_times.cpp.orig 2014-07-28 23:29:16.000000000 +0900
++++ src/dialog_shift_times.cpp 2014-08-05 20:21:09.000000000 +0900
+@@ -48,6 +48,13 @@
#include <wx/sizer.h>
#include <wx/textctrl.h>
@@ -11,15 +11,15 @@
+#define TO_WSTRING(x) boost::lexical_cast<std::wstring>(x)
+#endif
+
- static wxString get_history_string(json::Object &obj) {
- wxString filename = to_wx(obj["filename"]);
- if (filename.empty())
-@@ -87,7 +94,7 @@
- int beg = (int64_t)(*it)["start"];
- int end = (int64_t)(*it)["end"];
+ namespace {
+ class DialogShiftTimes final : public wxDialog {
+ agi::Context *context;
+@@ -118,7 +125,7 @@
+ int beg = (int64_t)range["start"];
+ int end = (int64_t)range["end"];
if (beg == end)
- lines += std::to_wstring(beg);
+ lines += TO_WSTRING(beg);
else
- lines += wxString::Format("%d-%d", beg, end);
+ lines += fmt_wx("%d-%d", beg, end);
if (it + 1 != sel.end())
diff --git a/multimedia/aegisub/files/patch-src__dialog_style_editor.cpp b/multimedia/aegisub/files/patch-src__dialog_style_editor.cpp
index 3e0bfe0dcaf3..4aa7e4f7d846 100644
--- a/multimedia/aegisub/files/patch-src__dialog_style_editor.cpp
+++ b/multimedia/aegisub/files/patch-src__dialog_style_editor.cpp
@@ -1,7 +1,7 @@
---- src/dialog_style_editor.cpp.orig
-+++ src/dialog_style_editor.cpp
-@@ -62,6 +62,13 @@
- #include <wx/sizer.h>
+--- src/dialog_style_editor.cpp.orig 2014-07-28 23:29:16.000000000 +0900
++++ src/dialog_style_editor.cpp 2014-08-05 20:30:35.000000000 +0900
+@@ -61,6 +61,13 @@
+ #include <wx/spinctrl.h>
#include <wx/stattext.h>
+#ifdef _LIBCPP_VERSION
@@ -14,8 +14,8 @@
/// Style rename helper that walks a file searching for a style and optionally
/// updating references to it
class StyleRenamer {
-@@ -160,7 +167,7 @@
- SetIcon(GETICON(style_toolbutton_16));
+@@ -166,7 +173,7 @@
+ };
// Prepare control values
- wxString EncodingValue = std::to_wstring(style->encoding);
@@ -23,3 +23,12 @@
wxString alignValues[9] = { "7", "8", "9", "4", "5", "6", "1", "2", "3" };
// Encoding options
+@@ -197,7 +204,7 @@
+ new ColourButton(this, wxSize(55, 16), true, style->shadow, ColorValidator(&work->shadow))
+ };
+ for (int i = 0; i < 3; i++)
+- margin[i] = new wxSpinCtrl(this, -1, std::to_wstring(style->Margin[i]),
++ margin[i] = new wxSpinCtrl(this, -1, TO_WSTRING(style->Margin[i]),
+ wxDefaultPosition, wxSize(60, -1),
+ wxSP_ARROW_KEYS, 0, 9999, style->Margin[i]);
+
diff --git a/multimedia/aegisub/files/patch-src__dialog_video_properties.cpp b/multimedia/aegisub/files/patch-src__dialog_video_properties.cpp
new file mode 100644
index 000000000000..7a228f9c9401
--- /dev/null
+++ b/multimedia/aegisub/files/patch-src__dialog_video_properties.cpp
@@ -0,0 +1,38 @@
+--- src/dialog_video_properties.cpp 2014-07-28 23:29:16.000000000 +0900
++++ /home/jungle/dialog_video_properties.cpp 2014-08-05 20:35:18.000000000 +0900
+@@ -27,6 +27,13 @@
+ #include <wx/sizer.h>
+ #include <wx/stattext.h>
+
++#ifdef _LIBCPP_VERSION
++#define TO_STRING(x) std::to_string(x)
++#else
++#include <boost/lexical_cast.hpp>
++#define TO_STRING(x) boost::lexical_cast<std::string>(x)
++#endif
++
+ namespace {
+ enum {
+ MISMATCH_IGNORE,
+@@ -103,8 +110,8 @@
+ // If the script resolution hasn't been set at all just force it to the
+ // video resolution
+ if (sx == 0 && sy == 0) {
+- file->SetScriptInfo("PlayResX", std::to_string(vx));
+- file->SetScriptInfo("PlayResY", std::to_string(vy));
++ file->SetScriptInfo("PlayResX", TO_STRING(vx));
++ file->SetScriptInfo("PlayResY", TO_STRING(vy));
+ return true;
+ }
+
+@@ -126,8 +133,8 @@
+ return commit_subs;
+
+ case MISMATCH_SET:
+- file->SetScriptInfo("PlayResX", std::to_string(vx));
+- file->SetScriptInfo("PlayResY", std::to_string(vy));
++ file->SetScriptInfo("PlayResX", TO_STRING(vx));
++ file->SetScriptInfo("PlayResY", TO_STRING(vy));
+ return true;
+
+ case MISMATCH_RESAMPLE:
diff --git a/multimedia/aegisub/files/patch-src__grid_column.cpp b/multimedia/aegisub/files/patch-src__grid_column.cpp
new file mode 100644
index 000000000000..b113ad6c9fc6
--- /dev/null
+++ b/multimedia/aegisub/files/patch-src__grid_column.cpp
@@ -0,0 +1,103 @@
+--- src/grid_column.cpp.orig 2014-08-05 23:58:58.000000000 +0900
++++ src/grid_column.cpp 2014-08-06 00:01:32.000000000 +0900
+@@ -27,6 +27,13 @@
+
+ #include <wx/dc.h>
+
++#ifdef _LIBCPP_VERSION
++#define TO_WSTRING(x) std::to_wstring(x)
++#else
++#include <boost/lexical_cast.hpp>
++#define TO_WSTRING(x) boost::lexical_cast<std::wstring>(x)
++#endif
++
+ int WidthHelper::operator()(boost::flyweight<std::string> const& str) {
+ if (str.get().empty()) return 0;
+ auto it = widths.find(str);
+@@ -84,7 +91,7 @@
+ bool Centered() const override { return true; }
+
+ wxString Value(const AssDialogue *d, const agi::Context * = nullptr) const override {
+- return std::to_wstring(d->Row + 1);
++ return TO_WSTRING(d->Row + 1);
+ }
+
+ int Width(const agi::Context *c, WidthHelper &helper) const override {
+@@ -108,12 +115,12 @@
+ bool Centered() const override { return true; }
+
+ wxString Value(const AssDialogue *d, const agi::Context *) const override {
+- return d->Layer ? wxString(std::to_wstring(d->Layer)) : wxString();
++ return d->Layer ? wxString(TO_WSTRING(d->Layer)) : wxString();
+ }
+
+ int Width(const agi::Context *c, WidthHelper &helper) const override {
+ int max_layer = max_value(&AssDialogue::Layer, c->ass->Events);
+- return max_layer == 0 ? 0 : helper(std::to_wstring(max_layer));
++ return max_layer == 0 ? 0 : helper(TO_WSTRING(max_layer));
+ }
+ };
+
+@@ -130,7 +137,7 @@
+
+ wxString Value(const AssDialogue *d, const agi::Context *c) const override {
+ if (by_frame)
+- return std::to_wstring(c->videoController->FrameAtTime(d->Start, agi::vfr::START));
++ return TO_WSTRING(c->videoController->FrameAtTime(d->Start, agi::vfr::START));
+ return to_wx(d->Start.GetAssFormatted());
+ }
+
+@@ -138,7 +145,7 @@
+ if (!by_frame)
+ return helper(wxS("0:00:00.00"));
+ int frame = c->videoController->FrameAtTime(max_value(&AssDialogue::Start, c->ass->Events), agi::vfr::START);
+- return helper(std::to_wstring(frame));
++ return helper(TO_WSTRING(frame));
+ }
+ };
+
+@@ -148,7 +155,7 @@
+
+ wxString Value(const AssDialogue *d, const agi::Context *c) const override {
+ if (by_frame)
+- return std::to_wstring(c->videoController->FrameAtTime(d->End, agi::vfr::END));
++ return TO_WSTRING(c->videoController->FrameAtTime(d->End, agi::vfr::END));
+ return to_wx(d->End.GetAssFormatted());
+ }
+
+@@ -156,7 +163,7 @@
+ if (!by_frame)
+ return helper(wxS("0:00:00.00"));
+ int frame = c->videoController->FrameAtTime(max_value(&AssDialogue::End, c->ass->Events), agi::vfr::END);
+- return helper(std::to_wstring(frame));
++ return helper(TO_WSTRING(frame));
+ }
+ };
+
+@@ -220,7 +227,7 @@
+ bool Centered() const override { return true; }
+
+ wxString Value(const AssDialogue *d, const agi::Context *) const override {
+- return d->Margin[Index] ? wxString(std::to_wstring(d->Margin[Index])) : wxString();
++ return d->Margin[Index] ? wxString(TO_WSTRING(d->Margin[Index])) : wxString();
+ }
+
+ int Width(const agi::Context *c, WidthHelper &helper) const override {
+@@ -229,7 +236,7 @@
+ if (line.Margin[Index] > max)
+ max = line.Margin[Index];
+ }
+- return max == 0 ? 0 : helper(std::to_wstring(max));
++ return max == 0 ? 0 : helper(TO_WSTRING(max));
+ }
+ };
+
+@@ -296,7 +303,7 @@
+ int cps = CPS(d);
+ if (cps < 0 || cps > 100) return;
+
+- wxString str = std::to_wstring(cps);
++ wxString str = TO_WSTRING(cps);
+ wxSize ext = dc.GetTextExtent(str);
+ auto tc = dc.GetTextForeground();
+
diff --git a/multimedia/aegisub/files/patch-src__main.cpp b/multimedia/aegisub/files/patch-src__main.cpp
deleted file mode 100644
index 0d9fe7930e32..000000000000
--- a/multimedia/aegisub/files/patch-src__main.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/main.cpp.orig
-+++ src/main.cpp
-@@ -69,6 +69,7 @@
- #include <boost/locale.hpp>
- #include <sstream>
-
-+#include <wx/clipbrd.h>
- #include <wx/config.h>
- #include <wx/msgdlg.h>
- #include <wx/stackwalk.h>
diff --git a/multimedia/aegisub/files/patch-src__preferences.cpp b/multimedia/aegisub/files/patch-src__preferences.cpp
new file mode 100644
index 000000000000..d9c19afc0635
--- /dev/null
+++ b/multimedia/aegisub/files/patch-src__preferences.cpp
@@ -0,0 +1,10 @@
+--- src/preferences.cpp.orig
++++ src/preferences.cpp
+@@ -47,6 +47,7 @@
+
+ #include <wx/checkbox.h>
+ #include <wx/combobox.h>
++#include <wx/dc.h>
+ #include <wx/event.h>
+ #include <wx/listctrl.h>
+ #include <wx/msgdlg.h>
diff --git a/multimedia/aegisub/files/patch-src__preferences_base.cpp b/multimedia/aegisub/files/patch-src__preferences_base.cpp
index 8ee28c9ed4b2..eb94e131f2a1 100644
--- a/multimedia/aegisub/files/patch-src__preferences_base.cpp
+++ b/multimedia/aegisub/files/patch-src__preferences_base.cpp
@@ -1,8 +1,8 @@
---- src/preferences_base.cpp.orig
-+++ src/preferences_base.cpp
-@@ -42,6 +42,13 @@
- #include <wx/stattext.h>
- #include <wx/treebook.h>
+--- src/preferences_base.cpp.orig 2014-07-28 23:29:16.000000000 +0900
++++ src/preferences_base.cpp 2014-08-05 07:56:10.000000000 +0900
+@@ -40,6 +40,13 @@
+
+ #undef Bool
+#ifdef _LIBCPP_VERSION
+#define TO_WSTRING(x) std::to_wstring(x)
@@ -14,21 +14,29 @@
#define OPTION_UPDATER(type, evttype, opt, body) \
class type { \
std::string name; \
-@@ -126,7 +133,7 @@
+@@ -124,14 +131,14 @@
}
- case agi::OptionValue::Type_Int: {
-- wxSpinCtrl *sc = new wxSpinCtrl(this, -1, std::to_wstring((int)opt->GetInt()), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, min, max, opt->GetInt());
-+ wxSpinCtrl *sc = new wxSpinCtrl(this, -1, TO_WSTRING((int)opt->GetInt()), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, min, max, opt->GetInt());
+ case agi::OptionType::Int: {
+- auto sc = new wxSpinCtrl(this, -1, std::to_wstring((int)opt->GetInt()), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, min, max, opt->GetInt());
++ auto sc = new wxSpinCtrl(this, -1, TO_WSTRING((int)opt->GetInt()), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, min, max, opt->GetInt());
sc->Bind(wxEVT_SPINCTRL, IntUpdater(opt_name, parent));
Add(flex, name, sc);
return sc;
-@@ -240,7 +247,7 @@
+ }
+
+ case agi::OptionType::Double: {
+- auto scd = new wxSpinCtrlDouble(this, -1, std::to_wstring(opt->GetDouble()), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, min, max, opt->GetDouble(), inc);
++ auto scd = new wxSpinCtrlDouble(this, -1, TO_WSTRING(opt->GetDouble()), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, min, max, opt->GetDouble(), inc);
+ scd->Bind(wxEVT_SPINCTRL, DoubleUpdater(opt_name, parent));
+ Add(flex, name, scd);
+ return scd;
+@@ -238,7 +245,7 @@
font_name->SetMinSize(wxSize(160, -1));
font_name->Bind(wxEVT_TEXT, StringUpdater(face_opt->GetName().c_str(), parent));
-- wxSpinCtrl *font_size = new wxSpinCtrl(this, -1, std::to_wstring((int)size_opt->GetInt()), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 3, 42, size_opt->GetInt());
-+ wxSpinCtrl *font_size = new wxSpinCtrl(this, -1, TO_WSTRING((int)size_opt->GetInt()), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 3, 42, size_opt->GetInt());
+- auto font_size = new wxSpinCtrl(this, -1, std::to_wstring((int)size_opt->GetInt()), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 3, 42, size_opt->GetInt());
++ auto font_size = new wxSpinCtrl(this, -1, TO_WSTRING((int)size_opt->GetInt()), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 3, 42, size_opt->GetInt());
font_size->Bind(wxEVT_SPINCTRL, IntUpdater(size_opt->GetName().c_str(), parent));
- wxButton *pick_btn = new wxButton(this, -1, _("Choose..."));
+ auto pick_btn = new wxButton(this, -1, _("Choose..."));
diff --git a/multimedia/aegisub/files/patch-src__resolution_resampler.cpp b/multimedia/aegisub/files/patch-src__resolution_resampler.cpp
index 4e9a2759094a..499239330fa0 100644
--- a/multimedia/aegisub/files/patch-src__resolution_resampler.cpp
+++ b/multimedia/aegisub/files/patch-src__resolution_resampler.cpp
@@ -1,11 +1,8 @@
---- src/resolution_resampler.cpp.orig
-+++ src/resolution_resampler.cpp
-@@ -29,9 +29,15 @@
-
- #include <algorithm>
- #include <boost/algorithm/string/predicate.hpp>
--#include <boost/lexical_cast.hpp>
- #include <functional>
+--- src/resolution_resampler.cpp.orig 2014-07-28 23:29:16.000000000 +0900
++++ src/resolution_resampler.cpp 2014-08-05 07:58:45.000000000 +0900
+@@ -32,6 +32,13 @@
+ #include <cmath>
+ #include <wx/intl.h>
+#ifdef _LIBCPP_VERSION
+#define TO_STRING(x) std::to_string(x)
@@ -17,14 +14,14 @@
enum {
LEFT = 0,
RIGHT = 1,
-@@ -175,8 +181,8 @@
- for (auto& line : ass->Line)
+@@ -281,8 +288,8 @@
+ for (auto& line : ass->Events)
resample_line(&state, line);
-- ass->SetScriptInfo("PlayResX", std::to_string(settings.script_x));
-- ass->SetScriptInfo("PlayResY", std::to_string(settings.script_y));
-+ ass->SetScriptInfo("PlayResX", TO_STRING(settings.script_x));
-+ ass->SetScriptInfo("PlayResY", TO_STRING(settings.script_y));
+- ass->SetScriptInfo("PlayResX", std::to_string(settings.dest_x));
+- ass->SetScriptInfo("PlayResY", std::to_string(settings.dest_y));
++ ass->SetScriptInfo("PlayResX", TO_STRING(settings.dest_x));
++ ass->SetScriptInfo("PlayResY", TO_STRING(settings.dest_y));
+ ass->SetScriptInfo("YCbCr Matrix", MatrixToString(settings.dest_matrix));
ass->Commit(_("resolution resampling"), AssFile::COMMIT_SCRIPTINFO | AssFile::COMMIT_DIAG_FULL);
- }
diff --git a/multimedia/aegisub/files/patch-src__spline_curve.cpp b/multimedia/aegisub/files/patch-src__spline_curve.cpp
new file mode 100644
index 000000000000..5575c8fdeff5
--- /dev/null
+++ b/multimedia/aegisub/files/patch-src__spline_curve.cpp
@@ -0,0 +1,10 @@
+--- src/spline_curve.cpp.orig 2014-08-06 00:07:08.000000000 +0900
++++ src/spline_curve.cpp 2014-08-06 00:07:27.000000000 +0900
+@@ -35,6 +35,7 @@
+ #include "spline_curve.h"
+ #include "utils.h"
+
++#include <algorithm>
+ #include <limits>
+
+ SplineCurve::SplineCurve(Vector2D p1) : p1(p1), type(POINT) { }
diff --git a/multimedia/aegisub/files/patch-src__subs_edit_box.cpp b/multimedia/aegisub/files/patch-src__subs_edit_box.cpp
index 54941fc51056..ea73015b65f0 100644
--- a/multimedia/aegisub/files/patch-src__subs_edit_box.cpp
+++ b/multimedia/aegisub/files/patch-src__subs_edit_box.cpp
@@ -1,6 +1,6 @@
---- src/subs_edit_box.cpp.orig
-+++ src/subs_edit_box.cpp
-@@ -71,6 +71,13 @@
+--- src/subs_edit_box.cpp.orig 2014-07-28 23:29:16.000000000 +0900
++++ src/subs_edit_box.cpp 2014-08-06 00:09:49.000000000 +0900
+@@ -69,6 +69,13 @@
#include <wx/sizer.h>
#include <wx/spinctrl.h>
@@ -11,10 +11,10 @@
+#define TO_WSTRING(x) boost::lexical_cast<std::wstring>(x)
+#endif
+
- namespace {
-
- /// Work around wxGTK's fondness for generating events from ChangeValue
-@@ -324,7 +331,7 @@
+ namespace std {
+ template <typename T>
+ struct hash<boost::flyweight<T>> {
+@@ -354,7 +361,7 @@
if (type & AssFile::COMMIT_DIAG_META) {
layer->SetValue(line->Layer);
for (size_t i = 0; i < margin.size(); ++i)
@@ -22,4 +22,13 @@
+ change_value(margin[i], TO_WSTRING(line->Margin[i]));
comment_box->SetValue(line->Comment);
style_box->Select(style_box->FindString(to_wx(line->Style)));
-
+ active_style = line ? c->ass->GetStyle(line->Style) : nullptr;
+@@ -623,7 +630,7 @@
+ if (OPT_GET("Subtitle/Character Counter/Ignore Punctuation")->GetBool())
+ ignore |= agi::IGNORE_PUNCTUATION;
+ size_t length = agi::MaxLineLength(text, ignore);
+- char_count->SetValue(std::to_wstring(length));
++ char_count->SetValue(TO_WSTRING(length));
+ size_t limit = (size_t)OPT_GET("Subtitle/Character Limit")->GetInt();
+ if (limit && length > limit)
+ char_count->SetBackgroundColour(to_wx(OPT_GET("Colour/Subtitle/Syntax/Background/Error")->GetColor()));
diff --git a/multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp b/multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp
new file mode 100644
index 000000000000..2f9e75e20596
--- /dev/null
+++ b/multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp
@@ -0,0 +1,34 @@
+--- src/subtitle_format_ass.cpp.orig 2014-08-05 23:16:03.000000000 +0900
++++ src/subtitle_format_ass.cpp 2014-08-05 23:18:02.000000000 +0900
+@@ -31,6 +31,13 @@
+ #include <libaegisub/ass/uuencode.h>
+ #include <libaegisub/fs.h>
+
++#ifdef _LIBCPP_VERSION
++#define TO_STRING(x) std::to_string(x)
++#else
++#include <boost/lexical_cast.hpp>
++#define TO_STRING(x) boost::lexical_cast<std::string>(x)
++#endif
++
+ DEFINE_EXCEPTION(AssParseError, SubtitleFormatParseError);
+
+ void AssSubtitleFormat::ReadFile(AssFile *target, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& encoding) const {
+@@ -119,7 +126,7 @@
+ template<typename Number>
+ void WriteIfNotZero(const char *key, Number n) {
+ if (n != Number{})
+- file.WriteLineToFile(key + std::to_string(n));
++ file.WriteLineToFile(key + TO_STRING(n));
+ }
+
+ void WriteExtradata(AegisubExtradataMap const& extradata) {
+@@ -131,7 +138,7 @@
+ file.WriteLineToFile("[Aegisub Extradata]");
+ for (auto const& edi : extradata) {
+ std::string line = "Data: ";
+- line += std::to_string(edi.first);
++ line += TO_STRING(edi.first);
+ line += ",";
+ line += inline_string_encode(edi.second.first);
+ line += ",";
diff --git a/multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp b/multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp
index 280d84cdc423..bf7a8dd1f9d1 100644
--- a/multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp
+++ b/multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp
@@ -1,8 +1,8 @@
---- src/subtitle_format_srt.cpp.orig
-+++ src/subtitle_format_srt.cpp
-@@ -54,6 +54,13 @@
+--- src/subtitle_format_srt.cpp.orig 2014-07-28 23:29:16.000000000 +0900
++++ src/subtitle_format_srt.cpp 2014-08-05 08:01:33.000000000 +0900
+@@ -50,6 +50,13 @@
+ #include <boost/algorithm/string/trim.hpp>
#include <boost/regex.hpp>
- #include <map>
+#ifdef _LIBCPP_VERSION
+#define TO_STRING(x) std::to_string(x)
@@ -11,15 +11,15 @@
+#define TO_STRING(x) boost::lexical_cast<std::string>(x)
+#endif
+
- DEFINE_SIMPLE_EXCEPTION(SRTParseError, SubtitleFormatParseError, "subtitle_io/parse/srt")
+ DEFINE_EXCEPTION(SRTParseError, SubtitleFormatParseError);
namespace {
-@@ -481,7 +488,7 @@
+@@ -435,7 +442,7 @@
// Write lines
int i=0;
- for (auto current : copy.Line | agi::of_type<AssDialogue>()) {
+ for (auto const& current : copy.Events) {
- file.WriteLineToFile(std::to_string(++i));
+ file.WriteLineToFile(TO_STRING(++i));
- file.WriteLineToFile(WriteSRTTime(current->Start) + " --> " + WriteSRTTime(current->End));
- file.WriteLineToFile(ConvertTags(current));
+ file.WriteLineToFile(WriteSRTTime(current.Start) + " --> " + WriteSRTTime(current.End));
+ file.WriteLineToFile(ConvertTags(&current));
file.WriteLineToFile("");
diff --git a/multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp b/multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp
index 8857474d5beb..4cacb8140458 100644
--- a/multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp
+++ b/multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp
@@ -1,6 +1,6 @@
---- src/timeedit_ctrl.cpp.orig
-+++ src/timeedit_ctrl.cpp
-@@ -52,6 +52,13 @@
+--- src/timeedit_ctrl.cpp.orig 2014-07-28 23:29:16.000000000 +0900
++++ src/timeedit_ctrl.cpp 2014-08-05 08:03:02.000000000 +0900
+@@ -48,6 +48,13 @@
#define TimeEditWindowStyle
@@ -14,12 +14,12 @@
enum {
Time_Edit_Copy = 1320,
Time_Edit_Paste
-@@ -117,7 +124,7 @@
+@@ -113,7 +120,7 @@
void TimeEdit::UpdateText() {
if (byFrame)
-- ChangeValue(std::to_wstring(c->videoController->FrameAtTime(time, isEnd ? agi::vfr::END : agi::vfr::START)));
-+ ChangeValue(TO_WSTRING(c->videoController->FrameAtTime(time, isEnd ? agi::vfr::END : agi::vfr::START)));
+- ChangeValue(std::to_wstring(c->project->Timecodes().FrameAtTime(time, isEnd ? agi::vfr::END : agi::vfr::START)));
++ ChangeValue(TO_WSTRING(c->project->Timecodes().FrameAtTime(time, isEnd ? agi::vfr::END : agi::vfr::START)));
else
- ChangeValue(to_wx(time.GetAssFormated()));
+ ChangeValue(to_wx(time.GetAssFormatted()));
}
diff --git a/multimedia/aegisub/files/patch-src__validators.cpp b/multimedia/aegisub/files/patch-src__validators.cpp
index 8af39f89c4ff..a01ed86a8619 100644
--- a/multimedia/aegisub/files/patch-src__validators.cpp
+++ b/multimedia/aegisub/files/patch-src__validators.cpp
@@ -1,7 +1,7 @@
---- src/validators.cpp.orig
-+++ src/validators.cpp
-@@ -27,6 +27,13 @@
- #include <wx/combobox.h>
+--- src/validators.cpp.orig 2014-07-28 23:29:16.000000000 +0900
++++ src/validators.cpp 2014-08-06 00:12:26.000000000 +0900
+@@ -25,6 +25,13 @@
+ #include <wx/spinctrl.h>
#include <wx/textctrl.h>
+#ifdef _LIBCPP_VERSION
@@ -14,7 +14,7 @@
namespace {
std::string new_value(wxTextCtrl *ctrl, int chr) {
long from, to;
-@@ -57,7 +64,7 @@
+@@ -55,7 +62,7 @@
}
bool IntValidator::TransferToWindow() {
@@ -23,3 +23,12 @@
return true;
}
+@@ -132,7 +139,7 @@
+ }
+
+ bool DoubleValidator::TransferToWindow() {
+- auto str = std::to_wstring(*value);
++ auto str = TO_WSTRING(*value);
+ if (decimal_sep != '.')
+ std::replace(str.begin(), str.end(), L'.', decimal_sep);
+ if (str.find(decimal_sep) != str.npos) {
diff --git a/multimedia/aegisub/files/patch-src__video_context.cpp b/multimedia/aegisub/files/patch-src__video_context.cpp
deleted file mode 100644
index ed0d765546b9..000000000000
--- a/multimedia/aegisub/files/patch-src__video_context.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
---- src/video_context.cpp.orig
-+++ src/video_context.cpp
-@@ -58,6 +58,13 @@
-
- #include <wx/msgdlg.h>
-
-+#ifdef _LIBCPP_VERSION
-+#define TO_STRING(x) std::to_string(x)
-+#else
-+#include <boost/lexical_cast.hpp>
-+#define TO_STRING(x) boost::lexical_cast<std::string>(x)
-+#endif
-+
- VideoContext::VideoContext()
- : playback(this)
- , playAudioOnStep(OPT_GET("Audio/Plays When Stepping Video"))
-@@ -135,8 +142,8 @@
- // If the script resolution hasn't been set at all just force it to the
- // video resolution
- if (sx == 0 && sy == 0) {
-- context->ass->SetScriptInfo("PlayResX", std::to_string(vx));
-- context->ass->SetScriptInfo("PlayResY", std::to_string(vy));
-+ context->ass->SetScriptInfo("PlayResX", TO_STRING(vx));
-+ context->ass->SetScriptInfo("PlayResY", TO_STRING(vy));
- commit_subs = true;
- }
- // If it has been set to something other than a multiple of the video
-@@ -153,8 +160,8 @@
- break;
- // Fallthrough to case 2
- case 2: // Always change script res
-- context->ass->SetScriptInfo("PlayResX", std::to_string(vx));
-- context->ass->SetScriptInfo("PlayResY", std::to_string(vy));
-+ context->ass->SetScriptInfo("PlayResX", TO_STRING(vx));
-+ context->ass->SetScriptInfo("PlayResY", TO_STRING(vy));
- commit_subs = true;
- break;
- default: // Never change
-@@ -248,16 +255,16 @@
-
- std::string ar;
- if (ar_type == AspectRatio::Custom)
-- ar = "c" + std::to_string(ar_value);
-+ ar = "c" + TO_STRING(ar_value);
- else
-- ar = std::to_string((int)ar_type);
-+ ar = TO_STRING((int)ar_type);
-
- context->ass->SetScriptInfo("Video File", config::path->MakeRelative(video_filename, "?script").generic_string());
- auto matrix = video_provider->GetColorSpace();
- if (!matrix.empty())
- context->ass->SetScriptInfo("YCbCr Matrix", matrix);
- context->ass->SaveUIState("Video Aspect Ratio", ar);
-- context->ass->SaveUIState("Video Position", std::to_string(frame_n));
-+ context->ass->SaveUIState("Video Position", TO_STRING(frame_n));
- }
-
- void VideoContext::JumpToFrame(int n) {
diff --git a/multimedia/aegisub/files/patch-src__video_display.cpp b/multimedia/aegisub/files/patch-src__video_display.cpp
deleted file mode 100644
index 4a464def1020..000000000000
--- a/multimedia/aegisub/files/patch-src__video_display.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
---- src/video_display.cpp.orig
-+++ src/video_display.cpp
-@@ -69,6 +69,13 @@
- #include <GL/gl.h>
- #endif
-
-+#ifdef _LIBCPP_VERSION
-+#define TO_STRING(x) std::to_string(x)
-+#else
-+#include <boost/lexical_cast.hpp>
-+#define TO_STRING(x) boost::lexical_cast<std::string>(x)
-+#endif
-+
- /// Attribute list for gl canvases; set the canvases to doublebuffered rgba with an 8 bit stencil buffer
- int attribList[] = { WX_GL_RGBA , WX_GL_DOUBLEBUFFER, WX_GL_STENCIL_SIZE, 8, 0 };
-
-@@ -439,5 +446,5 @@
- }
-
- void VideoDisplay::OnSubtitlesSave() {
-- con->ass->SaveUIState("Video Zoom Percent", std::to_string(zoomValue));
-+ con->ass->SaveUIState("Video Zoom Percent", TO_STRING(zoomValue));
- }
diff --git a/multimedia/aegisub/files/patch-src__video_provider_yuv4mpeg.cpp b/multimedia/aegisub/files/patch-src__video_provider_yuv4mpeg.cpp
deleted file mode 100644
index 548a8833bde7..000000000000
--- a/multimedia/aegisub/files/patch-src__video_provider_yuv4mpeg.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
---- src/video_provider_yuv4mpeg.cpp.orig
-+++ src/video_provider_yuv4mpeg.cpp
-@@ -47,6 +47,13 @@
- #include <boost/algorithm/string/case_conv.hpp>
- #include <boost/filesystem/path.hpp>
-
-+#ifdef _LIBCPP_VERSION
-+#define TO_STRING(x) std::to_string(x)
-+#else
-+#include <boost/lexical_cast.hpp>
-+#define TO_STRING(x) boost::lexical_cast<std::string>(x)
-+#endif
-+
- // All of this cstdio bogus is because of one reason and one reason only:
- // MICROSOFT'S IMPLEMENTATION OF STD::FSTREAM DOES NOT SUPPORT FILES LARGER THAN 2 GB.
- // (yes, really)
-@@ -141,7 +148,7 @@
- int buf;
-
- if (fseeko(sf, startpos, SEEK_SET))
-- throw VideoOpenError("YUV4MPEG video provider: ReadHeader: failed seeking to position " + std::to_string(startpos));
-+ throw VideoOpenError("YUV4MPEG video provider: ReadHeader: failed seeking to position " + TO_STRING(startpos));
-
- // read header until terminating newline (0x0A) is found
- while ((buf = fgetc(sf)) != 0x0A) {
-@@ -317,7 +324,7 @@
- seek_table.push_back(curpos);
- // seek to next frame header start position
- if (fseeko(sf, frame_sz, SEEK_CUR))
-- throw VideoOpenError("IndexFile: failed seeking to position " + std::to_string(curpos + frame_sz));
-+ throw VideoOpenError("IndexFile: failed seeking to position " + TO_STRING(curpos + frame_sz));
- }
- else {
- /// @todo implement rff flags etc
diff --git a/multimedia/aegisub/pkg-plist b/multimedia/aegisub/pkg-plist
index d52001deda65..58b148fcdc24 100644
--- a/multimedia/aegisub/pkg-plist
+++ b/multimedia/aegisub/pkg-plist
@@ -1,5 +1,4 @@
bin/aegisub-%%VERSION%%
-%%DATADIR%%/automation/autoload/clean-info.lua
%%DATADIR%%/automation/autoload/cleantags-autoload.lua
%%DATADIR%%/automation/autoload/kara-templater.lua
%%DATADIR%%/automation/autoload/karaoke-auto-leadin.lua
@@ -9,6 +8,7 @@ bin/aegisub-%%VERSION%%
%%DATADIR%%/automation/autoload/strip-tags.lua
%%DATADIR%%/automation/demos/future-windy-blur.lua
%%DATADIR%%/automation/demos/raytracer.lua
+%%DATADIR%%/automation/demos/raytracer-test1.ass
%%DATADIR%%/automation/include/aegisub/clipboard.lua
%%DATADIR%%/automation/include/aegisub/re.moon
%%DATADIR%%/automation/include/aegisub/unicode.moon
@@ -38,34 +38,34 @@ share/icons/hicolor/32x32/apps/aegisub.png
share/icons/hicolor/48x48/apps/aegisub.png
share/icons/hicolor/64x64/apps/aegisub.png
share/icons/hicolor/scalable/apps/aegisub.svg
-share/locale/ar/LC_MESSAGES/aegisub-31.mo
-share/locale/bg/LC_MESSAGES/aegisub-31.mo
-share/locale/ca/LC_MESSAGES/aegisub-31.mo
-share/locale/cs/LC_MESSAGES/aegisub-31.mo
-share/locale/da/LC_MESSAGES/aegisub-31.mo
-share/locale/de/LC_MESSAGES/aegisub-31.mo
-share/locale/el/LC_MESSAGES/aegisub-31.mo
-share/locale/es/LC_MESSAGES/aegisub-31.mo
-share/locale/eu/LC_MESSAGES/aegisub-31.mo
-share/locale/fa/LC_MESSAGES/aegisub-31.mo
-share/locale/fi/LC_MESSAGES/aegisub-31.mo
-share/locale/fr_FR/LC_MESSAGES/aegisub-31.mo
-share/locale/gl/LC_MESSAGES/aegisub-31.mo
-share/locale/hu/LC_MESSAGES/aegisub-31.mo
-share/locale/id/LC_MESSAGES/aegisub-31.mo
-share/locale/it/LC_MESSAGES/aegisub-31.mo
-share/locale/ja/LC_MESSAGES/aegisub-31.mo
-share/locale/ko/LC_MESSAGES/aegisub-31.mo
-share/locale/nl/LC_MESSAGES/aegisub-31.mo
-share/locale/pl/LC_MESSAGES/aegisub-31.mo
-share/locale/pt_BR/LC_MESSAGES/aegisub-31.mo
-share/locale/pt_PT/LC_MESSAGES/aegisub-31.mo
-share/locale/ru/LC_MESSAGES/aegisub-31.mo
-share/locale/sr_RS/LC_MESSAGES/aegisub-31.mo
-share/locale/sr_RS@latin/LC_MESSAGES/aegisub-31.mo
-share/locale/vi/LC_MESSAGES/aegisub-31.mo
-share/locale/zh_CN/LC_MESSAGES/aegisub-31.mo
-share/locale/zh_TW/LC_MESSAGES/aegisub-31.mo
+share/locale/ar/LC_MESSAGES/aegisub-32.mo
+share/locale/bg/LC_MESSAGES/aegisub-32.mo
+share/locale/ca/LC_MESSAGES/aegisub-32.mo
+share/locale/cs/LC_MESSAGES/aegisub-32.mo
+share/locale/da/LC_MESSAGES/aegisub-32.mo
+share/locale/de/LC_MESSAGES/aegisub-32.mo
+share/locale/el/LC_MESSAGES/aegisub-32.mo
+share/locale/es/LC_MESSAGES/aegisub-32.mo
+share/locale/eu/LC_MESSAGES/aegisub-32.mo
+share/locale/fa/LC_MESSAGES/aegisub-32.mo
+share/locale/fi/LC_MESSAGES/aegisub-32.mo
+share/locale/fr_FR/LC_MESSAGES/aegisub-32.mo
+share/locale/gl/LC_MESSAGES/aegisub-32.mo
+share/locale/hu/LC_MESSAGES/aegisub-32.mo
+share/locale/id/LC_MESSAGES/aegisub-32.mo
+share/locale/it/LC_MESSAGES/aegisub-32.mo
+share/locale/ja/LC_MESSAGES/aegisub-32.mo
+share/locale/ko/LC_MESSAGES/aegisub-32.mo
+share/locale/nl/LC_MESSAGES/aegisub-32.mo
+share/locale/pl/LC_MESSAGES/aegisub-32.mo
+share/locale/pt_BR/LC_MESSAGES/aegisub-32.mo
+share/locale/pt_PT/LC_MESSAGES/aegisub-32.mo
+share/locale/ru/LC_MESSAGES/aegisub-32.mo
+share/locale/sr_RS/LC_MESSAGES/aegisub-32.mo
+share/locale/sr_RS@latin/LC_MESSAGES/aegisub-32.mo
+share/locale/vi/LC_MESSAGES/aegisub-32.mo
+share/locale/zh_CN/LC_MESSAGES/aegisub-32.mo
+share/locale/zh_TW/LC_MESSAGES/aegisub-32.mo
@dirrmtry share/locale/sr_RS@latin/LC_MESSAGES
@dirrmtry share/locale/sr_RS@latin
@dirrmtry share/locale/sr_RS/LC_MESSAGES