FreeBSD Bugzilla – Attachment 145468 Details for
Bug 192479
multimedia/aegisub: Update to version 3.2.0
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
multimedia_aegisub.diff
multimedia_aegisub.diff (text/plain), 59.15 KB, created by
tkato432
on 2014-08-07 18:32:20 UTC
(
hide
)
Description:
multimedia_aegisub.diff
Filename:
MIME Type:
Creator:
tkato432
Created:
2014-08-07 18:32:20 UTC
Size:
59.15 KB
patch
obsolete
>diff -urN /usr/ports/multimedia/aegisub/Makefile multimedia/aegisub/Makefile >--- /usr/ports/multimedia/aegisub/Makefile 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/Makefile 2014-08-08 00:00:00.000000000 +0900 >@@ -2,7 +2,7 @@ > # $FreeBSD: head/multimedia/aegisub/Makefile 360785 2014-07-05 17:46:36Z riggs $ > > 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 @@ > > 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 @@ > > 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_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 @@ > 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 @@ > 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 @@ > > .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 @@ > @${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 -urN /usr/ports/multimedia/aegisub/distinfo multimedia/aegisub/distinfo >--- /usr/ports/multimedia/aegisub/distinfo 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/distinfo 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-libaegisub__ass__uuencode.cpp multimedia/aegisub/files/patch-libaegisub__ass__uuencode.cpp >--- /usr/ports/multimedia/aegisub/files/patch-libaegisub__ass__uuencode.cpp 2014-07-06 09:03:31.000000000 +0900 >+++ multimedia/aegisub/files/patch-libaegisub__ass__uuencode.cpp 1970-01-01 09:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-libaegisub__cajun__reader.cpp multimedia/aegisub/files/patch-libaegisub__cajun__reader.cpp >--- /usr/ports/multimedia/aegisub/files/patch-libaegisub__cajun__reader.cpp 2014-07-06 09:03:31.000000000 +0900 >+++ multimedia/aegisub/files/patch-libaegisub__cajun__reader.cpp 1970-01-01 09:00:00.000000000 +0900 >@@ -1,27 +0,0 @@ >---- libaegisub/common/cajun/reader.cpp.orig >-+++ libaegisub/common/cajun/reader.cpp >-@@ -9,6 +9,7 @@ >- #include "libaegisub/cajun/reader.h" >- >- #include <cassert> >-+#include <cstdio> >- #include <set> >- #include <sstream> >- >-@@ -243,8 +244,16 @@ >- } >- >- void Reader::MatchNumber(std::string& sNumber, InputStream& inputStream) { >-+#if defined(_LIBCPP_VERSION) >- const char numericChars[] = "0123456789.eE-+"; >- while (!inputStream.EOS() && std::find(numericChars, std::end(numericChars), inputStream.Peek()) != std::end(numericChars)) >-+#else >-+ const char sNumericChars[] = "0123456789.eE-+"; >-+ std::set<char> numericChars; >-+ numericChars.insert(sNumericChars, sNumericChars + sizeof(sNumericChars)); >-+ >-+ while (!inputStream.EOS()&& numericChars.count(inputStream.Peek())) >-+#endif >- sNumber.push_back(inputStream.Get()); >- } >- >diff -urN /usr/ports/multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp >--- /usr/ports/multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -0,0 +1,28 @@ >+--- libaegisub/common/cajun/reader.cpp.orig >++++ libaegisub/common/cajun/reader.cpp >+@@ -10,6 +10,8 @@ >+ >+ #include <boost/interprocess/streams/bufferstream.hpp> >+ #include <cassert> >++#include <cstdio> >++#include <set> >+ >+ /* >+ >+@@ -231,8 +233,16 @@ >+ } >+ >+ void Reader::MatchNumber(std::string& sNumber, InputStream& inputStream) { >++#if defined(_LIBCPP_VERSION) >+ const char numericChars[] = "0123456789.eE-+"; >+ while (!inputStream.EOS() && std::find(numericChars, std::end(numericChars), inputStream.Peek()) != std::end(numericChars)) >++#else >++ const char sNumericChars[] = "0123456789.eE-+"; >++ std::set<char> numericChars; >++ numericChars.insert(sNumericChars, sNumericChars + sizeof(sNumericChars)); >++ >++ while (!inputStream.EOS()&& numericChars.count(inputStream.Peek())) >++#endif >+ sNumber.push_back(inputStream.Get()); >+ } >+ >diff -urN /usr/ports/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp >--- /usr/ports/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp >--- /usr/ports/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp multimedia/aegisub/files/patch-libaegisub__common__charset.cpp >--- /usr/ports/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-libaegisub__common__charset.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-libaegisub__common__color.cpp multimedia/aegisub/files/patch-libaegisub__common__color.cpp >--- /usr/ports/multimedia/aegisub/files/patch-libaegisub__common__color.cpp 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-libaegisub__common__color.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h >--- /usr/ports/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__ass_file.cpp multimedia/aegisub/files/patch-src__ass_file.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__ass_file.cpp 2014-07-06 09:03:27.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__ass_file.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__ass_override.cpp multimedia/aegisub/files/patch-src__ass_override.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__ass_override.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__ass_override.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__base_grid.cpp multimedia/aegisub/files/patch-src__base_grid.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__base_grid.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__base_grid.cpp 1970-01-01 09:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__command__command.h multimedia/aegisub/files/patch-src__command__command.h >--- /usr/ports/multimedia/aegisub/files/patch-src__command__command.h 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__command__command.h 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__command__edit.cpp multimedia/aegisub/files/patch-src__command__edit.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__command__edit.cpp 2014-07-06 09:03:31.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__command__edit.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__dialog_jumpto.cpp multimedia/aegisub/files/patch-src__dialog_jumpto.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__dialog_jumpto.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__dialog_jumpto.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__dialog_properties.cpp multimedia/aegisub/files/patch-src__dialog_properties.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__dialog_properties.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__dialog_properties.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__dialog_shift_times.cpp multimedia/aegisub/files/patch-src__dialog_shift_times.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__dialog_shift_times.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__dialog_shift_times.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__dialog_style_editor.cpp multimedia/aegisub/files/patch-src__dialog_style_editor.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__dialog_style_editor.cpp 2014-07-06 09:03:31.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__dialog_style_editor.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__dialog_video_properties.cpp multimedia/aegisub/files/patch-src__dialog_video_properties.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__dialog_video_properties.cpp 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__dialog_video_properties.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__grid_column.cpp multimedia/aegisub/files/patch-src__grid_column.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__grid_column.cpp 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__grid_column.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__main.cpp multimedia/aegisub/files/patch-src__main.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__main.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__main.cpp 1970-01-01 09:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__preferences.cpp multimedia/aegisub/files/patch-src__preferences.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__preferences.cpp 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__preferences.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__preferences_base.cpp multimedia/aegisub/files/patch-src__preferences_base.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__preferences_base.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__preferences_base.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__resolution_resampler.cpp multimedia/aegisub/files/patch-src__resolution_resampler.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__resolution_resampler.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__resolution_resampler.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__spline_curve.cpp multimedia/aegisub/files/patch-src__spline_curve.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__spline_curve.cpp 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__spline_curve.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__subs_edit_box.cpp multimedia/aegisub/files/patch-src__subs_edit_box.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__subs_edit_box.cpp 2014-07-06 09:03:27.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__subs_edit_box.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp 1970-01-01 09:00:00.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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(¤t)); > file.WriteLineToFile(""); >diff -urN /usr/ports/multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__validators.cpp multimedia/aegisub/files/patch-src__validators.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__validators.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__validators.cpp 2014-08-08 00:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__video_context.cpp multimedia/aegisub/files/patch-src__video_context.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__video_context.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__video_context.cpp 1970-01-01 09:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__video_display.cpp multimedia/aegisub/files/patch-src__video_display.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__video_display.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__video_display.cpp 1970-01-01 09:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/files/patch-src__video_provider_yuv4mpeg.cpp multimedia/aegisub/files/patch-src__video_provider_yuv4mpeg.cpp >--- /usr/ports/multimedia/aegisub/files/patch-src__video_provider_yuv4mpeg.cpp 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/files/patch-src__video_provider_yuv4mpeg.cpp 1970-01-01 09:00:00.000000000 +0900 >@@ -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 -urN /usr/ports/multimedia/aegisub/pkg-plist multimedia/aegisub/pkg-plist >--- /usr/ports/multimedia/aegisub/pkg-plist 2014-07-06 09:03:44.000000000 +0900 >+++ multimedia/aegisub/pkg-plist 2014-08-08 00:00:00.000000000 +0900 >@@ -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 @@ > %%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/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
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 192479
: 145468