commit:     ca9c069f8fa8b9d2d52db549f8116c2b12df1c6c
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  4 21:06:55 2024 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Thu Jan  4 21:08:09 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca9c069f

games-simulation/openrct2: fix musl build

Closes: https://bugs.gentoo.org/906989
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 .../openrct2/files/openrct2-0.4.7-musl.patch       | 55 ++++++++++++++++++++++
 games-simulation/openrct2/openrct2-0.4.7.ebuild    |  1 +
 2 files changed, 56 insertions(+)

diff --git a/games-simulation/openrct2/files/openrct2-0.4.7-musl.patch 
b/games-simulation/openrct2/files/openrct2-0.4.7-musl.patch
new file mode 100644
index 000000000000..1096bc018ff2
--- /dev/null
+++ b/games-simulation/openrct2/files/openrct2-0.4.7-musl.patch
@@ -0,0 +1,55 @@
+From 010c19ba61a3180dab6350aadc578414ad0c0051 Mon Sep 17 00:00:00 2001
+From: Conrad Kostecki <[email protected]>
+Date: Mon, 1 Jan 2024 20:34:19 +0100
+Subject: [PATCH 1/2] src/openrct2/core/FileStream.cpp: drop ftello64, fseeko64
+
+The static usage definition of ftello64 and friends is not correct.
+While this currently works on glibc, this breaks on musl, as musl
+already is LFS aware. The solution is to drop this and add instead
+'-D_FILE_OFFSET_BITS=64' to the build system.
+
+Signed-off-by: Conrad Kostecki <[email protected]>
+---
+ src/openrct2/core/FileStream.cpp | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/src/openrct2/core/FileStream.cpp 
b/src/openrct2/core/FileStream.cpp
+index 90a7f7a366cc..6fd7b7b1b42c 100644
+--- a/src/openrct2/core/FileStream.cpp
++++ b/src/openrct2/core/FileStream.cpp
+@@ -21,11 +21,6 @@
+ #    include <io.h>
+ #endif
+ 
+-#if defined(__linux__) && !defined(__ANDROID__)
+-#    define ftello ftello64
+-#    define fseeko fseeko64
+-#endif
+-
+ #ifdef _MSC_VER
+ #    define ftello _ftelli64
+ #    define fseeko _fseeki64
+
+From 7c638c786527a26a3e83d155ca8ff4d55f01347f Mon Sep 17 00:00:00 2001
+From: Conrad Kostecki <[email protected]>
+Date: Mon, 1 Jan 2024 20:23:24 +0100
+Subject: [PATCH 2/2] CMakeLists.txt: add D_FILE_OFFSET_BITS=64
+
+Signed-off-by: Conrad Kostecki <[email protected]>
+Signed-off-by: Conrad Kostecki <[email protected]>
+---
+ src/openrct2/CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/openrct2/CMakeLists.txt b/src/openrct2/CMakeLists.txt
+index 367939c9622c..55882a1097d3 100644
+--- a/src/openrct2/CMakeLists.txt
++++ b/src/openrct2/CMakeLists.txt
+@@ -265,3 +265,7 @@ else ()
+     # Dummy target to ease invocation
+     add_custom_target(${PROJECT_NAME}-headers-check)
+ endif ()
++
++if (UNIX)
++    add_definitions(-D_FILE_OFFSET_BITS=64)
++endif ()

diff --git a/games-simulation/openrct2/openrct2-0.4.7.ebuild 
b/games-simulation/openrct2/openrct2-0.4.7.ebuild
index 46212d45c869..068fbd3cb2e5 100644
--- a/games-simulation/openrct2/openrct2-0.4.7.ebuild
+++ b/games-simulation/openrct2/openrct2-0.4.7.ebuild
@@ -79,6 +79,7 @@ BDEPEND="
 PATCHES=(
        "${FILESDIR}/${PN}-0.4.0-include-additional-paths.patch"
        "${FILESDIR}/${PN}-0.4.1-gtest-1.10.patch"
+       "${FILESDIR}/${PN}-0.4.7-musl.patch"
 )
 
 src_unpack() {

Reply via email to