Initial commit for AUR

This commit is contained in:
LinuxLover471 2025-10-08 14:53:18 +05:30
commit 10840d1933
3 changed files with 179 additions and 0 deletions

30
.SRCINFO Normal file
View file

@ -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

12
LICENSE Normal file
View file

@ -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.

137
PKGBUILD Normal file
View file

@ -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"
}