# Contributor: Ɓukasz Jendrysik # Maintainer: Leonardo Arena global _luaversions := '"5.1 5.2 5.3'" global pkgname := 'lua-dbi' global _realname := 'luadbi' global pkgver := '0.5' global pkgrel := '7' global pkgdesc := '"A database interface library for Lua'" global url := '"http://code.google.com/p/luadbi'" global arch := '"all'" global license := '"GPL'" global depends := ''"" global makedepends := '"lua-dev mariadb-dev postgresql-dev sqlite-dev'" global install := ''"" global _subpackages := ""$pkgname-mysql $pkgname-postgresql $pkgname-sqlite3"" global source := ""https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/luadbi/luadbi.$pkgver.tar.gz lua-dbi-0.5-sync-hg-47382fea7a9c.patch"" for _v in [$_luaversions] { global makedepends := ""$makedepends lua$_v-dev"" for subpkg in [$_subpackages] { global subpackages := ""$subpackages lua$_v-$(subpkg#lua-):_subpackage"" } } global builddir := $srcdir proc prepare { 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..." cd "$builddir-$lver" echo LUA_IMPL=lua$lver >> .config make LUA_VERSION=$lver || return 1 } } proc package { mkdir -p $pkgdir } proc _subpackage { var lver = $(subpkgname:3:3) global pkgdesc := ""$pkgdesc (for Lua $lver)"" global depends := ""lua$lver"" global install_if := ""$pkgname=$pkgver-r$pkgrel lua$lver"" cd "$builddir-$lver" install -D -m755 "$builddir-$lver"/DBI.lua \ "$subpkgdir"/usr/share/lua/$lver/DBI.lua || return 1 for db in [sqlite3 postgresql mysql] { if test $(subpkgname%$db) != $subpkgname { install -D -m644 "$builddir-$lver"/dbd$(db).so \ "$subpkgdir"/usr/lib/lua/$lver/dbd$(db).so } } } global md5sums := '"ede2b003aadddc151aac87050c3d926e luadbi.0.5.tar.gz a1359b3a96a21a010310b505c667f8aa lua-dbi-0.5-sync-hg-47382fea7a9c.patch'" global sha256sums := '"49116458dd80052536bf5d7e2b2a1f5a0fa42a671ce77f1cb7355ef7faeb331e luadbi.0.5.tar.gz c6cd0587d789fa9af4687dac471e8b05aea63022224b0da482ec9dcfc7998dd2 lua-dbi-0.5-sync-hg-47382fea7a9c.patch'" global sha512sums := '"4ed641e113e90acc8a4f6b3b2d0f5d5044c0fbbef3b2fdfb84d15e17115e45c553a33b19bfb165e5af11a2adce501d66859963e3363d3ab1c6a39b0b2ae92e62 luadbi.0.5.tar.gz e4f5dc5a75204e7fc1221b4322f1044889a417c6bf7f01bfc7249756a3739931423c66282b560f223f4ea8ef7e1d8311fbe5dfa281d0102a835c436ace7470e4 lua-dbi-0.5-sync-hg-47382fea7a9c.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_luaversions) op: Equal rhs: {(DQ ("5.1 5.2 5.3"))} spids: [6] ) ] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-dbi)} spids:[11])] spids: [11] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_realname) op:Equal rhs:{(luadbi)} spids:[14])] spids: [14] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.5)} spids:[17])] spids: [17] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(7)} spids:[20])] spids: [20] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("A database interface library for Lua"))} spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://code.google.com/p/luadbi"))} spids: [28] ) ] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL))} spids:[38])] spids: [38] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[43])] spids: [43] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ("lua-dev mariadb-dev postgresql-dev sqlite-dev"))} spids: [47] ) ] spids: [47] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[52])] spids: [52] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-mysql ") ($ VSub_Name "$pkgname") ("-postgresql ") ($ VSub_Name "$pkgname") (-sqlite3) ) } spids: [56] ) ] spids: [56] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ( "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/luadbi/luadbi." ) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tlua-dbi-0.5-sync-hg-47382fea7a9c.patch") ) } spids: [66] ) ] spids: [66] ) (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: [87] ) ] spids: [87] ) (ForEach iter_name: subpkg iter_words: [{($ VSub_Name "$_subpackages")}] 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") (-) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(lua-)}) spids: [114 118] ) (":_subpackage") ) } spids: [108] ) ] spids: [108] ) ] spids: [105 123] ) spids: [101 103] ) ] spids: [84 125] ) spids: [80 82] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir"))} spids: [128] ) ] spids: [128] ) (FuncDef name: prepare body: (BraceGroup children: [ (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:[152])] spids: [150] ) 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: [164 188] ) spids: [160 162] ) ] spids: [138] ) spids: [134 137] ) (FuncDef name: build body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[202])] spids: [200] ) 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") (...))}) (C {(cd)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))}) (SimpleCommand words: [{(echo)} {(Lit_VarLike "LUA_IMPL=") (lua) ($ VSub_Name "$lver")}] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(.config)} spids:[241])] ) (AndOr children: [ (C {(make)} {(Lit_VarLike "LUA_VERSION=") ($ VSub_Name "$lver")}) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [214 258] ) spids: [210 212] ) ] spids: [197] ) spids: [193 196] ) (FuncDef name: package body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})] spids:[267]) spids: [263 266] ) (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: [292 298] ) ) } spids: [290] ) ] spids: [288] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ($ VSub_Name "$pkgdesc") (" (for Lua ") ($ VSub_Name "$lver") (")"))} spids: [302] ) ] spids: [302] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (lua) ($ VSub_Name "$lver"))} spids: [311] ) ] spids: [311] ) (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: [318] ) ] spids: [318] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))}) (AndOr children: [ (C {(install)} {(-D)} {(-m755)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver")) (/DBI.lua)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/lua/) ($ VSub_Name "$lver") (/DBI.lua)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (ForEach iter_name: db iter_words: [{(sqlite3)} {(postgresql)} {(mysql)}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {($ VSub_Name "$db")} ) spids: [389 393] ) ) } {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$subpkgname"))} {(Lit_Other "]")} ) terminator: ) ] action: [ (C {(install)} {(-D)} {(-m644)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver")) (/dbd) (${ VSub_Name db) (.so) } {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/lua/) ($ VSub_Name "$lver") (/dbd) (${ VSub_Name db) (.so)} ) ] spids: [-1 406] ) ] spids: [-1 440] ) ] spids: [381 443] ) spids: [373 379] ) ] spids: [285] ) spids: [281 284] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: { (DQ ("ede2b003aadddc151aac87050c3d926e luadbi.0.5.tar.gz\n") ("a1359b3a96a21a010310b505c667f8aa lua-dbi-0.5-sync-hg-47382fea7a9c.patch") ) } spids: [448] ) ] spids: [448] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha256sums) op: Equal rhs: { (DQ ( "49116458dd80052536bf5d7e2b2a1f5a0fa42a671ce77f1cb7355ef7faeb331e luadbi.0.5.tar.gz\n" ) ( "c6cd0587d789fa9af4687dac471e8b05aea63022224b0da482ec9dcfc7998dd2 lua-dbi-0.5-sync-hg-47382fea7a9c.patch" ) ) } spids: [454] ) ] spids: [454] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "4ed641e113e90acc8a4f6b3b2d0f5d5044c0fbbef3b2fdfb84d15e17115e45c553a33b19bfb165e5af11a2adce501d66859963e3363d3ab1c6a39b0b2ae92e62 luadbi.0.5.tar.gz\n" ) ( "e4f5dc5a75204e7fc1221b4322f1044889a417c6bf7f01bfc7249756a3739931423c66282b560f223f4ea8ef7e1d8311fbe5dfa281d0102a835c436ace7470e4 lua-dbi-0.5-sync-hg-47382fea7a9c.patch" ) ) } spids: [460] ) ] spids: [460] ) ] )