From d7a9183983102c049cd410692cb8f7e8c7073f79 Mon Sep 17 00:00:00 2001 From: Ilya Tumaykin Date: Mon, 2 Nov 2015 11:34:10 +0300 Subject: media-video/aegisub: version bump to 3.2.2 Inherited from Nikoli. List of changes compared to Nikoli ebuilds: - respect user compiler flags - do not enable debug flags for regular builds - omit unneeded ancient version numbers in deps - unbundle luajit - fix minor lua issues - check for C++11 compiler support - remove virtual/glu dep as it was only needed for crashreporter, which was never finished and ultimately was removed upstream - avoid nls USE as build system expects config.rpath file being available regardless of the value of nls configure option Gentoo-Bug: 536244 Gentoo-Bug: 508120 --- media-video/aegisub/Manifest | 1 + media-video/aegisub/aegisub-3.2.2.ebuild | 115 ++++++++++++++++++ .../files/aegisub-3.2.2-fix-lua-regexp.patch | 13 ++ ...aegisub-3.2.2-respect-user-compiler-flags.patch | 30 +++++ .../files/aegisub-3.2.2-unbundle-luajit.patch | 134 +++++++++++++++++++++ 5 files changed, 293 insertions(+) create mode 100644 media-video/aegisub/aegisub-3.2.2.ebuild create mode 100644 media-video/aegisub/files/aegisub-3.2.2-fix-lua-regexp.patch create mode 100644 media-video/aegisub/files/aegisub-3.2.2-respect-user-compiler-flags.patch create mode 100644 media-video/aegisub/files/aegisub-3.2.2-unbundle-luajit.patch (limited to 'media-video/aegisub') diff --git a/media-video/aegisub/Manifest b/media-video/aegisub/Manifest index 1db550c6d40f..a493a82c51de 100644 --- a/media-video/aegisub/Manifest +++ b/media-video/aegisub/Manifest @@ -1,3 +1,4 @@ DIST aegisub-2.1.9.tar.xz 1670496 SHA256 e0591c96183f7713bb14f9d357a2e12bdd3478e4d0a8fad77f14f87a4fc22db7 SHA512 bdb02e3d29db2b7ed165eaf1d541515c15f22199bb209d517089e2c35289b7fc22f6159589004c7f8667a57d26eb7ab6211f9d85ca4bbcd076c5856ac10a3d4f WHIRLPOOL 4ac402e067ff0d863042a8f314c1e55154bacfcc13103772e7c4036b7d927f687b2172003eb51e35469f7af2b640e20f224ff1fa5be83f729eacfaac89c73144 DIST aegisub-3.1.2.tar.xz 4126244 SHA256 36ebfd05cc642b050da1e91ce2d2082b317a37bdfab109e191f861170d7cff86 SHA512 d15e16f9f98c01447b72cde1998c915a2bfc1aa918a4380b54303de8e88ef881f46c3896ab9dc5eddaf4f1376f0908abd8427dbf6af395e6e0b3969ddca402ab WHIRLPOOL fa7afa1a3e736a410d686bc14d173518267e4b1570a468d9871334f06af821040fe7f40d6ba3b1bece9350a70dd43613c4aedfe8480629a283c9a16a2f54ab6d DIST aegisub-3.1.3.tar.xz 4215196 SHA256 efea5bc2bc5e0651ada4f65cfdd8af1b422a15f87933710d11287bf51e2b5e58 SHA512 c406925623e7b8425df47d1cd31ef77d536861335d25c626ecb916ef091341a8156879430f094ffa1d27490a65f79e2edb84593609d589834f3411b2c2841297 WHIRLPOOL 12e40c2ce78e1659046d093d7d34b68b7ceda2744c36be0e15a71a379cc3ced4fb8cde2c364bbd3b7efa803f78229794d5d417c601ae140d79e0c0a9a2711fb0 +DIST aegisub-3.2.2.tar.xz 5252052 SHA256 c55e33945b82d8513c02ea6e782f0d72c726adcd3707e95b8c0022f6151e6885 SHA512 54f825e52f238fef8d5cc31c37436e21355aee27883347f905271e5d2a8ff2a77e1b67d5aef38b0f8468bd0bad851fe944e02de27ec96310b902fbe5b1086722 WHIRLPOOL fe948edbb01f11385e14d1912b73942605df18325fcd95f4284a3c2edb73778d90d73038ac4a062e211fd56879590040e3c558fe1e361ec9fe2eee6a5c016448 diff --git a/media-video/aegisub/aegisub-3.2.2.ebuild b/media-video/aegisub/aegisub-3.2.2.ebuild new file mode 100644 index 000000000000..e6f23ec43cf4 --- /dev/null +++ b/media-video/aegisub/aegisub-3.2.2.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +AUTOTOOLS_AUTORECONF=1 +AUTOTOOLS_IN_SOURCE_BUILD=1 +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@latin sr_RS uk_UA vi zh_CN zh_TW" +WX_GTK_VER="3.0" + +inherit autotools-utils fdo-mime gnome2-utils l10n toolchain-funcs wxwidgets + +DESCRIPTION="Advanced subtitle editor" +HOMEPAGE="http://www.aegisub.org/" +SRC_URI="http://ftp.aegisub.org/pub/releases/${P}.tar.xz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="alsa debug +ffmpeg +fftw openal oss portaudio pulseaudio spell" + +# configure.ac specifies minimal versions for some of the dependencies below. +# However, most of these minimal versions date back to 2006-2010 yy. +# Such version specifiers are meaningless nowadays, so they are omitted. +RDEPEND=" + >=dev-lang/luajit-2.0.3:2= + >=dev-libs/boost-1.50.0:=[icu,nls,threads] + >=dev-libs/icu-4.8.1.1:= + >=x11-libs/wxGTK-3.0.0:${WX_GTK_VER}[X,opengl,debug?] + media-libs/fontconfig + media-libs/freetype + media-libs/libass[fontconfig] + virtual/libiconv + virtual/opengl + + alsa? ( media-libs/alsa-lib ) + openal? ( media-libs/openal ) + portaudio? ( =media-libs/portaudio-19* ) + pulseaudio? ( media-sound/pulseaudio ) + + ffmpeg? ( >=media-libs/ffmpegsource-2.16:= ) + fftw? ( >=sci-libs/fftw-3.3:= ) + + spell? ( app-text/hunspell ) +" +DEPEND="${RDEPEND} + oss? ( virtual/os-headers ) + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig +" +REQUIRED_USE=" + || ( alsa openal oss portaudio pulseaudio ) +" + +# aegisub also bundles luabins (https://github.com/agladysh/luabins). +# Unfortunately, luabins upstream is dead since 2011. +# Thus unbundling luabins is not worth the effort. +PATCHES=( + "${FILESDIR}/${P}-fix-lua-regexp.patch" + "${FILESDIR}/${P}-unbundle-luajit.patch" + "${FILESDIR}/${P}-respect-user-compiler-flags.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() { + cp /usr/share/gettext/config.rpath . || die + + remove_locale() { + rm "po/${1}.po" || die + } + + l10n_find_plocales_changes 'po' '' '.po' + l10n_for_each_disabled_locale_do remove_locale + + autotools-utils_src_prepare +} + +src_configure() { + # Prevent sandbox violation from OpenAL detection. Gentoo bug #508184. + use openal && export agi_cv_with_openal="yes" + local myeconfargs=( + --disable-update-checker + $(use_enable debug) + $(use_with alsa) + $(use_with ffmpeg ffms2) + $(use_with fftw fftw3) + $(use_with openal) + $(use_with oss) + $(use_with portaudio) + $(use_with pulseaudio libpulse) + $(use_with spell hunspell) + ) + autotools-utils_src_configure +} + +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/aegisub-3.2.2-fix-lua-regexp.patch b/media-video/aegisub/files/aegisub-3.2.2-fix-lua-regexp.patch new file mode 100644 index 000000000000..a05ed2d65125 --- /dev/null +++ b/media-video/aegisub/files/aegisub-3.2.2-fix-lua-regexp.patch @@ -0,0 +1,13 @@ +diff --git a/tools/respack.lua b/tools/respack.lua +index 85955d1..1281ac2 100755 +--- a/tools/respack.lua ++++ b/tools/respack.lua +@@ -44,7 +44,7 @@ out_cpp:write('#include "libresrc.h"\n') + for line in manifest:lines() do + if line:find('.') then + local file = try_open(path..line, 'rb') +- local id = line:gsub('^.*/', ''):gsub('\.[a-z]+$', '') ++ local id = line:gsub('^.*/', ''):gsub('%.[a-z]+$', '') + out_cpp:write("const unsigned char " .. id .. "[] = {") + + local len = 0 diff --git a/media-video/aegisub/files/aegisub-3.2.2-respect-user-compiler-flags.patch b/media-video/aegisub/files/aegisub-3.2.2-respect-user-compiler-flags.patch new file mode 100644 index 000000000000..caecf82a7ff6 --- /dev/null +++ b/media-video/aegisub/files/aegisub-3.2.2-respect-user-compiler-flags.patch @@ -0,0 +1,30 @@ +diff --git a/configure.ac b/configure.ac +index be657b0..fca48e0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -139,20 +139,17 @@ CC="$PTHREAD_CC" + 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" ++ 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/media-video/aegisub/files/aegisub-3.2.2-unbundle-luajit.patch b/media-video/aegisub/files/aegisub-3.2.2-unbundle-luajit.patch new file mode 100644 index 000000000000..de0907229dba --- /dev/null +++ b/media-video/aegisub/files/aegisub-3.2.2-unbundle-luajit.patch @@ -0,0 +1,134 @@ +diff --git a/Makefile.inc.in b/Makefile.inc.in +index c93b9dc..ae018c3 100644 +--- a/Makefile.inc.in ++++ b/Makefile.inc.in +@@ -78,7 +78,7 @@ CFLAGS_ICONV = @ICONV_CFLAGS@ + CFLAGS_ICU = @ICU_I18N_CFLAGS@ + CFLAGS_LIBASS = @LIBASS_CFLAGS@ + CFLAGS_LIBPULSE = @LIBPULSE_CFLAGS@ +-CFLAGS_LUA = -I$(TOP)vendor/luajit/include ++CFLAGS_LUA = @LUAJIT_CFLAGS@ + CFLAGS_OPENAL = @OPENAL_CFLAGS@ + CFLAGS_OSS = @OSS_CFLAGS@ + CFLAGS_PORTAUDIO = @PORTAUDIO_CFLAGS@ +@@ -96,15 +96,11 @@ LIBS_ICONV = @ICONV_LIBS@ + LIBS_ICU = @ICU_UC_LIBS@ @ICU_I18N_LIBS@ + LIBS_LIBASS = @LIBASS_LIBS@ + LIBS_LIBPULSE = @LIBPULSE_LIBS@ +-LIBS_LUA = $(TOP)vendor/luajit/src/libluajit.a ++LIBS_LUA = @LUAJIT_LIBS@ + LIBS_OPENAL = @OPENAL_LIBS@ + LIBS_PORTAUDIO = @PORTAUDIO_LIBS@ + LIBS_PTHREAD = @PTHREAD_LIBS@ + +-ifeq (yes, $(BUILD_DARWIN)) +-LIBS_LUA = $(TOP)vendor/luajit/src/libluajit-aegisub.so +-endif +- + FONTCONFIG_CONF_DIR = @FONTCONFIG_CONF_DIR@ + + ##################### +diff --git a/configure.ac b/configure.ac +index be657b0..de586d5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -16,6 +16,8 @@ m4_define([libpulse_required_version], [0.5]) + m4_define([pkgconfig_required_version], [0.20]) + m4_define([portaudio_required_version], [19]) + m4_define([wx_required_version], [3.0.0]) ++# Same version as the bundled one ++m4_define([luajit_required_version], [2.0.3]) + + ####### + # Setup +@@ -205,6 +207,7 @@ AC_SUBST(GL_LIBS) + PKG_CHECK_MODULES(FREETYPE, freetype2 >= freetype_required_version) + PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= fontconfig_required_version) + PKG_CHECK_MODULES(LIBASS, libass >= libass_required_version) ++PKG_CHECK_MODULES(LUAJIT, luajit >= luajit_required_version) + + FONTCONFIG_CONF_DIR=$($PKG_CONFIG --variable=confdir fontconfig) + AC_SUBST(FONTCONFIG_CONF_DIR) +diff --git a/header.mk b/header.mk +index 61c8ba1..050472d 100644 +--- a/header.mk ++++ b/header.mk +@@ -13,7 +13,6 @@ subdirs := \ + tests \ + tools \ + vendor/luabins \ +- vendor/luajit \ + vendor/universalchardet + + subdirs := $(addprefix $(TOP),$(addsuffix /Makefile,$(subdirs))) +diff --git a/src/Makefile b/src/Makefile +index 60d7101..757bdc6 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -6,7 +6,8 @@ src_CPPFLAGS := -I$(d) -I.. -I$(d)include -I$(TOP)libaegisub/include -I$(TOP)bui + $(CFLAGS_PTHREAD) $(CFLAGS_FFTW3) $(CFLAGS_ICU) + 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_LUA) + src_PCH := $(d)agi_pre.h + src_INSTALLNAME := $(AEGISUB_COMMAND) + +@@ -112,7 +113,6 @@ 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 \ +@@ -192,10 +192,10 @@ $(d)subtitles_provider.o_FLAGS := $(CFLAGS_LIBASS) + $(d)subtitles_provider_libass.o_FLAGS := $(CFLAGS_LIBASS) -Wno-c++11-narrowing + $(d)text_file_reader.o_FLAGS := -D_X86_ + $(d)video_provider_manager.o_FLAGS := $(CFLAGS_FFMS2) +-$(d)auto4_lua.o_FLAGS := -I$(TOP)vendor/luajit/include +-$(d)auto4_lua_assfile.o_FLAGS := -I$(TOP)vendor/luajit/include +-$(d)auto4_lua_dialog.o_FLAGS := -I$(TOP)vendor/luajit/include +-$(d)auto4_lua_progresssink.o_FLAGS := -I$(TOP)vendor/luajit/include ++$(d)auto4_lua.o_FLAGS := $(CFLAGS_LUA) ++$(d)auto4_lua_assfile.o_FLAGS := $(CFLAGS_LUA) ++$(d)auto4_lua_dialog.o_FLAGS := $(CFLAGS_LUA) ++$(d)auto4_lua_progresssink.o_FLAGS := $(CFLAGS_LUA) + + $(src_OBJ): $(d)libresrc/bitmap.h $(d)libresrc/default_config.h + +diff --git a/src/libresrc/Makefile b/src/libresrc/Makefile +index 6441856..0562eb1 100644 +--- a/src/libresrc/Makefile ++++ b/src/libresrc/Makefile +@@ -10,7 +10,7 @@ resrc_OBJ := \ + + $(resrc_OBJ): $(d)default_config.h $(d)bitmap.h $(d)default_config.cpp $(d)bitmap.cpp + +-RESPACK := cd $(TOP)src/libresrc; $(TOP)vendor/luajit/src/host/minilua $(TOP)tools/respack.lua ++RESPACK := cd $(TOP)src/libresrc; luajit $(TOP)tools/respack.lua + + $(d)bitmap.cpp: $(d)bitmap.h + $(d)default_config.cpp: $(d)default_config.h +diff --git a/tools/Makefile b/tools/Makefile +index 81bcef3..0834ac2 100644 +--- a/tools/Makefile ++++ b/tools/Makefile +@@ -12,6 +12,4 @@ repack-thes-dict_CPPFLAGS := -I$(TOP) -I$(TOP)libaegisub/include $(CFLAGS_ICU) + + PROGRAM += $(d)repack-thes-dict + +-$(TOP)tools/respack.lua: $(TOP)vendor/luajit/src/host/minilua +- + include $(TOP)Makefile.target +diff --git a/tools/respack.lua b/tools/respack.lua +index 85955d1..11af2f4 100755 +--- a/tools/respack.lua ++++ b/tools/respack.lua +@@ -1,4 +1,4 @@ +-#!../vendor/luajit/src/host/minilua ++#!/usr/bin/env luajit + -- Copyright (c) 2014, Thomas Goyne + -- + -- Permission to use, copy, modify, and distribute this software for any -- cgit v1.2.3-65-gdbad