git: 93856d9802c0 - main - multimedia/aegisub: Remove expired port

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Thu, 29 Feb 2024 12:08:36 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=93856d9802c0562f24d7c19fa8de7d5c8124b1d9

commit 93856d9802c0562f24d7c19fa8de7d5c8124b1d9
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2024-02-29 12:03:43 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2024-02-29 12:03:43 +0000

    multimedia/aegisub: Remove expired port
    
    multimedia/aegisub
---
 MOVED                                              |   1 +
 multimedia/Makefile                                |   1 -
 multimedia/aegisub/Makefile                        |  95 -----
 multimedia/aegisub/distinfo                        |   2 -
 multimedia/aegisub/files/patch-Makefile.target     |  11 -
 .../aegisub/files/patch-automation__Makefile       |  13 -
 multimedia/aegisub/files/patch-boost-1.69          |  62 ----
 multimedia/aegisub/files/patch-ffms-2.40           | 397 ---------------------
 multimedia/aegisub/files/patch-fix-dfly-luajit     |  62 ----
 .../patch-libaegisub__common__calltip_provider.cpp |  10 -
 .../patch-libaegisub__common__character_count.cpp  |  11 -
 .../files/patch-libaegisub__common__charset.cpp    |  10 -
 ...aegisub__include__libaegisub__audio__provider.h |  10 -
 .../files/patch-libaegisub_common_cajun_reader.cpp |  10 -
 ...h-libaegisub_include_libaegisub_file__mapping.h |  10 -
 .../patch-libaegisub_include_libaegisub_format.h   |  10 -
 multimedia/aegisub/files/patch-src__Makefile       |  15 -
 multimedia/aegisub/files/patch-src__base_grid.h    |  11 -
 .../aegisub/files/patch-src__command__command.h    |  10 -
 multimedia/aegisub/files/patch-src__frame_main.cpp |  10 -
 .../aegisub/files/patch-src__preferences.cpp       |  10 -
 .../aegisub/files/patch-src__spline_curve.cpp      |  10 -
 multimedia/aegisub/files/patch-src__video_frame.h  |  10 -
 .../files/patch-src_search__replace__engine.cpp    |  26 --
 multimedia/aegisub/files/patch-src_utils.cpp       |  12 -
 multimedia/aegisub/files/patch-tools__Makefile     |  13 -
 .../files/patch-vendor__universalchardet__Makefile |  11 -
 multimedia/aegisub/pkg-descr                       |   4 -
 multimedia/aegisub/pkg-plist                       |  69 ----
 29 files changed, 1 insertion(+), 925 deletions(-)

diff --git a/MOVED b/MOVED
index 632d473d6c12..06eb2253ad63 100644
--- a/MOVED
+++ b/MOVED
@@ -3012,3 +3012,4 @@ finance/xtrader||2024-02-29|Has expired: Abandoned upstream
 graphics/acidwarp||2024-02-29|Has expired: Unmaintained by upstream use acidwarp-sdl instead
 graphics/gimmage||2024-02-29|Has expired: Last release in 2007, depends on legacy libraries such as GTK2. Consider using graphics/geeqie or graphics/imv
 misc/smssend||2024-02-29|Has expired: Depends on legacy websites / pages to send SMS
+multimedia/aegisub||2024-02-29|Has expired: BROKEN for nearly a year
diff --git a/multimedia/Makefile b/multimedia/Makefile
index b18dd1effb3f..8932ca2d9ee0 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -3,7 +3,6 @@
     SUBDIR += Bento4
     SUBDIR += ab-av1
     SUBDIR += ab25
-    SUBDIR += aegisub
     SUBDIR += alass
     SUBDIR += aom
     SUBDIR += aravis
