aboutsummaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
authorCem Keylan <cem@ckyln.com>2023-09-27 16:09:27 +0200
committerCem Keylan <cem@ckyln.com>2023-09-27 16:09:27 +0200
commit56ca14a87ec1085812022dd64888a9bd1bc1653a (patch)
tree093dcafec3c6fc17a50627fdbd350e7e5a510619 /community
parent6a44b857ed4c0f471e9b2256d37422d8cd7ffc89 (diff)
downloadrepository-56ca14a87ec1085812022dd64888a9bd1bc1653a.tar.gz
godot: move to community
Diffstat (limited to 'community')
-rwxr-xr-xcommunity/godot/build54
-rw-r--r--community/godot/checksums7
-rw-r--r--community/godot/depends12
-rw-r--r--community/godot/files/godot4.desktop9
-rwxr-xr-xcommunity/godot/files/pythonpath6
-rw-r--r--community/godot/meta3
-rw-r--r--community/godot/patches/gcc13.patch10
-rw-r--r--community/godot/patches/no-execinfo.patch27
-rw-r--r--community/godot/sources6
-rw-r--r--community/godot/version1
10 files changed, 135 insertions, 0 deletions
diff --git a/community/godot/build b/community/godot/build
new file mode 100755
index 00000000..c70e7c23
--- /dev/null
+++ b/community/godot/build
@@ -0,0 +1,54 @@
+#!/bin/sh -e
+# TODO
+
+# Temporarily install scons to build godot
+(
+ cd scons
+
+ python3 setup.py build
+ python3 setup.py install \
+ --prefix=/usr \
+ --root="$PWD/dist"
+
+)
+
+for patch in *.patch; do
+ [ -f "$patch" ] && patch -p1 < "$patch"
+done
+
+PYTHONPATH=$(./pythonpath)
+PATH=$PWD/scons/dist/usr/bin:$PATH
+LDFLAGS="$LDFLAGS -L$PWD/execinfo"
+CFLAGS="$CFLAGS -I$PWD/execinfo"
+CXXFLAGS="$CXXFLAGS -I$PWD/execinfo"
+
+export PYTHONPATH PATH LDFLAGS CFLAGS CXXFLAGS
+
+# clsed 's/#ifdef CRASH_HANDLER_ENABLED/#if defined(CRASH_HANDLER_ENABLED) \&\& defined(__GLIBC__)/' \
+# platform/linuxbsd/crash_handler_linuxbsd.cpp
+
+scons \
+ LINKFLAGS="$LDFLAGS" \
+ CFLAGS="$CFLAGS" \
+ CXXFLAGS="$CXXFLAGS" \
+ progress=true \
+ arch=x64 \
+ speechd=no \
+ graphite=false \
+ builtin_freetype=false \
+ builtin_zlib=false \
+ builtin_glslang=true \
+ builtin_graphite=false \
+ builtin_harfbuzz=false \
+ builtin_icu4c=false \
+ builtin_libpng=false \
+ builtin_libogg=false \
+ builtin_libtheora=false \
+ builtin_libvorbis=false \
+ builtin_libwebp=false \
+ builtin_zstd=false
+
+clinst -Dm755 bin/godot.linuxbsd.editor.x86_64 "$1/usr/bin/godot4"
+clinst -Dm644 icon.png "$1/usr/share/pixmaps/godot.png"
+clinst -Dm644 godot4.desktop "$1/usr/share/applications/godot4.desktop"
+ln -s godot4 "$1/usr/bin/godot"
diff --git a/community/godot/checksums b/community/godot/checksums
new file mode 100644
index 00000000..966dc76f
--- /dev/null
+++ b/community/godot/checksums
@@ -0,0 +1,7 @@
+%BLAKE3
+8eef83b419d6ad65f0b665646e0644222155b8edda9d57b65a87369a0017aaf8 4.1.1-stable.tar.gz
+2b2207d86f6b687d9af604fd86dc47d3cfd07044f1474da9d63180a1dad53687 SCons-4.4.0.tar.gz
+312b85c0aaffc44755ad268c8ce8c83f46e33e4632b9d4b9d6ac06b5cb071dbb pythonpath
+3a15ce56e6e77e491eef51eeacb2ed725c50b94709cd8647319f94f5af6adba3 godot4.desktop
+58cc4335281c866a473f400adb199e39a4e5ab430169ee21bf2416227d18f3b7 gcc13.patch
+5e16897296376160ebab5022c920b7252472e02fb7ad8421064aa2e259a17a61 no-execinfo.patch
diff --git a/community/godot/depends b/community/godot/depends
new file mode 100644
index 00000000..f9dc07d8
--- /dev/null
+++ b/community/godot/depends
@@ -0,0 +1,12 @@
+freetype-harfbuzz
+libogg
+libpng
+libtheora
+libvorbis
+libwebp
+mesa
+opus
+opusfile
+python make
+zlib
+zstd
diff --git a/community/godot/files/godot4.desktop b/community/godot/files/godot4.desktop
new file mode 100644
index 00000000..7bb357e8
--- /dev/null
+++ b/community/godot/files/godot4.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Godot4
+Comment=Application for making games
+Exec=/usr/bin/godot4 %U
+Icon=godot
+Terminal=false
+Type=Application
+Categories=Utility;Game;
+
diff --git a/community/godot/files/pythonpath b/community/godot/files/pythonpath
new file mode 100755
index 00000000..f3718ca7
--- /dev/null
+++ b/community/godot/files/pythonpath
@@ -0,0 +1,6 @@
+#!/usr/bin/python3
+import os
+import sys
+
+print("%s/scons/dist/usr/lib/python%d.%d/site-packages:%s"
+ % (os.getcwd(), sys.version_info.major, sys.version_info.minor, ':'.join(sys.path)))
diff --git a/community/godot/meta b/community/godot/meta
new file mode 100644
index 00000000..fde1b6cb
--- /dev/null
+++ b/community/godot/meta
@@ -0,0 +1,3 @@
+description: Multiplatform 2D and 3D engine
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/community/godot/patches/gcc13.patch b/community/godot/patches/gcc13.patch
new file mode 100644
index 00000000..0db5a116
--- /dev/null
+++ b/community/godot/patches/gcc13.patch
@@ -0,0 +1,10 @@
+--- a/thirdparty/vhacd/inc/vhacdManifoldMesh.h
++++ b/thirdparty/vhacd/inc/vhacdManifoldMesh.h
+@@ -15,6 +15,7 @@
+ #pragma once
+ #ifndef VHACD_MANIFOLD_MESH_H
+ #define VHACD_MANIFOLD_MESH_H
++#include <cstdint>
+ #include "vhacdCircularList.h"
+ #include "vhacdSArray.h"
+ #include "vhacdVector.h"
diff --git a/community/godot/patches/no-execinfo.patch b/community/godot/patches/no-execinfo.patch
new file mode 100644
index 00000000..202bc9c0
--- /dev/null
+++ b/community/godot/patches/no-execinfo.patch
@@ -0,0 +1,27 @@
+diff --git a/platform/linuxbsd/crash_handler_linuxbsd.cpp b/platform/linuxbsd/crash_handler_linuxbsd.cpp
+index 3a24546..ae7430f 100644
+--- a/platform/linuxbsd/crash_handler_linuxbsd.cpp
++++ b/platform/linuxbsd/crash_handler_linuxbsd.cpp
+@@ -37,7 +37,6 @@
+ #include "main/main.h"
+
+ #ifdef DEBUG_ENABLED
+-#define CRASH_HANDLER_ENABLED 1
+ #endif
+
+ #ifdef CRASH_HANDLER_ENABLED
+diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py
+index 3f713d2..e27e1eb 100644
+--- a/platform/linuxbsd/detect.py
++++ b/platform/linuxbsd/detect.py
+@@ -429,8 +429,8 @@ def configure(env: "Environment"):
+ if not env["execinfo"] and platform.libc_ver()[0] != "glibc":
+ # The default crash handler depends on glibc, so if the host uses
+ # a different libc (BSD libc, musl), fall back to libexecinfo.
+- print("Note: Using `execinfo=yes` for the crash handler as required on platforms where glibc is missing.")
+- env["execinfo"] = True
++ # print("Note: Using `execinfo=yes` for the crash handler as required on platforms where glibc is missing.")
++ env["execinfo"] = False
+
+ if env["execinfo"]:
+ env.Append(LIBS=["execinfo"])
diff --git a/community/godot/sources b/community/godot/sources
new file mode 100644
index 00000000..4997676d
--- /dev/null
+++ b/community/godot/sources
@@ -0,0 +1,6 @@
+https://github.com/godotengine/godot/archive/4.1.1-stable.tar.gz
+https://github.com/SCons/scons/releases/download/4.4.0/SCons-4.4.0.tar.gz scons
+files/pythonpath
+files/godot4.desktop
+patches/gcc13.patch
+patches/no-execinfo.patch
diff --git a/community/godot/version b/community/godot/version
new file mode 100644
index 00000000..7b6aadfa
--- /dev/null
+++ b/community/godot/version
@@ -0,0 +1 @@
+4.1.1 1