From 7f64f46197ebc4f05acc69a899e6faf9142c789e Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Sat, 15 Jul 2023 13:38:54 +0200 Subject: godot: add new package at 4.1 --- testing/godot/build | 54 +++++++++++++++++++++++++++++++++ testing/godot/checksums | 7 +++++ testing/godot/depends | 20 ++++++++++++ testing/godot/files/godot4.desktop | 9 ++++++ testing/godot/files/pythonpath | 6 ++++ testing/godot/meta | 3 ++ testing/godot/patches/gcc13.patch | 10 ++++++ testing/godot/patches/no-execinfo.patch | 27 +++++++++++++++++ testing/godot/sources | 6 ++++ testing/godot/version | 1 + 10 files changed, 143 insertions(+) create mode 100755 testing/godot/build create mode 100644 testing/godot/checksums create mode 100644 testing/godot/depends create mode 100644 testing/godot/files/godot4.desktop create mode 100755 testing/godot/files/pythonpath create mode 100644 testing/godot/meta create mode 100644 testing/godot/patches/gcc13.patch create mode 100644 testing/godot/patches/no-execinfo.patch create mode 100644 testing/godot/sources create mode 100644 testing/godot/version (limited to 'testing') diff --git a/testing/godot/build b/testing/godot/build new file mode 100755 index 00000000..c70e7c23 --- /dev/null +++ b/testing/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/testing/godot/checksums b/testing/godot/checksums new file mode 100644 index 00000000..9af2beaa --- /dev/null +++ b/testing/godot/checksums @@ -0,0 +1,7 @@ +%BLAKE3 +caefa5b61b8992eb3242c885142aa8e19793cd7bd00496a9e8201bcd3c34f21a 4.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/testing/godot/depends b/testing/godot/depends new file mode 100644 index 00000000..be48bc3f --- /dev/null +++ b/testing/godot/depends @@ -0,0 +1,20 @@ +freetype-harfbuzz +libX11 +libXcursor +libXext +libXi +libXinerama +libXrandr +libXrender +libogg +libpng +libtheora +libvorbis +libwebp +libxcb +mesa +opus +opusfile +python make +zlib +zstd diff --git a/testing/godot/files/godot4.desktop b/testing/godot/files/godot4.desktop new file mode 100644 index 00000000..7bb357e8 --- /dev/null +++ b/testing/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/testing/godot/files/pythonpath b/testing/godot/files/pythonpath new file mode 100755 index 00000000..f3718ca7 --- /dev/null +++ b/testing/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/testing/godot/meta b/testing/godot/meta new file mode 100644 index 00000000..fde1b6cb --- /dev/null +++ b/testing/godot/meta @@ -0,0 +1,3 @@ +description: Multiplatform 2D and 3D engine +license: MIT +maintainer: Cem Keylan diff --git a/testing/godot/patches/gcc13.patch b/testing/godot/patches/gcc13.patch new file mode 100644 index 00000000..0db5a116 --- /dev/null +++ b/testing/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 + #include "vhacdCircularList.h" + #include "vhacdSArray.h" + #include "vhacdVector.h" diff --git a/testing/godot/patches/no-execinfo.patch b/testing/godot/patches/no-execinfo.patch new file mode 100644 index 00000000..202bc9c0 --- /dev/null +++ b/testing/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/testing/godot/sources b/testing/godot/sources new file mode 100644 index 00000000..e45ff032 --- /dev/null +++ b/testing/godot/sources @@ -0,0 +1,6 @@ +https://github.com/godotengine/godot/archive/4.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/testing/godot/version b/testing/godot/version new file mode 100644 index 00000000..60d2ac65 --- /dev/null +++ b/testing/godot/version @@ -0,0 +1 @@ +4.1 1 -- cgit v1.2.3