Skip to content

Commit

Permalink
media-video/aegisub: revbump to 3.2.2-r1 to restore -fno-strict-aliasing
Browse files Browse the repository at this point in the history
Also backport ff9648f and 9f158e9 changes from the live ebuild.

Package-Manager: portage-2.2.27
  • Loading branch information
Coacher committed Feb 10, 2016
1 parent 7e3bf51 commit 9b3ff52
Show file tree
Hide file tree
Showing 6 changed files with 192 additions and 23 deletions.
119 changes: 119 additions & 0 deletions media-video/aegisub/aegisub-3.2.2-r1.ebuild
Original file line number Diff line number Diff line change
@@ -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
}
2 changes: 1 addition & 1 deletion media-video/aegisub/aegisub-9999.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -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
Original file line number Diff line number Diff line change
@@ -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
32 changes: 16 additions & 16 deletions media-video/aegisub/files/aegisub-3.2.2-unbundle-luajit.patch
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -54,15 +54,15 @@ 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)
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
Expand All @@ -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
Expand All @@ -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 \
Expand All @@ -111,30 +111,30 @@ 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
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
Expand Down

0 comments on commit 9b3ff52

Please sign in to comment.