diff options
author | Nick Sarnie <sarnex@gentoo.org> | 2019-07-11 21:36:13 -0400 |
---|---|---|
committer | Nick Sarnie <sarnex@gentoo.org> | 2019-07-11 21:43:15 -0400 |
commit | 01c90376343b3883da48f42accbbf0a6de4193e2 (patch) | |
tree | d4b328a589061b83571c7d6caa82e5f1e0733188 | |
parent | dev-python/google-auth-httplib2: Version bump to 0.0.3 (diff) | |
download | gentoo-01c90376343b3883da48f42accbbf0a6de4193e2.tar.gz gentoo-01c90376343b3883da48f42accbbf0a6de4193e2.tar.bz2 gentoo-01c90376343b3883da48f42accbbf0a6de4193e2.zip |
media-video/aegisub: Fix build against boost 1.70.0
Patch from: Damien Thébault <damien.thebault@gmail.com>
Fixes: https://bugs.gentoo.org/689196
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Nick Sarnie <sarnex@gentoo.org>
3 files changed, 210 insertions, 0 deletions
diff --git a/media-video/aegisub/aegisub-3.2.2_p20160518-r3.ebuild b/media-video/aegisub/aegisub-3.2.2_p20160518-r3.ebuild new file mode 100644 index 000000000000..69d4b3f6f5ed --- /dev/null +++ b/media-video/aegisub/aegisub-3.2.2_p20160518-r3.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +WX_GTK_VER=3.0 +PLOCALES="ar bg ca cs da de el es eu fa fi fr_FR gl hu id it ja ko nl pl pt_BR pt_PT ru sr_RS sr_RS@latin uk_UA vi zh_CN zh_TW" +COMMIT_ID="b118fe7e7a5c37540e2f0aa75af105e272bad234" + +inherit autotools flag-o-matic gnome2-utils l10n wxwidgets xdg-utils vcs-snapshot + +DESCRIPTION="Advanced subtitle editor" +HOMEPAGE="http://www.aegisub.org/ https://github.com/Aegisub/Aegisub" +SRC_URI="https://github.com/Aegisub/Aegisub/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell test +uchardet" + +# aegisub bundles luabins (https://github.com/agladysh/luabins). +# Unfortunately, luabins upstream is practically dead since 2010. +# Thus unbundling luabins isn't worth the effort. +RDEPEND=" + x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,debug?] + dev-lang/luajit:2[lua52compat] + dev-libs/boost:=[icu,nls,threads] + dev-libs/icu:= + media-libs/ffmpegsource:= + media-libs/fontconfig + media-libs/freetype + media-libs/libass:=[fontconfig] + sys-libs/zlib + virtual/libiconv + virtual/opengl + alsa? ( media-libs/alsa-lib ) + fftw? ( >=sci-libs/fftw-3.3:= ) + openal? ( media-libs/openal ) + portaudio? ( =media-libs/portaudio-19* ) + pulseaudio? ( media-sound/pulseaudio ) + spell? ( app-text/hunspell:= ) + uchardet? ( app-i18n/uchardet ) +" +DEPEND="${RDEPEND} + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig + test? ( + >=dev-cpp/gtest-1.8.1 + dev-lua/busted + dev-lua/luarocks + ) +" + +REQUIRED_USE="|| ( alsa openal oss portaudio pulseaudio )" + +PATCHES=( + "${FILESDIR}/${PV}/${P}-fix-system-luajit-build.patch" + "${FILESDIR}/${PV}/${P}-respect-compiler-flags.patch" + "${FILESDIR}/${PV}/${P}-support-system-gtest.patch" + "${FILESDIR}/${PV}/${P}-fix-icu59-build.patch" + "${FILESDIR}/${PV}/${P}-fix-icu62-build.patch" + "${FILESDIR}/${PV}/${P}-fix-boost170-build.patch" +) + +aegisub_check_compiler() { + if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11; then + die "Your compiler lacks C++11 support. Use GCC>=4.7.0 or Clang>=3.3." + fi +} + +pkg_pretend() { + aegisub_check_compiler +} + +pkg_setup() { + aegisub_check_compiler +} + +src_prepare() { + default_src_prepare + + # Remove tests that require unavailable uuid Lua module. + rm automation/tests/modules/lfs.moon || die + + remove_locale() { + rm "po/${1}.po" || die + } + + l10n_find_plocales_changes 'po' '' '.po' + l10n_for_each_disabled_locale_do remove_locale + + # See http://devel.aegisub.org/ticket/1914 + config_rpath_update "${S}"/config.rpath + + eautoreconf + + cat <<- EOF > build/git_version.h || die + #define BUILD_GIT_VERSION_NUMBER 8897 + #define BUILD_GIT_VERSION_STRING "${PV}" + #define TAGGED_RELEASE 0 + EOF +} + +src_configure() { + # Prevent access violations from OpenAL detection. See Gentoo bug 508184. + use openal && export agi_cv_with_openal="yes" + + setup-wxwidgets + local myeconfargs=( + --disable-update-checker + --with-ffms2 + --with-system-luajit + $(use_enable debug) + $(use_with alsa) + $(use_with fftw fftw3) + $(use_with openal) + $(use_with oss) + $(use_with portaudio) + $(use_with pulseaudio libpulse) + $(use_with spell hunspell) + $(use_with uchardet) + ) + econf "${myeconfargs[@]}" +} + +src_compile() { + emake WITH_SYSTEM_GTEST=$(usex test) +} + +src_test() { + emake test-automation + emake test-libaegisub +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update + xdg_desktop_database_update +} + +pkg_postrm() { + gnome2_icon_cache_update + xdg_desktop_database_update +} diff --git a/media-video/aegisub/aegisub-9999.ebuild b/media-video/aegisub/aegisub-9999.ebuild index fcbfb2a2dc80..7377cdca67a0 100644 --- a/media-video/aegisub/aegisub-9999.ebuild +++ b/media-video/aegisub/aegisub-9999.ebuild @@ -54,6 +54,7 @@ REQUIRED_USE="|| ( alsa openal oss portaudio pulseaudio )" PATCHES=( "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-system-luajit-build.patch" "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-respect-compiler-flags.patch" + "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-boost170-build.patch" ) src_prepare() { diff --git a/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost170-build.patch b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost170-build.patch new file mode 100644 index 000000000000..30473e4828d1 --- /dev/null +++ b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost170-build.patch @@ -0,0 +1,61 @@ +diff a/src/colour_button.cpp b/src/colour_button.cpp +--- a/src/colour_button.cpp ++++ b/src/colour_button.cpp +@@ -18,7 +18,11 @@ + + #include "dialogs.h" + ++#if BOOST_VERSION >= 106900 ++#include <boost/gil.hpp> ++#else + #include <boost/gil/gil_all.hpp> ++#endif + + AGI_DEFINE_EVENT(EVT_COLOR, agi::Color); + +diff a/src/subtitles_provider_libass.cpp b/src/subtitles_provider_libass.cpp +--- a/src/subtitles_provider_libass.cpp ++++ b/src/subtitles_provider_libass.cpp +@@ -46,7 +46,11 @@ + #include <libaegisub/util.h> + + #include <atomic> ++#if BOOST_VERSION >= 106900 ++#include <boost/gil.hpp> ++#else + #include <boost/gil/gil_all.hpp> ++#endif + #include <memory> + #include <mutex> + +diff a/src/video_frame.cpp b/src/video_frame.cpp +--- a/src/video_frame.cpp ++++ b/src/video_frame.cpp +@@ -16,7 +16,11 @@ + + #include "video_frame.h" + ++#if BOOST_VERSION >= 106900 ++#include <boost/gil.hpp> ++#else + #include <boost/gil/gil_all.hpp> ++#endif + #include <wx/image.h> + + namespace { +diff a/src/video_provider_dummy.cpp b/src/video_provider_dummy.cpp +--- a/src/video_provider_dummy.cpp ++++ b/src/video_provider_dummy.cpp +@@ -45,7 +45,11 @@ + #include <boost/algorithm/string/predicate.hpp> + #include <boost/filesystem/path.hpp> + #include <libaegisub/format.h> ++#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) + |