public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: games-arcade/performous/, games-arcade/performous/files/
Date: Thu, 31 Jul 2025 06:59:47 +0000 (UTC)	[thread overview]
Message-ID: <1753945167.8b1d7e88695d7dffd9276d3eda0f26909d40e196.sam@gentoo> (raw)

commit:     8b1d7e88695d7dffd9276d3eda0f26909d40e196
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Thu Jul 31 05:41:24 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 31 06:59:27 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b1d7e88

games-arcade/performous: add 1.3.1_p20250723

use a snapshot to fix few issues

update SRC_URI's songs (redirect)

add xdg to update cache

deps :
add gtest for testsuite
add [blas] for aubio (target patched to cblas instead of openblas)
add [cxx] for portaudio
ad dev-cpp/nlohmann_json for json support
add dev-libs/spdlog
add dev-libs/libfmt (used for log with spdlog)
add virtual/pkgconfig for detection

remove locale per lang

update compile definitions to avoid 3rd party and bundle CED (not in
tree)

patches :
use cblas instead of openblas for aubio. It seems to work fine as it.
avoid gzip for manpages

Closes: https://bugs.gentoo.org/942642
Closes: https://bugs.gentoo.org/956689
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/43255
Closes: https://github.com/gentoo/gentoo/pull/43255
Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-arcade/performous/Manifest                   |   2 +
 .../performous/files/performous-1.3.1-cblas.patch  |  22 ++++
 .../files/performous-1.3.1-uncompressed_docs.patch |  53 ++++++++++
 .../performous/performous-1.3.1_p20250723.ebuild   | 117 +++++++++++++++++++++
 4 files changed, 194 insertions(+)

diff --git a/games-arcade/performous/Manifest b/games-arcade/performous/Manifest
index 63c87da2cfed..3af963c9fbc5 100644
--- a/games-arcade/performous/Manifest
+++ b/games-arcade/performous/Manifest
@@ -1,4 +1,6 @@
 DIST performous-1.2.0.tar.gz 7240476 BLAKE2B c5c27fc02fe0a17261ad6549492ccc88c7ad213df08f6ec68d86bad9116a2f83eae8ab4b85fc19f63d260b28864fad84c19d55befa81dde7aabedb1c50fef89f SHA512 a8fbbe3768f46915eacb65adcc1592295e4c6a84775ca55def01ebcff2218b1860daee0d4d5fcccc407d8df71da1ac25da667b47dd4a17239041a3d5fbfa1c56
+DIST performous-1.3.1_p20250723.tar.gz 51778245 BLAKE2B 9051311ec79d5c18b1d648696dcf6058c3071c4396d1ee7fccce46d03a46430ed142b57486c1625da0be4d72d2dc998ed8802b0b0b39faf480ad8ebc1e895fa4 SHA512 290a8cb713247ff9055cc3f7042504f15c8c204d5cdf8a3f470867fa6b930ad82dc777f19084a4aad8055e5eb6d3af9922462d88ce776983998d539c20f8d7cf
+DIST performous-ced-28f46c18c60b851773b0ff61f3ce416fb09adcf3.tar.gz 221317 BLAKE2B 979063d1d6a355194d800f09211a0951be154f2b72960cd5fe450e6d82f6474fb29ecde0ad76df25a4075225b0ccf28e3735ca4f6c506873fbc4180f814a3cb3 SHA512 abec9d1d61a1ed2b779cf37317e8e4ff9095927480f69e165e74558e2b48d46e722d7b1d7ecc2ada515a843862faea6a849306ac12341fef639e2111feeaa489
 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

