| 1 | # Contributor: Jakub Jirutka <[email protected]> |
| 2 | # Maintainer: Jakub Jirutka <[email protected]> |
| 3 | pkgname=moonscript |
| 4 | pkgver=0.5.0 |
| 5 | pkgrel=3 |
| 6 | pkgdesc="A language that compiles to Lua" |
| 7 | url="https://moonscript.org" |
| 8 | arch="noarch" |
| 9 | license="MIT" |
| 10 | depends="lua-alt-getopt lua-filesystem lua-lpeg" |
| 11 | checkdepends="lua-busted" |
| 12 | makedepends="luarocks" |
| 13 | source="$pkgname-$pkgver.tar.gz::https://github.com/leafo/moonscript/archive/v$pkgver.tar.gz" |
| 14 | |
| 15 | _luaversions="5.1 5.2 5.3 5.4" |
| 16 | for _v in $_luaversions; do |
| 17 | subpackages="$subpackages lua$_v-$pkgname:_subpackage" |
| 18 | checkdepends="$checkdepends lua$_v lua$_v-busted lua$_v-loadkit" |
| 19 | done |
| 20 | |
| 21 | prepare() { |
| 22 | default_prepare |
| 23 | |
| 24 | local lver; for lver in $_luaversions; do |
| 25 | local name; for name in moon moonc; do |
| 26 | sed "s|^#!/usr/bin/env lua|#!/usr/bin/lua$lver|" \ |
| 27 | bin/$name > bin/$name-$lver |
| 28 | done |
| 29 | done |
| 30 | } |
| 31 | |
| 32 | check() { |
| 33 | local lver; for lver in $_luaversions; do |
| 34 | msg "Testing on lua$lver" |
| 35 | lua$lver /usr/bin/busted |
| 36 | done |
| 37 | } |
| 38 | |
| 39 | package() { |
| 40 | local name; for name in moon moonc; do |
| 41 | install -D -m 755 bin/$name "$pkgdir"/usr/bin/$name |
| 42 | done |
| 43 | } |
| 44 | |
| 45 | _subpackage() { |
| 46 | local lver="${subpkgname:3:3}" |
| 47 | pkgdesc="$pkgdesc (for Lua $lver)" |
| 48 | depends="lua$lver ${depends//lua-/lua$lver-}" |
| 49 | install_if="$pkgname=$pkgver-r$pkgrel lua$lver" |
| 50 | local lmod_dir="$subpkgdir/usr/share/lua/$lver" |
| 51 | |
| 52 | cd "$builddir" |
| 53 | |
| 54 | mkdir -p "$lmod_dir" |
| 55 | cp -r moon moonscript moon.lua moonscript.lua "$lmod_dir"/ |
| 56 | find "$lmod_dir" -name "*.moon" -delete |
| 57 | |
| 58 | local name; for name in moon moonc; do |
| 59 | install -D -m 755 bin/$name-$lver "$subpkgdir"/usr/bin/$name-$lver |
| 60 | done |
| 61 | } |
| 62 | |
| 63 | sha512sums=" |
| 64 | f573f9a96502662987de637f7f62b935fab93aa775122c9ae20d98029394e3136e6b519908ce76e1e77c51fbcee162c3ad0aa58eeb1ee56a2b07951437987941 moonscript-0.5.0.tar.gz |
| 65 | " |