diff options
author | Nick Sarnie <sarnex@gentoo.org> | 2024-08-08 17:26:38 -0400 |
---|---|---|
committer | Nick Sarnie <sarnex@gentoo.org> | 2024-08-08 17:31:22 -0400 |
commit | aa3ffb8396032ddd22b68304bdc83d117bd94fbd (patch) | |
tree | 959ad4dfb0bd53be92fbd0bae91e49ea9548d088 /media-video | |
parent | net-im/gajim: add 1.9.3 (diff) | |
download | gentoo-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.ebuild | 156 | ||||
-rw-r--r-- | media-video/aegisub/aegisub-9999.ebuild | 7 | ||||
-rw-r--r-- | media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-icu-75.patch | 26 |
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 + |