# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka global pkgname := 'moonscript' global pkgver := '0.5.0' global pkgrel := '0' global pkgdesc := '"A language that compiles to Lua'" global url := '"http://moonscript.org'" global arch := '"noarch'" global license := '"MIT'" global depends := '"lua-alt-getopt lua-filesystem lua-lpeg'" global checkdepends := '"lua-busted lua-loadkit'" global makedepends := '"luarocks'" global subpackages := ''"" global source := ""$pkgname-$pkgver.tar.gz::https://github.com/leafo/$pkgname/archive/v$pkgver.tar.gz"" global builddir := ""$srcdir/$pkgname-$pkgver"" # luajit is not available for s390x matchstr $CARCH { s390x { global _luajit := ''""} * { global checkdepends := ""$checkdepends luajit"," _luajit := '"jit'"} } global _luaversions := '"5.1 5.2 5.3'" for _v in [$_luaversions] { global subpackages := ""$subpackages lua$_v-$pkgname:_subpackage"" global checkdepends := ""$checkdepends lua$_v"" } proc prepare { default_prepare cd $builddir var lver = ''; for lver in [$_luaversions] { var name = ''; for name in [moon moonc] { sed "s|^#!/usr/bin/env lua|#!/usr/bin/lua$lver|" \ bin/$name > bin/$name-$lver } } } proc check { cd $builddir var lver = ''; for lver in [$_luaversions $_luajit] { msg "Testing on lua$lver" lua$lver /usr/bin/busted } } proc package { cd $builddir var name = ''; for name in [moon moonc] { install -D -m 755 bin/$name "$pkgdir"/usr/bin/$name } } proc _subpackage { var lver = $(subpkgname:3:3) global pkgdesc := ""$pkgdesc (for Lua $lver)"" global depends := ""lua$lver $(depends//lua-/lua$lver-)"" global install_if := ""$pkgname=$pkgver-r$pkgrel lua$lver"" var lmod_dir = ""$subpkgdir/usr/share/lua/$lver"" cd $builddir mkdir -p $lmod_dir cp -r moon moonscript moon.lua moonscript.lua "$lmod_dir"/ find $lmod_dir -name "*.moon" -delete var name = ''; for name in [moon moonc] { install -D -m 755 bin/$name-$lver "$subpkgdir"/usr/bin/$name-$lver } } global sha512sums := '"f573f9a96502662987de637f7f62b935fab93aa775122c9ae20d98029394e3136e6b519908ce76e1e77c51fbcee162c3ad0aa58eeb1ee56a2b07951437987941 moonscript-0.5.0.tar.gz'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(moonscript)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.5.0)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("A language that compiles to Lua"))} spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://moonscript.org"))} spids: [20] ) ] spids: [20] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[25])] spids: [25] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[30])] spids: [30] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("lua-alt-getopt lua-filesystem lua-lpeg"))} spids: [35] ) ] spids: [35] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checkdepends) op: Equal rhs: {(DQ ("lua-busted lua-loadkit"))} spids: [40] ) ] spids: [40] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ (luarocks))} spids:[45])] spids: [45] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[50])] spids: [50] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (".tar.gz::https://github.com/leafo/") ($ VSub_Name "$pkgname") (/archive/v) ($ VSub_Name "$pkgver") (.tar.gz) ) } spids: [54] ) ] spids: [54] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver"))} spids: [66] ) ] spids: [66] ) (Case to_match: {(DQ ($ VSub_Name "$CARCH"))} arms: [ (case_arm pat_list: [{(s390x)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_luajit) op:Equal rhs:{(DQ )} spids:[91])] spids: [91] ) ] spids: [88 89 94 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checkdepends) op: Equal rhs: {(DQ ($ VSub_Name "$checkdepends") (" luajit"))} spids: [100] ) (assign_pair lhs: (LhsName name:_luajit) op: Equal rhs: {(DQ (jit))} spids: [106] ) ] spids: [100] ) ] spids: [97 98 110 -1] ) ] spids: [79 85 112] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_luaversions) op: Equal rhs: {(DQ ("5.1 5.2 5.3"))} spids: [115] ) ] spids: [115] ) (ForEach iter_name: _v iter_words: [{($ VSub_Name "$_luaversions")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$subpackages") (" lua") ($ VSub_Name "$_v") (-) ($ VSub_Name "$pkgname") (":_subpackage") ) } spids: [132] ) ] spids: [132] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checkdepends) op: Equal rhs: {(DQ ($ VSub_Name "$checkdepends") (" lua") ($ VSub_Name "$_v"))} spids: [143] ) ] spids: [143] ) ] spids: [129 150] ) spids: [125 127] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(default_prepare)}) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[173])] spids: [171] ) terminator: ) (ForEach iter_name: lver iter_words: [{($ VSub_Name "$_luaversions")}] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:name) op:Equal spids:[190])] spids: [188] ) terminator: ) (ForEach iter_name: name iter_words: [{(moon)} {(moonc)}] do_arg_iter: False body: (DoGroup children: [ (SimpleCommand words: [ {(sed)} { (DQ ("s|^#!/usr/bin/env lua|#!/usr/bin/lua") ($ VSub_Name "$lver") ("|") ) } {(bin/) ($ VSub_Name "$name")} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(bin/) ($ VSub_Name "$name") (-) ($ VSub_Name "$lver")} spids: [220] ) ] ) ] spids: [204 228] ) spids: [198 202] ) ] spids: [185 231] ) spids: [181 183] ) ] spids: [157] ) spids: [153 156] ) (FuncDef name: check body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[253])] spids: [251] ) terminator: ) (ForEach iter_name: lver iter_words: [{($ VSub_Name "$_luaversions")} {($ VSub_Name "$_luajit")}] do_arg_iter: False body: (DoGroup children: [ (C {(msg)} {(DQ ("Testing on lua") ($ VSub_Name "$lver"))}) (C {(lua) ($ VSub_Name "$lver")} {(/usr/bin/busted)}) ] spids: [267 284] ) spids: [261 265] ) ] spids: [240] ) spids: [236 239] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:name) op:Equal spids:[306])] spids: [304] ) terminator: ) (ForEach iter_name: name iter_words: [{(moon)} {(moonc)}] do_arg_iter: False body: (DoGroup children: [ (C {(install)} {(-D)} {(-m)} {(755)} {(bin/) ($ VSub_Name "$name")} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/) ($ VSub_Name "$name")} ) ] spids: [320 341] ) spids: [314 318] ) ] spids: [293] ) spids: [289 292] ) (FuncDef name: _subpackage body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:lver) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 3)}) length: (ArithWord w:{(Lit_Digits 3)}) ) spids: [357 363] ) ) } spids: [355] ) ] spids: [353] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ($ VSub_Name "$pkgdesc") (" (for Lua ") ($ VSub_Name "$lver") (")"))} spids: [367] ) ] spids: [367] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: { (DQ (lua) ($ VSub_Name "$lver") (" ") (BracedVarSub token: suffix_op: (PatSub pat: {(lua-)} replace: {(lua) ($ VSub_Name "$lver") (-)} do_all: True do_prefix: False do_suffix: False ) spids: [381 390] ) ) } spids: [376] ) ] spids: [376] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_if) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("=") ($ VSub_Name "$pkgver") (-r) ($ VSub_Name "$pkgrel") (" lua") ($ VSub_Name "$lver") ) } spids: [394] ) ] spids: [394] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:lmod_dir) op: Equal rhs: {(DQ ($ VSub_Name "$subpkgdir") (/usr/share/lua/) ($ VSub_Name "$lver"))} spids: [408] ) ] spids: [406] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$lmod_dir"))}) (C {(cp)} {(-r)} {(moon)} {(moonscript)} {(moon.lua)} {(moonscript.lua)} {(DQ ($ VSub_Name "$lmod_dir")) (/)} ) (C {(find)} {(DQ ($ VSub_Name "$lmod_dir"))} {(-name)} {(DQ ("*.moon"))} {(-delete)}) (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:name) op:Equal spids:[470])] spids: [468] ) terminator: ) (ForEach iter_name: name iter_words: [{(moon)} {(moonc)}] do_arg_iter: False body: (DoGroup children: [ (C {(install)} {(-D)} {(-m)} {(755)} {(bin/) ($ VSub_Name "$name") (-) ($ VSub_Name "$lver")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/) ($ VSub_Name "$name") (-) ($ VSub_Name "$lver")} ) ] spids: [484 509] ) spids: [478 482] ) ] spids: [350] ) spids: [346 349] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "f573f9a96502662987de637f7f62b935fab93aa775122c9ae20d98029394e3136e6b519908ce76e1e77c51fbcee162c3ad0aa58eeb1ee56a2b07951437987941 moonscript-0.5.0.tar.gz" ) ) } spids: [514] ) ] spids: [514] ) ] )