[aur-general] PKGBUILD review

Mark Weiman mark.weiman at markzz.com
Sun Jan 31 16:36:47 UTC 2016


My main concern about this PKGBUILD other than it using directories in
the user's home folder is why are you putting compilation commands for
other operating systems in there? This should just be for Arch Linux as
a PKGBUILD is only used for use with pacman.

Mark Weiman

On Fri, 2016-01-29 at 16:53 -0500, Ryan Whited wrote:
> 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-expor
> t
> 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
> }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part
URL: <https://lists.archlinux.org/pipermail/aur-general/attachments/20160131/9599cc40/attachment.asc>


More information about the aur-general mailing list