diff --git a/games-arcade/performous/files/performous-1.3.1-cblas.patch b/games-arcade/performous/files/performous-1.3.1-cblas.patch
new file mode 100644
index 000000000000..23f2b0c2a1a2
--- /dev/null
+++ b/games-arcade/performous/files/performous-1.3.1-cblas.patch
@@ -0,0 +1,22 @@
+Use cblas implementation instead of restricting openblas
+--- a/cmake/Modules/FindAubio.cmake
++++ b/cmake/Modules/FindAubio.cmake
+@@ -4,17 +4,9 @@ include(LibFetchMacros)
+ set(Aubio_GIT_VERSION "master")
+ 
+ #set(BLA_VENDOR OpenBLAS)
+-set(BLA_PKGCONFIG_BLAS openblas)
++set(BLA_PKGCONFIG_BLAS cblas)
+ find_package(BLAS REQUIRED)
+ 
+-# also Accelerate.framework for mac
+-
+-if (NOT APPLE AND NOT BLAS_LIBRARIES MATCHES "openblas")
+-	message(FATAL_ERROR "BLAS vendor is not OpenBLAS. Found: ${BLAS_LIBRARIES}")
+-elseif (APPLE AND NOT BLAS_LIBRARIES MATCHES "Accelerate.framework")
+-	message(FATAL_ERROR "BLAS vendor is not Accelerate.framework. Found: ${BLAS_LIBRARIES}")
+-endif()
+-
+ if(SELF_BUILT_AUBIO STREQUAL "ALWAYS")
+ 	message(STATUS "aubio forced to build from source")
+ 	libfetch_git_pkg(Aubio

diff --git a/games-arcade/performous/files/performous-1.3.1-uncompressed_docs.patch b/games-arcade/performous/files/performous-1.3.1-uncompressed_docs.patch
new file mode 100644
index 000000000000..89b66e2b1617
--- /dev/null
+++ b/games-arcade/performous/files/performous-1.3.1-uncompressed_docs.patch
@@ -0,0 +1,53 @@
+don't compress manpages
+fix mandir for man.6
+--- a/docs/man/CMakeLists.txt
++++ b/docs/man/CMakeLists.txt
+@@ -1,24 +1,20 @@
+ find_program(HELP2MAN help2man DOC "Location of the help2man program")
+-find_program(GZIP gzip DOC "Location of the gzip program")
+ mark_as_advanced(HELP2MAN)
+-mark_as_advanced(GZIP)
+-if(HELP2MAN AND GZIP)
+-	set(MANFILE ${CMAKE_CURRENT_BINARY_DIR}/performous.6.gz)
++if(HELP2MAN)
++	set(MANFILE ${CMAKE_CURRENT_BINARY_DIR}/performous.6)
+ 	set(H2MFILE ${CMAKE_CURRENT_SOURCE_DIR}/performous.h2m)
+ 	add_custom_command(
+ 		OUTPUT ${MANFILE}
+-		COMMAND ${HELP2MAN} "$<TARGET_FILE:performous>" -s 6 -i ${H2MFILE} -N | ${GZIP} > ${MANFILE}
++		COMMAND ${HELP2MAN} "$<TARGET_FILE:performous>" -s 6 -i ${H2MFILE} -N > ${MANFILE}
+ 		MAIN_DEPENDENCY ${H2MFILE}
+ 		DEPENDS performous
+ 		COMMENT "Building Performous man page"
+ 		VERBATIM
+ 	)
+ 	add_custom_target(manpage ALL DEPENDS ${MANFILE})
+-	install(FILES ${MANFILE} TYPE MAN)
+-else(HELP2MAN AND GZIP)
+-	message("WARNING: One of the following is missing: help2man, gzip; performous man page will not be generated")
+-endif(HELP2MAN AND GZIP)
+-if(ENABLE_TOOLS AND GZIP)
++	install(FILES ${MANFILE} DESTINATION  share/man/man6)
++endif(HELP2MAN)
++if(ENABLE_TOOLS)
+ 	set(TOOLS 
+ 		"ss_pak_extract" "ss_extract" "ss_cover_conv"
+ 		"ss_adpcm_decode" "ss_ipu_conv" "ss_chc_decode"
+@@ -26,15 +22,7 @@ if(ENABLE_TOOLS AND GZIP)
+ 	set(MAN_SECTION "1")
+ 	foreach(TOOL ${TOOLS})
+ 		set(TOOL_MANFILE ${CMAKE_CURRENT_SOURCE_DIR}/${TOOL}.${MAN_SECTION})
+-		set(TOOL_MANFILE_GZ ${CMAKE_CURRENT_BINARY_DIR}/${TOOL}.${MAN_SECTION}.gz)
+-		add_custom_command(
+-			OUTPUT ${TOOL_MANFILE_GZ}
+-			COMMAND ${GZIP} -c ${TOOL_MANFILE} > ${TOOL_MANFILE_GZ}
+-			MAIN_DEPENDENCY ${TOOL_MANFILE}
+-			COMMENT "Building ${TOOL} man page"
+-			VERBATIM
+-		)
+ 		add_custom_target(${TOOL}.${MAN_SECTION} ALL DEPENDS ${TOOL_MANFILE_GZ})
+-		install(FILES ${TOOL_MANFILE_GZ} DESTINATION share/man/man${MAN_SECTION})
++		install(FILES ${TOOL_MANFILE} DESTINATION share/man/man${MAN_SECTION})
+ 	endforeach(TOOL)
+-endif(ENABLE_TOOLS AND GZIP)
++endif(ENABLE_TOOLS)

diff --git a/games-arcade/performous/performous-1.3.1_p20250723.ebuild b/games-arcade/performous/performous-1.3.1_p20250723.ebuild
new file mode 100644
index 000000000000..e9c835a855c0
--- /dev/null
+++ b/games-arcade/performous/performous-1.3.1_p20250723.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+HASH_CED="28f46c18c60b851773b0ff61f3ce416fb09adcf3"
+HASH_PERFORMOUS="43586b58c72e48b63974f418af07b85b1d366daa"
+
+DESCRIPTION="SingStar GPL clone"
+HOMEPAGE="https://performous.org/"
+SRC_URI="
+	https://github.com/performous/performous/archive/${HASH_PERFORMOUS}.tar.gz
+		-> ${P}.tar.gz
+	https://github.com/performous/compact_enc_det/archive/${HASH_CED}.tar.gz
+		-> ${PN}-ced-${HASH_CED}.tar.gz
+	songs? (
+		https://downloads.sourceforge.net/project/performous/ultrastar-songs-jc/1/ultrastar-songs-jc-1.zip
+		https://downloads.sourceforge.net/project/performous/ultrastar-songs-libre/3/ultrastar-songs-libre-3.zip
+		https://downloads.sourceforge.net/project/performous/ultrastar-songs-restricted/3/ultrastar-songs-restricted-3.zip
+		https://downloads.sourceforge.net/project/performous/ultrastar-songs-shearer/1/ultrastar-songs-shearer-1.zip
+	)
+"
+S="${WORKDIR}/${PN}-${HASH_PERFORMOUS}"
+
+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 test webcam"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	dev-cpp/libxmlpp:5.0
+	dev-libs/boost:=[nls]
+	dev-libs/glib:2
+	dev-libs/icu:=
+	dev-libs/libfmt:=
+	gnome-base/librsvg:2
+	media-libs/aubio:=[blas,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[cxx]
+	media-video/ffmpeg:=
+	sys-libs/zlib
+	virtual/libintl
+	x11-libs/cairo
+	x11-libs/pango
+	midi? ( media-libs/portmidi )
+	webcam? ( media-libs/opencv:= )
+"
+DEPEND="${RDEPEND}
+	dev-cpp/nlohmann_json
+	dev-libs/spdlog
+	test? ( dev-cpp/gtest )
+"
+BDEPEND="
+	sys-apps/help2man
+	sys-devel/gettext
+	virtual/pkgconfig
+	songs? ( app-arch/unzip )
+"
+
+PATCHES=(
+	# avoid compressed manpages (gzip)
+	"${FILESDIR}"/${PN}-1.3.1-uncompressed_docs.patch
+	# use cblas implementation instead of restricting to openblas
+	"${FILESDIR}"/${PN}-1.3.1-cblas.patch
+)
+
+src_configure() {
+	local mycmakeargs=(
+		-DPERFORMOUS_VERSION=${PV}
+		-DSHARE_INSTALL="${EPREFIX}"/usr/share/${PN}
+		# it needs ON, not yes or something else
+		-DBUILD_TESTS=$(usex test ON OFF)
+
+		-DENABLE_MIDI=$(usex midi)
+		-DENABLE_TOOLS=ON # no dep
+		-DENABLE_WEBCAM=$(usex webcam)
+
+		# avoid 3rd party libs
+		-DSELF_BUILT_AUBIO=NEVER
+		-DSELF_BUILT_JSON=NEVER
+		-DSELF_BUILT_SPDLOG=NEVER
+
+		# compact_enc_det is not in tree
+		-DSELF_BUILT_CED=ALWAYS
+		-DFETCHCONTENT_SOURCE_DIR_CED-SRC:PATH="${WORKDIR}/compact_enc_det-${HASH_CED}"
+
+		# 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_test() {
+	# avoid overflow failures
+	cmake_src_test -j1
+}
+
+src_install() {
+	local DOCS=( README.md docs/{Authors,instruments}.txt )
+	cmake_src_install
+
+	insinto /usr/share/${PN}
+	use songs && doins -r "${WORKDIR}"/songs
+}


             reply	other threads:[~2025-07-31  6:59 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-31  6:59 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-04-16 14:32 [gentoo-commits] repo/gentoo:master commit in: games-arcade/performous/, games-arcade/performous/files/ David Seifert
2019-04-11 18:58 David Seifert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1753945167.8b1d7e88695d7dffd9276d3eda0f26909d40e196.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox