public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:master commit in: games-engines/easyrpg-player/files/, profiles/, games-engines/easyrpg-player/, ...
@ 2023-09-03 12:27 Haelwenn Monnier
  0 siblings, 0 replies; only message in thread
From: Haelwenn Monnier @ 2023-09-03 12:27 UTC (permalink / raw
  To: gentoo-commits

commit:     a07495007a86e2a890ae42480b317a01aa4d37c3
Author:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Sat Sep  2 19:42:32 2023 +0000
Commit:     Haelwenn Monnier <contact <AT> hacktivis <DOT> me>
CommitDate: Sat Sep  2 19:46:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a0749500

games-engines/easyrpg-player: add 0.8

Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net>

 games-engines/easyrpg-player/Manifest              |   1 +
 .../easyrpg-player/easyrpg-player-0.8.ebuild       | 189 +++++++++++++++++++
 ...syrpg-player-0.8-backport-unbundle-dr_wav.patch |  43 +++++
 ...easyrpg-player-0.8-backport-unbundle-rang.patch |  23 +++
 ...yrpg-player-0.8-backport-update-for-fmt10.patch | 208 +++++++++++++++++++++
 .../easyrpg-player-0.8-unbundle-picojson.patch     |  18 ++
 games-engines/easyrpg-player/metadata.xml          |  33 +++-
 licenses/Baekmuk                                   |  11 ++
 licenses/GPL-2+-with-font-exception                |  12 ++
 licenses/TTYP0                                     |  29 +++
 profiles/package.use.mask                          |   6 +-
 11 files changed, 563 insertions(+), 10 deletions(-)

diff --git a/games-engines/easyrpg-player/Manifest b/games-engines/easyrpg-player/Manifest
index 679941559d..f01076a658 100644
--- a/games-engines/easyrpg-player/Manifest
+++ b/games-engines/easyrpg-player/Manifest
@@ -1 +1,2 @@
 DIST easyrpg-player-0.7.0.tar.gz 6426198 BLAKE2B fc08962cab0842a53535472fbf348d3c46fb71108b14655cb98d7f04a3a0f441fae644ab109e34733f55ce834d524fbd424ea30e80585e5e4e7f69b15041fe63 SHA512 6c2a5cedbd2022517f2cfb2e3bebc9773addb93cbf3e897fb57f31baf94c644bf4437ceff5be578b3a564e8a5f72c448dd0391bc418658d517ca755cab5ec97f
+DIST easyrpg-player-0.8.tar.xz 4966028 BLAKE2B ff445f831a879fe7562e98a4e5a0c973ef8d750236cd2c17bf65b21135f896ee7edd0f0137b88cf0ed417fcfd5729358a63d61b34d9ece017ba4fdc85efaa445 SHA512 b1caf45284e29706bdd885d132fe7605d1f2972a3b3e238ba2fbd40058ae1c31aac5277fced23bd216153feb9a440a2652ef696b6b310b907fbc3c1376aa03ad

diff --git a/games-engines/easyrpg-player/easyrpg-player-0.8.ebuild b/games-engines/easyrpg-player/easyrpg-player-0.8.ebuild
new file mode 100644
index 0000000000..de51689d13
--- /dev/null
+++ b/games-engines/easyrpg-player/easyrpg-player-0.8.ebuild
@@ -0,0 +1,189 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake readme.gentoo-r1 xdg
+
+DESCRIPTION="RPG Maker 2000/2003 and EasyRPG games interpreter"
+HOMEPAGE="https://easyrpg.org/player/
+	https://github.com/EasyRPG/Player"
+SRC_URI="https://easyrpg.org/downloads/player/${PV}/${P}.tar.xz"
+
+# EasyRPG Player itself is GPLv3+.
+# The program's logos are CC-BY-SA 4.0.
+# --
+# The program bundles several 3rd-party libraries.
+#
+# FMMidi files - licensed under the 3-clause BSD license.
+# Since the files do not end up in the executable due to the configuration,
+# we ignore it.
+# - src/midisequencer.cpp
+# - src/midisequencer.h
+# - src/midisynth.cpp
+# - src/midisynth.h
+#
+# dr_wav files - licensed under (public-domain or MIT-0):
+# - src/external/dr_wav.h
+# rang files - licensed under the Unlicense:
+# - src/external/rang.hpp
+# Note that both dr_wav and rang are un-bundled and replaced with versions
+# provided by Gentoo packages. However, since these are header-only libraries,
+# their licenses are still included in the LICENSE variable.
+#
+# PicoJSON is used only for Emscripten builds (and unbundled before build).
+# --
+# The program also uses a couple of 3rd-party fonts. Since these are not
+# loaded at runtime, but rather baked into the executable at compile time,
+# their licenses are also added to the License tag.
+#
+# Baekmuk files - licensed under the Baekmuk license:
+# - resources/shinonome/korean/
+#
+# Shinonome files - released into the public domain:
+# - resources/shinonome/
+#
+# ttyp0 files - licensed under the ttyp0 license,
+# a variant of the MIT license:
+# - resources/ttyp0/
+#
+# WenQuanYi files - licensed under
+# GPLv2-or-later with Font Embedding Exception:
+# - resources/wenquanyi/
+#
+#
+# The upstream tarball contains also "Teenyicons", under the MIT license,
+# but those are used only for Emscripten builds.
+
+LICENSE="Baekmuk CC-BY-4.0 GPL-2+-with-font-exception GPL-3+ public-domain
+	TTYP0 Unlicense || ( MIT-0 public-domain )"
+SLOT="0"
+
+KEYWORDS="~amd64"
+
+IUSE="doc fluidsynth harfbuzz +sound truetype +wildmidi"
+REQUIRED_USE="
+	fluidsynth? ( sound )
+	harfbuzz? ( truetype )
+	wildmidi? ( sound )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-backport-unbundle-dr_wav.patch
+	"${FILESDIR}"/${P}-backport-unbundle-rang.patch
+	"${FILESDIR}"/${P}-backport-update-for-fmt10.patch
+	"${FILESDIR}"/${P}-unbundle-picojson.patch
+)
+
+DEPEND="
+	dev-cpp/rang
+	>=dev-games/liblcf-${PV}
+	dev-libs/libfmt:=
+	media-libs/libpng:=
+	>=media-libs/libsdl2-2.0.5[joystick,sound?,video]
+	sys-libs/zlib
+	x11-libs/pixman
+	harfbuzz? ( media-libs/harfbuzz:=[truetype] )
+	truetype? ( media-libs/freetype:= )
+	sound? (
+			 media-libs/dr_wav
+			 media-libs/libsndfile
+			 media-libs/libvorbis
+			 media-libs/opusfile
+			 media-libs/speexdsp
+			 media-sound/mpg123
+			 media-libs/libxmp
+			 fluidsynth? ( media-sound/fluidsynth )
+			 wildmidi? ( media-sound/wildmidi )
+			 !fluidsynth? ( !wildmidi? ( media-libs/alsa-lib ) )
+		   )
+"
+RDEPEND="${DEPEND}
+	fluidsynth? ( media-sound/fluid-soundfont )
+"
+BDEPEND="virtual/pkgconfig
+	doc? ( app-doc/doxygen[dot] )
+"
+
+DOC_CONTENTS="
+EasyRPG Player chooses its library for MIDI output in increasing order:
+1. FluidSynth
+2. WildMIDI
+3. ALSA
+
+With all three enabled, it first tries to send MIDI messages to FluidSynth. If
+that fails it falls back to WildMIDI then to ALSA. Currently, the capability to
+find and configure a suitable MIDI client through ALSA is limited. It is
+recommended to enable one of the other backends, otherwise you are likely to
+have no sound.
+This package enables support for the ALSA backend only if the other two are
+disabled.
+
+For the requirements for suitable ALSA MIDI clients please reference the source
+code at src/platform/linux/midiout_device_alsa.cpp
+"
+
+src_prepare() {
+	# Install prebuilt manpage instead of rebuilding it conditionally.
+	sed -i -e "s/if(ASCIIDOCTOR_EXECUTABLE)/if(FALSE)/" \
+		-e "s/SUPPORT_AUDIO=1/SUPPORT_AUDIO=$(usex sound 1 0)/" CMakeLists.txt || die
+	cmake_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DPLAYER_BUILD_LIBLCF=OFF
+
+		# Use the first default choice
+		-DPLAYER_WITH_SPEEXDSP=$(usex sound)
+		-DPLAYER_WITH_SAMPLERATE=no
+
+		-DPLAYER_WITH_MPG123=$(usex sound)
+		-DPLAYER_WITH_OGGVORBIS=$(usex sound)
+		-DPLAYER_WITH_OPUS=$(usex sound)
+		-DPLAYER_WITH_XMP=$(usex sound)
+
+		# Avoid vendoring, use FluidSynth or WildMIDI (or ALSA) instead
+		-DPLAYER_ENABLE_FMMIDI=no
+		-DPLAYER_WITH_FLUIDSYNTH=$(usex fluidsynth)
+		-DPLAYER_WITH_WILDMIDI=$(usex wildmidi)
+		-DPLAYER_WITH_NATIVE_MIDI=$(usex sound $(usex fluidsynth no $(usex wildmidi no yes)) no)
+		# Serves as fallback when FluidSynth isn't found
+		-DPLAYER_WITH_FLUIDLITE=no
+		# Enable dr_wav for faster WAV decoding, fall back to libsndfile
+		-DPLAYER_ENABLE_DRWAV=$(usex sound)
+		-DPLAYER_WITH_LIBSNDFILE=$(usex sound)
+
+		# The text shaping engine is strictly dependent on the availability
+		# of TrueType fonts
+		-DPLAYER_WITH_HARFBUZZ=$(usex harfbuzz)
+		-DPLAYER_WITH_FREETYPE=$(usex harfbuzz yes $(usex truetype))
+	)
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+	if use doc; then
+		einfo "Building the documentation might take a while..."
+		cmake_build doc
+	fi
+}
+
+src_test() {
+	cmake_build check
+}
+
+src_install() {
+	cmake_src_install
+	if use doc; then
+		docinto /usr/share/doc/${PF}/html
+		dodoc -r "${BUILD_DIR}"/doc/*
+	fi
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+	readme.gentoo_print_elog
+}

diff --git a/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-unbundle-dr_wav.patch b/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-unbundle-dr_wav.patch
new file mode 100644
index 0000000000..869c63b7df
--- /dev/null
+++ b/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-unbundle-dr_wav.patch
@@ -0,0 +1,43 @@
+commit d2e92225ad0af2d52e8884b64ba2bac1b6006377
+Author: Ghabry <gabriel+github@mastergk.de>
+Date:   Thu May 4 16:32:42 2023 +0200
+
+    Do not vendor dr_wav header if there is a system header available
+    
+    Fedora unbundles our dr_wav because they have a system header
+
+--- a/src/decoder_drwav.cpp
++++ b/src/decoder_drwav.cpp
+@@ -21,7 +21,13 @@
+ #ifdef WANT_DRWAV
+ 
+ #define DR_WAV_IMPLEMENTATION
+-#include "external/dr_wav.h"
++// Use system dr_wav header if available
++#if __has_include(<dr_wav.h>)
++#  include <dr_wav.h>
++#else
++#  include "external/dr_wav.h"
++#endif
++
+ 
+ DrWavDecoder::DrWavDecoder() {
+ 	music_type = "wav";
+--- a/src/decoder_drwav.h
++++ b/src/decoder_drwav.h
+@@ -24,9 +24,12 @@
+ // Headers
+ #include "audio_decoder.h"
+ #define DR_WAV_NO_STDIO
+-#include "external/dr_wav.h"
+-#include <string>
+-#include <memory>
++// Use system dr_wav header if available
++#if __has_include(<dr_wav.h>)
++#  include <dr_wav.h>
++#else
++#  include "external/dr_wav.h"
++#endif
+ 
+ /**
+  * Standalone audio decoder powered by dr_wav

diff --git a/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-unbundle-rang.patch b/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-unbundle-rang.patch
new file mode 100644
index 0000000000..4ca9b286cf
--- /dev/null
+++ b/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-unbundle-rang.patch
@@ -0,0 +1,23 @@
+commit 63029163d86224aa4f9da798c760b1836d73f62b
+Author: Ghabry <gabriel+github@mastergk.de>
+Date:   Thu Jun 8 12:54:33 2023 +0200
+
+    rang: Use system header if available
+
+--- a/src/output.cpp
++++ b/src/output.cpp
+@@ -31,7 +31,13 @@
+ #elif defined(__vita__)
+ #  include <psp2/kernel/processmgr.h>
+ #endif
+-#include "external/rang.hpp"
++
++// Use system rang header if available
++#if __has_include(<rang.hpp>)
++#  include <rang.hpp>
++#else
++#  include "external/rang.hpp"
++#endif
+ 
+ #include "output.h"
+ #include "graphics.h"

diff --git a/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-update-for-fmt10.patch b/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-update-for-fmt10.patch
new file mode 100644
index 0000000000..a644c14106
--- /dev/null
+++ b/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-update-for-fmt10.patch
@@ -0,0 +1,208 @@
+commit a4672d2e30db4e4918c8f3580236faed3c9d04c1
+Author: Ghabry <gabriel+github@mastergk.de>
+Date:   Sun May 14 14:41:13 2023 +0200
+
+    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
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8507e5d1..28d595a2 100644
+--- a/CMakeLists.txt
++++ b/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 bed1b219..4c477489 100644
+--- a/Makefile.am
++++ b/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 7877d77f..7ae056cc 100644
+--- a/src/game_interpreter.cpp
++++ b/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<int>(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<int>(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<int>(vehicle_id));
+ 			return true;
+ 		}
+ 
+diff --git a/src/game_interpreter_map.cpp b/src/game_interpreter_map.cpp
+index 6c193c2f..0b47a3db 100644
+--- a/src/game_interpreter_map.cpp
++++ b/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 90e11189..78ff3c0c 100644
+--- a/src/output.h
++++ b/src/output.h
+@@ -22,17 +22,8 @@
+ #include <string>
+ #include <iosfwd>
+ #include <fmt/core.h>
+-#include <lcf/dbstring.h>
+-
+ #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<char> 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 0ed6bbb6..654d31e0 100644
+--- a/src/player.cpp
++++ b/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<int>(args.formation), static_cast<int>(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 00000000..13a52650
+--- /dev/null
++++ b/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 <http://www.gnu.org/licenses/>.
++ */
++
++#include "string_view.h"
++
++#if FMT_VERSION >= EP_FMT_MODERN_VERSION
++
++#include <fmt/format.h>
++
++auto fmt::formatter<lcf::DBString>::format(const lcf::DBString& s, format_context& ctx) const -> decltype(ctx.out()) {
++	string_view sv(s.data(), s.size());
++	return formatter<string_view>::format(sv, ctx);
++}
++
++auto fmt::formatter<lcf::StringView>::format(const lcf::StringView& s, format_context& ctx) const -> decltype(ctx.out()) {
++	string_view sv(s.data(), s.size());
++	return formatter<string_view>::format(sv, ctx);
++}
++
++#endif
+diff --git a/src/string_view.h b/src/string_view.h
+index 11e3550d..030bb09a 100644
+--- a/src/string_view.h
++++ b/src/string_view.h
+@@ -22,9 +22,9 @@
+ #include <lcf/dbstring.h>
+ #include <fmt/core.h>
+ 
+-// 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 <fmt/ostream.h>
++#  include <fmt/ostream.h>
+ #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<lcf::StringView> : fmt::formatter<fmt::string_view> {
++	auto format(const lcf::StringView& s, format_context& ctx) const -> decltype(ctx.out());
++};
++
++template<>
++struct fmt::formatter<lcf::DBString> : formatter<string_view> {
++	auto format(const lcf::DBString& s, format_context& ctx) const -> decltype(ctx.out());
++};
++#else
+ namespace nonstd { namespace sv_lite {
+ template <typename C, typename T>
+ inline fmt::basic_string_view<C> to_string_view(basic_string_view<C,T> s) {
+-    return fmt::basic_string_view<C>(s.data(), s.size());
++	return fmt::basic_string_view<C>(s.data(), s.size());
+ }
+ } }
+ 
++namespace lcf {
++inline fmt::basic_string_view<char> to_string_view(const lcf::DBString& s) {
++	return to_string_view(StringView(s));
++}
++}
++#endif
++
+ #endif

