<pre style='margin:0'>
Zero King (l2dy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/cceb8d52f1470c3c0813024692d1e5ef2571cb58">https://github.com/macports/macports-ports/commit/cceb8d52f1470c3c0813024692d1e5ef2571cb58</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit cceb8d52f1470c3c0813024692d1e5ef2571cb58
</span>Author: Zero King <l2dy@macports.org>
AuthorDate: Fri May 28 13:31:49 2021 +0000
<span style='display:block; white-space:pre;color:#404040;'> luarocks-1.0: new PortGroup
</span>---
_resources/port1.0/group/luarocks-1.0.tcl | 368 ++++++++++++++++++++++++++++++
1 file changed, 368 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/luarocks-1.0.tcl b/_resources/port1.0/group/luarocks-1.0.tcl
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..66389c09697
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/luarocks-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,368 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Usage:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 1. use luarocks.setup and luarocks.branches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# PortGroup luarocks 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.branches 5.1 5.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.setup module version type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# # - adds subport "lua51-module" and "lua52-module"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 2. use luarocks.branch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# PortGroup luarocks 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.branch 3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# depends_lib port:luarocks${luarocks.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# build.cmd ${luarocks.bin}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# options:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.branches: the luarocks versions supported by this module.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# this introduces subports such as lua51-, lua52-, ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.branch: select luarocks version. 5.1, ... 5.2 or 5.3.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.link_binaries: whether to generate suffixed symlink under ${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# or not.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.link_binaries_suffix: suffix of commands from lua-foo under
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ${prefix}/bin. such as "-5.1" or "-5.2".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# values:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.bin: fullpath to commands for ${luarocks.branch}.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.suffix: suffix of portname. port:luarocks${luarocks.suffix} or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# port:lua${luarocks.suffix}-foo.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.bindir: install location of commands without suffix from lua-foo.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# values from luarocks.setup:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.module: port name without prefix. lua-${luarocks.module}.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks.project: project name at luarocks.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options luarocks.default_branch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default luarocks.default_branch {[luarocks_get_default_version]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options luarocks.branch luarocks.branches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default luarocks.branches {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options luarocks.dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default luarocks.dependencies {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options luarocks.bin luarocks.bindir luarocks.rocksdir luarocks.suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc luarocks_get_default_version {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global luarocks.branches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set def_v 5.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[info exists luarocks.branches]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${def_v} in ${luarocks.branches}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ${def_v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return [lindex ${luarocks.branches} end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ${def_v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+option_proc luarocks.branch luarocks_set_branch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc luarocks_set_branch {option action args} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$action ne "set"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.latest_branch 5.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global prefix luarocks.branch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ luarocks.bin luarocks.bindir luarocks.rocksdir \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ luarocks.suffix luarocks.branch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.bin ${prefix}/bin/luarocks-${luarocks.branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.bindir ${prefix}/libexec/lua${luarocks.branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.rocksdir ${prefix}/lib/luarocks/rocks-${luarocks.branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.suffix [join [split ${luarocks.branch} .] {}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${luarocks.branch} eq ${luarocks.latest_branch}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.suffix ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# if {${luarocks.branch} eq ${luarocks.latest_branch}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# set luarocks.branch ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set luarocks.module ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set luarocks.filename ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set luarocks.distname ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set luarocks.project ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set luarocks.docs {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set luarocks.branch ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+luarocks.branch ${luarocks.default_branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options luarocks.link_binaries luarocks.link_binaries_suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default luarocks.link_binaries yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default luarocks.link_binaries_suffix {-${luarocks.branch}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# luarocks group setup procedure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc luarocks.setup {module vers {type "src.rock"} {docs {}} {source "custom"} {implementation "luarocks"}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global name subport luarocks.branches luarocks.default_branch luarocks.dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global destroot prefix distpath distname worksrcpath os.platform
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global configure.cc configure.cflags configure.ldflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global luarocks.bin luarocks.branch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global luarocks.suffix luarocks.bindir luarocks.rocksdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global luarocks.module luarocks.filename luarocks.distname luarocks.project luarocks.docs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version ${vers}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ categories lua
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define luarocks global names and lists
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # check if module is a list or string
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength ${module}] > 1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # if a list, first item is the module name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.module [lindex ${module} 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # second argument is the project & file name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.project [lindex ${module} 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.filename [lindex ${module} 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # else, module, project, and file name are the same
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.module ${module}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.project ${module}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.filename ${module}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${luarocks.branches} ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # add subports luaXX-module from ${luarocks.branches}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![info exists name]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name lua-[string tolower ${luarocks.module}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string match lua-* $name]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # stub port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set rootname [string range $name 4 end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach v ${luarocks.branches} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set suffix [join [split ${v} .] {}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ subport lua${suffix}-${rootname} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ luarocks.branch ${v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib port:lua${luarocks.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$subport eq $name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ luarocks.link_binaries no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ supported_archs noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib port:lua[join [split ${luarocks.default_branch} .] {}][string trimleft $name lua]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d -m 0755 ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "echo $name is a stub port > ${destroot}${prefix}/share/doc/${name}/README"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch ${implementation} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lua52 { luarocks.branch 5.2 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lua { luarocks.branch 5.3 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "luarocks.setup: unknown implementation '${implementation}' specified"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "luarocks.setup failed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name lua${luarocks.suffix}-[string tolower ${luarocks.module}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib port:${implementation}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.docs ${docs}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # set source to luarocks by default for type "rock"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string match *.rock $type] && (${source} eq "custom")} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set source luarocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch -glob ${source} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ luarocks {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites https://luarocks.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set suffix [join [split ${luarocks.branch} .] {}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach v ${luarocks.dependencies} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:lua${suffix}-[string tolower ${v}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set luarocks.distname ${luarocks.filename}-${vers}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dist_subdir luarocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.env-append CC="${configure.cc}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.env-append "CFLAGS=${configure.cflags} [get_canonical_archflags cc]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.env-append "LDFLAGS=${configure.ldflags} [get_canonical_archflags ld]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/luarocks/luarocks/wiki/Types-of-rocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch -glob ${type} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rockspec {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ proc luarocks.add_distfiles {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global version luarocks.filename
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ master_sites-append https://luarocks.org/:luarocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ distfiles-append ${luarocks.filename}-${version}.rockspec:luarocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port::register_callback luarocks.add_distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:lua${suffix}-luarocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy -force ${distpath}/${luarocks.distname}.rockspec ${worksrcpath}/${luarocks.distname}.rockspec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.cmd ${luarocks.bin}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.pre_args --tree ${destroot}${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.args make --deps-mode none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.post_args ${distpath}/${luarocks.distname}.rockspec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ command_exec destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set binDir ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isdirectory $binDir]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach file [readdir $binDir] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move [file join $binDir $file] ${destroot}${luarocks.bindir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src.rock {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set distname ${luarocks.distname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.suffix .src.rock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:lua${suffix}-luarocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.mkdir yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${distpath}/${luarocks.distname}.src.rock ${worksrcpath}/${luarocks.distname}.src.rock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.cmd ${luarocks.bin}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.pre_args --tree ${destroot}${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.args build --deps-mode none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.post_args ${worksrcpath}/${luarocks.distname}.src.rock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ command_exec destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set binDir ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isdirectory $binDir]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach file [readdir $binDir] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move [file join $binDir $file] ${destroot}${luarocks.bindir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ all.rock {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ supported_archs noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set distname ${luarocks.distname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.suffix .all.rock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:lua${suffix}-luarocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.mkdir yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${distpath}/${luarocks.distname}.all.rock ${worksrcpath}/${luarocks.distname}.all.rock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.cmd ${luarocks.bin}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.pre_args --tree ${destroot}${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.args build --deps-mode none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot.post_args ${worksrcpath}/${luarocks.distname}.all.rock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ command_exec destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set binDir ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isdirectory $binDir]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach file [readdir $binDir] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move [file join $binDir $file] ${destroot}${luarocks.bindir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # do nothing but fetch and extract - for strange installers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "luarocks.setup: unknown setup type '${type}' specified!"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "luarocks.setup failed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d -m 0755 ${destroot}${luarocks.bindir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Delete conflicting files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${destroot}${luarocks.rocksdir}/manifest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${luarocks.link_binaries}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach bin [glob -nocomplain -tails -directory "${destroot}${luarocks.bindir}" *] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[catch {file type "${destroot}${prefix}/bin/${bin}${luarocks.link_binaries_suffix}"}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -s "${luarocks.bindir}/${bin}" "${destroot}${prefix}/bin/${bin}${luarocks.link_binaries_suffix}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Install documentation files (if specified)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength ${luarocks.docs}] > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set docPath ${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d -m 0755 ${destroot}${docPath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach docitem ${luarocks.docs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set docitem [file join ${worksrcpath} ${docitem}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isdirectory ${docitem}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set subdir [file tail $docitem]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d -m 0755 ${destroot}${docPath}/${subdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fs-traverse file $docitem {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set file [trimroot $docitem $file]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$file ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set filepath [file join $docitem $file]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file isdirectory $filepath]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d -m 0755 ${destroot}${docPath}/${subdir}/${file}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 $filepath ${destroot}${docPath}/${subdir}/${file}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${docitem} ${destroot}${docPath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc trimroot {root path} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set acc {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set skiproot no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach rootf [file split $root] pathf [file split $path] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$pathf eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # we've hit the end of the path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {$skiproot eq "yes" || $rootf eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend acc $pathf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {$rootf ne $pathf} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # diverged from the root
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend acc $pathf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set skiproot yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength $acc] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return [file join {*}$acc]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Do not extract .rockspec files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default extract.only {[luarocks._disttagclean $distfiles]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# based on portextract::disttagclean from portextract.tcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc luarocks._disttagclean {list} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$list eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return $list
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach fname $list {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set name [getdistname ${fname}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![string match *.rockspec $name]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend val ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return $val
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>
</pre>