rufus-lua-win 5.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +69 -0
  6. data/Rakefile +1 -0
  7. data/lib/rufus/lua/win.rb +18 -0
  8. data/lib/rufus/lua/win/version.rb +7 -0
  9. data/rufus-lua-win.gemspec +23 -0
  10. data/vendor/lua/bin/liblua.dll +0 -0
  11. data/vendor/lua/lib/lua/LuaXml.lua +119 -0
  12. data/vendor/lua/lib/lua/alien.lua +250 -0
  13. data/vendor/lua/lib/lua/alien/core.dll +0 -0
  14. data/vendor/lua/lib/lua/alien/struct.dll +0 -0
  15. data/vendor/lua/lib/lua/base.lua +536 -0
  16. data/vendor/lua/lib/lua/bin.lua +20 -0
  17. data/vendor/lua/lib/lua/bit.dll +0 -0
  18. data/vendor/lua/lib/lua/cdlua.dll +0 -0
  19. data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
  20. data/vendor/lua/lib/lua/cdluagl.dll +0 -0
  21. data/vendor/lua/lib/lua/cdluaim.dll +0 -0
  22. data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
  23. data/vendor/lua/lib/lua/copas.lua +543 -0
  24. data/vendor/lua/lib/lua/coxpcall.lua +57 -0
  25. data/vendor/lua/lib/lua/date.lua +745 -0
  26. data/vendor/lua/lib/lua/debug_ext.lua +84 -0
  27. data/vendor/lua/lib/lua/debug_init.lua +2 -0
  28. data/vendor/lua/lib/lua/des56.dll +0 -0
  29. data/vendor/lua/lib/lua/dist/config.lua +109 -0
  30. data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
  31. data/vendor/lua/lib/lua/dist/depends.lua +601 -0
  32. data/vendor/lua/lib/lua/dist/git.lua +307 -0
  33. data/vendor/lua/lib/lua/dist/init.lua +278 -0
  34. data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
  35. data/vendor/lua/lib/lua/dist/package.lua +583 -0
  36. data/vendor/lua/lib/lua/dist/sys.lua +367 -0
  37. data/vendor/lua/lib/lua/dist/utils.lua +130 -0
  38. data/vendor/lua/lib/lua/ex.dll +0 -0
  39. data/vendor/lua/lib/lua/fstable.lua +116 -0
  40. data/vendor/lua/lib/lua/getopt.lua +273 -0
  41. data/vendor/lua/lib/lua/git.lua +5 -0
  42. data/vendor/lua/lib/lua/git/core.dll +0 -0
  43. data/vendor/lua/lib/lua/git/objects.lua +121 -0
  44. data/vendor/lua/lib/lua/git/pack.lua +316 -0
  45. data/vendor/lua/lib/lua/git/protocol.lua +188 -0
  46. data/vendor/lua/lib/lua/git/repo.lua +283 -0
  47. data/vendor/lua/lib/lua/git/util.lua +233 -0
  48. data/vendor/lua/lib/lua/gzio.dll +0 -0
  49. data/vendor/lua/lib/lua/gzip.lua +81 -0
  50. data/vendor/lua/lib/lua/iconv.dll +0 -0
  51. data/vendor/lua/lib/lua/imlua.dll +0 -0
  52. data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
  53. data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
  54. data/vendor/lua/lib/lua/imlua_process.dll +0 -0
  55. data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
  56. data/vendor/lua/lib/lua/io_ext.lua +115 -0
  57. data/vendor/lua/lib/lua/iuplua.dll +0 -0
  58. data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
  59. data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
  60. data/vendor/lua/lib/lua/iupluacd.dll +0 -0
  61. data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
  62. data/vendor/lua/lib/lua/iupluagl.dll +0 -0
  63. data/vendor/lua/lib/lua/iupluaim.dll +0 -0
  64. data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
  65. data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
  66. data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
  67. data/vendor/lua/lib/lua/lanes.lua +591 -0
  68. data/vendor/lua/lib/lua/lanes/core.dll +0 -0
  69. data/vendor/lua/lib/lua/lcs.lua +55 -0
  70. data/vendor/lua/lib/lua/lemock.lua +659 -0
  71. data/vendor/lua/lib/lua/lfs.dll +0 -0
  72. data/vendor/lua/lib/lua/list.lua +375 -0
  73. data/vendor/lua/lib/lua/logging.lua +189 -0
  74. data/vendor/lua/lib/lua/logging/console.lua +22 -0
  75. data/vendor/lua/lib/lua/logging/email.lua +44 -0
  76. data/vendor/lua/lib/lua/logging/file.lua +55 -0
  77. data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
  78. data/vendor/lua/lib/lua/logging/socket.lua +35 -0
  79. data/vendor/lua/lib/lua/logging/sql.lua +64 -0
  80. data/vendor/lua/lib/lua/loop/base.lua +68 -0
  81. data/vendor/lua/lib/lua/loop/cached.lua +312 -0
  82. data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
  83. data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
  84. data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
  85. data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
  86. data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
  87. data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
  88. data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
  89. data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
  90. data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
  91. data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
  92. data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
  93. data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
  94. data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
  95. data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
  96. data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
  97. data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
  98. data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
  99. data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
  100. data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
  101. data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
  102. data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
  103. data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
  104. data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
  105. data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
  106. data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
  107. data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
  108. data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
  109. data/vendor/lua/lib/lua/loop/simple.lua +75 -0
  110. data/vendor/lua/lib/lua/loop/table.lua +71 -0
  111. data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
  112. data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
  113. data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
  114. data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
  115. data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
  116. data/vendor/lua/lib/lua/lpeg.dll +0 -0
  117. data/vendor/lua/lib/lua/ltn12.lua +292 -0
  118. data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
  119. data/vendor/lua/lib/lua/luacurl.dll +0 -0
  120. data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
  121. data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
  122. data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
  123. data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
  124. data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
  125. data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
  126. data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
  127. data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
  128. data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
  129. data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
  130. data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
  131. data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
  132. data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
  133. data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
  134. data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
  135. data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
  136. data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
  137. data/vendor/lua/lib/lua/luagl.dll +0 -0
  138. data/vendor/lua/lib/lua/luaglu.dll +0 -0
  139. data/vendor/lua/lib/lua/luaidl.lua +113 -0
  140. data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
  141. data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
  142. data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
  143. data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
  144. data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
  145. data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
  146. data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
  147. data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
  148. data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
  149. data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
  150. data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
  151. data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
  152. data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
  153. data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
  154. data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
  155. data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
  156. data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
  157. data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
  158. data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
  159. data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
  160. data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
  161. data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
  162. data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
  163. data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
  164. data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
  165. data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
  166. data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
  167. data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
  168. data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
  169. data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
  170. data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
  171. data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
  172. data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
  173. data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
  174. data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
  175. data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
  176. data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
  177. data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
  178. data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
  179. data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
  180. data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
  181. data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
  182. data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
  183. data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
  184. data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
  185. data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
  186. data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
  187. data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
  188. data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
  189. data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
  190. data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
  191. data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
  192. data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
  193. data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
  194. data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
  195. data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
  196. data/vendor/lua/lib/lua/luars232.dll +0 -0
  197. data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
  198. data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
  199. data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
  200. data/vendor/lua/lib/lua/luaunit.lua +601 -0
  201. data/vendor/lua/lib/lua/lxp.dll +0 -0
  202. data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
  203. data/vendor/lua/lib/lua/math_ext.lua +27 -0
  204. data/vendor/lua/lib/lua/mbox.lua +53 -0
  205. data/vendor/lua/lib/lua/md5.lua +19 -0
  206. data/vendor/lua/lib/lua/md5/core.dll +0 -0
  207. data/vendor/lua/lib/lua/metalua.lua +0 -0
  208. data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
  209. data/vendor/lua/lib/lua/metalua/base.lua +104 -0
  210. data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
  211. data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
  212. data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
  213. data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
  214. data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
  215. data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
  216. data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
  217. data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
  218. data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
  219. data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
  220. data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
  221. data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
  222. data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
  223. data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
  224. data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
  225. data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
  226. data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
  227. data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
  228. data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
  229. data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
  230. data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
  231. data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
  232. data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
  233. data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
  234. data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
  235. data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
  236. data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
  237. data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
  238. data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
  239. data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
  240. data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
  241. data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
  242. data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
  243. data/vendor/lua/lib/lua/mime.lua +87 -0
  244. data/vendor/lua/lib/lua/mime/core.dll +0 -0
  245. data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
  246. data/vendor/lua/lib/lua/modules.lua +16 -0
  247. data/vendor/lua/lib/lua/object.lua +56 -0
  248. data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
  249. data/vendor/lua/lib/lua/oil/arch.lua +27 -0
  250. data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
  251. data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
  252. data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
  253. data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
  254. data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
  255. data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
  256. data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
  257. data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
  258. data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
  259. data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
  260. data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
  261. data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
  262. data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
  263. data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
  264. data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
  265. data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
  266. data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
  267. data/vendor/lua/lib/lua/oil/assert.lua +87 -0
  268. data/vendor/lua/lib/lua/oil/builder.lua +45 -0
  269. data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
  270. data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
  271. data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
  272. data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
  273. data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
  274. data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
  275. data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
  276. data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
  277. data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
  278. data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
  279. data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
  280. data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
  281. data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
  282. data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
  283. data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
  284. data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
  285. data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
  286. data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
  287. data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
  288. data/vendor/lua/lib/lua/oil/compat.lua +846 -0
  289. data/vendor/lua/lib/lua/oil/component.lua +1 -0
  290. data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
  291. data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
  292. data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
  293. data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
  294. data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
  295. data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
  296. data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
  297. data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
  298. data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
  299. data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
  300. data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
  301. data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
  302. data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
  303. data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
  304. data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
  305. data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
  306. data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
  307. data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
  308. data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
  309. data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
  310. data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
  311. data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
  312. data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
  313. data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
  314. data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
  315. data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
  316. data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
  317. data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
  318. data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
  319. data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
  320. data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
  321. data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
  322. data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
  323. data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
  324. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
  325. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
  326. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
  327. data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
  328. data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
  329. data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
  330. data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
  331. data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
  332. data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
  333. data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
  334. data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
  335. data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
  336. data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
  337. data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
  338. data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
  339. data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
  340. data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
  341. data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
  342. data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
  343. data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
  344. data/vendor/lua/lib/lua/oil/oo.lua +1 -0
  345. data/vendor/lua/lib/lua/oil/port.lua +1 -0
  346. data/vendor/lua/lib/lua/oil/properties.lua +57 -0
  347. data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
  348. data/vendor/lua/lib/lua/package_ext.lua +15 -0
  349. data/vendor/lua/lib/lua/parser.lua +268 -0
  350. data/vendor/lua/lib/lua/pl/Date.lua +555 -0
  351. data/vendor/lua/lib/lua/pl/List.lua +613 -0
  352. data/vendor/lua/lib/lua/pl/Map.lua +113 -0
  353. data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
  354. data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
  355. data/vendor/lua/lib/lua/pl/Set.lua +153 -0
  356. data/vendor/lua/lib/lua/pl/app.lua +165 -0
  357. data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
  358. data/vendor/lua/lib/lua/pl/class.lua +180 -0
  359. data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
  360. data/vendor/lua/lib/lua/pl/config.lua +176 -0
  361. data/vendor/lua/lib/lua/pl/data.lua +606 -0
  362. data/vendor/lua/lib/lua/pl/dir.lua +475 -0
  363. data/vendor/lua/lib/lua/pl/file.lua +70 -0
  364. data/vendor/lua/lib/lua/pl/func.lua +376 -0
  365. data/vendor/lua/lib/lua/pl/init.lua +68 -0
  366. data/vendor/lua/lib/lua/pl/input.lua +173 -0
  367. data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
  368. data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
  369. data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
  370. data/vendor/lua/lib/lua/pl/operator.lua +201 -0
  371. data/vendor/lua/lib/lua/pl/path.lua +398 -0
  372. data/vendor/lua/lib/lua/pl/permute.lua +63 -0
  373. data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
  374. data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
  375. data/vendor/lua/lib/lua/pl/seq.lua +551 -0
  376. data/vendor/lua/lib/lua/pl/sip.lua +344 -0
  377. data/vendor/lua/lib/lua/pl/strict.lua +70 -0
  378. data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
  379. data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
  380. data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
  381. data/vendor/lua/lib/lua/pl/template.lua +103 -0
  382. data/vendor/lua/lib/lua/pl/test.lua +135 -0
  383. data/vendor/lua/lib/lua/pl/text.lua +243 -0
  384. data/vendor/lua/lib/lua/pl/utils.lua +550 -0
  385. data/vendor/lua/lib/lua/pl/xml.lua +689 -0
  386. data/vendor/lua/lib/lua/profiler.dll +0 -0
  387. data/vendor/lua/lib/lua/re.lua +248 -0
  388. data/vendor/lua/lib/lua/rex_onig.dll +0 -0
  389. data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
  390. data/vendor/lua/lib/lua/rex_posix.dll +0 -0
  391. data/vendor/lua/lib/lua/rings.dll +0 -0
  392. data/vendor/lua/lib/lua/serialize.lua +193 -0
  393. data/vendor/lua/lib/lua/set.lua +149 -0
  394. data/vendor/lua/lib/lua/socket.lua +133 -0
  395. data/vendor/lua/lib/lua/socket/core.dll +0 -0
  396. data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
  397. data/vendor/lua/lib/lua/socket/http.lua +350 -0
  398. data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
  399. data/vendor/lua/lib/lua/socket/tp.lua +123 -0
  400. data/vendor/lua/lib/lua/socket/url.lua +297 -0
  401. data/vendor/lua/lib/lua/ssl.dll +0 -0
  402. data/vendor/lua/lib/lua/ssl.lua +93 -0
  403. data/vendor/lua/lib/lua/ssl/https.lua +138 -0
  404. data/vendor/lua/lib/lua/stable.lua +28 -0
  405. data/vendor/lua/lib/lua/std.lua +16 -0
  406. data/vendor/lua/lib/lua/strbuf.lua +32 -0
  407. data/vendor/lua/lib/lua/strict.lua +45 -0
  408. data/vendor/lua/lib/lua/string_ext.lua +274 -0
  409. data/vendor/lua/lib/lua/table_ext.lua +117 -0
  410. data/vendor/lua/lib/lua/tar.lua +262 -0
  411. data/vendor/lua/lib/lua/task.dll +0 -0
  412. data/vendor/lua/lib/lua/tree.lua +81 -0
  413. data/vendor/lua/lib/lua/unicode.dll +0 -0
  414. data/vendor/lua/lib/lua/verbose_require.lua +11 -0
  415. data/vendor/lua/lib/lua/vstruct.lua +86 -0
  416. data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
  417. data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
  418. data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
  419. data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
  420. data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
  421. data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
  422. data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
  423. data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
  424. data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
  425. data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
  426. data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
  427. data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
  428. data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
  429. data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
  430. data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
  431. data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
  432. data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
  433. data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
  434. data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
  435. data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
  436. data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
  437. data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
  438. data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
  439. data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
  440. data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
  441. data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
  442. data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
  443. data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
  444. data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
  445. data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
  446. data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
  447. data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
  448. data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
  449. data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
  450. data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
  451. data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
  452. data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
  453. data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
  454. data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
  455. data/vendor/lua/lib/lua/wx.dll +0 -0
  456. data/vendor/lua/lib/lua/xml.lua +75 -0
  457. data/vendor/lua/lib/lua/zip.dll +0 -0
  458. data/vendor/lua/lib/lua/zlib.dll +0 -0
  459. metadata +529 -0