diff --git a/games-engines/easyrpg-player/files/easyrpg-player-0.8-unbundle-picojson.patch b/games-engines/easyrpg-player/files/easyrpg-player-0.8-unbundle-picojson.patch
new file mode 100644
index 0000000000..d2ce28ad88
--- /dev/null
+++ b/games-engines/easyrpg-player/files/easyrpg-player-0.8-unbundle-picojson.patch
@@ -0,0 +1,18 @@
+Gentoo doesn't support Emscripten in any way shape or form yet.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -758,14 +758,6 @@ if(APPLE)
+ 	target_link_libraries(${PROJECT_NAME} ${MACOSFOUNDATION} ${MACOSAUDIOUNIT} ${MACOSAUDIOTOOLBOX})
+ endif()
+ 
+-if(CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
+-	option(PLAYER_JS_BUILD_SHELL "Build the Player executable as a shell file (.html) instead of a standalone javascript file (.js)" OFF)
+-	set(PLAYER_JS_GAME_URL "games/" CACHE STRING "Game URL/directory where the web player searches for games")
+-	set(PLAYER_JS_OUTPUT_NAME "easyrpg-player" CACHE STRING "Output name of the js, html and wasm files")
+-	set_property(SOURCE src/async_handler.cpp APPEND PROPERTY COMPILE_DEFINITIONS "EM_GAME_URL=\"${PLAYER_JS_GAME_URL}\"")
+-	target_sources(${PROJECT_NAME} PRIVATE src/external/picojson.h)
+-endif()
+-
+ # Endianess check
+ if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.20)
+ 	if (CMAKE_CXX_BYTE_ORDER STREQUAL "BIG_ENDIAN")

