Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Aug 2014 12:13:16 +0000 (UTC)
From:      John Marino <marino@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r364528 - in head/multimedia/aegisub: . files
Message-ID:  <53e761dc.2f41.172a4618@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marino
Date: Sun Aug 10 12:13:15 2014
New Revision: 364528
URL: http://svnweb.freebsd.org/changeset/ports/364528
QAT: https://qat.redports.org/buildarchive/r364528/

Log:
  multimedia/aegisub: Upgrade version 3.1.3 => 3.2.0
  
  PR:		192479
  Submitted by:	Ports Fury

Added:
  head/multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp   (contents, props changed)
  head/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp   (contents, props changed)
  head/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp   (contents, props changed)
  head/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp   (contents, props changed)
  head/multimedia/aegisub/files/patch-libaegisub__common__color.cpp   (contents, props changed)
  head/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h   (contents, props changed)
  head/multimedia/aegisub/files/patch-src__command__command.h   (contents, props changed)
  head/multimedia/aegisub/files/patch-src__dialog_video_properties.cpp   (contents, props changed)
  head/multimedia/aegisub/files/patch-src__grid_column.cpp   (contents, props changed)
  head/multimedia/aegisub/files/patch-src__preferences.cpp   (contents, props changed)
  head/multimedia/aegisub/files/patch-src__spline_curve.cpp   (contents, props changed)
  head/multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp   (contents, props changed)
Deleted:
  head/multimedia/aegisub/files/patch-libaegisub__ass__uuencode.cpp
  head/multimedia/aegisub/files/patch-libaegisub__cajun__reader.cpp
  head/multimedia/aegisub/files/patch-src__base_grid.cpp
  head/multimedia/aegisub/files/patch-src__main.cpp
  head/multimedia/aegisub/files/patch-src__video_context.cpp
  head/multimedia/aegisub/files/patch-src__video_display.cpp
  head/multimedia/aegisub/files/patch-src__video_provider_yuv4mpeg.cpp
Modified:
  head/multimedia/aegisub/Makefile
  head/multimedia/aegisub/distinfo
  head/multimedia/aegisub/files/patch-src__ass_file.cpp
  head/multimedia/aegisub/files/patch-src__ass_override.cpp
  head/multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp
  head/multimedia/aegisub/files/patch-src__command__edit.cpp
  head/multimedia/aegisub/files/patch-src__dialog_jumpto.cpp
  head/multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp
  head/multimedia/aegisub/files/patch-src__dialog_properties.cpp
  head/multimedia/aegisub/files/patch-src__dialog_shift_times.cpp
  head/multimedia/aegisub/files/patch-src__dialog_style_editor.cpp
  head/multimedia/aegisub/files/patch-src__preferences_base.cpp
  head/multimedia/aegisub/files/patch-src__resolution_resampler.cpp
  head/multimedia/aegisub/files/patch-src__subs_edit_box.cpp
  head/multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp
  head/multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp
  head/multimedia/aegisub/files/patch-src__validators.cpp
  head/multimedia/aegisub/pkg-plist

Modified: head/multimedia/aegisub/Makefile
==============================================================================
--- head/multimedia/aegisub/Makefile	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/Makefile	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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
 
 .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}

Modified: head/multimedia/aegisub/distinfo
==============================================================================
--- head/multimedia/aegisub/distinfo	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/distinfo	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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

Added: head/multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-libaegisub__common__cajun__reader.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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());
+ }
+ 

Added: head/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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 {

Added: head/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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>
+ 

Added: head/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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

Added: head/multimedia/aegisub/files/patch-libaegisub__common__color.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-libaegisub__common__color.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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 {

Added: head/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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 {

Modified: head/multimedia/aegisub/files/patch-src__ass_file.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__ass_file.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__ass_file.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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");
  

Modified: head/multimedia/aegisub/files/patch-src__ass_override.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__ass_override.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__ass_override.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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) {

Modified: head/multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__auto4_lua_dialog.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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; }

Added: head/multimedia/aegisub/files/patch-src__command__command.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-src__command__command.h	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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>
+ 

Modified: head/multimedia/aegisub/files/patch-src__command__edit.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__command__edit.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__command__edit.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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) {

Modified: head/multimedia/aegisub/files/patch-src__dialog_jumpto.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__dialog_jumpto.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__dialog_jumpto.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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);

Modified: head/multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__dialog_kara_timing_copy.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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;

Modified: head/multimedia/aegisub/files/patch-src__dialog_properties.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__dialog_properties.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__dialog_properties.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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()));
  }
+ }
+ 

Modified: head/multimedia/aegisub/files/patch-src__dialog_shift_times.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__dialog_shift_times.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__dialog_shift_times.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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())

Modified: head/multimedia/aegisub/files/patch-src__dialog_style_editor.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__dialog_style_editor.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__dialog_style_editor.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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]);
+ 

Added: head/multimedia/aegisub/files/patch-src__dialog_video_properties.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-src__dialog_video_properties.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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:

Added: head/multimedia/aegisub/files/patch-src__grid_column.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-src__grid_column.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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();
+ 

Added: head/multimedia/aegisub/files/patch-src__preferences.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-src__preferences.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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>

Modified: head/multimedia/aegisub/files/patch-src__preferences_base.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__preferences_base.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__preferences_base.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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..."));

Modified: head/multimedia/aegisub/files/patch-src__resolution_resampler.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__resolution_resampler.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__resolution_resampler.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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);
- }

Added: head/multimedia/aegisub/files/patch-src__spline_curve.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-src__spline_curve.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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) { }

Modified: head/multimedia/aegisub/files/patch-src__subs_edit_box.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__subs_edit_box.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__subs_edit_box.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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()));

Added: head/multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-src__subtitle_format_ass.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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 += ",";

Modified: head/multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__subtitle_format_srt.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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("");

Modified: head/multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp
==============================================================================
--- head/multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp	Sun Aug 10 10:28:06 2014	(r364527)
+++ head/multimedia/aegisub/files/patch-src__timeedit_ctrl.cpp	Sun Aug 10 12:13:15 2014	(r364528)
@@ -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)));

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53e761dc.2f41.172a4618>