summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Sarnie <sarnex@gentoo.org>2024-08-08 17:26:38 -0400
committerNick Sarnie <sarnex@gentoo.org>2024-08-08 17:31:22 -0400
commitaa3ffb8396032ddd22b68304bdc83d117bd94fbd (patch)
tree959ad4dfb0bd53be92fbd0bae91e49ea9548d088 /media-video
parentnet-im/gajim: add 1.9.3 (diff)
downloadgentoo-aa3ffb8396032ddd22b68304bdc83d117bd94fbd.tar.gz
gentoo-aa3ffb8396032ddd22b68304bdc83d117bd94fbd.tar.bz2
gentoo-aa3ffb8396032ddd22b68304bdc83d117bd94fbd.zip
media-video/aegisub: Fix build with icu 75
Signed-off-by: Nick Sarnie <sarnex@gentoo.org>
Diffstat (limited to 'media-video')
-rw-r--r--media-video/aegisub/aegisub-3.3.3-r1.ebuild156
-rw-r--r--media-video/aegisub/aegisub-9999.ebuild7
-rw-r--r--media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-icu-75.patch26
3 files changed, 186 insertions, 3 deletions
diff --git a/media-video/aegisub/aegisub-3.3.3-r1.ebuild b/media-video/aegisub/aegisub-3.3.3-r1.ebuild
new file mode 100644
index 000000000000..530606341ba5
--- /dev/null
+++ b/media-video/aegisub/aegisub-3.3.3-r1.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( luajit )
+LUA_REQ_USE="lua52compat"
+
+WX_GTK_VER=3.2-gtk3
+PLOCALES="ar be 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"
+
+inherit autotools flag-o-matic lua-single plocale wxwidgets xdg-utils vcs-snapshot toolchain-funcs
+
+DESCRIPTION="Advanced subtitle editor"
+HOMEPAGE="http://www.aegisub.org/ https://github.com/wangqr/Aegisub"
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/wangqr/${PN^}.git"
+ # Submodules are used to pull bundled libraries.
+ EGIT_SUBMODULES=()
+ inherit git-r3
+else
+ SRC_URI="https://github.com/wangqr/Aegisub/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+LICENSE="BSD MIT"
+SLOT="0"
+IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell test +uchardet"
+RESTRICT="test"
+
+# 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="${LUA_DEPS}
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,debug?]
+ dev-libs/boost:=[icu,nls]
+ 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-libs/libpulse )
+ spell? ( app-text/hunspell:= )
+ uchardet? ( app-i18n/uchardet )
+"
+DEPEND="${RDEPEND}"
+# luarocks is only used as a command-line tool so there is no need to enforce
+# LUA_SINGLE_USEDEP on it. On the other hand, this means we must use version
+# bounds in order to make sure we use a version migrated to Lua eclasses.
+BDEPEND="dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? (
+ ${RDEPEND}
+ >=dev-cpp/gtest-1.8.1
+ >=dev-lua/luarocks-3.4.0-r100
+ $(lua_gen_cond_dep '
+ dev-lua/busted[${LUA_USEDEP}]
+ ')
+ )
+"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ || ( alsa openal oss portaudio pulseaudio )"
+
+PATCHES=(
+ "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-system-luajit-build.patch"
+ "${FILESDIR}/3.3.3/${PN}-3.3.3-support-system-gtest.patch"
+ "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-tests_luarocks_lua_version.patch"
+ "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-boost-181-build.patch"
+ "${FILESDIR}/3.3.3/${PN}-3.3.3-support-icu-75.patch"
+)
+
+aegisub_check_compiler() {
+ if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++17; then
+ die "Your compiler lacks C++17 support."
+ fi
+}
+
+pkg_pretend() {
+ aegisub_check_compiler
+}
+
+pkg_setup() {
+ aegisub_check_compiler
+ lua-single_pkg_setup
+}
+
+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
+ }
+
+ plocale_find_changes 'po' '' '.po'
+ plocale_for_each_disabled_locale remove_locale
+
+ # See http://devel.aegisub.org/ticket/1914
+ config_rpath_update "${S}"/config.rpath
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+ # Prevent access violations from OpenAL detection. See Gentoo bug 508184.
+ use openal && export agi_cv_with_openal="yes"
+
+ setup-wxwidgets
+ 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)
+ )
+ export FORCE_GIT_VERSION="v${PV}"
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake WITH_SYSTEM_GTEST=$(usex test)
+}
+
+src_test() {
+ emake test-automation
+ emake test-libaegisub
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/media-video/aegisub/aegisub-9999.ebuild b/media-video/aegisub/aegisub-9999.ebuild
index 208e6b0e5adb..530606341ba5 100644
--- a/media-video/aegisub/aegisub-9999.ebuild
+++ b/media-video/aegisub/aegisub-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -75,11 +75,12 @@ PATCHES=(
"${FILESDIR}/3.3.3/${PN}-3.3.3-support-system-gtest.patch"
"${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-tests_luarocks_lua_version.patch"
"${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-boost-181-build.patch"
+ "${FILESDIR}/3.3.3/${PN}-3.3.3-support-icu-75.patch"
)
aegisub_check_compiler() {
- if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++14; then
- die "Your compiler lacks C++14 support."
+ if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++17; then
+ die "Your compiler lacks C++17 support."
fi
}
diff --git a/media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-icu-75.patch b/media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-icu-75.patch
new file mode 100644
index 000000000000..0287527117ba
--- /dev/null
+++ b/media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-icu-75.patch
@@ -0,0 +1,26 @@
+From 5ef040ffe2fc743ecff0d744b82a24e5c9b521a8 Mon Sep 17 00:00:00 2001
+From: Nick Sarnie <sarnex@gentoo.org>
+Date: Thu, 8 Aug 2024 17:21:31 -0400
+Subject: [PATCH] Fix build with icu 75
+
+Signed-off-by: Nick Sarnie <sarnex@gentoo.org>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 197d0a788..02cb56052 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -144,7 +144,7 @@ AS_IF([test x$enable_compiler_flags != xno], [
+ CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing"
+
+ # For mac compiler which still stuck on c++98
+- AC_CXX_FLAG([-std=c++14])
++ AC_CXX_FLAG([-std=c++17])
+
+ # -O* messes with debugging.
+ AS_IF([test x$enable_debug = xyes], [
+--
+2.45.2
+