diff --git a/games-engines/easyrpg-player/metadata.xml b/games-engines/easyrpg-player/metadata.xml
index e61366a10d..0cc40877ed 100644
--- a/games-engines/easyrpg-player/metadata.xml
+++ b/games-engines/easyrpg-player/metadata.xml
@@ -1,13 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-	<!-- maintainer-needed -->
-	<use>
-		<flag name="fluidsynth">Support FluidSynth as MIDI synth backend</flag>
-		<flag name="wildmidi">Support wildmidi as MIDI synth backend</flag>
-	</use>
-
-	<upstream>
-		<remote-id type="github">EasyRPG/Player</remote-id>
-	</upstream>
+  <maintainer type="person">
+    <email>watermanpaint@posteo.net</email>
+    <name>Lucio Sauer</name>
+  </maintainer>
+  <longdescription>
+    FluidSynth takes precedence over WildMIDI at runtime. If no external
+    MIDI synthesizer backend is enabled, EasyRPG Player falls back to ALSA
+    for native MIDI support.
+    At version 0.8, this will most likely result in no sound.
+  </longdescription>
+  <use>
+    <flag name="fluidsynth">
+      Support FluidSynth as a MIDI synthesizer backend.
+      Support the `--soundfont` command line option for custom soundfonts
+    </flag>
+    <flag name="harfbuzz">
+      Use <pkg>media-libs/harfbuzz</pkg> for Unicode text shaping.
+      Depends on external font support by means of the truetype USE flag
+    </flag>
+    <flag name="wildmidi">Support WildMIDI as a MIDI synthesizer backend</flag>
+  </use>
+  <upstream>
+    <remote-id type="github">EasyRPG/Player</remote-id>
+  </upstream>
 </pkgmetadata>