@@ -0,0 +1,141 @@
1
+
2
+ --- Module implementing the LuaRocks "new_version" command.
3
+ -- Utility function that writes a new rockspec, updating data from a previous one.
4
+ module("luarocks.new_version", package.seeall)
5
+
6
+ local util = require("luarocks.util")
7
+ local cfg = require("luarocks.cfg")
8
+ local download = require("luarocks.download")
9
+ local fetch = require("luarocks.fetch")
10
+ local persist = require("luarocks.persist")
11
+ local dir = require("luarocks.dir")
12
+ local fs = require("luarocks.fs")
13
+
14
+ help_summary = "Auto-write a rockspec for a new version of a rock."
15
+ help_arguments = "{<program>|<rockspec>} [<new_version>] [<new_url>]"
16
+ help = [[
17
+ This is a utility function that writes a new rockspec, updating data
18
+ from a previous one.
19
+
20
+ If a package name is given, it downloads the latest rockspec from the
21
+ default server. If a rockspec is given, it uses it instead.
22
+
23
+ If the version number is not given, it only increments the revision
24
+ number of the given (or downloaded) rockspec.
25
+
26
+ If a URL is given, it replaces the one from the old rockspec with the
27
+ given URL. If a URL is not given and a new version is given, it tries
28
+ to guess the new URL by replacing occurrences of the version number
29
+ in the URL or tag. It also tries to download the new URL to determine
30
+ the new MD5 checksum.
31
+
32
+ WARNING: it writes the new rockspec to the current directory,
33
+ overwriting the file if it already exists.
34
+ ]]
35
+
36
+ local order = {"rockspec_format", "package", "version",
37
+ { "source", { "url", "tag", "branch", "md5" } },
38
+ { "description", {"summary", "detailed", "homepage", "license" } },
39
+ "supported_platforms", "dependencies", "external_dependencies",
40
+ { "build", {"type", "modules", "copy_directories", "platforms"} },
41
+ "hooks"}
42
+
43
+ local function try_replace(tbl, field, old, new)
44
+ if not tbl[field] then
45
+ return false
46
+ end
47
+ local old_field = tbl[field]
48
+ local new_field = tbl[field]:gsub(old, new)
49
+ if new_field ~= old_field then
50
+ util.printout("Guessing new '"..field.."' field as "..new_field)
51
+ tbl[field] = new_field
52
+ return true
53
+ end
54
+ return false
55
+ end
56
+
57
+ local function check_url_and_update_md5(out_rs, out_name)
58
+ out_rs.source.md5 = nil
59
+ local file, temp_dir = fetch.fetch_url_at_temp_dir(out_rs.source.url, "luarocks-new-version-"..out_name)
60
+ if file then
61
+ util.printout("File successfully downloaded. Updating MD5 checksum...")
62
+ out_rs.source.md5 = fs.get_md5(file)
63
+ else
64
+ util.printerr("Warning: invalid URL - "..temp_dir)
65
+ end
66
+ end
67
+
68
+ function run(...)
69
+ local flags, input, version, url = util.parse_flags(...)
70
+ if not input then
71
+ return nil, "Missing arguments: expected program or rockspec. See help."
72
+ end
73
+ assert(type(input) == "string")
74
+
75
+ local filename = input
76
+ if not input:match(".rockspec$") then
77
+ local err
78
+ filename, err = download.download("rockspec", input)
79
+ if not input then
80
+ return nil, err
81
+ end
82
+ end
83
+
84
+ local valid_rs, err = fetch.load_rockspec(filename)
85
+ if not valid_rs then
86
+ return nil, err
87
+ end
88
+
89
+ local old_ver, old_rev = valid_rs.version:match("(.*)%-(%d+)$")
90
+ local new_ver, new_rev
91
+
92
+ if version then
93
+ new_ver, new_rev = version:match("(.*)%-(%d+)$")
94
+ new_rev = tonumber(new_rev)
95
+ if not new_rev then
96
+ new_ver = version
97
+ new_rev = 1
98
+ end
99
+ else
100
+ new_ver = old_ver
101
+ new_rev = tonumber(old_rev) + 1
102
+ end
103
+
104
+
105
+ local out_rs = persist.load_into_table(filename)
106
+ local out_name = out_rs.package:lower()
107
+ out_rs.version = new_ver.."-"..new_rev
108
+ if url then
109
+ out_rs.source.url = url
110
+ check_url_and_update_md5(out_rs, out_name)
111
+ else
112
+ if new_ver ~= old_ver then
113
+ local ok = try_replace(out_rs.source, "url", old_ver, new_ver)
114
+ if ok then
115
+ check_url_and_update_md5(out_rs, out_name)
116
+ else
117
+ ok = try_replace(out_rs.source, "tag", old_ver, new_ver)
118
+ if not ok then
119
+ return nil, "Failed to determine the location of the new version."
120
+ end
121
+ end
122
+ end
123
+ end
124
+
125
+ if out_rs.build and out_rs.build.type == "module" then
126
+ out_rs.build.type = "builtin"
127
+ end
128
+
129
+ local out_filename = out_name.."-"..new_ver.."-"..new_rev..".rockspec"
130
+
131
+ persist.save_from_table(out_filename, out_rs, order)
132
+
133
+ util.printout("Wrote "..out_filename)
134
+
135
+ local valid_out_rs, err = fetch.load_local_rockspec(out_filename)
136
+ if not valid_out_rs then
137
+ return nil, "Failed loading generated rockspec: "..err
138
+ end
139
+
140
+ return true
141
+ end
@@ -0,0 +1,205 @@
1
+
2
+ --- Module implementing the LuaRocks "pack" command.
3
+ -- Creates a rock, packing sources or binaries.
4
+ module("luarocks.pack", package.seeall)
5
+
6
+ local path = require("luarocks.path")
7
+ local rep = require("luarocks.rep")
8
+ local fetch = require("luarocks.fetch")
9
+ local fs = require("luarocks.fs")
10
+ local cfg = require("luarocks.cfg")
11
+ local util = require("luarocks.util")
12
+ local dir = require("luarocks.dir")
13
+ local manif = require("luarocks.manif")
14
+ local search = require("luarocks.search")
15
+
16
+ help_summary = "Create a rock, packing sources or binaries."
17
+ help_arguments = "{<rockspec>|<name> [<version>]}"
18
+ help = [[
19
+ Argument may be a rockspec file, for creating a source rock,
20
+ or the name of an installed package, for creating a binary rock.
21
+ In the latter case, the app version may be given as a second
22
+ argument.
23
+ ]]
24
+
25
+ --- Create a source rock.
26
+ -- Packages a rockspec and its required source files in a rock
27
+ -- file with the .src.rock extension, which can later be built and
28
+ -- installed with the "build" command.
29
+ -- @param rockspec_file string: An URL or pathname for a rockspec file.
30
+ -- @return string or (nil, string): The filename of the resulting
31
+ -- .src.rock file; or nil and an error message.
32
+ local function pack_source_rock(rockspec_file)
33
+ assert(type(rockspec_file) == "string")
34
+
35
+ local rockspec, err = fetch.load_rockspec(rockspec_file)
36
+ if err then
37
+ return nil, "Error loading rockspec: "..err
38
+ end
39
+ rockspec_file = rockspec.local_filename
40
+
41
+ local name_version = rockspec.name .. "-" .. rockspec.version
42
+ local rock_file = fs.absolute_name(name_version .. ".src.rock")
43
+
44
+ local source_file, source_dir = fetch.fetch_sources(rockspec, false)
45
+ if not source_file then
46
+ return nil, source_dir
47
+ end
48
+ fs.change_dir(source_dir)
49
+
50
+ fs.delete(rock_file)
51
+ fs.copy(rockspec_file, source_dir)
52
+ if not fs.zip(rock_file, dir.base_name(rockspec_file), dir.base_name(source_file)) then
53
+ return nil, "Failed packing "..rock_file
54
+ end
55
+ fs.pop_dir()
56
+
57
+ return rock_file
58
+ end
59
+
60
+ local function copy_back_files(name, version, file_tree, deploy_dir, pack_dir)
61
+ fs.make_dir(pack_dir)
62
+ for file, sub in pairs(file_tree) do
63
+ local source = dir.path(deploy_dir, file)
64
+ local target = dir.path(pack_dir, file)
65
+ if type(sub) == "table" then
66
+ local ok, err = copy_back_files(name, version, sub, source, target)
67
+ else
68
+ local versioned = path.versioned_name(source, deploy_dir, name, version)
69
+ if fs.exists(versioned) then
70
+ fs.copy(versioned, target)
71
+ else
72
+ fs.copy(source, target)
73
+ end
74
+ end
75
+ end
76
+ return true
77
+ end
78
+
79
+ -- @param name string: Name of package to pack.
80
+ -- @param version string or nil: A version number may also be passed.
81
+ -- @return string or (nil, string): The filename of the resulting
82
+ -- .src.rock file; or nil and an error message.
83
+ local function do_pack_binary_rock(name, version)
84
+ assert(type(name) == "string")
85
+ assert(type(version) == "string" or not version)
86
+
87
+ local query = search.make_query(name, version)
88
+ query.exact_name = true
89
+ local results = {}
90
+
91
+ search.manifest_search(results, cfg.rocks_dir, query)
92
+
93
+ if not next(results) then
94
+ return nil, "'"..name.."' does not seem to be an installed rock."
95
+ end
96
+
97
+ local versions = results[name]
98
+
99
+ if not version then
100
+ local first = next(versions)
101
+ if next(versions, first) then
102
+ return nil, "Please specify which version of '"..name.."' to pack."
103
+ end
104
+ version = first
105
+ end
106
+ if not version:match("[^-]+%-%d+") then
107
+ return nil, "Expected version "..version.." in version-revision format."
108
+ end
109
+
110
+ local info = versions[version][1]
111
+
112
+ local root = path.root_dir(info.repo)
113
+ local prefix = path.install_dir(name, version, root)
114
+
115
+ if not fs.exists(prefix) then
116
+ return nil, "'"..name.." "..version.."' does not seem to be an installed rock."
117
+ end
118
+
119
+ local rock_manifest = manif.load_rock_manifest(name, version, root)
120
+ if not rock_manifest then
121
+ return nil, "rock_manifest file not found for "..name.." "..version.." - not a LuaRocks 2 tree?"
122
+ end
123
+
124
+ local name_version = name .. "-" .. version
125
+ local rock_file = fs.absolute_name(name_version .. "."..cfg.arch..".rock")
126
+
127
+ local temp_dir = fs.make_temp_dir("pack")
128
+ fs.copy_contents(prefix, temp_dir)
129
+
130
+ local is_binary = false
131
+ if rock_manifest.lib then
132
+ copy_back_files(name, version, rock_manifest.lib, path.deploy_lib_dir(root), dir.path(temp_dir, "lib"))
133
+ is_binary = true
134
+ end
135
+ if rock_manifest.lua then
136
+ copy_back_files(name, version, rock_manifest.lua, path.deploy_lua_dir(root), dir.path(temp_dir, "lua"))
137
+ end
138
+
139
+ fs.change_dir(temp_dir)
140
+ if not is_binary and not rep.has_binaries(name, version) then
141
+ rock_file = rock_file:gsub("%."..cfg.arch:gsub("%-","%%-").."%.", ".all.")
142
+ end
143
+ fs.delete(rock_file)
144
+ if not fs.zip(rock_file, unpack(fs.list_dir())) then
145
+ return nil, "Failed packing "..rock_file
146
+ end
147
+ fs.pop_dir()
148
+ fs.delete(temp_dir)
149
+ return rock_file
150
+ end
151
+
152
+ function pack_binary_rock(name, version, cmd, ...)
153
+
154
+ -- The --pack-binary-rock option for "luarocks build" basically performs
155
+ -- "luarocks build" on a temporary tree and then "luarocks pack". The
156
+ -- alternative would require refactoring parts of luarocks.build and
157
+ -- luarocks.pack, which would save a few file operations: the idea would be
158
+ -- to shave off the final deploy steps from the build phase and the initial
159
+ -- collect steps from the pack phase.
160
+
161
+ local temp_dir = fs.make_temp_dir("luarocks-build-pack-"..dir.base_name(name))
162
+ if not temp_dir then
163
+ return nil, "Failed creating temporary directory."
164
+ end
165
+ util.schedule_function(fs.delete, temp_dir)
166
+
167
+ path.use_tree(temp_dir)
168
+ local ok, err = cmd(...)
169
+ if not ok then
170
+ return nil, err
171
+ end
172
+ local rname, rversion = path.parse_name(name)
173
+ if not rname then
174
+ rname, rversion = name, version
175
+ end
176
+ return do_pack_binary_rock(rname, rversion)
177
+ end
178
+
179
+ --- Driver function for the "pack" command.
180
+ -- @param arg string: may be a rockspec file, for creating a source rock,
181
+ -- or the name of an installed package, for creating a binary rock.
182
+ -- @param version string or nil: if the name of a package is given, a
183
+ -- version may also be passed.
184
+ -- @return boolean or (nil, string): true if successful or nil followed
185
+ -- by an error message.
186
+ function run(...)
187
+ local flags, arg, version = util.parse_flags(...)
188
+ assert(type(version) == "string" or not version)
189
+ if type(arg) ~= "string" then
190
+ return nil, "Argument missing, see help."
191
+ end
192
+
193
+ local file, err
194
+ if arg:match(".*%.rockspec") then
195
+ file, err = pack_source_rock(arg)
196
+ else
197
+ file, err = do_pack_binary_rock(arg, version)
198
+ end
199
+ if err then
200
+ return nil, err
201
+ else
202
+ util.printout("Packed: "..file)
203
+ return true
204
+ end
205
+ end
@@ -0,0 +1,315 @@
1
+
2
+ --- LuaRocks-specific path handling functions.
3
+ -- All paths are configured in this module, making it a single
4
+ -- point where the layout of the local installation is defined in LuaRocks.
5
+ module("luarocks.path", package.seeall)
6
+
7
+ local dir = require("luarocks.dir")
8
+ local cfg = require("luarocks.cfg")
9
+ local util = require("luarocks.util")
10
+
11
+ help_summary = "Return the currently configured package path."
12
+ help_arguments = ""
13
+ help = [[
14
+ Returns the package path currently configured for this installation
15
+ of LuaRocks, formatted as shell commands to update LUA_PATH and
16
+ LUA_CPATH. (On Unix systems, you may run: eval `luarocks path`)
17
+ ]]
18
+
19
+ --- Infer rockspec filename from a rock filename.
20
+ -- @param rock_name string: Pathname of a rock file.
21
+ -- @return string: Filename of the rockspec, without path.
22
+ function rockspec_name_from_rock(rock_name)
23
+ assert(type(rock_name) == "string")
24
+ local base_name = dir.base_name(rock_name)
25
+ return base_name:match("(.*)%.[^.]*.rock") .. ".rockspec"
26
+ end
27
+
28
+ function rocks_dir(tree)
29
+ if type(tree) == "string" then
30
+ return dir.path(tree, "lib", "luarocks", "rocks")
31
+ else
32
+ assert(type(tree) == "table")
33
+ return tree.rocks_dir or dir.path(tree.root, "lib", "luarocks", "rocks")
34
+ end
35
+ end
36
+
37
+ function root_dir(rocks_dir)
38
+ assert(type(rocks_dir) == "string")
39
+
40
+ local suffix = dir.path("lib", "luarocks", "rocks")
41
+ return rocks_dir:match("(.*)" .. suffix .. "$")
42
+ end
43
+
44
+ function deploy_bin_dir(tree)
45
+ if type(tree) == "string" then
46
+ return dir.path(tree, "bin")
47
+ else
48
+ assert(type(tree) == "table")
49
+ return tree.bin_dir or dir.path(tree.root, "bin")
50
+ end
51
+ end
52
+
53
+ function deploy_lua_dir(tree)
54
+ if type(tree) == "string" then
55
+ return dir.path(tree, cfg.lua_modules_path)
56
+ else
57
+ assert(type(tree) == "table")
58
+ return tree.lua_dir or dir.path(tree.root, cfg.lua_modules_path)
59
+ end
60
+ end
61
+
62
+ function deploy_lib_dir(tree)
63
+ if type(tree) == "string" then
64
+ return dir.path(tree, cfg.lib_modules_path)
65
+ else
66
+ assert(type(tree) == "table")
67
+ return tree.lib_dir or dir.path(tree.root, cfg.lib_modules_path)
68
+ end
69
+ end
70
+
71
+ function manifest_file(tree)
72
+ if type(tree) == "string" then
73
+ return dir.path(tree, "lib", "luarocks", "rocks", "manifest")
74
+ else
75
+ assert(type(tree) == "table")
76
+ return (tree.rocks_dir and dir.path(tree.rocks_dir, "manifest")) or dir.path(tree.root, "lib", "luarocks", "rocks", "manifest")
77
+ end
78
+ end
79
+
80
+ --- Get the directory for all versions of a package in a tree.
81
+ -- @param name string: The package name.
82
+ -- @return string: The resulting path -- does not guarantee that
83
+ -- @param tree string or nil: If given, specifies the local tree to use.
84
+ -- the package (and by extension, the path) exists.
85
+ function versions_dir(name, tree)
86
+ assert(type(name) == "string")
87
+ tree = tree or cfg.root_dir
88
+ return dir.path(rocks_dir(tree), name)
89
+ end
90
+
91
+ --- Get the local installation directory (prefix) for a package.
92
+ -- @param name string: The package name.
93
+ -- @param version string: The package version.
94
+ -- @param tree string or nil: If given, specifies the local tree to use.
95
+ -- @return string: The resulting path -- does not guarantee that
96
+ -- the package (and by extension, the path) exists.
97
+ function install_dir(name, version, tree)
98
+ assert(type(name) == "string")
99
+ assert(type(version) == "string")
100
+ tree = tree or cfg.root_dir
101
+ return dir.path(rocks_dir(tree), name, version)
102
+ end
103
+
104
+ --- Get the local filename of the rockspec of an installed rock.
105
+ -- @param name string: The package name.
106
+ -- @param version string: The package version.
107
+ -- @param tree string or nil: If given, specifies the local tree to use.
108
+ -- @return string: The resulting path -- does not guarantee that
109
+ -- the package (and by extension, the file) exists.
110
+ function rockspec_file(name, version, tree)
111
+ assert(type(name) == "string")
112
+ assert(type(version) == "string")
113
+ tree = tree or cfg.root_dir
114
+ return dir.path(rocks_dir(tree), name, version, name.."-"..version..".rockspec")
115
+ end
116
+
117
+ --- Get the local filename of the rock_manifest file of an installed rock.
118
+ -- @param name string: The package name.
119
+ -- @param version string: The package version.
120
+ -- @param tree string or nil: If given, specifies the local tree to use.
121
+ -- @return string: The resulting path -- does not guarantee that
122
+ -- the package (and by extension, the file) exists.
123
+ function rock_manifest_file(name, version, tree)
124
+ assert(type(name) == "string")
125
+ assert(type(version) == "string")
126
+ tree = tree or cfg.root_dir
127
+ return dir.path(rocks_dir(tree), name, version, "rock_manifest")
128
+ end
129
+
130
+ --- Get the local installation directory for C libraries of a package.
131
+ -- @param name string: The package name.
132
+ -- @param version string: The package version.
133
+ -- @param tree string or nil: If given, specifies the local tree to use.
134
+ -- @return string: The resulting path -- does not guarantee that
135
+ -- the package (and by extension, the path) exists.
136
+ function lib_dir(name, version, tree)
137
+ assert(type(name) == "string")
138
+ assert(type(version) == "string")
139
+ tree = tree or cfg.root_dir
140
+ return dir.path(rocks_dir(tree), name, version, "lib")
141
+ end
142
+
143
+ --- Get the local installation directory for Lua modules of a package.
144
+ -- @param name string: The package name.
145
+ -- @param version string: The package version.
146
+ -- @param tree string or nil: If given, specifies the local tree to use.
147
+ -- @return string: The resulting path -- does not guarantee that
148
+ -- the package (and by extension, the path) exists.
149
+ function lua_dir(name, version, tree)
150
+ assert(type(name) == "string")
151
+ assert(type(version) == "string")
152
+ tree = tree or cfg.root_dir
153
+ return dir.path(rocks_dir(tree), name, version, "lua")
154
+ end
155
+
156
+ --- Get the local installation directory for documentation of a package.
157
+ -- @param name string: The package name.
158
+ -- @param version string: The package version.
159
+ -- @param tree string or nil: If given, specifies the local tree to use.
160
+ -- @return string: The resulting path -- does not guarantee that
161
+ -- the package (and by extension, the path) exists.
162
+ function doc_dir(name, version, tree)
163
+ assert(type(name) == "string")
164
+ assert(type(version) == "string")
165
+ tree = tree or cfg.root_dir
166
+ return dir.path(rocks_dir(tree), name, version, "doc")
167
+ end
168
+
169
+ --- Get the local installation directory for configuration files of a package.
170
+ -- @param name string: The package name.
171
+ -- @param version string: The package version.
172
+ -- @param tree string or nil: If given, specifies the local tree to use.
173
+ -- @return string: The resulting path -- does not guarantee that
174
+ -- the package (and by extension, the path) exists.
175
+ function conf_dir(name, version, tree)
176
+ assert(type(name) == "string")
177
+ assert(type(version) == "string")
178
+ tree = tree or cfg.root_dir
179
+ return dir.path(rocks_dir(tree), name, version, "conf")
180
+ end
181
+
182
+ --- Get the local installation directory for command-line scripts
183
+ -- of a package.
184
+ -- @param name string: The package name.
185
+ -- @param version string: The package version.
186
+ -- @param tree string or nil: If given, specifies the local tree to use.
187
+ -- @return string: The resulting path -- does not guarantee that
188
+ -- the package (and by extension, the path) exists.
189
+ function bin_dir(name, version, tree)
190
+ assert(type(name) == "string")
191
+ assert(type(version) == "string")
192
+ tree = tree or cfg.root_dir
193
+ return dir.path(rocks_dir(tree), name, version, "bin")
194
+ end
195
+
196
+ --- Extract name, version and arch of a rock filename,
197
+ -- or name, version and "rockspec" from a rockspec name.
198
+ -- @param file_name string: pathname of a rock or rockspec
199
+ -- @return (string, string, string) or nil: name, version and arch
200
+ -- or nil if name could not be parsed
201
+ function parse_name(file_name)
202
+ assert(type(file_name) == "string")
203
+ if file_name:match("%.rock$") then
204
+ return dir.base_name(file_name):match("(.*)-([^-]+-%d+)%.([^.]+)%.rock$")
205
+ else
206
+ return dir.base_name(file_name):match("(.*)-([^-]+-%d+)%.(rockspec)")
207
+ end
208
+ end
209
+
210
+ --- Make a rockspec or rock URL.
211
+ -- @param pathname string: Base URL or pathname.
212
+ -- @param name string: Package name.
213
+ -- @param version string: Package version.
214
+ -- @param arch string: Architecture identifier, or "rockspec" or "installed".
215
+ -- @return string: A URL or pathname following LuaRocks naming conventions.
216
+ function make_url(pathname, name, version, arch)
217
+ assert(type(pathname) == "string")
218
+ assert(type(name) == "string")
219
+ assert(type(version) == "string")
220
+ assert(type(arch) == "string")
221
+
222
+ local filename = name.."-"..version
223
+ if arch == "installed" then
224
+ filename = dir.path(name, version, filename..".rockspec")
225
+ elseif arch == "rockspec" then
226
+ filename = filename..".rockspec"
227
+ else
228
+ filename = filename.."."..arch..".rock"
229
+ end
230
+ return dir.path(pathname, filename)
231
+ end
232
+
233
+ --- Convert a pathname to a module identifier.
234
+ -- In Unix, for example, a path "foo/bar/baz.lua" is converted to
235
+ -- "foo.bar.baz"; "bla/init.lua" returns "bla"; "foo.so" returns "foo".
236
+ -- @param file string: Pathname of module
237
+ -- @return string: The module identifier, or nil if given path is
238
+ -- not a conformant module path (the function does not check if the
239
+ -- path actually exists).
240
+ function path_to_module(file)
241
+ assert(type(file) == "string")
242
+
243
+ local name = file:match("(.*)%."..cfg.lua_extension.."$")
244
+ if name then
245
+ name = name:gsub(dir.separator, ".")
246
+ local init = name:match("(.*)%.init$")
247
+ if init then
248
+ name = init
249
+ end
250
+ else
251
+ name = file:match("(.*)%."..cfg.lib_extension.."$")
252
+ if name then
253
+ name = name:gsub(dir.separator, ".")
254
+ end
255
+ end
256
+ if not name then name = file end
257
+ name = name:gsub("^%.+", ""):gsub("%.+$", "")
258
+ return name
259
+ end
260
+
261
+ --- Obtain the directory name where a module should be stored.
262
+ -- For example, on Unix, "foo.bar.baz" will return "foo/bar".
263
+ -- @param mod string: A module name in Lua dot-separated format.
264
+ -- @return string: A directory name using the platform's separator.
265
+ function module_to_path(mod)
266
+ assert(type(mod) == "string")
267
+ return (mod:gsub("[^.]*$", ""):gsub("%.", dir.separator))
268
+ end
269
+
270
+ --- Set up path-related variables for a given rock.
271
+ -- Create a "variables" table in the rockspec table, containing
272
+ -- adjusted variables according to the configuration file.
273
+ -- @param rockspec table: The rockspec table.
274
+ function configure_paths(rockspec)
275
+ assert(type(rockspec) == "table")
276
+ local vars = {}
277
+ for k,v in pairs(cfg.variables) do
278
+ vars[k] = v
279
+ end
280
+ local name, version = rockspec.name, rockspec.version
281
+ vars.PREFIX = install_dir(name, version)
282
+ vars.LUADIR = lua_dir(name, version)
283
+ vars.LIBDIR = lib_dir(name, version)
284
+ vars.CONFDIR = conf_dir(name, version)
285
+ vars.BINDIR = bin_dir(name, version)
286
+ vars.DOCDIR = doc_dir(name, version)
287
+ rockspec.variables = vars
288
+ end
289
+
290
+ function versioned_name(file, prefix, name, version)
291
+ assert(type(file) == "string")
292
+ assert(type(name) == "string")
293
+ assert(type(version) == "string")
294
+
295
+ local rest = file:sub(#prefix+1):gsub("^/*", "")
296
+ local name_version = (name.."_"..version):gsub("%-", "_"):gsub("%.", "_")
297
+ return dir.path(prefix, name_version.."-"..rest)
298
+ end
299
+
300
+ function use_tree(tree)
301
+ cfg.root_dir = tree
302
+ cfg.rocks_dir = rocks_dir(tree)
303
+ cfg.deploy_bin_dir = deploy_bin_dir(tree)
304
+ cfg.deploy_lua_dir = deploy_lua_dir(tree)
305
+ cfg.deploy_lib_dir = deploy_lib_dir(tree)
306
+ end
307
+
308
+ --- Driver function for "path" command.
309
+ -- @return boolean This function always succeeds.
310
+ function run(...)
311
+ util.printout(cfg.export_lua_path:format(package.path))
312
+ util.printout(cfg.export_lua_cpath:format(package.cpath))
313
+ return true
314
+ end
315
+