From 10840d19331529424fc41b23d8b7c7e39388c0ed Mon Sep 17 00:00:00 2001 From: LinuxLover471 Date: Wed, 8 Oct 2025 14:53:18 +0530 Subject: [PATCH] Initial commit for AUR --- .SRCINFO | 30 ++++++++++++ LICENSE | 12 +++++ PKGBUILD | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 179 insertions(+) create mode 100644 .SRCINFO create mode 100644 LICENSE create mode 100644 PKGBUILD diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..e82183640664 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,30 @@ +pkgbase = godot32 + pkgdesc = Advanced cross-platform 2D and 3D game engine (32-bit) + pkgver = 4.5 + pkgrel = 1 + url = https://godotengine.org/ + arch = x86_64 + license = MIT + makedepends = alsa-lib + makedepends = pulse-native-provider + makedepends = scons + makedepends = mold + makedepends = setconf + makedepends = yasm + depends = lib32-brotli + depends = lib32-freetype2 + depends = lib32-libglvnd + depends = lib32-libtheora + depends = lib32-libvorbis + depends = lib32-libwebp + depends = lib32-libxcursor + depends = lib32-libxi + depends = lib32-libxinerama + depends = lib32-libxrandr + depends = lib32-pcre2 + optdepends = pipewire-alsa: for audio support + optdepends = pulse-native-provider: for audio support + source = godot-4.5.tar.gz::https://github.com/godotengine/godot/archive/4.5-stable.tar.gz + b2sums = fa8aa954974701f5070c06dd0801dadec903159d75ac6a21ec7c85d533dad2c1f42ff21fe40de33fa430c82ba79abeb0d69767eede0112bc4ac02d6e1441b81d + +pkgname = godot32 diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000000..b87c5e4be442 --- /dev/null +++ b/LICENSE @@ -0,0 +1,12 @@ +Copyright Arch Linux Contributors + +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE +FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..910aca7e4372 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,137 @@ +# Maintainer: LinuxLover471 +# Based on: godot (Arch Linux official package) + +_pkgname=godot +pkgname=${_pkgname}32 +pkgver=4.5 +pkgrel=1 +pkgdesc='Advanced cross-platform 2D and 3D game engine (32-bit)' +url='https://godotengine.org/' +license=(MIT) +arch=(x86_64) +makedepends=( + alsa-lib + pulse-native-provider + scons + mold + setconf + yasm +) +depends=( + lib32-brotli + lib32-freetype2 + lib32-libglvnd + lib32-libtheora + lib32-libvorbis + lib32-libwebp + lib32-libxcursor + lib32-libxi + lib32-libxinerama + lib32-libxrandr + lib32-pcre2 +) +optdepends=( + 'pipewire-alsa: for audio support' + 'pulse-native-provider: for audio support' +) +source=("$_pkgname-$pkgver.tar.gz::https://github.com/godotengine/godot/archive/$pkgver-stable.tar.gz") +b2sums=('fa8aa954974701f5070c06dd0801dadec903159d75ac6a21ec7c85d533dad2c1f42ff21fe40de33fa430c82ba79abeb0d69767eede0112bc4ac02d6e1441b81d') + +prepare() { + cd "$_pkgname-$pkgver-stable" + + # Patch for miniupnpc + sed -i 's/addr, 16/addr, 16, nullptr, 0/g' modules/upnp/upnp.cpp + + cd misc/dist/linux + + # Fix the MIME info, ref FS#77810 + sed -i 's,xmlns="https://specifications.freedesktop.org/shared-mime-info-spec",xmlns="http://www.freedesktop.org/standards/shared-mime-info",g' \ + org.godotengine.Godot.xml +} + +build() { + cd "$_pkgname-$pkgver-stable" + + export BUILD_NAME=arch_linux + + export _godot_arch=x86_32 # Explicitly set 32-bit build. + + # Not unbundled (yet): + # mbedtls + # enet (contains no upstreamed IPv6 support) + # AUR: libwebm, rvo2 + # recastnavigation, xatlas + + _args=( + -j$(nproc --all) + cflags="$CFLAGS -fPIC -Wl,-z,relro,-z,now -w" + cxxflags="$CXXFLAGS -fPIC -Wl,-z,relro,-z,now -w" + linkflags="$LDFLAGS" + arch=$_godot_arch + bits=32 # Ensure 32-bit binary. + linker=mold # Use mold for faster linking. + builtin_brotli=no + builtin_certs=yes # lib32-ca-certificates isn't available. + builtin_clipper2=yes + builtin_embree=yes # lib32-embree isn't available. + builtin_enet=yes + builtin_freetype=no + builtin_glslang=yes + builtin_graphite=yes # lib32-graphite isn't available. + builtin_harfbuzz=yes + builtin_icu4c=yes + builtin_libogg=no + builtin_libpng=no + builtin_libtheora=no + builtin_libvorbis=no + builtin_libwebp=no + builtin_mbedtls=yes + builtin_miniupnpc=yes # lib32-miniupnpc isn't available. + builtin_msdfgen=yes + builtin_openxr=yes # lib32-openxr isn't available. + builtin_pcre2=no + builtin_pcre2_with_jit=no + builtin_recastnavigation=yes + builtin_rvo2_2d=yes + builtin_rvo2_3d=yes + builtin_squish=yes # lib32-libsquish isn't available. + builtin_wslay=yes # lib32-libwslay isn't available. + builtin_xatlas=yes + builtin_zlib=no + builtin_zstd=no + colored=yes + debug_symbols=no # Disable debug_symbols for smaller binary. + disable_exceptions=false + platform=linuxbsd + production=yes + pulseaudio=yes + system_certs_path=/etc/ssl/certs/ca-certificates.crt + target=editor + use_llvm=no + werror=no + ) + + # Regular build + scons "${_args[@]}" +} + +package() { + cd "$_pkgname-$pkgver-stable" + + install -Dm755 bin/godot.linuxbsd.editor.$_godot_arch "$pkgdir/usr/bin/godot32" + + install -Dm644 icon.svg "$pkgdir/usr/share/pixmaps/$pkgname.svg" + install -Dm644 misc/dist/linux/org.godotengine.Godot.desktop "$pkgdir/usr/share/applications/org.godotengine.Godot32.desktop" + install -Dm644 misc/dist/linux/org.godotengine.Godot.xml "$pkgdir/usr/share/mime/packages/org.godotengine.Godot32.xml" + + # Patch upstream Godot.desktop + sed -i \ + -e 's|Exec=godot|Exec=godot32|' \ + -e 's|Icon=godot|Icon=godot32|' \ + -e 's|Name=Godot Engine|Name=Godot Engine (32-bit)|' \ + "$pkgdir/usr/share/applications/org.godotengine.Godot32.desktop" + + install -Dm644 misc/dist/linux/godot.6 "$pkgdir/usr/share/man/man6/$pkgname.6" + install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +}