* [gentoo-commits] repo/gentoo:master commit in: games-arcade/jazz2/files/, games-arcade/jazz2/
@ 2024-09-19 12:45 Petr Vaněk
0 siblings, 0 replies; 2+ messages in thread
From: Petr Vaněk @ 2024-09-19 12:45 UTC (permalink / raw
To: gentoo-commits
commit: fbafe86902a635861aca42740d6ba8cfe8fdd6fd
Author: Petr Vaněk <arkamar <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 19 11:12:57 2024 +0000
Commit: Petr Vaněk <arkamar <AT> gentoo <DOT> org>
CommitDate: Thu Sep 19 12:45:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbafe869
games-arcade/jazz2: add 2.8.0
The code was reimplemented to C++ and it is build with cmake starting
with version 1.0.0.
Signed-off-by: Petr Vaněk <arkamar <AT> gentoo.org>
games-arcade/jazz2/Manifest | 1 +
.../jazz2/files/jazz2-2.8.0-about-section.patch | 20 ++++++
games-arcade/jazz2/jazz2-2.8.0.ebuild | 73 ++++++++++++++++++++++
games-arcade/jazz2/metadata.xml | 2 +
4 files changed, 96 insertions(+)
diff --git a/games-arcade/jazz2/Manifest b/games-arcade/jazz2/Manifest
index 412f67c80f37..f339610dfc4d 100644
--- a/games-arcade/jazz2/Manifest
+++ b/games-arcade/jazz2/Manifest
@@ -1 +1,2 @@
DIST jazz2-0.6.7.tar.gz 11031735 BLAKE2B 014ff24c6f5a834a727aaed3760a1e228d9f7d9653dd293e98030c9105cbf15a3b420c2d515605e36187cc833ae892ed30589f1bf821c0b674b883cea216f3f5 SHA512 7172a3ccb367122d1c9bfbd36b76cc3d365024affba9aea5cfa595fd11a9b4dc980e57c1cfdb0d32bc28bb7ecb5f6f5225909697c4c93c43117596f44d80ff8f
+DIST jazz2-2.8.0.tar.gz 3656018 BLAKE2B c023e722871304754e45a1329cfff9e0e713413a6a05b5265dd000bab8a057ac5dbdb1a263b29f562df0221b97eb326fbd15f3c6b6f316b756630c2521413bec SHA512 1a6b61cb654c5afee7d615cca912b75ef4f1e90929d7808800467bd13a1ebd9096430d1c1fa969cfacf8c10ff1e696c74371c1809a0ffbda90c5db31c686ae05
diff --git a/games-arcade/jazz2/files/jazz2-2.8.0-about-section.patch b/games-arcade/jazz2/files/jazz2-2.8.0-about-section.patch
new file mode 100644
index 000000000000..349ec40fd180
--- /dev/null
+++ b/games-arcade/jazz2/files/jazz2-2.8.0-about-section.patch
@@ -0,0 +1,20 @@
+From 04d43f938c8b656bf5fb0dbed464566af4c0062c Mon Sep 17 00:00:00 2001
+From: Death Killer <884052+deathkiller@users.noreply.github.com>
+Date: Sun, 4 Aug 2024 16:49:59 +0200
+Subject: [PATCH] Fixed about screen
+
+https://github.com/deathkiller/jazz2-native/commit/04d43f938c8b656bf5fb0dbed464566af4c0062c
+
+diff --git a/Sources/Jazz2/UI/Menu/AboutSection.cpp b/Sources/Jazz2/UI/Menu/AboutSection.cpp
+index 9c3afd59..ea7723e9 100644
+--- a/Sources/Jazz2/UI/Menu/AboutSection.cpp
++++ b/Sources/Jazz2/UI/Menu/AboutSection.cpp
+@@ -62,7 +62,7 @@
+ # define _i7 "\nOpenAL \f[c:#707070]· \f[h:80]https://github.com/kcat/openal-soft\f[/h]\f[/c]"
+ # endif
+ #else
+-# define _i6 ""
++# define _i7 ""
+ #endif
+
+ #if defined(WITH_VORBIS)
diff --git a/games-arcade/jazz2/jazz2-2.8.0.ebuild b/games-arcade/jazz2/jazz2-2.8.0.ebuild
new file mode 100644
index 000000000000..bcc62ab10108
--- /dev/null
+++ b/games-arcade/jazz2/jazz2-2.8.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg-utils
+
+DESCRIPTION="Open source reimplementation of Jazz Jackrabbit 2"
+HOMEPAGE="
+ https://deat.tk/jazz2/
+ https://github.com/deathkiller/jazz2-native
+"
+SRC_URI="
+ https://github.com/deathkiller/jazz2-native/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+S="${WORKDIR}/${PN}-native-${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+openal sdl"
+
+DEPEND="
+ sys-libs/zlib:=
+ openal? (
+ media-libs/libopenmpt
+ media-libs/openal
+ )
+ !sdl? ( media-libs/glfw:= )
+ sdl? ( media-libs/libsdl2:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-about-section.patch"
+)
+
+src_prepare() {
+ # We need to install README.md to a different directory, default
+ # src_install will handle that.
+ sed -i '/README_INSTALL_DESTINATION/d' cmake/ncine_installation.cmake || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local backend=GLFW
+ use sdl && backend=SDL2
+ local mycmakeargs=(
+ -DNCINE_LINUX_PACKAGE="${PN}"
+
+ -DNCINE_DOWNLOAD_DEPENDENCIES=OFF
+ -DNCINE_LINKTIME_OPTIMIZATION=OFF
+ -DNCINE_STRIP_BINARIES=OFF
+ -DNCINE_VERSION_FROM_GIT=OFF
+ -DNCINE_WITH_BACKWARD=OFF
+
+ -DNCINE_WITH_GLEW=OFF
+
+ -DNCINE_PREFERRED_BACKEND=${backend}
+
+ -DNCINE_WITH_AUDIO=$(usex openal)
+ )
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}
diff --git a/games-arcade/jazz2/metadata.xml b/games-arcade/jazz2/metadata.xml
index dff951fa6b7f..39f3565c770c 100644
--- a/games-arcade/jazz2/metadata.xml
+++ b/games-arcade/jazz2/metadata.xml
@@ -7,8 +7,10 @@
</maintainer>
<upstream>
<remote-id type="github">deathkiller/jazz2</remote-id>
+ <remote-id type="github">deathkiller/jazz2-native</remote-id>
</upstream>
<use>
<flag name="server">Build the multiplayer game server</flag>
+ <flag name="sdl">Prefer SDL2 over GLFW backend</flag>
</use>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-arcade/jazz2/files/, games-arcade/jazz2/
@ 2024-10-01 9:35 Petr Vaněk
0 siblings, 0 replies; 2+ messages in thread
From: Petr Vaněk @ 2024-10-01 9:35 UTC (permalink / raw
To: gentoo-commits
commit: 0a662a6a35bff692c5b7fbad7cee6a8ea2f8ce09
Author: Petr Vaněk <arkamar <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 08:44:21 2024 +0000
Commit: Petr Vaněk <arkamar <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 09:34:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a662a6a
games-arcade/jazz2: apply strict aliasing fix
Closes: https://bugs.gentoo.org/940326
Signed-off-by: Petr Vaněk <arkamar <AT> gentoo.org>
.../jazz2/files/jazz2-2.8.0-strict-aliasing.patch | 33 ++++++++++++++++++++++
.../{jazz2-2.8.0.ebuild => jazz2-2.8.0-r1.ebuild} | 1 +
2 files changed, 34 insertions(+)
diff --git a/games-arcade/jazz2/files/jazz2-2.8.0-strict-aliasing.patch b/games-arcade/jazz2/files/jazz2-2.8.0-strict-aliasing.patch
new file mode 100644
index 000000000000..1c727478e1d5
--- /dev/null
+++ b/games-arcade/jazz2/files/jazz2-2.8.0-strict-aliasing.patch
@@ -0,0 +1,33 @@
+From ac7e3bf7237c12ac5a43fef52d42d31779cd62f6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz>
+Date: Mon, 30 Sep 2024 09:54:56 +0200
+Subject: [PATCH] Use union for int-float type conversion
+
+Union based type punning seems to be safer for int-float type conversion
+as it works around strict aliasing rules, which improves portability.
+
+PR: https://github.com/deathkiller/jazz2-native/pull/80
+
+diff --git a/Sources/nCine/Base/Algorithms.cpp b/Sources/nCine/Base/Algorithms.cpp
+index 99fa88bf..e7805fda 100644
+--- a/Sources/nCine/Base/Algorithms.cpp
++++ b/Sources/nCine/Base/Algorithms.cpp
+@@ -247,12 +247,16 @@ namespace nCine
+
+ static inline std::uint32_t as_uint32(const float x)
+ {
+- return *(std::uint32_t*)&x;
++ union {float f; uint32_t i;} u;
++ u.f = x;
++ return u.i;
+ }
+
+ static inline float as_float(const std::uint32_t x)
+ {
+- return *(float*)&x;
++ union {float f; uint32_t i;} u;
++ u.i = x;
++ return u.f;
+ }
+
+ float halfToFloat(std::uint16_t value)
diff --git a/games-arcade/jazz2/jazz2-2.8.0.ebuild b/games-arcade/jazz2/jazz2-2.8.0-r1.ebuild
similarity index 96%
rename from games-arcade/jazz2/jazz2-2.8.0.ebuild
rename to games-arcade/jazz2/jazz2-2.8.0-r1.ebuild
index bcc62ab10108..2293ae2aff09 100644
--- a/games-arcade/jazz2/jazz2-2.8.0.ebuild
+++ b/games-arcade/jazz2/jazz2-2.8.0-r1.ebuild
@@ -34,6 +34,7 @@ RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${P}-about-section.patch"
+ "${FILESDIR}/${P}-strict-aliasing.patch" #940326
)
src_prepare() {
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-10-01 9:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-19 12:45 [gentoo-commits] repo/gentoo:master commit in: games-arcade/jazz2/files/, games-arcade/jazz2/ Petr Vaněk
-- strict thread matches above, loose matches on Subject: below --
2024-10-01 9:35 Petr Vaněk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox