diff options
Diffstat (limited to 'development')
-rw-r--r-- | development/godot/README | 45 | ||||
-rw-r--r-- | development/godot/doinst.sh | 13 | ||||
-rw-r--r-- | development/godot/godot.SlackBuild | 212 | ||||
-rw-r--r-- | development/godot/godot.info | 10 | ||||
-rw-r--r-- | development/godot/slack-desc | 19 |
5 files changed, 299 insertions, 0 deletions
diff --git a/development/godot/README b/development/godot/README new file mode 100644 index 0000000000..924083552c --- /dev/null +++ b/development/godot/README @@ -0,0 +1,45 @@ +Godot Engine – Multi-platform 2D and 3D game engine + +2D and 3D cross-platform game engine + Godot Engine is a feature-packed, cross-platform game engine to +create 2D and 3D games from a unified interface. It provides a +comprehensive set of common tools, so that users can focus on making +games without having to reinvent the wheel. Games can be exported with +one click to a number of platforms, including the major desktop +platforms (Linux, macOS, Windows), mobile platforms (Android, iOS), as +well as Web-based platforms and consoles. + +Free, open source and community-driven + Godot is completely free and open source under the very permissive +MIT license. No strings attached, no royalties, nothing. The users' +games are theirs, down to the last line of engine code. Godot's +development is fully independent and community-driven, empowering users +to help shape their engine to match their expectations. It is supported +by the Godot Foundation not-for-profit. + Before being open sourced in February 2014, Godot had been developed +by Juan Linietsky and Ariel Manzur (both still maintaining the project) +for several years as an in-house engine, used to publish several +work-for-hire titles. + +Community and contributing + Godot is not only an engine but an ever-growing community of users +and engine developers. The main community channels are listed on the +homepage. + The best way to get in touch with the core engine developers is to +join the Godot Contributors Chat. + To get started contributing to the project, see the contributing +guide. This document also includes guidelines for reporting bugs. + +Documentation and demos + The official documentation is hosted on Read the Docs. It is +maintained by the Godot community in its own GitHub repository. + The class reference is also accessible from the Godot editor. + We also maintain official demos in their own GitHub repository as +well as a list of awesome Godot community resources. + There are also a number of other learning resources provided by the +community, such as text and video tutorials, demos, etc. Consult the +community channels for more information. + +By default, the scons build system will probe your system and use all +available cores less one. To get around this, you may set the number of +jobs in the MAKEFLAGS variable. diff --git a/development/godot/doinst.sh b/development/godot/doinst.sh new file mode 100644 index 0000000000..aea0f894eb --- /dev/null +++ b/development/godot/doinst.sh @@ -0,0 +1,13 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -x /usr/bin/update-mime-database ]; then + /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/development/godot/godot.SlackBuild b/development/godot/godot.SlackBuild new file mode 100644 index 0000000000..c7c9009c09 --- /dev/null +++ b/development/godot/godot.SlackBuild @@ -0,0 +1,212 @@ +#!/bin/bash + +# Slackware build script for godot + +# Copyright 2023-2024 Steven Voges <Oregon, USA> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=godot +VERSION=${VERSION:-4.2.1} +SRCVER=${SRCVERSION:-4.2.1-stable} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" + GARCH="x86_32" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" + GARCH="x86_32" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + GARCH="x86_64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + GARCH="x86_32" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$SRCVER +tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz +cd $PRGNAM-$SRCVER +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# scons can use multiple jobs. For convenience, read MAKEFLAGS from the environment, if set +JOBS="$( echo $MAKEFLAGS | sed 's,.*-j *\([0-9][0-9]*\)*.*,\1,' )" +# or if no MAKEFLAGS, use the number of cores minus 1 +JOBS="${JOBS:-$(( $( nproc ) - 1 ))}" +# or 1, if we really have one core +[ "$JOBS" = "0" ] && JOBS=1 + +export BUILD_NAME=SBo +# Configuration options taken from: +# https://github.com/godotengine/godot/blob/master/SConstruct +scons -j$JOBS \ + CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + + platform=linuxbsd \ + target=editor \ + arch=$GARCH \ + dev_build=no \ + optimize=none \ + debug_symbols=no \ + separate_debug_symbols=no \ + lto=none \ + production=yes \ + generate_apk=no \ + + depreciated=yes \ + precision=single \ + minizip=yes \ + brotli=yes \ + xaudio2=no \ + vulkan=yes \ + opengl3=yes \ + d3d12=no \ + openxr=yes \ + use_volk=yes \ + disable_exceptions=yes \ + custom_modules="" \ + custom_madules_recursive=yes \ + + dev_mode=no \ + tests=no \ + fast_unsafe=no \ + compiledb=no \ + verbose=no \ + progress=yes \ + warnings=all \ + werror=no \ + extra_suffix="" \ + object_prefix="" \ + vsproj=no \ + vsproj_name=godot \ + import_env_vars="" \ + disable_3d=no \ + disable_advanced_gui=no \ + build_profile="" \ + modules_enabled_by_default=yes \ + no_editor_splash=yes \ + system_certs_path=/etc/ssl/certs/ca-certificates.crt \ + use_precise_math_checks=no \ + scu_build=no \ + scu_limit=0 \ + + builtin_brotli=no \ + builtin_certs=no \ + builtin_clipper2=yes \ + builtin_embree=yes \ + builtin_enet=yes \ + builtin_freetype=no \ + builtin_msdfgen=yes \ + builtin_glslang=no \ + builtin_graphite=no \ + builtin_harfbuzz=no \ + builtin_icu4c=no \ + builtin_libogg=no \ + builtin_libpng=no \ + builtin_libtheora=no \ + builtin_libvorbis=no \ + builtin_libwebp=no \ + builtin_wslay=yes \ + builtin_mbedtls=yes \ + builtin_miniupnpc=yes \ + builtin_openxr=yes \ + builtin_pcre2=no \ + builtin_pcre2_with_jit=no \ + builtin_recastnavigation=yes \ + builtin_rvo2_2d=yes \ + builtin_rvo2_3d=yes \ + builtin_squish=yes \ + builtin_xatlas=yes \ + builtin_zlib=no \ + builtin_zstd=no \ + + use_llvm=no \ + colored=yes \ + pulseaudio=yes + +install -Dvm0755 bin/${PRGNAM}.linuxbsd.editor.$GARCH $PKG/usr/bin/$PRGNAM +install -Dvm0644 misc/dist/linux/${PRGNAM}.6 $PKG/usr/man/man6/${PRGNAM}.6 +install -Dvm0644 misc/dist/linux/org.godotengine.Godot.desktop $PKG/usr/share/applications/org.godotengine.godot.desktop +install -Dvm0644 misc/dist/linux/org.godotengine.Godot.xml $PKG/usr/share/mime/application/org.godotengine.godot.xml +install -Dvm0644 misc/dist/linux/org.godotengine.Godot.appdata.xml $PKG/usr/share/appdata/org.godotengine.godot.appdata.xml +install -Dvm0644 icon.svg $PKG/usr/share/icons/hicolor/scalable/apps/${PRGNAM}.svg +install -Dvm0644 icon_outlined.svg $PKG/usr/share/icons/hicolor/scalable/apps/${PRGNAM}_outlined.svg +install -Dvm0644 logo.svg $PKG/usr/share/icons/hicolor/scalable/apps/${PRGNAM}_logo.svg +install -Dvm0644 logo_outlined.svg $PKG/usr/share/icons/hicolor/scalable/apps/${PRGNAM}_logo_outlined.svg +install -Dvm0644 misc/dist/document_icons/gdscript.svg $PKG/usr/share/icons/hicolor/scalable/mimetypes/x-godot-gdscript.svg +install -Dvm0644 misc/dist/document_icons/project.svg $PKG/usr/share/icons/hicolor/scalable/mimetypes/x-godot-project.svg +install -Dvm0644 misc/dist/document_icons/resource.svg $PKG/usr/share/icons/hicolor/scalable/mimetypes/x-godot-resource.svg +install -Dvm0644 misc/dist/document_icons/scene.svg $PKG/usr/share/icons/hicolor/scalable/mimetypes/x-godot-scene.svg +install -Dvm0644 misc/dist/document_icons/shader.svg $PKG/usr/share/icons/hicolor/scalable/mimetypes/x-godot-shader.svg + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + *.md *.txt \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/development/godot/godot.info b/development/godot/godot.info new file mode 100644 index 0000000000..f1ff811d7e --- /dev/null +++ b/development/godot/godot.info @@ -0,0 +1,10 @@ +PRGNAM="godot" +VERSION="4.2.1" +HOMEPAGE="https://godotengine.org" +DOWNLOAD="https://github.com/godotengine/godot/archive/4.2.1-stable/godot-4.2.1-stable.tar.gz" +MD5SUM="ba7ade6044479449ec399affdace1863" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Steven Voges" +EMAIL="svoges.sbo@gmail.com" diff --git a/development/godot/slack-desc b/development/godot/slack-desc new file mode 100644 index 0000000000..c4214fb84c --- /dev/null +++ b/development/godot/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +godot: godot (2D and 3D game engine) +godot: +godot: Godot Engine is a feature-packed, cross-platform game engine to +godot: create 2D and 3D games from a unified interface. +godot: +godot: Homepage: https://godotengine.org +godot: +godot: +godot: +godot: +godot: |