diff --git a/multimedia/aegisub/Makefile b/multimedia/aegisub/Makefile
deleted file mode 100644
index 1c18937e1979..000000000000
--- a/multimedia/aegisub/Makefile
+++ /dev/null
@@ -1,95 +0,0 @@
-PORTNAME=	aegisub
-PORTVERSION=	3.2.2
-PORTREVISION=	63
-CATEGORIES=	multimedia
-MASTER_SITES=	http://ftp.aegisub.org/pub/archives/releases/source/ \
-		ftp://ftp.aegisub.org/pub/archives/releases/source/ \
-		ftp://ftp2.aegisub.org/pub/archives/releases/source/ \
-		https://github.com/Aegisub/Aegisub/releases/download/v${PORTVERSION}/
-
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	Cross-platform subtitle editor
-WWW=		http://www.aegisub.org/
-
-LICENSE=	BSD3CLAUSE
-LICENSE_FILE=	${WRKSRC}/LICENCE
-
-DEPRECATED=	BROKEN for nearly a year
-EXPIRATION_DATE=	2024-02-29
-
-BROKEN=		fails to build
-BROKEN_aarch64=		Fails to compile: no support for this architecture (yet)
-NOT_FOR_ARCHS=		powerpc64 powerpc64le
-NOT_FOR_ARCHS_REASON_powerpc64=		No support for PowerPC 64 bit mode
-NOT_FOR_ARCHS_REASON_powerpc64le=	No support for PowerPC 64 bit mode
-
-LIB_DEPENDS=	libboost_thread.so:devel/boost-libs \
-		libicui18n.so:devel/icu \
-		libass.so:multimedia/libass \
-		libfontconfig.so:x11-fonts/fontconfig
-
-USES=		compiler:c++11-lib desktop-file-utils gettext gl gmake gnome \
-		iconv localbase pkgconfig tar:xz
-USE_GNOME=	intltool
-USE_WX=		3.0
-WX_CONF_ARGS=	absolute
-USE_GL=		gl
-USE_CSTD=	c99
-USE_CXXSTD=	c++11
-CPPFLAGS+=	-DU_USING_ICU_NAMESPACE=1
-LDFLAGS+=	-Wl,--as-needed # freetype
-GNU_CONFIGURE=	yes
-CONFIGURE_ENV=	ICONV_LIBS="${ICONV_LIB}" PTHREAD_LIBS="-pthread" \
-		agi_cv_with_iconv=yes
-CONFIGURE_ARGS=	--disable-compiler-flags \
-		--disable-gcc-prec \
-		--disable-sanity-checks \
-		--disable-update-checker \
-		--without-libc++ \
-		${ICONV_CONFIGURE_ARG}
-
-PLIST_SUB=	VERSION="${PORTVERSION:R}"
-
-OPTIONS_DEFINE=		ALSA DOCS FFMPEG FFTW HUNSPELL OPENAL PORTAUDIO \
-			PULSEAUDIO
-OPTIONS_DEFAULT=	FFMPEG FFTW HUNSPELL PULSEAUDIO
-
-ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
-ALSA_CONFIGURE_OFF=	--without-alsa
-FFMPEG_LIB_DEPENDS=	libffms2.so:multimedia/ffms2
-FFMPEG_CONFIGURE_OFF=	--without-ffms
-FFTW_LIB_DEPENDS=	libfftw3.so:math/fftw3
-FFTW_CONFIGURE_OFF=	--without-fftw3
-HUNSPELL_LIB_DEPENDS=	libhunspell-1.7.so:textproc/hunspell
-HUNSPELL_CONFIGURE_OFF=	--without-hunspell
-OPENAL_USES=		openal
-OPENAL_CONFIGURE_OFF=	--without-openal
-PORTAUDIO_LIB_DEPENDS=	libportaudio.so:audio/portaudio
-PORTAUDIO_CONFIGURE_OFF=\
-			--without-portaudio
-PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
-PULSEAUDIO_CONFIGURE_OFF=\
-			--without-libpulse
-
-# src/audio_display.o: undefined reference to symbol '__atomic_load_8@@LIBATOMIC_1.0'
-.if empty(CFLAGS:M-march=*)
-CFLAGS+=		${CFLAGS_${ARCH}_${CHOSEN_COMPILER_TYPE}}
-CFLAGS_i386_gcc=	-march=pentium
-.endif
-
-post-patch:
-	@${REINPLACE_CMD} -e \
-		's| -O3||' ${WRKSRC}/configure
-	@${REINPLACE_CMD} -e \
-		's|".*build/|"./build/|' ${WRKSRC}/build/version.sh
-	@${REINPLACE_CMD} -e \
-		's|^CC=|CC?=| ; \
-		 /^CCOPT_/s|=.*|=| ; \
-		 /^CCDEBUG/s|=.*|=|' ${WRKSRC}/vendor/luajit/src/Makefile
-
-post-install:
-	(cd ${WRKSRC} && ${COPYTREE_SHARE} \
-		automation/v4-docs ${STAGEDIR}${DOCSDIR})
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/aegisub-*
-
-.include <bsd.port.mk>
diff --git a/multimedia/aegisub/distinfo b/multimedia/aegisub/distinfo
deleted file mode 100644
index ad4bd2233ff2..000000000000
--- a/multimedia/aegisub/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (aegisub-3.2.2.tar.xz) = c55e33945b82d8513c02ea6e782f0d72c726adcd3707e95b8c0022f6151e6885
-SIZE (aegisub-3.2.2.tar.xz) = 5252052
diff --git a/multimedia/aegisub/files/patch-Makefile.target b/multimedia/aegisub/files/patch-Makefile.target
deleted file mode 100644
index 3a84e06db188..000000000000
--- a/multimedia/aegisub/files/patch-Makefile.target
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.target.orig	2014-12-08 00:07:09 UTC
-+++ Makefile.target
-@@ -112,7 +112,7 @@ POST_FLAGS = $($@_FLAGS) -c -o $@ $<
- # Libraries contain all object files they depend on (but they may depend on other files)
- # Not using libtool on OS X because it has an unsilenceable warning about a
- # compatibility issue with BSD 4.3 (wtf)
--lib%.a: $$($$*_OBJ)
-+lib%.a: $$($$(*F)_OBJ)
- 	@$(BIN_MKDIR_P) $(dir $@)
- 	$(BIN_AR) cru $@ $(filter %.o,$^)
- 	$(BIN_RANLIB) $@
diff --git a/multimedia/aegisub/files/patch-automation__Makefile b/multimedia/aegisub/files/patch-automation__Makefile
deleted file mode 100644
index 228b1338af3e..000000000000
--- a/multimedia/aegisub/files/patch-automation__Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
---- automation/Makefile.orig
-+++ automation/Makefile
-@@ -13,8 +13,8 @@
- 	$(MKDIR_INSTALL)
- 
- aegisub-lua_OBJ := $(d)tests/aegisub.o $(TOP)lib/libaegisub.a $(TOP)lib/libluabins.a $(LIBS_LUA)
--aegisub-lua_CPPFLAGS := $(CPPFLAGS_BOOST) $(CFLAGS_LUA) -I$(TOP)libaegisub/include -I$(TOP)src $(CXXFLAGS_WX)
--aegisub-lua_LIBS := $(LIBS_WX) $(LIBS_BOOST) $(LIBS_ICU)
-+aegisub-lua_CPPFLAGS := $(CPPFLAGS_BOOST) $(CFLAGS_LUA) -I$(TOP)libaegisub/include -I$(TOP)src $(CXXFLAGS_WX) $(CFLAGS_ICONV) $(CFLAGS_PTHREAD)
-+aegisub-lua_LIBS := $(LIBS_WX) $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_ICONV) $(LIBS_PTHREAD)
- 
- PROGRAM += $(d)aegisub-lua
- 
diff --git a/multimedia/aegisub/files/patch-boost-1.69 b/multimedia/aegisub/files/patch-boost-1.69
deleted file mode 100644
index 3849c63b4d9e..000000000000
--- a/multimedia/aegisub/files/patch-boost-1.69
+++ /dev/null
@@ -1,62 +0,0 @@
-https://github.com/Aegisub/Aegisub/issues/93
-
---- src/colour_button.cpp.orig	2014-12-08 00:07:09 UTC
-+++ src/colour_button.cpp
-@@ -18,7 +18,12 @@
- 
- #include "dialogs.h"
- 
-+#include <boost/version.hpp>
-+#if BOOST_VERSION >= 106900
-+#include <boost/gil.hpp>
-+#else
- #include <boost/gil/gil_all.hpp>
-+#endif
- 
- wxDEFINE_EVENT(EVT_COLOR, wxThreadEvent);
- 
---- src/subtitles_provider_libass.cpp.orig	2014-12-08 00:07:09 UTC
-+++ src/subtitles_provider_libass.cpp
-@@ -50,7 +50,12 @@
- #include <libaegisub/util.h>
- 
- #include <atomic>
-+#include <boost/version.hpp>
-+#if BOOST_VERSION >= 106900
-+#include <boost/gil.hpp>
-+#else
- #include <boost/gil/gil_all.hpp>
-+#endif
- #include <memory>
- #include <mutex>
- 
---- src/video_frame.cpp.orig	2014-12-08 00:07:09 UTC
-+++ src/video_frame.cpp
-@@ -16,7 +16,12 @@
- 
- #include "video_frame.h"
- 
-+#include <boost/version.hpp>
-+#if BOOST_VERSION >= 106900
-+#include <boost/gil.hpp>
-+#else
- #include <boost/gil/gil_all.hpp>
-+#endif
- #include <wx/image.h>
- 
- namespace {
---- src/video_provider_dummy.cpp.orig	2014-12-08 00:07:09 UTC
-+++ src/video_provider_dummy.cpp
-@@ -46,7 +46,12 @@
- #include <boost/algorithm/string/split.hpp>
- #include <boost/filesystem/path.hpp>
- #include <libaegisub/format.h>
-+#include <boost/version.hpp>
-+#if BOOST_VERSION >= 106900
-+#include <boost/gil.hpp>
-+#else
- #include <boost/gil/gil_all.hpp>
-+#endif
- 
- DummyVideoProvider::DummyVideoProvider(double fps, int frames, int width, int height, agi::Color colour, bool pattern)
- : framecount(frames)
diff --git a/multimedia/aegisub/files/patch-ffms-2.40 b/multimedia/aegisub/files/patch-ffms-2.40
deleted file mode 100644
index b87e7e26fd26..000000000000
--- a/multimedia/aegisub/files/patch-ffms-2.40
+++ /dev/null
@@ -1,397 +0,0 @@
-https://github.com/Aegisub/Aegisub/commit/ebc76c8a1168
-https://github.com/Aegisub/Aegisub/commit/1aa9215e7fc3
-
-src/video_provider_ffmpegsource.cpp:81:38: error: use of undeclared identifier 'FFMS_CS_BT470BG'
-                        FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
-                                                          ^
-src/video_provider_ffmpegsource.cpp:106:8: error: use of undeclared identifier 'FFMS_CS_RGB'
-                case FFMS_CS_RGB:
-                     ^
-src/video_provider_ffmpegsource.cpp:108:8: error: use of undeclared identifier 'FFMS_CS_BT709'
-                case FFMS_CS_BT709:
-                     ^
-src/video_provider_ffmpegsource.cpp:110:8: error: use of undeclared identifier 'FFMS_CS_FCC'
-                case FFMS_CS_FCC:
-                     ^
-src/video_provider_ffmpegsource.cpp:112:8: error: use of undeclared identifier 'FFMS_CS_BT470BG'
-                case FFMS_CS_BT470BG:
-                     ^
-src/video_provider_ffmpegsource.cpp:113:8: error: use of undeclared identifier 'FFMS_CS_SMPTE170M'
-                case FFMS_CS_SMPTE170M:
-                     ^
-src/video_provider_ffmpegsource.cpp:115:8: error: use of undeclared identifier 'FFMS_CS_SMPTE240M'
-                case FFMS_CS_SMPTE240M:
-                     ^
-src/video_provider_ffmpegsource.cpp:211:69: error: use of undeclared identifier 'FFMS_GetSourceType'; did you mean 'FFMS_GetTrackType'?
-        if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
-                                                                           ^~~~~~~~~~~~~~~~~~
-                                                                           FFMS_GetTrackType
-/usr/local/include/ffms.h:430:15: note: 'FFMS_GetTrackType' declared here
-FFMS_API(int) FFMS_GetTrackType(FFMS_Track *T);
-              ^
-src/video_provider_ffmpegsource.cpp:211:88: error: no viable conversion from 'agi::scoped_holder<FFMS_Index *, void (*)(FFMS_Index *)>' (aka 'scoped_holder<FFMS_Index *, void (*)(FFMS_Index *)>') to 'FFMS_Track *'
-        if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
-                                                                                              ^~~~~
-libaegisub/include/libaegisub/scoped_ptr.h:31:2: note: candidate function
-        operator T() const { return value; }
-        ^
-/usr/local/include/ffms.h:430:45: note: passing argument to parameter 'T' here
-FFMS_API(int) FFMS_GetTrackType(FFMS_Track *T);
-                                            ^
-src/video_provider_ffmpegsource.cpp:211:98: error: use of undeclared identifier 'FFMS_SOURCE_LAVF'
-        if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
-                                                                                                        ^
-src/video_provider_ffmpegsource.cpp:243:12: error: use of undeclared identifier 'FFMS_CS_UNSPECIFIED'; did you mean 'FFMS_CR_UNSPECIFIED'?
-        if (CS == FFMS_CS_UNSPECIFIED)
-                  ^~~~~~~~~~~~~~~~~~~
-                  FFMS_CR_UNSPECIFIED
-/usr/local/include/ffms.h:220:5: note: 'FFMS_CR_UNSPECIFIED' declared here
-    FFMS_CR_UNSPECIFIED = 0,
-    ^
-src/video_provider_ffmpegsource.cpp:244:40: error: use of undeclared identifier 'FFMS_CS_BT709'
-                CS = Width > 1024 || Height >= 600 ? FFMS_CS_BT709 : FFMS_CS_BT470BG;
-                                                     ^
-src/video_provider_ffmpegsource.cpp:244:56: error: use of undeclared identifier 'FFMS_CS_BT470BG'
-                CS = Width > 1024 || Height >= 600 ? FFMS_CS_BT709 : FFMS_CS_BT470BG;
-                                                                     ^
-src/video_provider_ffmpegsource.cpp:248:12: error: use of undeclared identifier 'FFMS_CS_RGB'
-        if (CS != FFMS_CS_RGB && CS != FFMS_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
-                  ^
-src/video_provider_ffmpegsource.cpp:248:33: error: use of undeclared identifier 'FFMS_CS_BT470BG'
-        if (CS != FFMS_CS_RGB && CS != FFMS_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
-                                       ^
-src/video_provider_ffmpegsource.cpp:249:41: error: use of undeclared identifier 'FFMS_CS_BT470BG'
-                if (FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), &ErrInfo))
-                                                      ^
-src/video_provider_ffmpegsource.cpp:251:40: error: use of undeclared identifier 'FFMS_CS_BT470BG'
-                ColorSpace = colormatrix_description(FFMS_CS_BT470BG, CR);
-                                                     ^
-src/ffmpegsource_common.cpp:101:11: error: use of undeclared identifier 'FFMS_DoIndexing'
-                Index = FFMS_DoIndexing(Indexer, Trackmask, FFMS_TRACKMASK_NONE,
-                        ^
-17 errors generated.
-
---- src/audio_provider_ffmpegsource.cpp.orig	2014-12-08 00:07:09 UTC
-+++ src/audio_provider_ffmpegsource.cpp
-@@ -91,18 +91,20 @@ void FFmpegSourceAudioProvider::LoadAudio(agi::fs::pat
- 	}
- 
- 	std::map<int, std::string> TrackList = GetTracksOfType(Indexer, FFMS_TYPE_AUDIO);
--	if (TrackList.empty())
--		throw agi::AudioDataNotFound("no audio tracks found");
- 
- 	// initialize the track number to an invalid value so we can detect later on
- 	// whether the user actually had to choose a track or not
- 	int TrackNumber = -1;
- 	if (TrackList.size() > 1) {
--		TrackNumber = AskForTrackSelection(TrackList, FFMS_TYPE_AUDIO);
--		// if it's still -1 here, user pressed cancel
--		if (TrackNumber == -1)
-+		auto Selection = AskForTrackSelection(TrackList, FFMS_TYPE_AUDIO);
-+		if (Selection == TrackSelection::None)
- 			throw agi::UserCancelException("audio loading canceled by user");
-+		TrackNumber = static_cast<int>(Selection);
- 	}
-+	else if (TrackList.size() == 1)
-+		TrackNumber = TrackList.begin()->first;
-+	else
-+		throw agi::AudioDataNotFound("no audio tracks found");
- 
- 	// generate a name for the cache file
- 	agi::fs::path CacheName = GetCacheFilename(filename);
-@@ -114,24 +116,13 @@ void FFmpegSourceAudioProvider::LoadAudio(agi::fs::pat
- 	if (Index && FFMS_IndexBelongsToFile(Index, filename.string().c_str(), &ErrInfo))
- 		Index = nullptr;
- 
--	// index valid but track number still not set?
- 	if (Index) {
--		// track number not set? just grab the first track
--		if (TrackNumber < 0)
--			TrackNumber = FFMS_GetFirstTrackOfType(Index, FFMS_TYPE_AUDIO, &ErrInfo);
--		if (TrackNumber < 0)
--			throw agi::AudioDataNotFound(std::string("Couldn't find any audio tracks: ") + ErrInfo.Buffer);
--
--		// index is valid and track number is now set,
--		// but do we have indexing info for the desired audio track?
-+		// we already have an index, but the desired track may not have been
-+		// indexed, and if it wasn't we need to reindex
- 		FFMS_Track *TempTrackData = FFMS_GetTrackFromIndex(Index, TrackNumber);
- 		if (FFMS_GetNumFrames(TempTrackData) <= 0)
- 			Index = nullptr;
- 	}
--	// no valid index exists and the file only has one audio track, index it
--	else if (TrackNumber < 0)
--		TrackNumber = FFMS_TRACKMASK_ALL;
--	// else: do nothing (keep track mask as it is)
- 
- 	// reindex if the error handling mode has changed
- 	FFMS_IndexErrorHandling ErrorHandling = GetErrorHandlingMode();
-@@ -142,17 +133,10 @@ void FFmpegSourceAudioProvider::LoadAudio(agi::fs::pat
- 
- 	// moment of truth
- 	if (!Index) {
--		int TrackMask;
--		if (OPT_GET("Provider/FFmpegSource/Index All Tracks")->GetBool() || TrackNumber == FFMS_TRACKMASK_ALL)
--			TrackMask = FFMS_TRACKMASK_ALL;
--		else
--			TrackMask = (1 << TrackNumber);
--
-+		TrackSelection TrackMask = static_cast<TrackSelection>(TrackNumber);
-+		if (OPT_GET("Provider/FFmpegSource/Index All Tracks")->GetBool())
-+			TrackMask = TrackSelection::All;
- 		Index = DoIndexing(Indexer, CacheName, TrackMask, ErrorHandling);
--
--		// if tracknumber still isn't set we need to set it now
--		if (TrackNumber == FFMS_TRACKMASK_ALL)
--			TrackNumber = FFMS_GetFirstTrackOfType(Index, FFMS_TYPE_AUDIO, &ErrInfo);
- 	}
- 	else
- 		FFMS_CancelIndexing(Indexer);
---- src/ffmpegsource_common.cpp.orig	2014-12-08 00:07:09 UTC
-+++ src/ffmpegsource_common.cpp
-@@ -80,7 +80,10 @@ FFmpegSourceProvider::FFmpegSourceProvider(agi::Backgr
- /// @param Indexer		A pointer to the indexer object representing the file to be indexed
- /// @param CacheName    The filename of the output index file
- /// @param Trackmask    A binary mask of the track numbers to index
--FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Indexer *Indexer, agi::fs::path const& CacheName, int Trackmask, FFMS_IndexErrorHandling IndexEH) {
-+FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Indexer *Indexer,
-+	                                         agi::fs::path const& CacheName,
-+	                                         TrackSelection Track,
-+	                                         FFMS_IndexErrorHandling IndexEH) {
- 	char FFMSErrMsg[1024];
- 	FFMS_ErrorInfo ErrInfo;
- 	ErrInfo.Buffer		= FFMSErrMsg;
-@@ -98,8 +101,22 @@ FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Inde
- 			ps->SetProgress(Current, Total);
- 			return ps->IsCancelled();
- 		};
--		Index = FFMS_DoIndexing(Indexer, Trackmask, FFMS_TRACKMASK_NONE,
-+#if FFMS_VERSION >= ((2 << 24) | (21 << 16) | (0 << 8) | 0)
-+		if (Track == TrackSelection::All)
-+			FFMS_TrackTypeIndexSettings(Indexer, FFMS_TYPE_AUDIO, 1, 0);
-+		else if (Track != TrackSelection::None)
-+			FFMS_TrackIndexSettings(Indexer, static_cast<int>(Track), 1, 0);
-+		FFMS_SetProgressCallback(Indexer, callback, ps);
-+		Index = FFMS_DoIndexing2(Indexer, IndexEH, &ErrInfo);
-+#else
-+		int Trackmask = 0;
-+		if (Track == TrackSelection::All)
-+			Trackmask = std::numeric_limits<int>::max();
-+		else if (Track != TrackSelection::None)
-+			Trackmask = 1 << static_cast<int>(Track);
-+		Index = FFMS_DoIndexing(Indexer, Trackmask, 0,
- 			nullptr, nullptr, IndexEH, callback, ps, &ErrInfo);
-+#endif
- 	});
- 
- 	if (Index == nullptr)
-@@ -119,21 +136,24 @@ std::map<int, std::string> FFmpegSourceProvider::GetTr
- 	std::map<int,std::string> TrackList;
- 	int NumTracks = FFMS_GetNumTracksI(Indexer);
- 
-+	// older versions of ffms2 can't index audio tracks past 31
-+#if FFMS_VERSION < ((2 << 24) | (21 << 16) | (0 << 8) | 0)
-+	if (Type == FFMS_TYPE_AUDIO)
-+		NumTracks = std::min(NumTracks, std::numeric_limits<int>::digits);
-+#endif
-+
- 	for (int i=0; i<NumTracks; i++) {
- 		if (FFMS_GetTrackTypeI(Indexer, i) == Type) {
--			const char *CodecName = FFMS_GetCodecNameI(Indexer, i);
--			if (CodecName)
--				TrackList.insert(std::pair<int,std::string>(i, CodecName));
-+			if (auto CodecName = FFMS_GetCodecNameI(Indexer, i))
-+				TrackList[i] = CodecName;
- 		}
- 	}
- 	return TrackList;
- }
- 
--/// @brief Ask user for which track he wants to load
--/// @param TrackList	A std::map with the track numbers as keys and codec names as values
--/// @param Type			The track type to ask about
--/// @return				Returns the track number chosen (an integer >= 0) on success, or a negative integer if the user cancelled.
--int FFmpegSourceProvider::AskForTrackSelection(const std::map<int, std::string> &TrackList, FFMS_TrackType Type) {
-+FFmpegSourceProvider::TrackSelection
-+FFmpegSourceProvider::AskForTrackSelection(const std::map<int, std::string> &TrackList,
-+                                           FFMS_TrackType Type) {
- 	std::vector<int> TrackNumbers;
- 	wxArrayString Choices;
- 
-@@ -148,8 +168,8 @@ int FFmpegSourceProvider::AskForTrackSelection(const s
- 		Choices);
- 
- 	if (Choice < 0)
--		return Choice;
--	return TrackNumbers[Choice];
-+		return TrackSelection::None;
-+	return static_cast<TrackSelection>(TrackNumbers[Choice]);
- }
- 
- /// @brief Set ffms2 log level according to setting in config.dat
---- src/ffmpegsource_common.h.orig	2014-12-08 00:07:09 UTC
-+++ src/ffmpegsource_common.h
-@@ -42,11 +42,6 @@
- 
- namespace agi { class BackgroundRunner; }
- 
--/// Index all tracks
--#define FFMS_TRACKMASK_ALL		-1
--/// Index no tracks
--#define FFMS_TRACKMASK_NONE		0
--
- /// @class FFmpegSourceProvider
- /// @brief Base class for FFMS2 source providers; contains common functions etc
- class FFmpegSourceProvider {
-@@ -57,24 +52,18 @@ class FFmpegSourceProvider {
- public:
- 	FFmpegSourceProvider(agi::BackgroundRunner *br);
- 
--	/// Logging level constants from avutil/log.h
--	enum FFMS_LogLevel {
--		/// nothing printed
--		FFMS_LOG_QUIET		= -8,
--		FFMS_LOG_PANIC		= 0,
--		FFMS_LOG_FATAL		= 8,
--		FFMS_LOG_ERROR		= 16,
--		FFMS_LOG_WARNING	= 24,
--		FFMS_LOG_INFO		= 32,
--		FFMS_LOG_VERBOSE	= 40,
--		FFMS_LOG_DEBUG		= 48,
-+	enum class TrackSelection : int {
-+		None = -1,
-+		All = -2
- 	};
- 
- 	void CleanCache();
- 
--	FFMS_Index *DoIndexing(FFMS_Indexer *Indexer, agi::fs::path const& Cachename, int Trackmask, FFMS_IndexErrorHandling IndexEH);
-+	FFMS_Index *DoIndexing(FFMS_Indexer *Indexer, agi::fs::path const& Cachename,
-+		                   TrackSelection Track,
-+		                   FFMS_IndexErrorHandling IndexEH);
- 	std::map<int, std::string> GetTracksOfType(FFMS_Indexer *Indexer, FFMS_TrackType Type);
--	int AskForTrackSelection(const std::map<int, std::string>& TrackList, FFMS_TrackType Type);
-+	TrackSelection AskForTrackSelection(const std::map<int, std::string>& TrackList, FFMS_TrackType Type);
- 	agi::fs::path GetCacheFilename(agi::fs::path const& filename);
- 	void SetLogLevel();
- 	FFMS_IndexErrorHandling GetErrorHandlingMode();
---- src/video_provider_ffmpegsource.cpp.orig	2014-12-08 00:07:09 UTC
-+++ src/video_provider_ffmpegsource.cpp
-@@ -44,6 +44,23 @@
- #include <libaegisub/make_unique.h>
- 
- namespace {
-+typedef enum AGI_ColorSpaces {
-+	AGI_CS_RGB = 0,
-+	AGI_CS_BT709 = 1,
-+	AGI_CS_UNSPECIFIED = 2,
-+	AGI_CS_FCC = 4,
-+	AGI_CS_BT470BG = 5,
-+	AGI_CS_SMPTE170M = 6,
-+	AGI_CS_SMPTE240M = 7,
-+	AGI_CS_YCOCG = 8,
-+	AGI_CS_BT2020_NCL = 9,
-+	AGI_CS_BT2020_CL = 10,
-+	AGI_CS_SMPTE2085 = 11,
-+	AGI_CS_CHROMATICITY_DERIVED_NCL = 12,
-+	AGI_CS_CHROMATICITY_DERIVED_CL = 13,
-+	AGI_CS_ICTCP = 14
-+} AGI_ColorSpaces;
-+
- /// @class FFmpegSourceVideoProvider
- /// @brief Implements video loading through the FFMS library.
- class FFmpegSourceVideoProvider final : public VideoProvider, FFmpegSourceProvider {
-@@ -78,7 +95,7 @@ class FFmpegSourceVideoProvider final : public VideoPr
- 		if (matrix == RealColorSpace)
- 			FFMS_SetInputFormatV(VideoSource, CS, CR, FFMS_GetPixFmt(""), nullptr);
- 		else if (matrix == "TV.601")
--			FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
-+			FFMS_SetInputFormatV(VideoSource, AGI_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
- 		else
- 			return;
- 		ColorSpace = matrix;
-@@ -103,16 +120,16 @@ std::string colormatrix_description(int cs, int cr) {
- 	std::string str = cr == FFMS_CR_JPEG ? "PC" : "TV";
- 
- 	switch (cs) {
--		case FFMS_CS_RGB:
-+		case AGI_CS_RGB:
- 			return "None";
--		case FFMS_CS_BT709:
-+		case AGI_CS_BT709:
- 			return str + ".709";
--		case FFMS_CS_FCC:
-+		case AGI_CS_FCC:
- 			return str + ".FCC";
--		case FFMS_CS_BT470BG:
--		case FFMS_CS_SMPTE170M:
-+		case AGI_CS_BT470BG:
-+		case AGI_CS_SMPTE170M:
- 			return str + ".601";
--		case FFMS_CS_SMPTE240M:
-+		case AGI_CS_SMPTE240M:
- 			return str + ".240M";
- 		default:
- 			throw VideoOpenError("Unknown video color space");
-@@ -149,14 +166,12 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
- 	if (TrackList.size() <= 0)
- 		throw VideoNotSupported("no video tracks found");
- 
--	// initialize the track number to an invalid value so we can detect later on
--	// whether the user actually had to choose a track or not
- 	int TrackNumber = -1;
- 	if (TrackList.size() > 1) {
--		TrackNumber = AskForTrackSelection(TrackList, FFMS_TYPE_VIDEO);
--		// if it's still -1 here, user pressed cancel
--		if (TrackNumber == -1)
-+		auto Selection = AskForTrackSelection(TrackList, FFMS_TYPE_VIDEO);
-+		if (Selection == TrackSelection::None)
- 			throw agi::UserCancelException("video loading cancelled by user");
-+		TrackNumber = static_cast<int>(Selection);
- 	}
- 
- 	// generate a name for the cache file
-@@ -180,9 +195,9 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
- 
- 	// moment of truth
- 	if (!Index) {
--		int TrackMask = FFMS_TRACKMASK_NONE;
-+		auto TrackMask = TrackSelection::None;
- 		if (OPT_GET("Provider/FFmpegSource/Index All Tracks")->GetBool() || OPT_GET("Video/Open Audio")->GetBool())
--			TrackMask = FFMS_TRACKMASK_ALL;
-+			TrackMask = TrackSelection::All;
- 		Index = DoIndexing(Indexer, CacheName, TrackMask, GetErrorHandlingMode());
- 	}
- 	else {
-@@ -208,8 +223,10 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
- 
- 	// set thread count
- 	int Threads = OPT_GET("Provider/Video/FFmpegSource/Decoding Threads")->GetInt();
-+#if FFMS_VERSION < ((2 << 24) | (30 << 16) | (0 << 8) | 0)
- 	if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
- 		Threads = 1;
-+#endif
- 
- 	// set seekmode
- 	// TODO: give this its own option?
-@@ -240,15 +257,15 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
- 	CS = TempFrame->ColorSpace;
- 	CR = TempFrame->ColorRange;
- 
--	if (CS == FFMS_CS_UNSPECIFIED)
--		CS = Width > 1024 || Height >= 600 ? FFMS_CS_BT709 : FFMS_CS_BT470BG;
-+	if (CS == AGI_CS_UNSPECIFIED)
-+		CS = Width > 1024 || Height >= 600 ? AGI_CS_BT709 : AGI_CS_BT470BG;
- 	RealColorSpace = ColorSpace = colormatrix_description(CS, CR);
- 
- #if FFMS_VERSION >= ((2 << 24) | (17 << 16) | (1 << 8) | 0)
--	if (CS != FFMS_CS_RGB && CS != FFMS_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
--		if (FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), &ErrInfo))
-+	if (CS != AGI_CS_RGB && CS != AGI_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
-+		if (FFMS_SetInputFormatV(VideoSource, AGI_CS_BT470BG, CR, FFMS_GetPixFmt(""), &ErrInfo))
- 			throw VideoOpenError(std::string("Failed to set input format: ") + ErrInfo.Buffer);
--		ColorSpace = colormatrix_description(FFMS_CS_BT470BG, CR);
-+		ColorSpace = colormatrix_description(AGI_CS_BT470BG, CR);
- 	}
- #endif
- 
diff --git a/multimedia/aegisub/files/patch-fix-dfly-luajit b/multimedia/aegisub/files/patch-fix-dfly-luajit
deleted file mode 100644
index 98b4c33b0c17..000000000000
--- a/multimedia/aegisub/files/patch-fix-dfly-luajit
+++ /dev/null
@@ -1,62 +0,0 @@
---- vendor/luajit/src/jit/bcsave.lua.orig	2014-12-08 00:07:09 UTC
-+++ vendor/luajit/src/jit/bcsave.lua
-@@ -69,7 +69,7 @@ local map_arch = {
- 
- local map_os = {
-   linux = true, windows = true, osx = true, freebsd = true, netbsd = true,
--  openbsd = true, solaris = true,
-+  openbsd = true, dragonfly = true, solaris = true,
- }
- 
- local function checkarg(str, map, err)
---- vendor/luajit/src/lj_alloc.c.orig	2014-12-08 00:07:09 UTC
-+++ vendor/luajit/src/lj_alloc.c
-@@ -188,14 +188,14 @@ static LJ_AINLINE void *CALL_MMAP(size_t
-   return ptr;
- }
- 
--#elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__sun__)
-+#elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__sun__)
- 
- /* OSX and FreeBSD mmap() use a naive first-fit linear search.
- ** That's perfect for us. Except that -pagezero_size must be set for OSX,
- ** otherwise the lower 4GB are blocked. And the 32GB RLIMIT_DATA needs
- ** to be reduced to 250MB on FreeBSD.
- */
--#if LJ_TARGET_OSX
-+#if LJ_TARGET_OSX || defined(__DragonFly__)
- #define MMAP_REGION_START	((uintptr_t)0x10000)
- #elif LJ_TARGET_PS4
- #define MMAP_REGION_START	((uintptr_t)0x4000)
-@@ -232,7 +232,7 @@ static LJ_AINLINE void *CALL_MMAP(size_t
-       return p;
-     }
-     if (p != CMFAIL) munmap(p, size);
--#ifdef __sun__
-+#if defined(__sun__) || defined(__DragonFly__)
-     alloc_hint += 0x1000000;  /* Need near-exhaustive linear scan. */
-     if (alloc_hint + size < MMAP_REGION_END) continue;
- #endif
---- vendor/luajit/src/lj_arch.h.orig	2015-03-27 14:17:40 UTC
-+++ vendor/luajit/src/lj_arch.h
-@@ -67,7 +67,8 @@
- #elif defined(__MACH__) && defined(__APPLE__)
- #define LUAJIT_OS	LUAJIT_OS_OSX
- #elif (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
--       defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(__ORBIS__)
-+       defined(__NetBSD__) || defined(__OpenBSD__) || \
-+       defined(__DragonFly__)) && !defined(__ORBIS__)
- #define LUAJIT_OS	LUAJIT_OS_BSD
- #elif (defined(__sun__) && defined(__svr4__)) || defined(__CYGWIN__)
- #define LUAJIT_OS	LUAJIT_OS_POSIX
---- vendor/luajit/src/lj_gdbjit.c.orig	2014-12-08 00:07:09 UTC
-+++ vendor/luajit/src/lj_gdbjit.c
-@@ -356,6 +356,8 @@ static const ELFheader elfhdr_template =
-   .eosabi = 2,
- #elif defined(__OpenBSD__)
-   .eosabi = 12,
-+#elif defined(__DragonFly__)
-+  .eosabi = 0,
- #elif (defined(__sun__) && defined(__svr4__))
-   .eosabi = 6,
- #else
diff --git a/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp b/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp
deleted file mode 100644
index 41a74f61b396..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/common/calltip_provider.cpp.orig	2014-08-05 20:40:25.000000000 +0900
-+++ libaegisub/common/calltip_provider.cpp	2014-08-05 20:40:42.000000000 +0900
-@@ -19,6 +19,7 @@
- #include "libaegisub/ass/dialogue_parser.h"
- 
- #include <algorithm>
-+#include <cstring>
- 
- namespace {
- struct proto_lit {
diff --git a/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp b/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp
deleted file mode 100644
index 3d037948949d..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- libaegisub/common/character_count.cpp.orig	2014-08-05 20:41:47.000000000 +0900
-+++ libaegisub/common/character_count.cpp	2014-08-05 20:43:19.000000000 +0900
-@@ -22,6 +22,8 @@
- #include <unicode/uchar.h>
- #include <unicode/utf8.h>
- 
-+#include <algorithm>
-+#include <memory>
- #include <mutex>
- #include <unicode/brkiter.h>
- 
diff --git a/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp b/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp
deleted file mode 100644
index 4b253f17a90e..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/common/charset.cpp.orig	2014-08-05 20:44:44.000000000 +0900
-+++ libaegisub/common/charset.cpp	2014-08-05 20:44:59.000000000 +0900
-@@ -20,6 +20,7 @@
- 
- #include "libaegisub/file_mapping.h"
- 
-+#include <algorithm>
- #include <string>
- 
- #ifndef _WIN32
diff --git a/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h b/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h
deleted file mode 100644
index 3f7e004be16a..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/include/libaegisub/audio/provider.h.orig	2014-07-28 23:29:16.000000000 +0900
-+++ libaegisub/include/libaegisub/audio/provider.h	2014-08-05 19:40:17.000000000 +0900
-@@ -20,6 +20,7 @@
- #include <libaegisub/fs_fwd.h>
- 
- #include <atomic>
-+#include <memory>
- #include <vector>
- 
- namespace agi {
diff --git a/multimedia/aegisub/files/patch-libaegisub_common_cajun_reader.cpp b/multimedia/aegisub/files/patch-libaegisub_common_cajun_reader.cpp
deleted file mode 100644
index 134ae6b64c8a..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub_common_cajun_reader.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/common/cajun/reader.cpp.orig	2014-12-08 00:07:09 UTC
-+++ libaegisub/common/cajun/reader.cpp
-@@ -9,6 +9,7 @@ Author: Terry Caton
- #include "libaegisub/cajun/reader.h"
- 
- #include <boost/interprocess/streams/bufferstream.hpp>
-+#include <algorithm> // std::find
- #include <cassert>
- 
- /*
diff --git a/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_file__mapping.h b/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_file__mapping.h
deleted file mode 100644
index 4d7364418f57..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_file__mapping.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/include/libaegisub/file_mapping.h.orig	2014-12-08 00:07:09 UTC
-+++ libaegisub/include/libaegisub/file_mapping.h
-@@ -18,6 +18,7 @@
- 
- #include <boost/interprocess/detail/os_file_functions.hpp>
- #include <cstdint>
-+#include <memory> // std::unique_ptr
- 
- namespace agi {
- 	// boost::interprocess::file_mapping is awesome and uses CreateFileA on Windows
diff --git a/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_format.h b/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_format.h
deleted file mode 100644
index 72b61d0ad224..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_format.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/include/libaegisub/format.h.orig	2014-12-08 00:07:09 UTC
-+++ libaegisub/include/libaegisub/format.h
-@@ -19,6 +19,7 @@
- #include <boost/interprocess/streams/vectorstream.hpp>
- #include <boost/io/ios_state.hpp>
- #include <type_traits>
-+#include <typeinfo> // std::bad_cast
- 
- class wxString;
- 
diff --git a/multimedia/aegisub/files/patch-src__Makefile b/multimedia/aegisub/files/patch-src__Makefile
deleted file mode 100644
index 83c39ed46db9..000000000000
--- a/multimedia/aegisub/files/patch-src__Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/Makefile.orig
-+++ src/Makefile
-@@ -3,10 +3,10 @@
- PROGRAM += $(d)src
- 
- src_CPPFLAGS := -I$(d) -I.. -I$(d)include -I$(TOP)libaegisub/include -I$(TOP)build \
--	$(CFLAGS_PTHREAD) $(CFLAGS_FFTW3) $(CFLAGS_ICU)
-+	$(CFLAGS_PTHREAD) $(CFLAGS_FFTW3) $(CFLAGS_ICU) $(CFLAGS_ICONV)
- src_CXXFLAGS := $(CXXFLAGS_WX)
- src_LIBS := $(LIBS_GL) $(LIBS_PTHREAD) $(LIBS_WX) $(LIBS_FREETYPE) \
--	$(LIBS_LIBASS) $(LIBS_FONTCONFIG) $(LIBS_FFTW3)  $(LIBS_BOOST) $(LIBS_ICU)
-+	$(LIBS_LIBASS) $(LIBS_FONTCONFIG) $(LIBS_FFTW3)  $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_ICONV)
- src_PCH := $(d)agi_pre.h
- src_INSTALLNAME := $(AEGISUB_COMMAND)
- 
diff --git a/multimedia/aegisub/files/patch-src__base_grid.h b/multimedia/aegisub/files/patch-src__base_grid.h
deleted file mode 100644
index fb218f1e36fb..000000000000
--- a/multimedia/aegisub/files/patch-src__base_grid.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/base_grid.h.orig
-+++ src/base_grid.h
-@@ -39,6 +39,8 @@
- #include <map>
- #include <memory>
- #include <vector>
-+#include <wx/brush.h>
-+#include <wx/scrolbar.h>
- #include <wx/window.h>
- 
- #include "selection_controller.h"
diff --git a/multimedia/aegisub/files/patch-src__command__command.h b/multimedia/aegisub/files/patch-src__command__command.h
deleted file mode 100644
index a3489553be9c..000000000000
--- a/multimedia/aegisub/files/patch-src__command__command.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/command/command.h.orig	2014-08-05 20:09:07.000000000 +0900
-+++ src/command/command.h	2014-08-05 20:09:21.000000000 +0900
-@@ -17,6 +17,7 @@
- /// @ingroup command
- 
- #include <map>
-+#include <memory>
- #include <string>
- #include <vector>
- 
diff --git a/multimedia/aegisub/files/patch-src__frame_main.cpp b/multimedia/aegisub/files/patch-src__frame_main.cpp
deleted file mode 100644
index 9dcff17723bc..000000000000
--- a/multimedia/aegisub/files/patch-src__frame_main.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/frame_main.cpp.orig
-+++ src/frame_main.cpp
-@@ -80,6 +80,7 @@
- #include <wx/msgdlg.h>
- #include <wx/statline.h>
- #include <wx/sysopt.h>
-+#include <wx/toolbar.h>
- 
- enum {
- 	ID_APP_TIMER_STATUSCLEAR				= 12002
diff --git a/multimedia/aegisub/files/patch-src__preferences.cpp b/multimedia/aegisub/files/patch-src__preferences.cpp
deleted file mode 100644
index d9c19afc0635..000000000000
--- a/multimedia/aegisub/files/patch-src__preferences.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/preferences.cpp.orig
-+++ src/preferences.cpp
-@@ -47,6 +47,7 @@
- 
- #include <wx/checkbox.h>
- #include <wx/combobox.h>
-+#include <wx/dc.h>
- #include <wx/event.h>
- #include <wx/listctrl.h>
- #include <wx/msgdlg.h>
diff --git a/multimedia/aegisub/files/patch-src__spline_curve.cpp b/multimedia/aegisub/files/patch-src__spline_curve.cpp
deleted file mode 100644
index 5575c8fdeff5..000000000000
--- a/multimedia/aegisub/files/patch-src__spline_curve.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/spline_curve.cpp.orig	2014-08-06 00:07:08.000000000 +0900
-+++ src/spline_curve.cpp	2014-08-06 00:07:27.000000000 +0900
-@@ -35,6 +35,7 @@
- #include "spline_curve.h"
- #include "utils.h"
- 
-+#include <algorithm>
- #include <limits>
- 
- SplineCurve::SplineCurve(Vector2D p1) : p1(p1), type(POINT) { }
diff --git a/multimedia/aegisub/files/patch-src__video_frame.h b/multimedia/aegisub/files/patch-src__video_frame.h
deleted file mode 100644
index 84aa43c8e465..000000000000
--- a/multimedia/aegisub/files/patch-src__video_frame.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/video_frame.h.orig
-+++ src/video_frame.h
-@@ -15,6 +15,7 @@
- // Aegisub Project http://www.aegisub.org/
- 
- #include <vector>
-+#include <cstddef>
- 
- class wxImage;
- 
diff --git a/multimedia/aegisub/files/patch-src_search__replace__engine.cpp b/multimedia/aegisub/files/patch-src_search__replace__engine.cpp
deleted file mode 100644
index e52abd0b78d0..000000000000
--- a/multimedia/aegisub/files/patch-src_search__replace__engine.cpp
+++ /dev/null
*** 166 LINES SKIPPED ***