diff --git a/licenses/Baekmuk b/licenses/Baekmuk
new file mode 100644
index 0000000000..04322ec737
--- /dev/null
+++ b/licenses/Baekmuk
@@ -0,0 +1,11 @@
+Copyright (c) 1986-2002 Kim Jeong-Hwan
+All rights reserved.
+
+Permission to use, copy, modify and distribute this font is
+hereby granted, provided that both the copyright notice and
+this permission notice appear in all copies of the font,
+derivative works or modified versions, and that the following
+acknowledgement appear in supporting documentation:
+    Baekmuk Batang, Baekmuk Dotum, Baekmuk Gulim, and
+    Baekmuk Headline are registered trademarks owned by
+    Kim Jeong-Hwan.

diff --git a/licenses/GPL-2+-with-font-exception b/licenses/GPL-2+-with-font-exception
new file mode 100644
index 0000000000..126453920a
--- /dev/null
+++ b/licenses/GPL-2+-with-font-exception
@@ -0,0 +1,12 @@
+As a special exception, if you create a document which uses this font,
+and embed this font or unaltered portions of this font into the
+document, this font does not by itself cause the resulting document to
+be covered by the GNU General Public License. This exception does not
+however invalidate any other reasons why the document might be covered
+by the GNU General Public License. If you modify this font, you may
+extend this exception to your version of the font, but you are not
+obligated to do so. If you do not wish to do so, delete this exception
+statement from your version.
+
+GNU General Public License, version 2 or any later version.
+See GPL-2+ for the full text of these licenses.
\ No newline at end of file

