[aur-general] PKGBUILD review

Ryan Whited dergottdergrunten at gmail.com
Fri Feb 5 05:33:56 UTC 2016


Couldn't figure out how to reply from digest (turned that off now) so
I guess I'm starting a new thread. I've completely overhauled the
PKGBUILD taking in critiques that I've received and some things I've
learned on my own.

As before, you can view the PKGBUILD at
https://github.com/godofgrunts/arch-PKGBUILDs/blob/master/godot-export


# 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')
install=$pkgname.install
_arch=''
if test "$CARCH" == x86_64; then
  _arch=('64')
else
  _arch=('32')
fi

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-"
    #export EMSCRIPTEN_ROOT=/usr/lib/emscripten
    cores=$(nproc)

    cd "${srcdir}"/${_rname}-${pkgver}-stable

    #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
    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
    fi

    #linux-server
    if test _arch == '32'; then
        scons -j $cores platform=server target=release_debug tools=no bits=32
    else
        scons -j $cores platform=server target=release_debug tools=no bits=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

    #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
    #scons -j $cores platform=javascript tools=no target=release
    #scons -j $cores platform=javascript tools=no target=release_debug

}

package() {

    install -D -m644 "${srcdir}"/${_rname}-${pkgver}-stable/LICENSE.md
"${pkgdir}/usr/share/licenses/${_rname}/LICENSE"

    #Linux
    if test _arch == '32'; then
        install -D -m755
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.x11.opt.32
${pkgdir}/usr/lib/godot/linux_x11_32_release
        install -D -m755
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.x11.opt.debug.32
${pkgdir}/usr/lib/godot/linux_x11_32_debug
        upx ${pkgdir}/usr/lib/godot/linux_x11_32_release
        upx ${pkgdir}/usr/lib/godot/linux_x11_32_debug
    else
        install -D -m755
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.x11.opt.64
${pkgdir}/usr/lib/godot/linux_x11_64_release
        install -D -m755
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.x11.opt.debug.64
${pkgdir}/usr/lib/godot/linux_x11_64_debug
        upx ${pkgdir}/usr/lib/godot/linux_x11_64_release
        upx ${pkgdir}/usr/lib/godot/linux_x11_64_debug
    fi

    #Linux Server
    if test _arch == '32'; then
        install -D -m755
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot_server.server.opt.debug.32
${pkgdir}/usr/lib/godot/linux_server_32
        upx ${pkgdir}/usr/lib/godot/linux_server_32
    else
        install -D -m755
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot_server.server.opt.debug.64
${pkgdir}/usr/lib/godot/linux_server_64
        upx ${pkgdir}/usr/lib/godot/linux_server_64
    fi

    #Windows
    install -D -m755
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.windows.opt.64.exe
${pkgdir}/usr/lib/godot/windows_64_release.exe
    install -D -m755
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.windows.opt.debug.64.exe
${pkgdir}/usr/lib/godot/windows_64_debug.exe
    install -D -m755
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.windows.opt.32.exe
${pkgdir}/usr/lib/godot/windows_32_release.exe
    install -D -m755
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.windows.opt.debug.32.exe
${pkgdir}/usr/lib/godot/windows_32_debug.exe
    upx ${pkgdir}/usr/lib/godot/windows_32_debug.exe
    upx ${pkgdir}/usr/lib/godot/windows_32_release.exe
    x86_64-w64-mingw32-strip ${pkgdir}/usr/lib/godot/windows_64_release.exe
    x86_64-w64-mingw32-strip ${pkgdir}/usr/lib/godot/windows_64_debug.exe

    #HTML5
    #cp "${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.javascript.opt.html
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.html
    #cp "${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.javascript.opt.js
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.js
    #cp "${srcdir}"/${_rname}-${pkgver}-stable/tools/html_fs/filesystem.js
"${srcdir}"/${_rname}-${pkgver}-stable/bin/filesystem.js

    #zip ${pkgdir}/usr/lib/godot/javascript_release.zip
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.html
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.js
"${srcdir}"/${_rname}-${pkgver}-stable/bin/filesystem.js

    #cp "${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.javascript.opt.debug.html
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.html
    #cp "${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.javascript.opt.debug.js
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.js

    #zip ${pkgdir}/usr/lib/godot/javascript_debug.zip
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.html
"${srcdir}"/${_rname}-${pkgver}-stable/bin/godot.js
"${srcdir}"/${_rname}-${pkgver}-stable/bin/filesystem.js
}

-- 
Thank you,
             Ryan Whited


More information about the aur-general mailing list