media-video/aegisub: revbump to 3.2.2-r1 to restore -fno-strict-aliasing
authorIlya Tumaykin <itumaykin@gmail.com>
Wed, 10 Feb 2016 17:00:15 +0000 (20:00 +0300)
committerIlya Tumaykin <itumaykin@gmail.com>
Wed, 10 Feb 2016 17:29:23 +0000 (20:29 +0300)
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 [new file with mode: 0644]
media-video/aegisub/aegisub-9999.ebuild
media-video/aegisub/files/aegisub-3.2.2-add-missing-pthread-flags.patch
media-video/aegisub/files/aegisub-3.2.2-fix-lua-regexp.patch
media-video/aegisub/files/aegisub-3.2.2-r1-respect-user-compiler-flags.patch [new file with mode: 0644]
media-video/aegisub/files/aegisub-3.2.2-unbundle-luajit.patch

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 (file)
index 0000000..79bc20d
--- /dev/null
@@ -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
+}
index e554a3d47cd1bf987c12b5df7117fb7c10319c12..2d5050e6845ad63c23fd872a1751240ab9909008 100644 (file)
@@ -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() {
index ed45de7a9bd34e058fa862e55d209ce0d034a47f..a5a6fc0168915ab1396912e440a8f7c3b75c9c4c 100644 (file)
@@ -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
index a05ed2d65125adcb15af134110ffd1688756d5a1..e3b620b4b7146087be1f77bea4ad386c1e05d4fe 100644 (file)
@@ -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 (file)
index 0000000..7c01832
--- /dev/null
@@ -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
index ff033cb969e72878c2e41468b537ed8c7248ff0d..ec561b23ce469c77de38460da27f056ebc777614 100644 (file)
@@ -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