From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 498F4158020 for ; Fri, 23 Dec 2022 00:05:49 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5308EE07C7; Fri, 23 Dec 2022 00:05:48 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 33742E07C7 for ; Fri, 23 Dec 2022 00:05:47 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id CE7C3340AF0 for ; Fri, 23 Dec 2022 00:05:46 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 21E5B7D3 for ; Fri, 23 Dec 2022 00:05:45 +0000 (UTC) From: "Nick Sarnie" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Nick Sarnie" Message-ID: <1671753902.c42bd08f89e86a4e78ba5fa8b5acdb1c20ecf201.sarnex@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/aegisub/files/3.2.2_p20160518/, media-video/aegisub/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost-181-build.patch X-VCS-Directories: media-video/aegisub/files/3.2.2_p20160518/ media-video/aegisub/ X-VCS-Committer: sarnex X-VCS-Committer-Name: Nick Sarnie X-VCS-Revision: c42bd08f89e86a4e78ba5fa8b5acdb1c20ecf201 X-VCS-Branch: master Date: Fri, 23 Dec 2022 00:05:45 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 7e9f1be3-c34f-4a61-9f02-37aedf09f67f X-Archives-Hash: bd3b931aceab547360a3155b946f6cdf commit: c42bd08f89e86a4e78ba5fa8b5acdb1c20ecf201 Author: Nick Sarnie gentoo org> AuthorDate: Fri Dec 23 00:03:48 2022 +0000 Commit: Nick Sarnie gentoo org> CommitDate: Fri Dec 23 00:05:02 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c42bd08f media-video/aegisub: Fix boost 1.8.1 build Closes: https://bugs.gentoo.org/887053 Signed-off-by: Nick Sarnie gentoo.org> .../aegisub/aegisub-3.2.2_p20160518-r105.ebuild | 161 +++++++++++++++++++++ ...gisub-3.2.2_p20160518-fix-boost-181-build.patch | 56 +++++++ 2 files changed, 217 insertions(+) diff --git a/media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild b/media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild new file mode 100644 index 000000000000..f9b435cd6a74 --- /dev/null +++ b/media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2022 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.0 +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 sr_RS@latin uk_UA vi zh_CN zh_TW" +COMMIT_ID="b118fe7e7a5c37540e2f0aa75af105e272bad234" + +inherit autotools flag-o-matic lua-single plocale wxwidgets xdg-utils vcs-snapshot + +DESCRIPTION="Advanced subtitle editor" +HOMEPAGE="http://www.aegisub.org/ https://github.com/Aegisub/Aegisub" +SRC_URI="https://github.com/Aegisub/Aegisub/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +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-sound/pulseaudio ) + 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}/${PV}/${P}-fix-system-luajit-build.patch" + "${FILESDIR}/${PV}/${P}-respect-compiler-flags.patch" + "${FILESDIR}/${PV}/${P}-support-system-gtest.patch" + "${FILESDIR}/${PV}/${P}-fix-icu59-build.patch" + "${FILESDIR}/${PV}/${P}-fix-icu62-build.patch" + "${FILESDIR}/${PV}/${P}-fix-boost170-build.patch" + "${FILESDIR}/${PV}/${P}-fix-makefile-for-make4.3.patch" + "${FILESDIR}/${PV}/${P}-tests_luarocks_lua_version.patch" + "${FILESDIR}/${PV}/${P}-avoid-conveying-positional-parameters-to-source-builtin.patch" + "${FILESDIR}/${PV}/${P}-luaL_Reg-not-luaL_reg.patch" + "${FILESDIR}/${PV}/${P}-ffmpegsource-2.40-compat2.patch" + "${FILESDIR}/${PV}/${P}-fix-boost-181-build.patch" +) + +aegisub_check_compiler() { + 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 +} + +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 + + cat <<- EOF > build/git_version.h || die + #define BUILD_GIT_VERSION_NUMBER 8897 + #define BUILD_GIT_VERSION_STRING "${PV}" + #define TAGGED_RELEASE 0 + EOF +} + +src_configure() { + # 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) + ) + 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/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost-181-build.patch b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost-181-build.patch new file mode 100644 index 000000000000..ac264bc70676 --- /dev/null +++ b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost-181-build.patch @@ -0,0 +1,56 @@ +diff --git a/libaegisub/include/libaegisub/lua/utils.h b/libaegisub/include/libaegisub/lua/utils.h +index c5a65d6e4..f4921d582 100644 +--- a/libaegisub/include/libaegisub/lua/utils.h ++++ b/libaegisub/include/libaegisub/lua/utils.h +@@ -87,7 +87,10 @@ int exception_wrapper(lua_State *L) { + + template + void set_field(lua_State *L, const char *name, T value) { +- push_value(L, value); ++ if constexpr(std::is_convertible::value) ++ push_value(L, static_cast(value)); ++ else ++ push_value(L, value); + lua_setfield(L, -2, name); + } + +diff --git a/src/auto4_lua.cpp b/src/auto4_lua.cpp +index 245689679..6d479b2c3 100644 +--- a/src/auto4_lua.cpp ++++ b/src/auto4_lua.cpp +@@ -115,7 +115,8 @@ namespace { + int get_translation(lua_State *L) + { + wxString str(check_wxstring(L, 1)); +- push_value(L, _(str).utf8_str()); ++ const char* val = static_cast( _(str).utf8_str()); ++ push_value(L, val); + return 1; + } + +diff --git a/src/command/video.cpp b/src/command/video.cpp +index fb2bcb0ba..77e3e9ca7 100644 +--- a/src/command/video.cpp ++++ b/src/command/video.cpp +@@ -475,7 +475,7 @@ static void save_snapshot(agi::Context *c, bool raw) { + // If where ever that is isn't defined, we can't save there + if ((basepath == "\\") || (basepath == "/")) { + // So save to the current user's home dir instead +- basepath = wxGetHomeDir().c_str(); ++ basepath = static_cast(wxGetHomeDir().c_str()); + } + } + // Actual fixed (possibly relative) path, decode it +diff --git a/src/dialog_attachments.cpp b/src/dialog_attachments.cpp +index 38ff53027..e30339f81 100644 +--- a/src/dialog_attachments.cpp ++++ b/src/dialog_attachments.cpp +@@ -161,7 +161,7 @@ void DialogAttachments::OnExtract(wxCommandEvent &) { + + // Multiple or single? + if (listView->GetNextSelected(i) != -1) +- path = wxDirSelector(_("Select the path to save the files to:"), to_wx(OPT_GET("Path/Fonts Collector Destination")->GetString())).c_str(); ++ path = static_cast(wxDirSelector(_("Select the path to save the files to:"), to_wx(OPT_GET("Path/Fonts Collector Destination")->GetString())).c_str()); + else { + path = SaveFileSelector( + _("Select the path to save the file to:"),