commit:     ab00e6f2f32285976c6e33aca91e0d8e224bfdae
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 21 13:54:06 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jan 21 15:08:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab00e6f2

games-arcade/performous: add 1.2.0

While this has a new meson.build, not migrating to meson given
support was short lived and master is cmake-only again.

IUSE=tools dropped given upstream has removed them from source.

Closes: https://bugs.gentoo.org/784287
Closes: https://bugs.gentoo.org/834371
Closes: https://bugs.gentoo.org/867949
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-arcade/performous/Manifest                   |   2 +
 .../files/performous-1.2.0-ffmpeg5.patch           |  25 +++++
 games-arcade/performous/performous-1.2.0.ebuild    | 102 +++++++++++++++++++++
 3 files changed, 129 insertions(+)

diff --git a/games-arcade/performous/Manifest b/games-arcade/performous/Manifest
index 2fef1e5036b7..8c04ee19ff94 100644
--- a/games-arcade/performous/Manifest
+++ b/games-arcade/performous/Manifest
@@ -1,4 +1,6 @@
 DIST performous-1.1.tar.gz 3965473 BLAKE2B 
021660aa785d0535396a75e8c4cc5cc368ba5745b67fae527e7901ef6601d95887206aae7f74b52bf6b3da3e827bfbd3094e8a393917b9936af266b54766b0b2
 SHA512 
6659aa03960e68d7af65b072e179e42b122d2a39d25229c6daf765146379a115a52e51c1dc2bc69081ea17fe7a22f1d7007b7cf9e09bc32d134c3ad8e3444dd1
+DIST performous-1.2.0.tar.gz 7240476 BLAKE2B 
c5c27fc02fe0a17261ad6549492ccc88c7ad213df08f6ec68d86bad9116a2f83eae8ab4b85fc19f63d260b28864fad84c19d55befa81dde7aabedb1c50fef89f
 SHA512 
a8fbbe3768f46915eacb65adcc1592295e4c6a84775ca55def01ebcff2218b1860daee0d4d5fcccc407d8df71da1ac25da667b47dd4a17239041a3d5fbfa1c56
+DIST performous-ced-9ca1351fe0b1e85992a407b0fc54a63e9b3adc6e.tar.gz 221300 
BLAKE2B 
1aa7027c8543725c812e6a066a2a707fa19a79ae2f36c49bc8eaf0d3d6549ae11b365a76b47c1fc851a3c0d1bbafc3ff739fa32c1599a1f1853033de78b27d0c
 SHA512 
6721ae5936a58b8298d175f3875675bfb8249208642eaf2766dc6a62c7db96454d4f95d8c39de0ca862aa3edc741de535af69242f0d2d0b8f7527408ab673089
 DIST ultrastar-songs-jc-1.zip 242698201 BLAKE2B 
39c37160c1ce305252c7b94910aae4ed930d6762716b985f35d64b502bcb8c0310ff830384a652bb1b8a72dea5dd08eebbfd89ae047861bd88e2fc983a863d84
 SHA512 
2f1b8416990c39617269cd6bb7271abdd4ebae65a9bac3dbb3f37cca26876bb7c79460a37597943a10a2d8bfcb5d2d9e2bf24084fe517a418e69f5c6111f6aea
 DIST ultrastar-songs-libre-3.zip 5289866 BLAKE2B 
2c3fc640ad808b12987e9b50510df644ab8dd1ae41a4b9e5056950c7aa1823678a4b568a60a260b93a4bdf06f199fac1b99bd22e4e39301bf34f337c08d68b69
 SHA512 
820e3637a7b778c92ed1a8b925802134fa2146879b3e03e88cd412de5414635c90fe256dfaf984cfa3e8b07b7da8531dc3061b7c4e1bb4422127b469b2345e66
 DIST ultrastar-songs-restricted-3.zip 10242651 BLAKE2B 
de923f72bdd3081f2870457fd734ae2f8c11a84a74344af165aa5c6cf7b812c98fd53b3ab18ac9ac51f488fbf3fe274289205724c9f8547a31245536bea3c6b1
 SHA512 
70b987fec3705d6610625c1f30a7ff683a51bb6b7ee3174609c80dc31c1bccdb23dcb2c6ae8154e1b1d9ef115b914e27e73925878a3c5460b997fdde813456b8

