summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2023-01-21 08:54:06 -0500
committerIonen Wolkens <ionen@gentoo.org>2023-01-21 10:08:00 -0500
commitab00e6f2f32285976c6e33aca91e0d8e224bfdae (patch)
treef64d4acba0c207524abec8aa7b6a032550839069 /games-arcade
parentxfce-extra/xfce4-notifyd: Stabilize 0.6.5 x86, #891591 (diff)
downloadgentoo-ab00e6f2f32285976c6e33aca91e0d8e224bfdae.tar.gz
gentoo-ab00e6f2f32285976c6e33aca91e0d8e224bfdae.tar.bz2
gentoo-ab00e6f2f32285976c6e33aca91e0d8e224bfdae.zip
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@gentoo.org>
Diffstat (limited to 'games-arcade')
-rw-r--r--games-arcade/performous/Manifest2
-rw-r--r--games-arcade/performous/files/performous-1.2.0-ffmpeg5.patch25
-rw-r--r--games-arcade/performous/performous-1.2.0.ebuild102
3 files changed, 129 insertions, 0 deletions
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 <sebastien.gonzalve@aliceadsl.fr>
+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
+}