diff --git a/licenses/TTYP0 b/licenses/TTYP0
new file mode 100644
index 0000000000..6aa9984e19
--- /dev/null
+++ b/licenses/TTYP0
@@ -0,0 +1,29 @@
+THE TTYP0 LICENSE
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this font software and associated files (the "Software"),
+to deal in the Software without restriction, including without
+limitation the rights to use, copy, modify, merge, publish,
+distribute, embed, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+(1) The above copyright notice, this permission notice, and the
+    disclaimer below shall be included in all copies or substantial
+    portions of the Software.
+
+(2) If the design of any glyphs in the fonts that are contained in the
+    Software or generated during the installation process is modified
+    or if additional glyphs are added to the fonts, the fonts
+    must be renamed. The new names may not contain the word "UW",
+    irrespective of capitalisation; the new names may contain the word
+    "ttyp0", irrespective of capitalisation, only if preceded by a
+    foundry name different from "UW".
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file

diff --git a/profiles/package.use.mask b/profiles/package.use.mask
index 4a2b469bb3..32610624a9 100644
--- a/profiles/package.use.mask
+++ b/profiles/package.use.mask
@@ -1,8 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # New entries go on top.
 
+# Lucio Sauer<watermanpaint@posteo.net> (2023-09-01)
+# Segfaults upon termination when run from inside a game folder.
+~games-engines/easyrpg-player-0.8 fluidsynth
+
 # Anna Vyalkova <cyber+gentoo@sysrq.in> (2023-06-17)
 # Broken docs build.
 dev-crystal/crikey doc


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-09-03 12:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-03 12:27 [gentoo-commits] repo/proj/guru:master commit in: games-engines/easyrpg-player/files/, profiles/, games-engines/easyrpg-player/, Haelwenn Monnier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox