games-arcade/opensonic: EAPI7->8, fix src_uri and build w/ clang16

Closes: https://bugs.gentoo.org/873181
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
Ionen Wolkens
2022-12-05 02:37:15 -05:00
parent d91d0f7a01
commit 49a51e9b4d
2 changed files with 47 additions and 23 deletions

View File

@@ -0,0 +1,26 @@
--- a/src/core/audio.c
+++ b/src/core/audio.c
@@ -385,3 +385,3 @@
*/
-void audio_init(int nomusic)
+void audio_init()
{
--- a/src/entities/object_decorators/dialog_box.c
+++ b/src/entities/object_decorators/dialog_box.c
@@ -39,3 +39,3 @@
-static objectmachine_t* make_decorator(objectmachine_t *decorated_machine, const char *title, const char *message, void (*strategy)());
+static objectmachine_t* make_decorator(objectmachine_t *decorated_machine, const char *title, const char *message, void (*strategy)(objectdecorator_dialogbox_t*));
@@ -60,3 +60,3 @@
/* private methods */
-objectmachine_t* make_decorator(objectmachine_t *decorated_machine, const char *title, const char *message, void (*strategy)())
+objectmachine_t* make_decorator(objectmachine_t *decorated_machine, const char *title, const char *message, void (*strategy)(objectdecorator_dialogbox_t*))
{
--- a/src/scenes/level.c
+++ b/src/scenes/level.c
@@ -214,3 +214,3 @@
static void update_dlgbox(); /* dialog boxes */
-static void render_dlgbox(); /* dialog boxes */
+static void render_dlgbox(v2d_t camera_position); /* dialog boxes */

View File

@@ -1,57 +1,55 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
inherit cmake
DESCRIPTION="Free open-source game based on the Sonic the Hedgehog universe"
HOMEPAGE="http://opensnc.sourceforge.net/home/index.php"
SRC_URI="https://sourceforge.net/projects/opensnc/files/Open%20Sonic/${PV}/opensnc-src-${PV}.tar.gz
https://github.com/t6/loggcompat/archive/4.4.2.tar.gz -> loggcompat-4.4.2.tar.gz"
HOMEPAGE="https://opensnc.sourceforge.net/"
SRC_URI="
mirror://sourceforge/project/opensnc/Open%20Sonic/${PV}/opensnc-src-${PV}.tar.gz
mirror+https://dev.gentoo.org/~ionen/distfiles/loggcompat-4.4.2.tar.gz"
S="${WORKDIR}/opensnc-src-${PV}"
LICENSE="GPL-2"
LICENSE="GPL-2+ MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror" # unsure about legality of graphics
DEPEND="
media-libs/allegro:0=[X,jpeg,png,vorbis]
media-libs/libogg:=
media-libs/libpng:0=
media-libs/libvorbis:=
sys-libs/zlib:=
virtual/jpeg:0"
RDEPEND="${DEPEND}"
S="${WORKDIR}/opensnc-src-${PV}"
RDEPEND="
media-libs/allegro:0[X,jpeg,png,vorbis]
media-libs/libvorbis"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-cmake.patch
"${FILESDIR}"/${P}-allegro-4.4.2-loggcompat.patch # bug 711542
"${FILESDIR}"/${P}-clang16.patch
)
src_prepare() {
mv "${WORKDIR}"/loggcompat-4.4.2 . || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DGAME_INSTALL_DIR="${EPREFIX}"/usr/share/${PN}
-DGAME_FINAL_DIR="${EPREFIX}"/usr/bin
-DGAME_LIBDIR="${EPREFIX}"/usr/$(get_libdir)/${PN}
-DGAME_HTMLDIR="${EPREFIX}"/usr/share/doc/${PF}/html
-DGAME_INSTALL_DIR="${EPREFIX}"/usr/share/${PN}
-DGAME_LIBDIR="${EPREFIX}"/usr/$(get_libdir)/${PN}
)
cmake_src_configure
}
src_install() {
cmake_src_install
local f
while IFS="" read -d $'\0' -r f; do
dosym ../../share/${PN}/${f##*/} /usr/$(get_libdir)/${PN}/${f##*/}
done < <(find "${ED}"/usr/share/${PN}/ -mindepth 1 -maxdepth 1 -type d -print0)
local d
for d in "${ED}"/usr/share/${PN}/*; do
dosym -r /usr/{share,$(get_libdir)}/${PN}/${d##*/}
done
}