diff --git a/games-arcade/performous/files/performous-1.2.0-ffmpeg5.patch 
b/games-arcade/performous/files/performous-1.2.0-ffmpeg5.patch
new file mode 100644
index 000000000000..63f573d53ffe
--- /dev/null
+++ b/games-arcade/performous/files/performous-1.2.0-ffmpeg5.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/834371
+https://github.com/performous/performous/commit/c3c0d2b7172
+From: Sébastien Gonzalve <[email protected]>
+Date: Tue, 3 May 2022 20:26:25 +0200
+Subject: [PATCH] Fix ffmpeg compilation on FC36
+
+The new version stats:
+
+2021-04-27 - 46dac8cf3d - lavf 59.0.100 - avformat.h
+  av_find_best_stream now uses a const AVCodec ** parameter
+  for the returned decoder.
+
+So performous needs a patch to add const when needed.
+--- a/game/ffmpeg.cc
++++ b/game/ffmpeg.cc
+@@ -251,6 +251,9 @@ FFmpeg::FFmpeg(fs::path const& _filename, int mediaType) : 
m_filename(_filename)
+       if (err < 0) throw Error(*this, err);
+       m_formatContext->flags |= AVFMT_FLAG_GENPTS;
+       // Find a track and open the codec
++#if (LIBAVFORMAT_VERSION_INT) >= (AV_VERSION_INT(59, 0, 100))
++      const
++#endif
+       AVCodec* codec = nullptr;
+       m_streamId = av_find_best_stream(m_formatContext.get(), 
static_cast<AVMediaType>(mediaType), -1, -1, &codec, 0);
+       if (m_streamId < 0) throw Error(*this, m_streamId);

diff --git a/games-arcade/performous/performous-1.2.0.ebuild 
b/games-arcade/performous/performous-1.2.0.ebuild
new file mode 100644
index 000000000000..67c54ea34069
--- /dev/null
+++ b/games-arcade/performous/performous-1.2.0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# CED is only used in 1.2.0 and can be dropped on bump, no LICENSE
+# changes needed given Apache-2.0 is also used by installed fonts
+HASH_CED=9ca1351fe0b1e85992a407b0fc54a63e9b3adc6e
+
+DESCRIPTION="SingStar GPL clone"
+HOMEPAGE="https://performous.org/";
+SRC_URI="
+       https://github.com/performous/performous/archive/refs/tags/${PV}.tar.gz
+               -> ${P}.tar.gz
+       https://github.com/performous/compact_enc_det/archive/${HASH_CED}.tar.gz
+               -> ${PN}-ced-${HASH_CED}.tar.gz
+       songs? (
+               mirror://sourceforge/performous/ultrastar-songs-jc-1.zip
+               mirror://sourceforge/performous/ultrastar-songs-libre-3.zip
+               mirror://sourceforge/performous/ultrastar-songs-restricted-3.zip
+               mirror://sourceforge/performous/ultrastar-songs-shearer-1.zip
+       )"
+
+LICENSE="
+       GPL-2
+       Apache-2.0 OFL-1.1
+       songs? ( CC-BY-NC-SA-2.5 CC-BY-NC-ND-2.5 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="midi songs webcam"
+
+RDEPEND="
+       dev-cpp/libxmlpp:5.0
+       dev-libs/boost:=[nls]
+       dev-libs/glib:2
+       dev-libs/icu:=
+       gnome-base/librsvg:2
+       media-libs/aubio:=[fftw]
+       media-libs/fontconfig:1.0
+       media-libs/glm
+       media-libs/libepoxy
+       media-libs/libjpeg-turbo:=
+       media-libs/libpng:=
+       media-libs/libsdl2[joystick,opengl,video]
+       media-libs/portaudio
+       media-video/ffmpeg:=
+       virtual/libintl
+       x11-libs/cairo
+       x11-libs/pango
+       midi? ( media-libs/portmidi )
+       webcam? ( media-libs/opencv:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       sys-apps/help2man
+       sys-devel/gettext
+       songs? ( app-arch/unzip )"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-ffmpeg5.patch
+)
+
+src_prepare() {
+       cmake_src_prepare
+
+       if [[ -v LINGUAS ]]; then
+               local po
+               for po in lang/*.po; do
+                       : "${po#*/}"
+                       has "${_%.*}" ${LINGUAS} || rm "${po}" || die
+               done
+       fi
+
+       # glibmm is only needed if libxmlpp:2.6, but :5.0 is used if available
+       sed -i '/Glibmm/d' cmake/Modules/FindLibXML++.cmake || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DENABLE_MIDI=$(usex midi)
+               -DENABLE_WEBCAM=$(usex webcam)
+               
-DFETCHCONTENT_SOURCE_DIR_CED-SOURCES="${WORKDIR}"/compact_enc_det-${HASH_CED}
+               -DSHARE_INSTALL="${EPREFIX}"/usr/share/${PN}
+
+               # webserver needs unpackaged cpprestsdk which is not 
recommended for
+               # use by its upstream (dead), may consider adding only if 
requested
+               -DENABLE_WEBSERVER=no
+       )
+
+       cmake_src_configure
+}
+
+src_install() {
+       local DOCS=( README.md docs/{Authors,instruments}.txt )
+       cmake_src_install
+
+       insinto /usr/share/${PN}
+       use songs && doins -r "${WORKDIR}"/songs
+
+       gzip -d "${ED}"/usr/share/man/man6/${PN}.6.gz || die
+}

Reply via email to