From 2020b1da973e81a848858245c8a8fa176c76b298 Mon Sep 17 00:00:00 2001 From: "Seth M. Price" Date: Thu, 21 Nov 2024 16:46:11 -0500 Subject: [PATCH 1/7] net-dialup/minimodem: change default USE; fix test sndfile is a sort-of lowest common denominator, which makes it more appropriate as a default-on USE flag than more desktop-oriented options such as ALSA. Additionally, a test USE flag was added. When disabled, tests are not run. Tests depend on sndfile. Closes: https://bugs.gentoo.org/921846 Signed-off-by: Seth M. Price --- .../{minimodem-0.24-r1.ebuild => minimodem-0.24-r2.ebuild} | 7 +++++-- .../{minimodem-9999.ebuild => minimodem-9999-r1.ebuild} | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) rename net-dialup/minimodem/{minimodem-0.24-r1.ebuild => minimodem-0.24-r2.ebuild} (83%) rename net-dialup/minimodem/{minimodem-9999.ebuild => minimodem-9999-r1.ebuild} (82%) diff --git a/net-dialup/minimodem/minimodem-0.24-r1.ebuild b/net-dialup/minimodem/minimodem-0.24-r2.ebuild similarity index 83% rename from net-dialup/minimodem/minimodem-0.24-r1.ebuild rename to net-dialup/minimodem/minimodem-0.24-r2.ebuild index d8144fe0ab..89d8a78df7 100644 --- a/net-dialup/minimodem/minimodem-0.24-r1.ebuild +++ b/net-dialup/minimodem/minimodem-0.24-r2.ebuild @@ -12,8 +12,11 @@ SRC_URI="http://www.whence.com/minimodem/minimodem-${PV}.tar.gz" LICENSE="GPL-3+" SLOT="0" KEYWORDS="~amd64" -IUSE="+alsa pulseaudio sndfile sndio" -REQUIRED_USE+="|| ( alsa pulseaudio sndfile )" +IUSE="alsa pulseaudio +sndfile sndio test" +REQUIRED_USE+="|| ( alsa pulseaudio sndfile ) + test? ( sndfile )" + +RESTRICT="!test? ( test )" DEPEND="sndfile? ( media-libs/libsndfile ) sci-libs/fftw:3.0 diff --git a/net-dialup/minimodem/minimodem-9999.ebuild b/net-dialup/minimodem/minimodem-9999-r1.ebuild similarity index 82% rename from net-dialup/minimodem/minimodem-9999.ebuild rename to net-dialup/minimodem/minimodem-9999-r1.ebuild index 85cb2a58b4..f74684d95d 100644 --- a/net-dialup/minimodem/minimodem-9999.ebuild +++ b/net-dialup/minimodem/minimodem-9999-r1.ebuild @@ -11,8 +11,11 @@ EGIT_REPO_URI="https://github.com/kamalmostafa/minimodem" LICENSE="GPL-3+" SLOT="0" -IUSE="alsa +pulseaudio sndfile sndio" -REQUIRED_USE+="|| ( alsa pulseaudio sndfile sndio )" +IUSE="alsa pulseaudio +sndfile sndio test" +REQUIRED_USE+="|| ( alsa pulseaudio sndfile sndio ) + test ( sndfile )" + +RESTRICT="!test? ( test )" DEPEND="sndfile? ( media-libs/libsndfile ) sci-libs/fftw:3.0 From d6d8b28d7aa1a334a2bee45429a1672bab116f88 Mon Sep 17 00:00:00 2001 From: "Seth M. Price" Date: Thu, 21 Nov 2024 17:24:15 -0500 Subject: [PATCH 2/7] dev-lang/cc65: add warning about parallel make MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added warning about parallel make jobs potentially causing “random” build failure. Build revision not bumped due to trivial change. (I think this is what I’m supposed to do here.) Bug: https://bugs.gentoo.org/912925 Closes: https://github.com/cc65/cc65/issues/2543 Signed-off-by: Seth M. Price --- dev-lang/cc65/cc65-2.19-r3.ebuild | 5 +++++ dev-lang/cc65/cc65-9999-r1.ebuild | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/dev-lang/cc65/cc65-2.19-r3.ebuild b/dev-lang/cc65/cc65-2.19-r3.ebuild index 101856cdd6..c365d5163e 100644 --- a/dev-lang/cc65/cc65-2.19-r3.ebuild +++ b/dev-lang/cc65/cc65-2.19-r3.ebuild @@ -14,6 +14,11 @@ SLOT="0" KEYWORDS="~amd64" src_compile() { + ewarn "According to an upstream maintainer, cc65 has a tendency to" + ewarn "\"fail randomly\" when using \`make -j' to build in parallel." + ewarn "If compiling this package fails, and you have parallel jobs" + ewarn "enabled, try again with \`MAKEOPTS+=-j1' to disable them." + emake CC="$(tc-getCC)" AR="$(tc-getAR)" PREFIX="${EPREFIX}/usr" } diff --git a/dev-lang/cc65/cc65-9999-r1.ebuild b/dev-lang/cc65/cc65-9999-r1.ebuild index dc3fbf25fd..32270f99b6 100644 --- a/dev-lang/cc65/cc65-9999-r1.ebuild +++ b/dev-lang/cc65/cc65-9999-r1.ebuild @@ -13,6 +13,11 @@ LICENSE="ZLIB" SLOT="0" src_compile() { + ewarn "According to an upstream maintainer, cc65 has a tendency to" + ewarn "\"fail randomly\" when using \`make -j' to build in parallel." + ewarn "If compiling this package fails, and you have parallel jobs" + ewarn "enabled, try again with \`MAKEOPTS+=-j1' to disable them." + emake CC="$(tc-getCC)" AR="$(tc-getAR)" PREFIX="${EPREFIX}/usr" } From 6c671973623c2b2eeda8b10501e2fedc0dbbbfa2 Mon Sep 17 00:00:00 2001 From: Daichi Yamamoto Date: Fri, 22 Nov 2024 07:35:42 +0900 Subject: [PATCH 3/7] dev-build/just: update SRC_URI Signed-off-by: Daichi Yamamoto --- dev-build/just/just-1.37.0.ebuild | 1 + 1 file changed, 1 insertion(+) diff --git a/dev-build/just/just-1.37.0.ebuild b/dev-build/just/just-1.37.0.ebuild index fc40b2584e..af35453aea 100644 --- a/dev-build/just/just-1.37.0.ebuild +++ b/dev-build/just/just-1.37.0.ebuild @@ -159,6 +159,7 @@ CRATES=" winsafe@0.0.19 yansi@1.0.1 zerocopy-derive@0.7.35 + zerocopy@0.7.35 ${PN}@${PV} " From 463dedc3de0338ca311fec1814138ffda7420ab0 Mon Sep 17 00:00:00 2001 From: Alexander Golubev Date: Fri, 22 Nov 2024 08:45:01 +0300 Subject: [PATCH 4/7] sys-fs/gfs2-utils: avoid adding -D_FORTIFY_SOURCE=2 to CPPFLAGS Closes: https://bugs.gentoo.org/944282 Signed-off-by: Alexander Golubev --- .../{gfs2-utils-3.5.1.ebuild => gfs2-utils-3.5.1-r1.ebuild} | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) rename sys-fs/gfs2-utils/{gfs2-utils-3.5.1.ebuild => gfs2-utils-3.5.1-r1.ebuild} (89%) diff --git a/sys-fs/gfs2-utils/gfs2-utils-3.5.1.ebuild b/sys-fs/gfs2-utils/gfs2-utils-3.5.1-r1.ebuild similarity index 89% rename from sys-fs/gfs2-utils/gfs2-utils-3.5.1.ebuild rename to sys-fs/gfs2-utils/gfs2-utils-3.5.1-r1.ebuild index bd73418539..2259f119bc 100644 --- a/sys-fs/gfs2-utils/gfs2-utils-3.5.1.ebuild +++ b/sys-fs/gfs2-utils/gfs2-utils-3.5.1-r1.ebuild @@ -40,7 +40,9 @@ src_prepare() { eapply "${FILESDIR}"/gfs2_withdraw_helper.patch eapply "${FILESDIR}"/python3.patch - sed -i '/^CFLAGS=/s!\$\(GDB_FLAGS\|OPT_CFLAGS\)\s*!!g' configure.ac || die + sed -e '/^CFLAGS=/s!\s*\$\(GDB_FLAGS\|OPT_CFLAGS\)!!g' \ + -e '/^CPPFLAGS=/s!\s*\$OPT_CPPFLAGS!!' \ + -i configure.ac || die default From 59fafbc6c4b8c9931bc1a649714ecfbb611d0f5b Mon Sep 17 00:00:00 2001 From: Joe Kappus Date: Fri, 22 Nov 2024 02:14:09 -0500 Subject: [PATCH 5/7] dev-build/just: 1.37.0 fix SRC_URI cargo-ebuild > pycargoebuild Last bump broke due to pycargoebuild not generating correct crates list. Despite warnings not to use, cargo-ebuild works perfectly. Signed-off-by: Joe Kappus --- dev-build/just/just-1.37.0.ebuild | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/dev-build/just/just-1.37.0.ebuild b/dev-build/just/just-1.37.0.ebuild index af35453aea..3b54bdeab3 100644 --- a/dev-build/just/just-1.37.0.ebuild +++ b/dev-build/just/just-1.37.0.ebuild @@ -9,10 +9,10 @@ CRATES=" android_system_properties@0.1.5 ansi_term@0.12.1 anstream@0.6.18 + anstyle@1.0.10 anstyle-parse@0.2.6 anstyle-query@1.1.2 anstyle-wincon@3.0.6 - anstyle@1.0.10 arrayref@0.3.9 arrayvec@0.7.6 autocfg@1.4.0 @@ -45,8 +45,8 @@ CRATES=" derive-where@1.2.7 diff@0.1.13 digest@0.10.7 - dirs-sys@0.4.1 dirs@5.0.1 + dirs-sys@0.4.1 dotenvy@0.15.7 edit-distance@2.1.3 either@1.13.0 @@ -59,8 +59,8 @@ CRATES=" heck@0.5.0 hermit-abi@0.3.9 home@0.5.9 - iana-time-zone-haiku@0.1.2 iana-time-zone@0.1.61 + iana-time-zone-haiku@0.1.2 is_terminal_polyfill@1.70.1 itoa@1.0.13 js-sys@0.3.72 @@ -80,17 +80,17 @@ CRATES=" ppv-lite86@0.2.20 pretty_assertions@1.4.1 proc-macro2@1.0.89 - pulldown-cmark-to-cmark@10.0.4 pulldown-cmark@0.9.6 + pulldown-cmark-to-cmark@10.0.4 quote@1.0.37 rand@0.8.5 rand_chacha@0.3.1 rand_core@0.6.4 rayon-core@1.12.1 redox_users@0.4.6 + regex@1.11.1 regex-automata@0.4.9 regex-syntax@0.8.5 - regex@1.11.1 roff@0.2.2 rustix@0.38.41 rustversion@1.0.18 @@ -103,8 +103,8 @@ CRATES=" shellexpand@3.1.0 shlex@1.3.0 similar@2.6.0 - snafu-derive@0.8.5 snafu@0.8.5 + snafu-derive@0.8.5 strsim@0.11.1 strum@0.26.3 strum_macros@0.26.4 @@ -113,8 +113,8 @@ CRATES=" tempfile@3.14.0 temptree@0.2.0 terminal_size@0.4.0 - thiserror-impl@1.0.69 thiserror@1.0.69 + thiserror-impl@1.0.69 typed-arena@2.0.2 typenum@1.17.0 unicase@2.8.0 @@ -126,15 +126,15 @@ CRATES=" uuid@1.11.0 version_check@0.9.5 wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.95 - wasm-bindgen-macro-support@0.2.95 - wasm-bindgen-macro@0.2.95 - wasm-bindgen-shared@0.2.95 wasm-bindgen@0.2.95 + wasm-bindgen-backend@0.2.95 + wasm-bindgen-macro@0.2.95 + wasm-bindgen-macro-support@0.2.95 + wasm-bindgen-shared@0.2.95 which@7.0.0 + winapi@0.3.9 winapi-i686-pc-windows-gnu@0.4.0 winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 windows-core@0.52.0 windows-sys@0.48.0 windows-sys@0.52.0 @@ -158,6 +158,7 @@ CRATES=" windows_x86_64_msvc@0.52.6 winsafe@0.0.19 yansi@1.0.1 + zerocopy@0.7.35 zerocopy-derive@0.7.35 zerocopy@0.7.35 ${PN}@${PV} From 74719d2da1ca89e1e7036e27a1cbfbd54eeb1788 Mon Sep 17 00:00:00 2001 From: Lucio Sauer Date: Fri, 22 Nov 2024 09:26:39 +0100 Subject: [PATCH 6/7] games-engines/easyrpg-player: treeclean Closes: https://bugs.gentoo.org/932475 (pkgremoved) Closes: https://bugs.gentoo.org/927882 (pkgremoved) Signed-off-by: Lucio Sauer --- games-engines/easyrpg-player/Manifest | 2 - .../easyrpg-player-0.7.0.ebuild | 73 ------ .../easyrpg-player-0.8-r1.ebuild | 193 ---------------- .../easyrpg-player/easyrpg-player-0.8.ebuild | 192 ---------------- ...-player-0.8-backport-unbundle-dr_wav.patch | 43 ---- ...pg-player-0.8-backport-unbundle-rang.patch | 23 -- ...player-0.8-backport-update-for-fmt10.patch | 208 ------------------ ...8-backport-use-after-free-fluidsynth.patch | 180 --------------- ...easyrpg-player-0.8-unbundle-picojson.patch | 18 -- games-engines/easyrpg-player/metadata.xml | 28 --- profiles/package.mask | 6 - 11 files changed, 966 deletions(-) delete mode 100644 games-engines/easyrpg-player/Manifest delete mode 100644 games-engines/easyrpg-player/easyrpg-player-0.7.0.ebuild delete mode 100644 games-engines/easyrpg-player/easyrpg-player-0.8-r1.ebuild delete mode 100644 games-engines/easyrpg-player/easyrpg-player-0.8.ebuild delete mode 100644 games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-unbundle-dr_wav.patch delete mode 100644 games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-unbundle-rang.patch delete mode 100644 games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-update-for-fmt10.patch delete mode 100644 games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-use-after-free-fluidsynth.patch delete mode 100644 games-engines/easyrpg-player/files/easyrpg-player-0.8-unbundle-picojson.patch delete mode 100644 games-engines/easyrpg-player/metadata.xml diff --git a/games-engines/easyrpg-player/Manifest b/games-engines/easyrpg-player/Manifest deleted file mode 100644 index f01076a658..0000000000 --- a/games-engines/easyrpg-player/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -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.7.0.ebuild b/games-engines/easyrpg-player/easyrpg-player-0.7.0.ebuild deleted file mode 100644 index 21d7d73ee7..0000000000 --- a/games-engines/easyrpg-player/easyrpg-player-0.7.0.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2023 Haelwenn (lanodan) Monnier -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake xdg - -DESCRIPTION="RPG Maker 2000/2003 and EasyRPG games interpreter" -HOMEPAGE="https://easyrpg.org/player/" -SRC_URI="https://github.com/EasyRPG/Player/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/Player-${PV}/" -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" -IUSE="doc fluidsynth wildmidi" - -DEPEND=" - >=dev-games/liblcf-${PV} - >=media-libs/libsdl2-2.0.5 - media-libs/libpng:= - x11-libs/pixman - dev-libs/libfmt:= - media-libs/freetype:= - media-libs/harfbuzz:= - media-libs/alsa-lib - - media-libs/speexdsp - - media-sound/mpg123 - media-libs/libsndfile - media-libs/libvorbis - media-libs/opus - wildmidi? ( media-sound/wildmidi ) - fluidsynth? ( media-sound/fluidsynth ) - media-libs/libxmp - - dev-ruby/asciidoctor - - doc? ( app-text/doxygen ) -" -RDEPEND="${DEPEND}" - -src_configure() { - local mycmakeargs=( - -DPLAYER_WITH_FLUIDLITE=OFF - # Avoid vendoring, uses libsndfile instead - -DPLAYER_ENABLE_DRWAV=OFF - - # Use the first default choice - -DPLAYER_WITH_SPEEXDSP=ON - -DPLAYER_WITH_SAMPLERATE=OFF - - -DPLAYER_WITH_MPG123=ON - -DPLAYER_WITH_LIBSNDFILE=ON - -DPLAYER_WITH_OGGVORBIS=ON - -DPLAYER_WITH_OPUS=ON - -DPLAYER_WITH_WILDMIDI=$(usex wildmidi) - -DPLAYER_WITH_FLUIDSYNTH=$(usex fluidsynth) - # Serves as fallback when FluidSynth isn't found - -DPLAYER_WITH_FLUIDLITE=OFF - - # Avoid vendoring, uses wildmidi or fluidsynth instead - -DPLAYER_ENABLE_FMMIDI=OFF - - -DPLAYER_WITH_XMP=ON - ) - - cmake_src_configure -} - -src_test() { - cmake_build check -} diff --git a/games-engines/easyrpg-player/easyrpg-player-0.8-r1.ebuild b/games-engines/easyrpg-player/easyrpg-player-0.8-r1.ebuild deleted file mode 100644 index c47c12f854..0000000000 --- a/games-engines/easyrpg-player/easyrpg-player-0.8-r1.ebuild +++ /dev/null @@ -1,193 +0,0 @@ -# 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}-backport-use-after-free-fluidsynth.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-text/doxygen - media-gfx/graphviz[svg] - ) -" - -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/easyrpg-player-0.8.ebuild b/games-engines/easyrpg-player/easyrpg-player-0.8.ebuild deleted file mode 100644 index b8a90d388a..0000000000 --- a/games-engines/easyrpg-player/easyrpg-player-0.8.ebuild +++ /dev/null @@ -1,192 +0,0 @@ -# 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-text/doxygen - media-gfx/graphviz[svg] - ) -" - -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 deleted file mode 100644 index 869c63b7df..0000000000 --- a/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-unbundle-dr_wav.patch +++ /dev/null @@ -1,43 +0,0 @@ -commit d2e92225ad0af2d52e8884b64ba2bac1b6006377 -Author: Ghabry -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() -+# include -+#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 --#include -+// Use system dr_wav header if available -+#if __has_include() -+# include -+#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 deleted file mode 100644 index 4ca9b286cf..0000000000 --- a/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-unbundle-rang.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit 63029163d86224aa4f9da798c760b1836d73f62b -Author: Ghabry -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 - #endif --#include "external/rang.hpp" -+ -+// Use system rang header if available -+#if __has_include() -+# include -+#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 deleted file mode 100644 index a644c14106..0000000000 --- a/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-update-for-fmt10.patch +++ /dev/null @@ -1,208 +0,0 @@ -commit a4672d2e30db4e4918c8f3580236faed3c9d04c1 -Author: Ghabry -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(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 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 - #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 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(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 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 . -+ */ -+ -+#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 11e3550d..030bb09a 100644 ---- a/src/string_view.h -+++ b/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 diff --git a/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-use-after-free-fluidsynth.patch b/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-use-after-free-fluidsynth.patch deleted file mode 100644 index 693ee2bd75..0000000000 --- a/games-engines/easyrpg-player/files/easyrpg-player-0.8-backport-use-after-free-fluidsynth.patch +++ /dev/null @@ -1,180 +0,0 @@ -The following commit was fixed and backported from upstream. The fix adds -a header to audio_generic_midiout.h to provide the missing definition -of AudioDecoderMidi at compile time. -Author: Lucio Sauer - -https://github.com/EasyRPG/Player/issues/3079 -commit 7269d325035f547907ec352bff5d39bc611abc88 -Author: Ghabry -Date: Fri Sep 22 20:45:19 2023 +0200 - - GenericAudio: Make static variables instance variables - - This way they are destroyed when the DisplayUi is destroyed instead of when the process terminates. - - Fixes a use-after-free in the Fluidsynth Decoder. ---- a/src/audio_generic.cpp -+++ b/src/audio_generic.cpp -@@ -20,33 +20,21 @@ - #include - #include - #include --#include "audio_decoder_midi.h" - #include "audio_generic.h" --#include "audio_generic_midiout.h" --#include "filefinder.h" - #include "output.h" - --GenericAudio::BgmChannel GenericAudio::BGM_Channels[nr_of_bgm_channels]; --GenericAudio::SeChannel GenericAudio::SE_Channels[nr_of_se_channels]; --bool GenericAudio::BGM_PlayedOnceIndicator; -- --std::vector GenericAudio::sample_buffer = {}; --std::vector GenericAudio::scrap_buffer = {}; --unsigned GenericAudio::scrap_buffer_size = 0; --std::vector GenericAudio::mixer_buffer = {}; -- --std::unique_ptr GenericAudio::midi_thread; -- - GenericAudio::GenericAudio(const Game_ConfigAudio& cfg) : AudioInterface(cfg) { - int i = 0; - for (auto& BGM_Channel : BGM_Channels) { - BGM_Channel.id = i++; - BGM_Channel.decoder.reset(); -+ BGM_Channel.instance = this; - } - i = 0; - for (auto& SE_Channel : SE_Channels) { - SE_Channel.id = i++; - SE_Channel.decoder.reset(); -+ SE_Channel.instance = this; - } - BGM_PlayedOnceIndicator = false; - midi_thread.reset(); -@@ -492,8 +480,8 @@ void GenericAudio::BgmChannel::Stop() { - stopped = true; - if (midi_out_used) { - midi_out_used = false; -- midi_thread->GetMidiOut().Reset(); -- midi_thread->GetMidiOut().Pause(); -+ instance->midi_thread->GetMidiOut().Reset(); -+ instance->midi_thread->GetMidiOut().Pause(); - } else if (decoder) { - decoder.reset(); - } -@@ -503,16 +491,16 @@ void GenericAudio::BgmChannel::SetPaused(bool newPaused) { - paused = newPaused; - if (midi_out_used) { - if (newPaused) { -- midi_thread->GetMidiOut().Pause(); -+ instance->midi_thread->GetMidiOut().Pause(); - } else { -- midi_thread->GetMidiOut().Resume(); -+ instance->midi_thread->GetMidiOut().Resume(); - } - } - } - - int GenericAudio::BgmChannel::GetTicks() const { - if (midi_out_used) { -- return midi_thread->GetMidiOut().GetTicks(); -+ return instance->midi_thread->GetMidiOut().GetTicks(); - } else if (decoder) { - return decoder->GetTicks(); - } -@@ -521,7 +509,7 @@ int GenericAudio::BgmChannel::GetTicks() const { - - void GenericAudio::BgmChannel::SetFade(int fade) { - if (midi_out_used) { -- midi_thread->GetMidiOut().SetFade(0, std::chrono::milliseconds(fade)); -+ instance->midi_thread->GetMidiOut().SetFade(0, std::chrono::milliseconds(fade)); - } else if (decoder) { - decoder->SetFade(0, std::chrono::milliseconds(fade)); - } -@@ -529,7 +517,7 @@ void GenericAudio::BgmChannel::SetFade(int fade) { - - void GenericAudio::BgmChannel::SetVolume(int volume) { - if (midi_out_used) { -- midi_thread->GetMidiOut().SetVolume(volume); -+ instance->midi_thread->GetMidiOut().SetVolume(volume); - } else if (decoder) { - decoder->SetVolume(volume); - } -@@ -537,7 +525,7 @@ void GenericAudio::BgmChannel::SetVolume(int volume) { - - void GenericAudio::BgmChannel::SetPitch(int pitch) { - if (midi_out_used) { -- midi_thread->GetMidiOut().SetPitch(pitch); -+ instance->midi_thread->GetMidiOut().SetPitch(pitch); - } else if (decoder) { - decoder->SetPitch(pitch); - } -old mode 100644 -new mode 100755 ---- a/src/audio_generic.h -+++ b/src/audio_generic.h -@@ -21,10 +21,9 @@ - #include "audio.h" - #include "audio_secache.h" - #include "audio_decoder_base.h" -+#include "audio_generic_midiout.h" - #include - --class GenericAudioMidiOut; -- - /** - * A software implementation for handling EasyRPG Audio utilizing the - * AudioDecoder for BGM and AudioSeCache for fast SE playback. -@@ -73,6 +72,7 @@ private: - struct BgmChannel { - int id; - std::unique_ptr decoder; -+ GenericAudio* instance = nullptr; - bool paused; - bool stopped; - bool midi_out_used = false; -@@ -87,6 +87,7 @@ private: - struct SeChannel { - int id; - std::unique_ptr decoder; -+ GenericAudio* instance = nullptr; - bool paused; - bool stopped; - }; -@@ -103,17 +104,17 @@ private: - static constexpr unsigned nr_of_se_channels = 31; - static constexpr unsigned nr_of_bgm_channels = 2; - -- static BgmChannel BGM_Channels[nr_of_bgm_channels]; -- static SeChannel SE_Channels[nr_of_se_channels]; -- static bool BGM_PlayedOnceIndicator; -- static bool Muted; -+ BgmChannel BGM_Channels[nr_of_bgm_channels]; -+ SeChannel SE_Channels[nr_of_se_channels]; -+ mutable bool BGM_PlayedOnceIndicator; -+ bool Muted; - -- static std::vector sample_buffer; -- static std::vector scrap_buffer; -- static unsigned scrap_buffer_size; -- static std::vector mixer_buffer; -+ std::vector sample_buffer = {}; -+ std::vector scrap_buffer = {}; -+ unsigned scrap_buffer_size = 0; -+ std::vector mixer_buffer = {}; - -- static std::unique_ptr midi_thread; -+ std::unique_ptr midi_thread; - }; - - #endif ---- a/src/audio_generic_midiout.h -+++ b/src/audio_generic_midiout.h -@@ -19,6 +19,7 @@ - #define EP_AUDIO_GENERIC_MIDITHREAD_H - - #include -+#include "audio_decoder_midi.h" - #include "system.h" - - class AudioDecoderMidi; 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 deleted file mode 100644 index d2ce28ad88..0000000000 --- a/games-engines/easyrpg-player/files/easyrpg-player-0.8-unbundle-picojson.patch +++ /dev/null @@ -1,18 +0,0 @@ -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 deleted file mode 100644 index 0cc40877ed..0000000000 --- a/games-engines/easyrpg-player/metadata.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - watermanpaint@posteo.net - Lucio Sauer - - - 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. - - - - Support FluidSynth as a MIDI synthesizer backend. - Support the `--soundfont` command line option for custom soundfonts - - - Use media-libs/harfbuzz for Unicode text shaping. - Depends on external font support by means of the truetype USE flag - - Support WildMIDI as a MIDI synthesizer backend - - - EasyRPG/Player - - diff --git a/profiles/package.mask b/profiles/package.mask index e30b523b12..dcef5b109c 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -104,12 +104,6 @@ dev-python/tree-sitter-languages # Removal on 2024-11-17 dev-games/liblcf -# Lucio Sauer (2024-10-17) -# Doesn't build since 2024-03 and package maintainer lost interest in it. -# Open bugs 932475, 927882 -# Removal on 2024-11-17 -games-engines/easyrpg-player - # Takuya Wakazono (2024-10-02) # Depends on Date: Fri, 22 Nov 2024 09:28:36 +0100 Subject: [PATCH 7/7] dev-games/liblcf: treeclean Closes: https://bugs.gentoo.org/937252 (pkgremoved) Closes: https://bugs.gentoo.org/937251 (pkgremoved) Signed-off-by: Lucio Sauer --- dev-games/liblcf/Manifest | 2 -- dev-games/liblcf/liblcf-0.7.0.ebuild | 35 ------------------ dev-games/liblcf/liblcf-0.8.ebuild | 54 ---------------------------- dev-games/liblcf/metadata.xml | 17 --------- profiles/package.mask | 6 ---- 5 files changed, 114 deletions(-) delete mode 100644 dev-games/liblcf/Manifest delete mode 100644 dev-games/liblcf/liblcf-0.7.0.ebuild delete mode 100644 dev-games/liblcf/liblcf-0.8.ebuild delete mode 100644 dev-games/liblcf/metadata.xml diff --git a/dev-games/liblcf/Manifest b/dev-games/liblcf/Manifest deleted file mode 100644 index d4355188d5..0000000000 --- a/dev-games/liblcf/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST liblcf-0.7.0.tar.gz 292623 BLAKE2B 7cf2f21244796b85745ac30bcc3ec7118dd10d5a7054fdd423bbb71ab9b0a4c85ccc644bd57c251374378fe525e1302367456ee348828efb8d97d825727f2caa SHA512 0abf77a7e4615f21b643b0e35d41450dc0dbd37d337fbbf619a19f73da3ee18e9d216f151f52a121be2d91bfee47c1a153f4c64df630d5c587cf4b6071e5b77a -DIST liblcf-0.8.tar.xz 473996 BLAKE2B f48cbef89bdde673d215e12336ea06785de9c0d4c06fc625581bedf7b922d8638d4ebad4c17eb34a203815502d86eb38413f9e1fd5884d533c0a6dbedec35d78 SHA512 d92d1a97e7518a7880826126623108d3b2b60aeebf039d7c1c533ea36c270ff643777b67522a171c857457d10ce295562d4838a681f70f524e4619913d816d4d diff --git a/dev-games/liblcf/liblcf-0.7.0.ebuild b/dev-games/liblcf/liblcf-0.7.0.ebuild deleted file mode 100644 index 0b181cbf35..0000000000 --- a/dev-games/liblcf/liblcf-0.7.0.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2023 Haelwenn (lanodan) Monnier -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake xdg - -DESCRIPTION="Library to handle RPG Maker 2000/2003 and EasyRPG projects" -HOMEPAGE="https://github.com/EasyRPG/liblcf" -SRC_URI="https://github.com/EasyRPG/liblcf/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -IUSE="doc" - -RDEPEND=" - dev-libs/expat - dev-libs/icu:= - doc? ( app-text/doxygen ) -" -DEPEND="${RDEPEND}" - -src_configure() { - local mycmakeargs=( - -DBUILD_SHARED_LIBS=True - -DLIBLCF_UPDATE_MIMEDB=False - ) - - cmake_src_configure -} - -src_test() { - cmake_build check -} diff --git a/dev-games/liblcf/liblcf-0.8.ebuild b/dev-games/liblcf/liblcf-0.8.ebuild deleted file mode 100644 index e61fee2861..0000000000 --- a/dev-games/liblcf/liblcf-0.8.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake xdg - -DESCRIPTION="Library to handle RPG Maker 2000/2003 and EasyRPG projects" -HOMEPAGE="https://easyrpg.org/ - https://github.com/EasyRPG/liblcf" -SRC_URI="https://easyrpg.org/downloads/player/${PV}/${P}.tar.xz" -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~ppc64" - -IUSE="doc tools" - -RDEPEND=" - dev-libs/expat - dev-libs/icu:= -" -DEPEND="${RDEPEND}" -BDEPEND="doc? ( - app-text/doxygen - media-gfx/graphviz[svg] - ) -" - -src_configure() { - local mycmakeargs=( - -DBUILD_SHARED_LIBS=True - -DLIBLCF_UPDATE_MIMEDB=False - -DLIBLCF_ENABLE_TOOLS=$(usex tools) - ) - cmake_src_configure -} - -src_compile() { - cmake_src_compile - # Why do we have to build this explicitly :/ - use doc && cmake_build liblcf_doc -} - -src_test() { - cmake_build check -} - -src_install() { - cmake_src_install - if use doc; then - docinto /usr/share/doc/${PF}/html - dodoc -r doc/* - fi -} diff --git a/dev-games/liblcf/metadata.xml b/dev-games/liblcf/metadata.xml deleted file mode 100644 index 82b36b4bc3..0000000000 --- a/dev-games/liblcf/metadata.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - watermanpaint@posteo.net - Lucio Sauer - - - EasyRPG/liblcf - - - - Build and install additional command line tools, including lcf2xml - and lcfstrings. - - - diff --git a/profiles/package.mask b/profiles/package.mask index dcef5b109c..f287922a59 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -98,12 +98,6 @@ app-editors/kitscenarist # Removal on 2025-01-18. dev-python/tree-sitter-languages -# Lucio Sauer (2024-10-17) -# Doesn't build since 2024-08 and its sole consumer is up for removal. -# Open bugs 937251, 937252 -# Removal on 2024-11-17 -dev-games/liblcf - # Takuya Wakazono (2024-10-02) # Depends on