diff options
author | Ilya Tumaykin <itumaykin@gmail.com> | 2016-06-04 20:51:57 +0300 |
---|---|---|
committer | Patrice Clement <monsieurp@gentoo.org> | 2016-06-28 17:38:17 +0000 |
commit | 856366c5b4b00916caa4263b9970d29d0b9838e8 (patch) | |
tree | 5376b488b17dc858e73fbc93a89312bd1d3a2584 /media-video/aegisub | |
parent | profiles: mask test USE for aegisub on x86 (diff) | |
download | gentoo-856366c5b4b00916caa4263b9970d29d0b9838e8.tar.gz gentoo-856366c5b4b00916caa4263b9970d29d0b9838e8.tar.bz2 gentoo-856366c5b4b00916caa4263b9970d29d0b9838e8.zip |
media-video/aegisub: verbump to 3.2.2_p20160518
Major revamp of the ebuild and the patchset:
- EAPI=6;
- add testing support;
- remove ffmpeg USE and depend on ffmpegsource unconditionally
(otherwise aegisub can only open blank 'videos' without any video);
- cleanup dependencies;
- update the patchset (all changes were submitted upstream);
- update LICENSE.
Package-Manager: portage-2.3.0_rc1
Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
Diffstat (limited to 'media-video/aegisub')
5 files changed, 388 insertions, 0 deletions
diff --git a/media-video/aegisub/Manifest b/media-video/aegisub/Manifest index d977b38f821c..2db679d59bf5 100644 --- a/media-video/aegisub/Manifest +++ b/media-video/aegisub/Manifest @@ -1,2 +1,3 @@ DIST aegisub-3.2.2.tar.xz 5252052 SHA256 c55e33945b82d8513c02ea6e782f0d72c726adcd3707e95b8c0022f6151e6885 SHA512 54f825e52f238fef8d5cc31c37436e21355aee27883347f905271e5d2a8ff2a77e1b67d5aef38b0f8468bd0bad851fe944e02de27ec96310b902fbe5b1086722 WHIRLPOOL fe948edbb01f11385e14d1912b73942605df18325fcd95f4284a3c2edb73778d90d73038ac4a062e211fd56879590040e3c558fe1e361ec9fe2eee6a5c016448 DIST aegisub-3.2.2_p20160306.tar.gz 7436713 SHA256 1b70f67c3b3d6ecce482bc1f4beb1ceffd4c523aa060556658e403ea98fcc58c SHA512 815775b64b1ad5cd09eda6106561a8a0d4dc129d4c2e08e057eab881289526a7b67bab2f4d2f48748ef2015ea21f2839ed8f84d168bf9127c62c9a35caa1abd5 WHIRLPOOL caaa6b1d69c7e4d1da4abfd0382d263585c5216d9ed5e63f515d8bce98b2e0dad2848552f3f097a8db9e39dad5d2c00d3b752f0407490d0d2c777aaa8fc6dc38 +DIST aegisub-3.2.2_p20160518.tar.gz 7438734 SHA256 744318ce8be1afb21fbd6b0ce6d407a6f42c442db0df10c7cf89692a5bc8ca31 SHA512 8d8775ba0a12735a9756b9abfd65c89519dae4e21afcaedbd18985d1c1021975b1ae909b3bef1121b707c626e1711d56f1823f3b4746eab49e8386536a5e84e6 WHIRLPOOL 0d46799009c72cac1d6df89f4ffe5110d904e671175380e20605683b6a2f3ccdd46855cf98ebac8f0088c7a928b82547557afc8214b2fce85aed759aa5e9e4ab diff --git a/media-video/aegisub/aegisub-3.2.2_p20160518.ebuild b/media-video/aegisub/aegisub-3.2.2_p20160518.ebuild new file mode 100644 index 000000000000..861014418874 --- /dev/null +++ b/media-video/aegisub/aegisub-3.2.2_p20160518.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 fdo-mime flag-o-matic gnome2-utils l10n wxwidgets 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? ( dev-libs/uchardet ) +" +DEPEND="${RDEPEND} + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig + oss? ( virtual/os-headers ) + test? ( + ~dev-cpp/gtest-1.7.0 + 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" +) + +pkg_pretend() { + 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 +} + +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" + + 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() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} + +pkg_postrm() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} diff --git a/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-system-luajit-build.patch b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-system-luajit-build.patch new file mode 100644 index 000000000000..42b57e5fcf45 --- /dev/null +++ b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-system-luajit-build.patch @@ -0,0 +1,121 @@ +See http://devel.aegisub.org/ticket/1904 +and http://devel.aegisub.org/ticket/1913 +and http://devel.aegisub.org/ticket/1922 + +diff --git a/Makefile.inc.in b/Makefile.inc.in +index d8b3f4a..52e4cf6 100644 +--- a/Makefile.inc.in ++++ b/Makefile.inc.in +@@ -9,6 +9,7 @@ HAVE_OPENAL = @with_openal@ + HAVE_OSS = @with_oss@ + HAVE_PORTAUDIO = @with_portaudio@ + HAVE_UCHARDET = @with_uchardet@ ++SYSTEM_LUAJIT = @with_system_luajit@ + + ############## + # BUILD OUTPUT +diff --git a/automation/Makefile b/automation/Makefile +index 5483dbd..1231aab 100644 +--- a/automation/Makefile ++++ b/automation/Makefile +@@ -12,10 +12,16 @@ DATA_AUTOMATION_INSTALLED = $(addprefix $(DESTDIR)$(P_DATA)/automation/, $(DATA_ + $(DESTDIR)$(P_DATA)/automation/%: $(d)% + $(MKDIR_INSTALL) + +-aegisub-lua_OBJ := $(d)tests/aegisub.o $(TOP)lib/libaegisub.a $(TOP)lib/libluabins.a $(LIBS_LUA) ++aegisub-lua_OBJ := $(d)tests/aegisub.o $(TOP)lib/libaegisub.a $(TOP)lib/libluabins.a + 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) $(LIBS_PTHREAD) + ++ifeq (no, $(SYSTEM_LUAJIT)) ++aegisub-lua_OBJ += $(LIBS_LUA) ++else ++aegisub-lua_LIBS += $(LIBS_LUA) ++endif ++ + PROGRAM += $(d)aegisub-lua + + test-automation: $(PROGRAM) +diff --git a/configure.ac b/configure.ac +index 1649efc..81b1413 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -429,13 +429,15 @@ AS_IF([test $with_system_luajit = no], + [AC_SUBST([LUAJIT_CFLAGS], ['-I$(TOP)vendor/luajit/include']) + AC_SUBST([LUAJIT_LIBS], ['$(TOP)vendor/luajit/src/libluajit.a'])]) + ++AC_SUBST(with_system_luajit) ++ + # We also need a Lua binary to run part of the build system + # Which version doesn't matter as the scripts are portable between them +-AC_CHECK_PROGS([LUA], [lua luajit lua5.3 lua-5.3 lua5.2 lua-5.2 lua5.1 lua-5.1]) ++AC_PATH_PROGS([LUA], [luajit lua lua5.3 lua-5.3 lua5.2 lua-5.2 lua5.1 lua-5.1]) + + # If the user doesn't have an installed copy of Lua, just use the one built + # as part of building LuaJIT +-AS_IF([test -z $LUA], [LUA="$srcdir/vendor/luajit/src/host/minilua"]) ++AS_IF([test -z $LUA], [LUA='$(TOP)vendor/luajit/src/host/minilua']) + + ###################################################### + # Debugging support +diff --git a/header.mk b/header.mk +index 613b38f..a9ce1d7 100644 +--- a/header.mk ++++ b/header.mk +@@ -13,7 +13,10 @@ subdirs := \ + tests \ + tools \ + vendor/luabins \ +- vendor/luajit ++ ++ifeq (no, $(SYSTEM_LUAJIT)) ++subdirs += vendor/luajit ++endif + + subdirs := $(addprefix $(TOP),$(addsuffix /Makefile,$(subdirs))) + +diff --git a/src/Makefile b/src/Makefile +index 0ee6c84..1a6f015 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -6,7 +6,7 @@ src_CPPFLAGS := -I$(d) -I.. -I$(d)include -I$(TOP)libaegisub/include -I$(TOP)bui + $(CFLAGS_PTHREAD) $(CFLAGS_FFTW3) $(CFLAGS_ICU) $(CPPFLAGS_BOOST) + 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) + src_PCH := $(d)agi_pre.h + src_INSTALLNAME := $(AEGISUB_COMMAND) + +@@ -111,11 +111,16 @@ src_OBJ := \ + $(d)video_provider_yuv4mpeg.o \ + $(d)video_slider.o \ + $(d)visual_feature.o \ +- $(LIBS_LUA) \ + $(TOP)lib/libaegisub.a \ + $(TOP)lib/libluabins.a \ + $(TOP)lib/libresrc.a \ + ++ifeq (no, $(SYSTEM_LUAJIT)) ++src_OBJ += $(LIBS_LUA) ++else ++src_LIBS += $(LIBS_LUA) ++endif ++ + ifeq (yes, $(BUILD_DARWIN)) + src_OBJ += $(d)font_file_lister_coretext.o + src_OBJ += $(subst .mm,.o,$(wildcard $(d)osx/*.mm)) +diff --git a/tools/Makefile b/tools/Makefile +index de6166a..e3d108a 100644 +--- a/tools/Makefile ++++ b/tools/Makefile +@@ -12,6 +12,8 @@ repack-thes-dict_CPPFLAGS := -I$(TOP) -I$(TOP)libaegisub/include $(CFLAGS_ICU) + + PROGRAM += $(d)repack-thes-dict + +-$(TOP)tools/respack.lua: $(shell command -v "$(BIN_LUA)") ++ifeq (no, $(SYSTEM_LUAJIT)) ++$(TOP)tools/respack.lua: $(BIN_LUA) ++endif + + include $(TOP)Makefile.target diff --git a/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-respect-compiler-flags.patch b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-respect-compiler-flags.patch new file mode 100644 index 000000000000..90e57f178dc4 --- /dev/null +++ b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-respect-compiler-flags.patch @@ -0,0 +1,53 @@ +See http://devel.aegisub.org/ticket/1899 +and http://devel.aegisub.org/ticket/1900 + +diff --git a/configure.ac b/configure.ac +index 1649efc..2f4470b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -133,20 +133,17 @@ AS_IF([test x$build_darwin != xyes], [ + AC_ARG_ENABLE(compiler-flags, AS_HELP_STRING([--disable-compiler-flags],[Disable *all* additional compiler flags. [no]])) + + AS_IF([test x$enable_compiler_flags != xno], [ +- CFLAGS="$CFLAGS -Wall -Wextra -Wno-unused-parameter -std=gnu99 -pipe -g" +- CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing -pipe -g" ++ CFLAGS="$CFLAGS -Wall -Wextra -Wno-unused-parameter" ++ CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing" ++ AC_C_FLAG([-std=gnu99]) + AC_CXX_FLAG([-std=c++11]) +- AC_CXX_FLAG([-Wno-c++11-narrowing]) + AC_C_FLAG([-Wno-unused-local-typedefs]) + AC_CXX_FLAG([-Wno-unused-local-typedefs]) + + # -O* messes with debugging. + AS_IF([test x$enable_debug = xyes], [ +- CFLAGS="$CFLAGS -O0" +- CXXFLAGS="$CXXFLAGS -O0" +- ], [ +- CFLAGS="$CFLAGS -O3" +- CXXFLAGS="$CXXFLAGS -O3" ++ CFLAGS="$CFLAGS -O0 -g" ++ CXXFLAGS="$CXXFLAGS -O0 -g" + ]) + ]) + +diff --git a/src/Makefile b/src/Makefile +index 0ee6c84..cad213b 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -188,14 +188,13 @@ endif + ##################### + # SOURCE-LEVEL CFLAGS + ##################### +-$(d)MatroskaParser.o_FLAGS := -Wno-sometimes-uninitialized + $(d)audio_player.o_FLAGS := $(CFLAGS_ALSA) $(CFLAGS_PORTAUDIO) $(CFLAGS_LIBPULSE) $(CFLAGS_OPENAL) + $(d)audio_provider_factory.o_FLAGS := $(CFLAGS_FFMS2) + $(d)auto4_base.o_FLAGS := $(CFLAGS_FREETYPE) + $(d)charset_detect.o_FLAGS := -D_X86_ + $(d)font_file_lister_fontconfig.o_FLAGS := $(CFLAGS_FONTCONFIG) + $(d)subtitles_provider.o_FLAGS := $(CFLAGS_LIBASS) +-$(d)subtitles_provider_libass.o_FLAGS := $(CFLAGS_LIBASS) -Wno-c++11-narrowing ++$(d)subtitles_provider_libass.o_FLAGS := $(CFLAGS_LIBASS) + $(d)text_file_reader.o_FLAGS := -D_X86_ + $(d)video_provider_manager.o_FLAGS := $(CFLAGS_FFMS2) + $(d)auto4_lua.o_FLAGS := $(CFLAGS_LUA) diff --git a/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-support-system-gtest.patch b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-support-system-gtest.patch new file mode 100644 index 000000000000..8209ac5ec7c3 --- /dev/null +++ b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-support-system-gtest.patch @@ -0,0 +1,75 @@ +commit 83f868ea8decbbe97891631fe142e84c883ee33d +Author: Ilya Tumaykin <itumaykin@gmail.com> +Date: Wed Jun 1 20:00:37 2016 +0300 + +Allow to build and run tests with a system copy of gtest (googletest) + +Also add LIBS_UCHARDET to the mix only when uchardet is requested. + +Closes #1923 + +Bug: http://devel.aegisub.org/ticket/1923 +--- + +diff --git a/tests/Makefile b/tests/Makefile +index 8c30c1d..c5bf049 100644 +--- a/tests/Makefile ++++ b/tests/Makefile +@@ -1,24 +1,45 @@ + include $(dir $(lastword $(MAKEFILE_LIST)))../header.mk + ++WITH_SYSTEM_GTEST ?= no ++ ++ifeq (no, $(WITH_SYSTEM_GTEST)) + GTEST_ROOT ?= $(TOP)vendor/googletest + GTEST_FILE := ${GTEST_ROOT}/src/gtest-all ++GTEST_CPPFLAGS := -I$(GTEST_ROOT) -I$(GTEST_ROOT)/include ++GTEST_CXXFLAGS := $(CFLAGS_PTHREAD) ++GTEST_LIBS := $(LIBS_PTHREAD) ++else ++GTEST_CPPFLAGS := $(shell gtest-config --cppflags) ++GTEST_CXXFLAGS := $(shell gtest-config --cxxflags) ++GTEST_LIBS := $(shell gtest-config --libs) ++endif + + run_PCH := $(d)support/tests_pre.h + run_CPPFLAGS := -I$(TOP)libaegisub/include -I$(TOP) -I$(d)support \ +- -I$(GTEST_ROOT) -I$(GTEST_ROOT)/include $(CPPFLAGS_BOOST) $(CFLAGS_LUA) +-run_CXXFLAGS := -Wno-unused-value -Wno-sign-compare +-run_LIBS := $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_UCHARDET) $(LIBS_PTHREAD) ++ $(CPPFLAGS_BOOST) $(CFLAGS_ICU) $(CFLAGS_LUA) $(GTEST_CPPFLAGS) ++run_CXXFLAGS := -Wno-unused-value -Wno-sign-compare $(GTEST_CXXFLAGS) ++run_LIBS := $(LIBS_BOOST) $(LIBS_ICU) $(GTEST_LIBS) + run_OBJ := \ + $(subst .cpp,.o,$(wildcard $(d)tests/*.cpp)) \ + $(d)support/main.o \ + $(d)support/util.o \ +- $(TOP)lib/libaegisub.a \ +- $(GTEST_FILE).o ++ $(TOP)lib/libaegisub.a + ++ifeq (yes, $(HAVE_UCHARDET)) ++run_LIBS += $(LIBS_UCHARDET) ++endif ++ ++ifeq (no, $(WITH_SYSTEM_GTEST)) ++run_OBJ += $(GTEST_FILE).o + # This bit of goofiness is to make it only try to build the tests if google + # test can be found and silently skip it if not, by using $(wildcard) to check + # for file existence + PROGRAM += $(subst $(GTEST_FILE).cc,$(d)run,$(wildcard $(GTEST_FILE).cc)) ++test: $(subst $(GTEST_FILE).cc,test-libaegisub,$(wildcard $(GTEST_FILE).cc)) ++else ++PROGRAM += $(d)run ++test: test-libaegisub ++endif + + ifeq (yes, $(BUILD_DARWIN)) + run_LIBS += -framework ApplicationServices -framework Foundation +@@ -31,6 +52,4 @@ gtest_filter ?= * + test-libaegisub: $(d)run $(d)data + cd $(TOP)tests; ./run --gtest_filter="$(gtest_filter)" + +-test: $(subst $(GTEST_FILE).cc,test-libaegisub,$(wildcard $(GTEST_FILE).cc)) +- + include $(TOP)Makefile.target |