Greetings, I've written my first PKGBUILD that I think is acceptable to submit and while I tried to make sure I followed the guidelines, I wanted to submit it for review here. You can view it online at https://github.com/godofgrunts/arch-PKGBUILDs/blob/master/godot-export if it's easier than email. # Maintainer: Ryan Whited <dergottdergrunten at gmail dot com> @god_of_grunts pkgname=godot-export _rname=godot pkgver=1.1 pkgrel=1 pkgdesc="Export templates for the stable release of the Godot engine 1.1" url="http://www.godotengine.org" license=('MIT') arch=('i686' 'x86_64') makedepends=('scons' 'mingw-w64-binutils' 'mingw-w64-crt' 'mingw-w64-gcc' 'mingw-w64-headers' 'mingw-w64-headers-bootstrap' 'mingw-w64-winpthreads' 'upx') #'emscripten' depends=('glu' 'libxcursor' 'alsa-lib' 'freetype2' 'mesa') optdepends=('godot: Cannot export without it') conflicts=('godot-export-git' 'godot-git') _arch='' if test "$CARCH" == x86_64; then _arch=('64') else _arch=('32') fi tempdir="/home/$USER/.godot/templates/" source=( "https://github.com/godotengine/godot/archive/${pkgver}-stable.tar.gz" ) md5sums=('87eb2fc3518ce7a27957fada1ba003e9') build() { export MINGW64_PREFIX="x86_64-w64-mingw32-" export MINGW32_PREFIX="i686-w64-mingw32-" cd "${srcdir}"/${_rname}-${pkgver}-stable sed -n '/\/* Copyright/,/IN THE SOFTWARE./p' main/main.cpp | sed 's/\/\*//' | sed 's/\*\///' > LICENSE cores=$(nproc) bindir=("${srcdir}"/${_rname}-${pkgver}-stable/bin) tooldir=("${srcdir}"/${_rname}-${pkgver}-stable/tools) mkdir $tempdir || echo $tempdir does not need to be made #linux if test _arch == '32'; then scons -j $cores platform=x11 tools=no target=release bits=32 #linux_x11_32_release scons -j $cores platform=x11 tools=no target=release_debug bits=32 #linux_x11_32_debug cp $bindir/godot.x11.opt.32 $tempdir/linux_x11_32_release cp $bindir/godot.x11.opt.debug.32 $tempdir/linux_x11_32_debug else scons -j $cores platform=x11 tools=no target=release bits=64 #linux_x11_64_release scons -j $cores platform=x11 tools=no target=release_debug bits=64 #linux_x11_64_debug cp $bindir/godot.x11.opt.64 $tempdir/linux_x11_64_release cp $bindir/godot.x11.opt.debug.64 $tempdir/linux_x11_64_debug fi #linux-server if test _arch == '32'; then scons -j $cores platform=server target=release_debug tools=no bits=32 cp $bindir/godot_server.server.opt.debug.32 $tempdir/linux_server_32 else scons -j $cores platform=server target=release_debug tools=no bits=64 cp $bindir/godot_server.server.opt.debug.64 $tempdir/linux_server_64 fi #Windows export MINGW32_PREFIX="i686-w64-mingw32-" export MINGW64_PREFIX="x86_64-w64-mingw32-" scons -j $cores platform=windows tools=no target=release bits=32 #windows_32_release.exe scons -j $cores platform=windows tools=no target=release_debug bits=32 #windows_32_debug.exe scons -j $cores platform=windows tools=no target=release bits=64 #windows_64_release.exe scons -j $cores platform=windows tools=no target=release_debug bits=64 #windows_64_debug.exe cp $bindir/godot.windows.opt.64.exe $tempdir/windows_64_release.exe cp $bindir/godot.windows.opt.debug.64.exe $tempdir/windows_64_debug.exe cp $bindir/godot.windows.opt.32.exe $tempdir/windows_32_release.exe cp $bindir/godot.windows.opt.debug.32.exe $tempdir/windows_32_debug.exe x86_64-w64-mingw32-strip $tempdir/windows_64_release.exe x86_64-w64-mingw32-strip $tempdir/windows_64_debug.exe upx $tempdir/windows_32_debug.exe upx $tempdir/windows_32_release.exe #OS X #I'll put code here when https://github.com/godotengine/godot/wiki/compiling_osx is updated #Android #Probably should do this yourself, I'm not about to mess with your Android SDK #https://github.com/godotengine/godot/wiki/export_android #WinRT #Can't do this on Linux sorry #Blackberry 10 #Currently disabled by Godot #HTML5 #Currently broken per https://github.com/godotengine/godot/issues/3510 #export EMSCRIPTEN_ROOT=/usr/lib/emscripten #scons -j $cores platform=javascript tools=no target=release #scons -j $cores platform=javascript tools=no target=release_debug #cp $bindir/godot.javascript.opt.html $bindir/godot.html #cp $bindir/godot.javascript.opt.js $bindir/godot.js #cp $tooldir/html_fs/filesystem.js $bindir/filesystem.js #zip $tempdir/javascript_release.zip $bindir/godot.html $bindir/godot.js $bindir/filesystem.js #cp $bindir/godot.javascript.opt.debug.html $bindir/godot.html #cp $bindir/godot.javascript.opt.debug.js $bindir/godot.js #zip $tempdir/javascript_debug.zip $bindir/godot.html $bindir/godot.js $bindir/filesystem.js } package() { #Linux if test _arch == '32'; then upx $tempdir/linux_x11_32_release upx $tempdir/linux_x11_32_debug else upx $tempdir/linux_x11_64_release upx $tempdir/linux_x11_64_debug fi #Linux Server if test _arch == '32'; then upx $tempdir/linux_server_32 else upx $tempdir/linux_server_64 fi #Windows upx $tempdir/windows_32_debug.exe upx $tempdir/windows_32_release.exe x86_64-w64-mingw32-strip $tempdir/windows_64_release.exe x86_64-w64-mingw32-strip $tempdir/windows_64_debug.exe }