From 9b3ff52664e5ddda63f2a0ddfb243fb69bb02d25 Mon Sep 17 00:00:00 2001 From: Ilya Tumaykin Date: Wed, 10 Feb 2016 20:00:15 +0300 Subject: media-video/aegisub: revbump to 3.2.2-r1 to restore -fno-strict-aliasing Also backport ff9648f and 9f158e9 changes from the live ebuild. Package-Manager: portage-2.2.27 --- media-video/aegisub/aegisub-3.2.2-r1.ebuild | 119 +++++++++++++++++++++ media-video/aegisub/aegisub-9999.ebuild | 2 +- .../aegisub-3.2.2-add-missing-pthread-flags.patch | 10 +- .../files/aegisub-3.2.2-fix-lua-regexp.patch | 2 +- ...isub-3.2.2-r1-respect-user-compiler-flags.patch | 50 +++++++++ .../files/aegisub-3.2.2-unbundle-luajit.patch | 32 +++--- 6 files changed, 192 insertions(+), 23 deletions(-) create mode 100644 media-video/aegisub/aegisub-3.2.2-r1.ebuild create mode 100644 media-video/aegisub/files/aegisub-3.2.2-r1-respect-user-compiler-flags.patch (limited to 'media-video') diff --git a/media-video/aegisub/aegisub-3.2.2-r1.ebuild b/media-video/aegisub/aegisub-3.2.2-r1.ebuild new file mode 100644 index 000000000000..79bc20d66c93 --- /dev/null +++ b/media-video/aegisub/aegisub-3.2.2-r1.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2016 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 flag-o-matic gnome2-utils l10n wxwidgets + +DESCRIPTION="Advanced subtitle editor" +HOMEPAGE="http://www.aegisub.org/" +SRC_URI=" + http://ftp.aegisub.org/pub/releases/${P}.tar.xz + ftp://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[lua52compat] + >=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}-add-missing-pthread-flags.patch" + "${FILESDIR}/${PF}-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/aegisub-9999.ebuild b/media-video/aegisub/aegisub-9999.ebuild index e554a3d47cd1..2d5050e6845a 100644 --- a/media-video/aegisub/aegisub-9999.ebuild +++ b/media-video/aegisub/aegisub-9999.ebuild @@ -60,7 +60,7 @@ REQUIRED_USE=" PATCHES=( "${FILESDIR}/${P}-unbundle-luajit.patch" "${FILESDIR}/${P}-add-missing-pthread-flags.patch" - "${FILESDIR}/${PN}-3.2.2-respect-user-compiler-flags.patch" + "${FILESDIR}/${PN}-3.2.2-r1-respect-user-compiler-flags.patch" ) pkg_pretend() { diff --git a/media-video/aegisub/files/aegisub-3.2.2-add-missing-pthread-flags.patch b/media-video/aegisub/files/aegisub-3.2.2-add-missing-pthread-flags.patch index ed45de7a9bd3..a5a6fc016891 100644 --- a/media-video/aegisub/files/aegisub-3.2.2-add-missing-pthread-flags.patch +++ b/media-video/aegisub/files/aegisub-3.2.2-add-missing-pthread-flags.patch @@ -8,7 +8,7 @@ index c93b9dc..8c5678a 100644 LIBS_PORTAUDIO = @PORTAUDIO_LIBS@ -LIBS_PTHREAD = @PTHREAD_LIBS@ +LIBS_PTHREAD = @PTHREAD_LIBS@ -lpthread - + ifeq (yes, $(BUILD_DARWIN)) LIBS_LUA = $(TOP)vendor/luajit/src/libluajit-aegisub.so diff --git a/libaegisub/Makefile b/libaegisub/Makefile @@ -17,12 +17,12 @@ index 64204ef..178044d 100644 +++ b/libaegisub/Makefile @@ -41,7 +41,8 @@ aegisub_OBJ += $(d)common/dispatch.o endif - + aegisub_PCH := $(d)lagi_pre.h -aegisub_CPPFLAGS := -I$(d)include -I$(TOP) -fPIC $(CPPFLAGS_BOOST) $(CFLAGS_LUA) +aegisub_CPPFLAGS := -I$(d)include -I$(TOP) -fPIC \ + $(CFLAGS_PTHREAD) $(CPPFLAGS_BOOST) $(CFLAGS_LUA) - + $(d)common/charset_conv.o_FLAGS := $(CFLAGS_ICONV) $(d)common/parser.o_FLAGS := -ftemplate-depth=256 diff --git a/tools/Makefile b/tools/Makefile @@ -31,10 +31,10 @@ index 81bcef3..d9f64b8 100644 +++ b/tools/Makefile @@ -7,7 +7,7 @@ PROGRAM += $(d)osx-bundle-restart-helper endif - + repack-thes-dict_OBJ := $(d)repack-thes-dict.o $(TOP)lib/libaegisub.a -repack-thes-dict_LIBS := $(LIBS_BOOST) $(LIBS_ICU) +repack-thes-dict_LIBS := $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_PTHREAD) repack-thes-dict_CPPFLAGS := -I$(TOP) -I$(TOP)libaegisub/include $(CFLAGS_ICU) - + PROGRAM += $(d)repack-thes-dict 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 index a05ed2d65125..e3b620b4b714 100644 --- 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 @@ -9,5 +9,5 @@ index 85955d1..1281ac2 100755 - 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-r1-respect-user-compiler-flags.patch b/media-video/aegisub/files/aegisub-3.2.2-r1-respect-user-compiler-flags.patch new file mode 100644 index 000000000000..7c018321e7ff --- /dev/null +++ b/media-video/aegisub/files/aegisub-3.2.2-r1-respect-user-compiler-flags.patch @@ -0,0 +1,50 @@ +diff --git a/configure.ac b/configure.ac +index be657b0..de8184f 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 -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 60d7101..1f7b2bc 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -182,14 +182,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 := -I$(TOP)vendor/luajit/include 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 index ff033cb969e7..ec561b23ce46 100644 --- a/media-video/aegisub/files/aegisub-3.2.2-unbundle-luajit.patch +++ b/media-video/aegisub/files/aegisub-3.2.2-unbundle-luajit.patch @@ -20,13 +20,13 @@ index c93b9dc..ae018c3 100644 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/automation/Makefile b/automation/Makefile index 45a5ce2..db51a61 100644 @@ -35,15 +35,15 @@ index 45a5ce2..db51a61 100644 @@ -12,9 +12,9 @@ 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) +aegisub-lua_LIBS := $(LIBS_WX) $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_LUA) - + PROGRAM += $(d)aegisub-lua - + diff --git a/configure.ac b/configure.ac index be657b0..de586d5 100644 --- a/configure.ac @@ -54,7 +54,7 @@ index be657b0..de586d5 100644 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) @@ -62,7 +62,7 @@ index be657b0..de586d5 100644 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 @@ -75,7 +75,7 @@ index 61c8ba1..050472d 100644 vendor/luabins \ - vendor/luajit \ vendor/universalchardet - + subdirs := $(addprefix $(TOP),$(addsuffix /Makefile,$(subdirs))) diff --git a/src/Makefile b/src/Makefile index 60d7101..1d4779c 100644 @@ -90,7 +90,7 @@ index 60d7101..1d4779c 100644 + $(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 \ @@ -111,20 +111,20 @@ index 60d7101..1d4779c 100644 +$(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 @@ -132,9 +132,9 @@ 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 -- cgit v1.2.3-65-gdbad