# Contributor: Carlo Landmeter # Maintainer: Jakub Jirutka global pkgname := 'luarocks' global pkgver := '2.4.3' global pkgrel := '0' global pkgdesc := '"Deployment and management system for Lua modules'" global url := '"http://www.luarocks.org/'" global arch := '"noarch'" global license := '"MIT'" global depends := '"curl'" global makedepends := ''"" global subpackages := ''"" global triggers := ''"" global source := ""http://luarocks.org/releases/$pkgname-$pkgver.tar.gz config.lua"" global builddir := ""$srcdir/$pkgname-$pkgver"" global _lua_versions := '"5.1 5.2 5.3'" for _v in [$_lua_versions] { global makedepends := ""$makedepends lua$_v-dev"" global subpackages := ""$subpackages $pkgname$(_v):_subpackage"" } proc prepare { default_prepare # Create builddir for each Lua version. var lver = ''; for lver in [$_lua_versions] { cp -r $builddir "$builddir-$lver" } } proc build { var lver = ''; for lver in [$_lua_versions] { msg "Building for Lua $lver..." cd "$builddir-$lver" ./configure \ --prefix=/usr \ --sysconfdir=/etc/luarocks \ --rocks-tree=/usr/local \ --lua-version="$lver" \ --lua-suffix="$lver" \ --with-lua-include="$[pkg-config --variable=includedir lua$lver]" \ --with-lua-lib="$[pkg-config --variable=libdir lua$lver]" \ --with-downloader=curl \ --with-md5-checker=md5sum \ --versioned-rocks-dir make } } proc package { mkdir -p $pkgdir } proc _subpackage { var lver = $(subpkgname#$pkgname) global pkgdesc := ""Deployment and management system for Lua $lver modules"" global install_if := ""lua$lver $pkgname=$pkgver-r$pkgrel"" global depends := ""lua$lver"" global triggers := ""$subpkgname.trigger=/usr/lib/luarocks/rocks-$lver/*"" cd "$builddir-$lver" make install DESTDIR="$subpkgdir" # Remove default script names which conflict per Lua version. rm "$subpkgdir"/usr/bin/luarocks \ "$subpkgdir"/usr/bin/luarocks-admin # Set the correct Lua version. sed -i "s/env lua/env lua$(lver)/" \ "$subpkgdir"/usr/bin/luarocks-$lver \ "$subpkgdir"/usr/bin/luarocks-admin-$lver # Config based on: # https://github.com/luarocks/luarocks/wiki/Integrating-distro-modules-with-LuaRocks install -D -m 644 "$srcdir"/config.lua "$subpkgdir"/etc/$pkgname/config-$lver.lua } global sha512sums := '"a4efe19e650772594db107218422333d462a843561f37787744244d359bb6337dfbcfd143f5f7c407725409f54754f3bf7552423cbb31c4633d9960af1d2f9bf luarocks-2.4.3.tar.gz c41bf3f8491e25d69ce0fee379203cc3721f2c79bb9ff652488aa2d66bc1e4613bd59d331cf17b9f18521d4f63539ce946b6a39038dc844083463c2c96f71811 config.lua'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(luarocks)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.4.3)} 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 ("Deployment and management system for Lua modules"))} spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.luarocks.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 (curl))} spids:[35])] spids: [35] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[40])] spids: [40] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[44])] spids: [44] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:triggers) op:Equal rhs:{(DQ )} spids:[48])] spids: [48] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://luarocks.org/releases/") ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tconfig.lua") ) } spids: [52] ) ] spids: [52] ) (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: [62] ) ] spids: [62] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_lua_versions) op: Equal rhs: {(DQ ("5.1 5.2 5.3"))} spids: [72] ) ] spids: [72] ) (ForEach iter_name: _v iter_words: [{($ VSub_Name "$_lua_versions")}] 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: [89] ) ] spids: [89] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$subpackages") (" ") ($ VSub_Name "$pkgname") (${ VSub_Name _v) (":_subpackage") ) } spids: [98] ) ] spids: [98] ) ] spids: [86 109] ) spids: [82 84] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(default_prepare)}) (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[129])] spids: [127] ) terminator: ) (ForEach iter_name: lver iter_words: [{($ VSub_Name "$_lua_versions")}] do_arg_iter: False body: (DoGroup children: [ (C {(cp)} {(-r)} {(DQ ($ VSub_Name "$builddir"))} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))} ) ] spids: [141 159] ) spids: [137 139] ) ] spids: [116] ) spids: [112 115] ) (FuncDef name: build body: (BraceGroup children: [ (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 "$_lua_versions")}] 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"))}) (C {(./configure)} {(--prefix) (Lit_Other "=") (/usr)} {(--sysconfdir) (Lit_Other "=") (/etc/luarocks)} {(--rocks-tree) (Lit_Other "=") (/usr/local)} {(--lua-version) (Lit_Other "=") (DQ ($ VSub_Name "$lver"))} {(--lua-suffix) (Lit_Other "=") (DQ ($ VSub_Name "$lver"))} {(--with-lua-include) (Lit_Other "=") (DQ (CommandSubPart command_list: (CommandList children: [ (C {(pkg-config)} {(--variable) (Lit_Other "=") (includedir)} {(lua) ($ VSub_Name "$lver")} ) ] ) left_token: spids: [248 257] ) ) } {(--with-lua-lib) (Lit_Other "=") (DQ (CommandSubPart command_list: (CommandList children: [ (C {(pkg-config)} {(--variable) (Lit_Other "=") (libdir)} {(lua) ($ VSub_Name "$lver")} ) ] ) left_token: spids: [265 274] ) ) } {(--with-downloader) (Lit_Other "=") (curl)} {(--with-md5-checker) (Lit_Other "=") (md5sum)} {(--versioned-rocks-dir)} ) (C {(make)}) ] spids: [185 297] ) spids: [181 183] ) ] spids: [168] ) spids: [164 167] ) (FuncDef name: package body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})] spids:[306]) spids: [302 305] ) (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: (StringUnary op_id:VOp1_Pound arg_word:{($ VSub_Name "$pkgname")}) spids: [331 335] ) ) } spids: [329] ) ] spids: [327] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: { (DQ ("Deployment and management system for Lua ") ($ VSub_Name "$lver") (" modules") ) } spids: [339] ) ] spids: [339] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_if) op: Equal rhs: { (DQ (lua) ($ VSub_Name "$lver") (" ") ($ VSub_Name "$pkgname") ("=") ($ VSub_Name "$pkgver") (-r) ($ VSub_Name "$pkgrel") ) } spids: [347] ) ] spids: [347] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (lua) ($ VSub_Name "$lver"))} spids: [360] ) ] spids: [360] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:triggers) op: Equal rhs: { (DQ ($ VSub_Name "$subpkgname") (".trigger=/usr/lib/luarocks/rocks-") ($ VSub_Name "$lver") ("/*") ) } spids: [367] ) ] spids: [367] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$lver"))}) (C {(make)} {(install)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$subpkgdir"))}) (C {(rm)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/luarocks)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/luarocks-admin)} ) (C {(sed)} {(-i)} {(DQ ("s/env lua/env lua") (${ VSub_Name lver) (/))} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/luarocks-) ($ VSub_Name "$lver")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/luarocks-admin-) ($ VSub_Name "$lver")} ) (C {(install)} {(-D)} {(-m)} {(644)} {(DQ ($ VSub_Name "$srcdir")) (/config.lua)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/config-) ($ VSub_Name "$lver") (.lua) } ) ] spids: [324] ) spids: [320 323] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "a4efe19e650772594db107218422333d462a843561f37787744244d359bb6337dfbcfd143f5f7c407725409f54754f3bf7552423cbb31c4633d9960af1d2f9bf luarocks-2.4.3.tar.gz\n" ) ( "c41bf3f8491e25d69ce0fee379203cc3721f2c79bb9ff652488aa2d66bc1e4613bd59d331cf17b9f18521d4f63539ce946b6a39038dc844083463c2c96f71811 config.lua" ) ) } spids: [485] ) ] spids: [485] ) ] )