# Contributor: Daniel Sabogal # Maintainer: Jakub Jirutka global pkgname := 'lua-mpack' global _rockname := 'mpack' global _pkgname := 'libmpack-lua' global pkgver := '1.0.6' global pkgrel := '1' global _libmpack_ver := '1.0.4' global pkgdesc := '"Libmpack bindings for Lua'" global url := '"https://github.com/libmpack/libmpack-lua'" global arch := '"all'" global license := '"MIT'" global makedepends := '"libmpack-dev'" global checkdepends := '"lua-busted'" global subpackages := ''"" global source := ""$_pkgname-$pkgver.tar.gz::https://github.com/libmpack/$_pkgname/archive/$pkgver.tar.gz libmpack-$_libmpack_ver.tar.gz::https://github.com/libmpack/libmpack/archive/$_libmpack_ver.tar.gz skip-memleak-test.patch dont-install-busted.patch dont-download-libmpack.patch"" global builddir := ""$srcdir/$_pkgname-$pkgver"" global _luaversions := '"5.1 5.2 5.3'" for _v in [$_luaversions] { global makedepends := ""$makedepends lua$_v-dev"" global subpackages := ""$subpackages lua$_v-$(pkgname#lua-):_subpackage"" } proc prepare { cd $builddir var libver = $[sed -En "s/^MPACK_VERSION\s*\??=\s*([^ ]+).*/\1/p" Makefile] if test $libver != $_libmpack_ver { warning "libmpack-lua should be built with libmpack $libver, not $_libmpack_ver!" } ln -s "$srcdir"/libmpack-$_libmpack_ver mpack-src || return 1 default_prepare || return 1 var lver = ''; for lver in [$_luaversions] { cp -r $builddir "$builddir-$lver" || return 1 } } proc build { var lver = ''; for lver in [$_luaversions] { msg "Building for Lua $lver..." make -C "$builddir-$lver" \ CFLAGS="$CFLAGS -lmpack" \ FETCH=false \ USE_SYSTEM_LUA=yes \ LUA_INCLUDE="$[pkg-config --cflags lua$lver]" \ LUA_LIB="$[pkg-config --libs lua$lver]" || return 1 } } proc check { var lver = ''; for lver in [$_luaversions] { msg "Testing on Lua $lver..." make -C "$builddir-$lver" \ USE_SYSTEM_LUA=yes \ LUA=/usr/bin/lua$lver \ BUSTED=/usr/bin/busted-$lver \ test || return 1 } } proc package { mkdir -p $pkgdir } proc _subpackage { var lver = $(subpkgname:3:3) global pkgdesc := ""$pkgdesc $lver"" global install_if := ""$pkgname=$pkgver-r$pkgrel lua$lver"" var rockdir = ""$subpkgdir/usr/lib/luarocks/rocks-$lver/$_rockname/$pkgver-0"" make -C "$builddir-$lver" \ USE_SYSTEM_LUA=yes \ LUA_CMOD_INSTALLDIR="$[pkg-config --variable=INSTALL_CMOD lua$lver]" \ DESTDIR="$subpkgdir" \ install mkdir -p $rockdir echo 'rock_manifest = {}' > "$rockdir"/rock_manifest } global sha512sums := '"3a2f0697f94957c15a78ff24b296a034f301d1e8ab51d5636389f0fad7be838d450c59038c61d4173fa9e0463aa5565cfc0c35c273b4961a5e5631d343ca0605 libmpack-lua-1.0.6.tar.gz 8e40a562faf8b62137dec0733cbb9006fa7054e5a47bdd128fb4dfd676fac4e4385a23c3d908a4ce2edd65d673db25916695fa74bc08c5316b0c80e571a7442c libmpack-1.0.4.tar.gz af6b670c1007aa86b696798ede30d17addc45d27dd7e78be6e7bd4a3eac931a9ce47b8e12d8146dadf44c80d21917983a836915dd8f0c33abf3be0381a24a642 skip-memleak-test.patch f688f34c6893dbb4590b93e14de459c33d8efe621a41699a36286b117b874fac37fe473ef46ad2f2855c4672d90defb600c7e93555989d0c45a4964fda49c5a9 dont-install-busted.patch 6c151d65f2f5c2e5e5b5f851035a7be478544cf4152e40d81d2abdca724a6e41b3767e37e9ed59f1aa8d269477ae768716f7c6e4dfc93bc3cf577e83c6c0da56 dont-download-libmpack.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-mpack)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_rockname) op:Equal rhs:{(mpack)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(libmpack-lua)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.0.6)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[18])] spids: [18] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_libmpack_ver) op:Equal rhs:{(1.0.4)} spids:[21])] spids: [21] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Libmpack bindings for Lua"))} spids: [24] ) ] spids: [24] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("https://github.com/libmpack/libmpack-lua"))} spids: [29] ) ] spids: [29] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[34])] spids: [34] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[39])] spids: [39] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ (libmpack-dev))} spids: [44] ) ] spids: [44] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checkdepends) op: Equal rhs: {(DQ (lua-busted))} spids: [49] ) ] spids: [49] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[54])] spids: [54] ) (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/libmpack/") ($ VSub_Name "$_pkgname") (/archive/) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tlibmpack-") ($ VSub_Name "$_libmpack_ver") (".tar.gz::https://github.com/libmpack/libmpack/archive/") ($ VSub_Name "$_libmpack_ver") (".tar.gz\n") ("\tskip-memleak-test.patch\n") ("\tdont-install-busted.patch\n") ("\tdont-download-libmpack.patch") ) } spids: [58] ) ] spids: [58] ) (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: [78] ) ] spids: [78] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_luaversions) op: Equal rhs: {(DQ ("5.1 5.2 5.3"))} spids: [88] ) ] spids: [88] ) (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:makedepends) op: Equal rhs: {(DQ ($ VSub_Name "$makedepends") (" lua") ($ VSub_Name "$_v") (-dev))} spids: [105] ) ] spids: [105] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$subpackages") (" lua") ($ VSub_Name "$_v") (-) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(lua-)}) spids: [120 124] ) (":_subpackage") ) } spids: [114] ) ] spids: [114] ) ] spids: [102 128] ) spids: [98 100] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:libver) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-En)} { (DQ ("s/^MPACK_VERSION") (EscapedLiteralPart token: ) ("*") (EscapedLiteralPart token:) ("?=") (EscapedLiteralPart token: ) ("*([^ ]+).*/") (EscapedLiteralPart token:) (/p) ) } {(Makefile)} ) ] ) left_token: spids: [149 167] ) } spids: [148] ) ] spids: [146] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$libver"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$_libmpack_ver"))} {(Lit_Other "]")} ) terminator: ) ] action: [ (C {(warning)} { (DQ ("libmpack-lua should be built with libmpack ") ($ VSub_Name "$libver") (", not ") ($ VSub_Name "$_libmpack_ver") ("!") ) } ) ] spids: [-1 188] ) ] spids: [-1 202] ) (AndOr children: [ (C {(ln)} {(-s)} {(DQ ($ VSub_Name "$srcdir")) (/libmpack-) ($ VSub_Name "$_libmpack_ver")} {(mpack-src)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(default_prepare)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[238])] spids: [236] ) terminator: ) (ForEach iter_name: lver iter_words: [{($ VSub_Name "$_luaversions")}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(cp)} {(-r)} {(DQ ($ VSub_Name "$builddir"))} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [250 274] ) spids: [246 248] ) ] spids: [135] ) spids: [131 134] ) (FuncDef name: build body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[288])] spids: [286] ) terminator: ) (ForEach iter_name: lver iter_words: [{($ VSub_Name "$_luaversions")}] do_arg_iter: False body: (DoGroup children: [ (C {(msg)} {(DQ ("Building for Lua ") ($ VSub_Name "$lver") (...))}) (AndOr children: [ (C {(make)} {(-C)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))} {(Lit_VarLike "CFLAGS=") (DQ ($ VSub_Name "$CFLAGS") (" -lmpack"))} {(Lit_VarLike "FETCH=") (false)} {(Lit_VarLike "USE_SYSTEM_LUA=") (yes)} {(Lit_VarLike "LUA_INCLUDE=") (DQ (CommandSubPart command_list: (CommandList children: [ (C {(pkg-config)} {(--cflags)} {(lua) ($ VSub_Name "$lver")}) ] ) left_token: spids: [344 351] ) ) } {(Lit_VarLike "LUA_LIB=") (DQ (CommandSubPart command_list: (CommandList children: [ (C {(pkg-config)} {(--libs)} {(lua) ($ VSub_Name "$lver")}) ] ) left_token: spids: [358 365] ) ) } ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [300 375] ) spids: [296 298] ) ] spids: [283] ) spids: [279 282] ) (FuncDef name: check body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[389])] spids: [387] ) terminator: ) (ForEach iter_name: lver iter_words: [{($ VSub_Name "$_luaversions")}] do_arg_iter: False body: (DoGroup children: [ (C {(msg)} {(DQ ("Testing on Lua ") ($ VSub_Name "$lver") (...))}) (AndOr children: [ (C {(make)} {(-C)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))} {(Lit_VarLike "USE_SYSTEM_LUA=") (yes)} {(Lit_VarLike "LUA=") (/usr/bin/lua) ($ VSub_Name "$lver")} {(Lit_VarLike "BUSTED=") (/usr/bin/busted-) ($ VSub_Name "$lver")} {(test)} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [401 451] ) spids: [397 399] ) ] spids: [384] ) spids: [380 383] ) (FuncDef name: package body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})] spids:[460]) spids: [456 459] ) (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: [485 491] ) ) } spids: [483] ) ] spids: [481] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ($ VSub_Name "$pkgdesc") (" ") ($ VSub_Name "$lver"))} spids: [495] ) ] spids: [495] ) (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: [503] ) ] spids: [503] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:rockdir) op: Equal rhs: { (DQ ($ VSub_Name "$subpkgdir") (/usr/lib/luarocks/rocks-) ($ VSub_Name "$lver") (/) ($ VSub_Name "$_rockname") (/) ($ VSub_Name "$pkgver") (-0) ) } spids: [517] ) ] spids: [515] ) (C {(make)} {(-C)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))} {(Lit_VarLike "USE_SYSTEM_LUA=") (yes)} {(Lit_VarLike "LUA_CMOD_INSTALLDIR=") (DQ (CommandSubPart command_list: (CommandList children: [ (C {(pkg-config)} {(--variable) (Lit_Other "=") (INSTALL_CMOD)} {(lua) ($ VSub_Name "$lver")} ) ] ) left_token: spids: [550 559] ) ) } {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$subpkgdir"))} {(install)} ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$rockdir"))}) (SimpleCommand words: [{(echo)} {(SQ <"rock_manifest = {}">)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$rockdir")) (/rock_manifest)} spids: [590] ) ] ) ] spids: [478] ) spids: [474 477] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "3a2f0697f94957c15a78ff24b296a034f301d1e8ab51d5636389f0fad7be838d450c59038c61d4173fa9e0463aa5565cfc0c35c273b4961a5e5631d343ca0605 libmpack-lua-1.0.6.tar.gz\n" ) ( "8e40a562faf8b62137dec0733cbb9006fa7054e5a47bdd128fb4dfd676fac4e4385a23c3d908a4ce2edd65d673db25916695fa74bc08c5316b0c80e571a7442c libmpack-1.0.4.tar.gz\n" ) ( "af6b670c1007aa86b696798ede30d17addc45d27dd7e78be6e7bd4a3eac931a9ce47b8e12d8146dadf44c80d21917983a836915dd8f0c33abf3be0381a24a642 skip-memleak-test.patch\n" ) ( "f688f34c6893dbb4590b93e14de459c33d8efe621a41699a36286b117b874fac37fe473ef46ad2f2855c4672d90defb600c7e93555989d0c45a4964fda49c5a9 dont-install-busted.patch\n" ) ( "6c151d65f2f5c2e5e5b5f851035a7be478544cf4152e40d81d2abdca724a6e41b3767e37e9ed59f1aa8d269477ae768716f7c6e4dfc93bc3cf577e83c6c0da56 dont-download-libmpack.patch" ) ) } spids: [600] ) ] spids: [600] ) ] )