gnu: aegisub: Fix build.

* gnu/packages/patches/aegisub-boost81.patch: New patch.
* gnu/packages/video.scm (aegisub)[source]: Add it.
* gnu/local.mk (dist_patch_DATA): Register patch.

Change-Id: I0249944bf1bd9fc5a303c44c92b0b4c3e01da14b
This commit is contained in:
宋文武 2024-06-19 08:30:24 +08:00 committed by Ludovic Courtès
parent 22429545e7
commit 3266dbd3f0
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 65 additions and 1 deletions

View file

@ -935,6 +935,7 @@ dist_patch_DATA = \
%D%/packages/patches/aegis-test-fixup-2.patch \
%D%/packages/patches/aegisub-icu59-include-unistr.patch \
%D%/packages/patches/aegisub-boost68.patch \
%D%/packages/patches/aegisub-boost81.patch \
%D%/packages/patches/aegisub-make43.patch \
%D%/packages/patches/agda-categories-remove-incompatible-flags.patch \
%D%/packages/patches/agda-categories-use-find.patch \

View file

@ -0,0 +1,62 @@
Source: https://gitlab.archlinux.org/archlinux/packaging/packages/aegisub/-/blob/main/boost-1.81.0.patch
From 12e1e5ee64afb7cfb5a43a998774642bc1eeede6 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <foutrelis@archlinux.org>
Date: Sat, 21 Jan 2023 18:00:10 +0000
Subject: [PATCH] Fix build with boost 1.81.0
---
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<typename T>
void set_field(lua_State *L, const char *name, T value) {
- push_value(L, value);
+ if constexpr(std::is_convertible<T, std::string>::value)
+ push_value(L, static_cast<std::string>(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<const char*>( _(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<const char*>(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<const char*>(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:"),

View file

@ -5428,7 +5428,8 @@ (define-public aegisub
"11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5"))
(patches (search-patches "aegisub-icu59-include-unistr.patch"
"aegisub-make43.patch"
"aegisub-boost68.patch"))))
"aegisub-boost68.patch"
"aegisub-boost81.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags