godot: fix ppc64* build
This commit is contained in:
parent
043ae15fcf
commit
14f1b9c2bc
2 changed files with 90 additions and 1 deletions
87
srcpkgs/godot/patches/ppc.patch
Normal file
87
srcpkgs/godot/patches/ppc.patch
Normal file
|
@ -0,0 +1,87 @@
|
|||
From 9ae32c08a4cab0a77eed682c9fb188ce7fc6f85a Mon Sep 17 00:00:00 2001
|
||||
From: q66 <daniel@octaforge.org>
|
||||
Date: Mon, 1 Nov 2021 21:05:31 +0100
|
||||
Subject: [PATCH] add ppc detection
|
||||
|
||||
---
|
||||
core/os/os.cpp | 14 ++++++++++++++
|
||||
modules/lightmapper_cpu/config.py | 3 +++
|
||||
modules/raycast/config.py | 3 +++
|
||||
platform/x11/detect.py | 8 ++++++++
|
||||
4 files changed, 28 insertions(+)
|
||||
|
||||
diff --git a/core/os/os.cpp b/core/os/os.cpp
|
||||
index 35896d8..948c79a 100644
|
||||
--- a/core/os/os.cpp
|
||||
+++ b/core/os/os.cpp
|
||||
@@ -699,6 +699,20 @@ bool OS::has_feature(const String &p_feature) {
|
||||
if (p_feature == "arm") {
|
||||
return true;
|
||||
}
|
||||
+#elif defined(__powerpc__)
|
||||
+#if defined(__powerpc64__)
|
||||
+#if defined(__LITTLE_ENDIAN__)
|
||||
+ if (p_feature == "ppc64le") {
|
||||
+ return true;
|
||||
+ }
|
||||
+#endif
|
||||
+ if (p_feature == "ppc64") {
|
||||
+ return true;
|
||||
+ }
|
||||
+#endif
|
||||
+ if (p_feature == "ppc") {
|
||||
+ return true;
|
||||
+ }
|
||||
#endif
|
||||
|
||||
if (_check_internal_feature_support(p_feature))
|
||||
diff --git a/modules/lightmapper_cpu/config.py b/modules/lightmapper_cpu/config.py
|
||||
index a3a33b3..842f9ae 100644
|
||||
--- a/modules/lightmapper_cpu/config.py
|
||||
+++ b/modules/lightmapper_cpu/config.py
|
||||
@@ -15,6 +15,9 @@ def can_build(env, platform):
|
||||
if env["bits"] == "32":
|
||||
return False
|
||||
|
||||
+ if env["arch"].startswith("ppc"):
|
||||
+ return False
|
||||
+
|
||||
return True
|
||||
|
||||
|
||||
diff --git a/modules/raycast/config.py b/modules/raycast/config.py
|
||||
index 6ea8e0a..bc2d40c 100644
|
||||
--- a/modules/raycast/config.py
|
||||
+++ b/modules/raycast/config.py
|
||||
@@ -14,6 +14,9 @@ def can_build(env, platform):
|
||||
if env["bits"] == "32":
|
||||
return False
|
||||
|
||||
+ if env["arch"].startswith("ppc"):
|
||||
+ return False
|
||||
+
|
||||
return True
|
||||
|
||||
|
||||
diff --git a/platform/x11/detect.py b/platform/x11/detect.py
|
||||
index b6472e2..c1858a7 100644
|
||||
--- a/platform/x11/detect.py
|
||||
+++ b/platform/x11/detect.py
|
||||
@@ -119,6 +119,14 @@ def configure(env):
|
||||
if env["bits"] == "default":
|
||||
env["bits"] = "64" if is64 else "32"
|
||||
|
||||
+ if env["arch"] == "":
|
||||
+ if platform.machine() == "ppc64le":
|
||||
+ env["arch"] = "ppc64le"
|
||||
+ elif platform.machine() == "ppc64":
|
||||
+ env["arch"] = "ppc64"
|
||||
+ elif platform.machine() == "ppc":
|
||||
+ env["arch"] = "ppc"
|
||||
+
|
||||
## Compiler configuration
|
||||
|
||||
if "CXX" in env and "clang" in os.path.basename(env["CXX"]):
|
||||
--
|
||||
2.33.0
|
||||
|
|
@ -48,7 +48,9 @@ do_install() {
|
|||
vinstall ${wrksrc}/icon.png 644 /usr/share/pixmaps/ godot.png
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
x86_64*|aarch64*|ppc64*) vbin bin/godot.x11.opt.tools.64 godot;;
|
||||
x86_64*|aarch64*) vbin bin/godot.x11.opt.tools.64 godot;;
|
||||
ppc64le*) vbin bin/godot.x11.opt.tools.ppc64le godot;;
|
||||
ppc64*) vbin bin/godot.x11.opt.tools.ppc64 godot;;
|
||||
*) vbin bin/godot.x11.opt.tools.32 godot;;
|
||||
esac
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue