diff --git a/games/easyrpg-player/Makefile b/games/easyrpg-player/Makefile index 1f9af9729ec8..1a559f255924 100644 --- a/games/easyrpg-player/Makefile +++ b/games/easyrpg-player/Makefile @@ -1,62 +1,64 @@ PORTNAME= easyrpg-player -PORTVERSION= 0.8 -PORTREVISION= 3 +PORTVERSION= 0.8.1 CATEGORIES= games MAINTAINER= amdmi3@FreeBSD.org COMMENT= RPG Maker 2000/2003 and EasyRPG games interpreter WWW= https://easyrpg.org/ \ https://github.com/EasyRPG/Player LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= liblcf.so:games/liblcf \ libpng.so:graphics/png \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libspeexdsp.so:audio/speexdsp \ libmpg123.so:audio/mpg123 \ libsndfile.so:audio/libsndfile \ libvorbis.so:audio/libvorbis \ libogg.so:audio/libogg \ libopusfile.so:audio/opusfile \ libopus.so:audio/opus \ libWildMidi.so:audio/wildmidi \ libxmp.so:audio/libxmp \ libfmt.so:devel/libfmt \ libasound.so:audio/alsa-lib \ - libfluidsynth.so:audio/fluidsynth + libfluidsynth.so:audio/fluidsynth \ + liblhasa.so:archivers/lhasa # these come from liblcf LIB_DEPENDS+= libicui18n.so:devel/icu \ - libexpat.so:textproc/expat2 -BUILD_DEPENDS= ${LOCALBASE}/include/boost/shared_ptr.hpp:devel/boost-libs + libexpat.so:textproc/expat2 \ + libinih.so:devel/inih +BUILD_DEPENDS= ${LOCALBASE}/include/boost/shared_ptr.hpp:devel/boost-libs \ + ${LOCALBASE}/include/nlohmann/json.hpp:devel/nlohmann-json USE_GITHUB= yes GH_ACCOUNT= EasyRPG GH_PROJECT= Player USES= cmake:insource compiler:c++14-lang localbase:ldflags pkgconfig \ sdl xorg CMAKE_ON= CMAKE_DISABLE_FIND_PACKAGE_Git USE_XORG= pixman USE_SDL= sdl2 PORTDOCS= README.md OPTIONS_DEFINE= DOCS MANPAGES OPTIONS_DEFAULT=MANPAGES OPTIONS_SUB= yes MANPAGES_BUILD_DEPENDS= asciidoctor:textproc/rubygem-asciidoctor post-patch-MANPAGES-off: @${REINPLACE_CMD} -e '/find_program.*asciidoctor/ d' ${WRKSRC}/CMakeLists.txt post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} .for f in ${PORTDOCS} ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}/ .endfor .include diff --git a/games/easyrpg-player/distinfo b/games/easyrpg-player/distinfo index 4bf54b92887f..c2a9c84b9634 100644 --- a/games/easyrpg-player/distinfo +++ b/games/easyrpg-player/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1683028073 -SHA256 (EasyRPG-Player-0.8_GH0.tar.gz) = 93e225e28f5636b76ce84555b19285a429e116b5c6bc479e5bfcc268069601ac -SIZE (EasyRPG-Player-0.8_GH0.tar.gz) = 6584685 +TIMESTAMP = 1744034578 +SHA256 (EasyRPG-Player-0.8.1_GH0.tar.gz) = b6e1c09bae859c3403d408ac1d0e6947a910e9b5cbe4b1cfdf76e98f17b69517 +SIZE (EasyRPG-Player-0.8.1_GH0.tar.gz) = 6803504 diff --git a/games/easyrpg-player/files/patch-fmt10 b/games/easyrpg-player/files/patch-fmt10 deleted file mode 100644 index 7c643d41a99f..000000000000 --- a/games/easyrpg-player/files/patch-fmt10 +++ /dev/null @@ -1,218 +0,0 @@ -From a4672d2e30db4e4918c8f3580236faed3c9d04c1 Mon Sep 17 00:00:00 2001 -From: Ghabry -Date: Sun, 14 May 2023 14:41:13 +0200 -Subject: [PATCH] Fix building with fmtlib 10 - -to_string_view is a private API since fmt10. - -The new API only works properly since fmt8. - -Added casts to enum formating as they are not converted automatically anymore. - -Fix #3002 ---- - CMakeLists.txt | 1 + - Makefile.am | 1 + - src/game_interpreter.cpp | 6 +++--- - src/game_interpreter_map.cpp | 2 +- - src/output.h | 9 --------- - src/player.cpp | 2 +- - src/string_view.cpp | 34 ++++++++++++++++++++++++++++++++++ - src/string_view.h | 27 ++++++++++++++++++++++++--- - 8 files changed, 65 insertions(+), 17 deletions(-) - create mode 100644 src/string_view.cpp - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8507e5d103..28d595a214 100644 ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -345,6 +345,7 @@ add_library(${PROJECT_NAME} OBJECT - src/state.cpp - src/state.h - src/std_clock.h -+ src/string_view.cpp - src/string_view.h - src/system.h - src/teleport_target.h -diff --git a/Makefile.am b/Makefile.am -index bed1b21941..4c4774892c 100644 ---- Makefile.am -+++ Makefile.am -@@ -327,6 +327,7 @@ libeasyrpg_player_a_SOURCES = \ - src/state.cpp \ - src/state.h \ - src/std_clock.h \ -+ src/string_view.cpp \ - src/string_view.h \ - src/system.h \ - src/teleport_target.h \ -diff --git a/src/game_interpreter.cpp b/src/game_interpreter.cpp -index 7877d77ff4..7ae056ccfb 100644 ---- src/game_interpreter.cpp -+++ src/game_interpreter.cpp -@@ -2187,7 +2187,7 @@ bool Game_Interpreter::CommandChangeVehicleGraphic(lcf::rpg::EventCommand const& - Game_Vehicle* vehicle = Game_Map::GetVehicle(vehicle_id); - - if (!vehicle) { -- Output::Warning("ChangeVehicleGraphic: Invalid vehicle ID {}", vehicle_id); -+ Output::Warning("ChangeVehicleGraphic: Invalid vehicle ID {}", static_cast(vehicle_id)); - return true; - } - -@@ -2261,7 +2261,7 @@ bool Game_Interpreter::CommandSetVehicleLocation(lcf::rpg::EventCommand const& c - // 0 because we adjust all vehicle IDs by +1 to match the lcf values - Output::Debug("SetVehicleLocation: Party referenced"); - } else { -- Output::Warning("SetVehicleLocation: Invalid vehicle ID {}", vehicle_id); -+ Output::Warning("SetVehicleLocation: Invalid vehicle ID {}", static_cast(vehicle_id)); - return true; - } - } -@@ -3494,7 +3494,7 @@ bool Game_Interpreter::CommandConditionalBranch(lcf::rpg::EventCommand const& co - Game_Vehicle* vehicle = Game_Map::GetVehicle(vehicle_id); - - if (!vehicle) { -- Output::Warning("ConditionalBranch: Invalid vehicle ID {}", vehicle_id); -+ Output::Warning("ConditionalBranch: Invalid vehicle ID {}", static_cast(vehicle_id)); - return true; - } - -diff --git a/src/game_interpreter_map.cpp b/src/game_interpreter_map.cpp -index 6c193c2f31..0b47a3db61 100644 ---- src/game_interpreter_map.cpp -+++ src/game_interpreter_map.cpp -@@ -345,7 +345,7 @@ bool Game_Interpreter_Map::CommandEndShop(lcf::rpg::EventCommand const& /* com * - - bool Game_Interpreter_Map::CommandShowInn(lcf::rpg::EventCommand const& com) { // code 10730 - int inn_type = com.parameters[0]; -- auto inn_price = com.parameters[1]; -+ int inn_price = com.parameters[1]; - // Not used, but left here for documentation purposes - // bool has_inn_handlers = com.parameters[2] != 0; - -diff --git a/src/output.h b/src/output.h -index 90e1118958..78ff3c0cad 100644 ---- src/output.h -+++ src/output.h -@@ -22,17 +22,8 @@ - #include - #include - #include --#include -- - #include "filesystem_stream.h" - --namespace lcf { --// FIXME: liblcf doesn't depend on fmt, so we need to add this here to enable fmtlib support for lcf::DBString --inline fmt::basic_string_view to_string_view(const lcf::DBString& s) { -- return to_string_view(StringView(s)); --} --} -- - enum class LogLevel { - Error, - Warning, -diff --git a/src/player.cpp b/src/player.cpp -index 0ed6bbb657..654d31e0dc 100644 ---- src/player.cpp -+++ src/player.cpp -@@ -1240,7 +1240,7 @@ void Player::SetupBattleTest() { - } - - Output::Debug("BattleTest Mode 2k3 troop=({}) background=({}) formation=({}) condition=({}) terrain=({})", -- args.troop_id, args.background.c_str(), args.formation, args.condition, args.terrain_id); -+ args.troop_id, args.background, static_cast(args.formation), static_cast(args.condition), args.terrain_id); - } else { - Output::Debug("BattleTest Mode 2k troop=({}) background=({})", args.troop_id, args.background); - } -diff --git a/src/string_view.cpp b/src/string_view.cpp -new file mode 100644 -index 0000000000..13a526504d ---- /dev/null -+++ src/string_view.cpp -@@ -0,0 +1,34 @@ -+/* -+ * This file is part of EasyRPG Player. -+ * -+ * EasyRPG Player is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 3 of the License, or -+ * (at your option) any later version. -+ * -+ * EasyRPG Player is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with EasyRPG Player. If not, see . -+ */ -+ -+#include "string_view.h" -+ -+#if FMT_VERSION >= EP_FMT_MODERN_VERSION -+ -+#include -+ -+auto fmt::formatter::format(const lcf::DBString& s, format_context& ctx) const -> decltype(ctx.out()) { -+ string_view sv(s.data(), s.size()); -+ return formatter::format(sv, ctx); -+} -+ -+auto fmt::formatter::format(const lcf::StringView& s, format_context& ctx) const -> decltype(ctx.out()) { -+ string_view sv(s.data(), s.size()); -+ return formatter::format(sv, ctx); -+} -+ -+#endif -diff --git a/src/string_view.h b/src/string_view.h -index 11e3550d5f..030bb09a10 100644 ---- src/string_view.h -+++ src/string_view.h -@@ -22,9 +22,9 @@ - #include - #include - --// FIXME: needed to allow building with fmt 5, older versions are untested. -+// Needed to allow building with fmt 5, older versions are untested. - #if FMT_VERSION < 60000 --#include -+# include - #endif - - using StringView = lcf::StringView; -@@ -33,12 +33,33 @@ using U32StringView = lcf::U32StringView; - using lcf::ToString; - using lcf::ToStringView; - -+// Version required to use the new formatting API -+#define EP_FMT_MODERN_VERSION 80000 -+ - // FIXME: liblcf doesn't depend on fmt, so we need to add this here to enable fmtlib support for our StringView. -+#if FMT_VERSION >= EP_FMT_MODERN_VERSION -+template<> -+struct fmt::formatter : fmt::formatter { -+ auto format(const lcf::StringView& s, format_context& ctx) const -> decltype(ctx.out()); -+}; -+ -+template<> -+struct fmt::formatter : formatter { -+ auto format(const lcf::DBString& s, format_context& ctx) const -> decltype(ctx.out()); -+}; -+#else - namespace nonstd { namespace sv_lite { - template - inline fmt::basic_string_view to_string_view(basic_string_view s) { -- return fmt::basic_string_view(s.data(), s.size()); -+ return fmt::basic_string_view(s.data(), s.size()); - } - } } - -+namespace lcf { -+inline fmt::basic_string_view to_string_view(const lcf::DBString& s) { -+ return to_string_view(StringView(s)); -+} -+} -+#endif -+ - #endif