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,151 @@
1
+
2
+ --- Module implementing the LuaRocks "install" command.
3
+ -- Installs binary rocks.
4
+ module("luarocks.install", package.seeall)
5
+
6
+ local path = require("luarocks.path")
7
+ local rep = require("luarocks.rep")
8
+ local fetch = require("luarocks.fetch")
9
+ local util = require("luarocks.util")
10
+ local fs = require("luarocks.fs")
11
+ local deps = require("luarocks.deps")
12
+ local manif = require("luarocks.manif")
13
+ local cfg = require("luarocks.cfg")
14
+
15
+ help_summary = "Install a rock."
16
+
17
+ help_arguments = "{<rock>|<name> [<version>]}"
18
+
19
+ help = [[
20
+ Argument may be the name of a rock to be fetched from a repository
21
+ or a filename of a locally available rock.
22
+ ]]
23
+
24
+ --- Install a binary rock.
25
+ -- @param rock_file string: local or remote filename of a rock.
26
+ -- @param no_deps boolean: true if dependency check needs to be skipped
27
+ -- @return boolean or (nil, string, [string]): True if succeeded or
28
+ -- nil and an error message and an optional error code.
29
+ function install_binary_rock(rock_file, no_deps)
30
+ assert(type(rock_file) == "string")
31
+
32
+ local name, version, arch = path.parse_name(rock_file)
33
+ if not name then
34
+ return nil, "Filename "..rock_file.." does not match format 'name-version-revision.arch.rock'."
35
+ end
36
+
37
+ if arch ~= "all" and arch ~= cfg.arch then
38
+ return nil, "Incompatible architecture "..arch, "arch"
39
+ end
40
+ if rep.is_installed(name, version) then
41
+ rep.delete_version(name, version)
42
+ end
43
+
44
+ local rollback = util.schedule_function(function()
45
+ fs.delete(path.install_dir(name, version))
46
+ fs.remove_dir_if_empty(path.versions_dir(name))
47
+ end)
48
+
49
+ local ok, err, errcode = fetch.fetch_and_unpack_rock(rock_file, path.install_dir(name, version))
50
+ if not ok then return nil, err, errcode end
51
+
52
+ local rockspec, err, errcode = fetch.load_rockspec(path.rockspec_file(name, version))
53
+ if err then
54
+ return nil, "Failed loading rockspec for installed package: "..err, errcode
55
+ end
56
+
57
+ if no_deps then
58
+ util.printerr("Warning: skipping dependency checks.")
59
+ else
60
+ ok, err, errcode = deps.check_external_deps(rockspec, "install")
61
+ if err then return nil, err, errcode end
62
+ end
63
+
64
+ -- For compatibility with .rock files built with LuaRocks 1
65
+ if not fs.exists(path.rock_manifest_file(name, version)) then
66
+ ok, err = manif.make_rock_manifest(name, version)
67
+ if err then return nil, err end
68
+ end
69
+
70
+ if not no_deps then
71
+ ok, err, errcode = deps.fulfill_dependencies(rockspec)
72
+ if err then return nil, err, errcode end
73
+ end
74
+
75
+ local wrap_bin_scripts = true
76
+ if rockspec.deploy and rockspec.deploy.wrap_bin_scripts == false then
77
+ wrap_bin_scripts = false
78
+ end
79
+
80
+ ok, err = rep.deploy_files(name, version, rep.should_wrap_bin_scripts(rockspec))
81
+ if err then return nil, err end
82
+
83
+ util.remove_scheduled_function(rollback)
84
+ rollback = util.schedule_function(function()
85
+ rep.delete_version(name, version)
86
+ end)
87
+
88
+ ok, err = rep.run_hook(rockspec, "post_install")
89
+ if err then return nil, err end
90
+
91
+ ok, err = manif.update_manifest(name, version)
92
+ if err then return nil, err end
93
+
94
+ local license = ""
95
+ if rockspec.description.license then
96
+ license = ("(license: "..rockspec.description.license..")")
97
+ end
98
+
99
+ local root_dir = path.root_dir(cfg.rocks_dir)
100
+ util.printout()
101
+ util.printout(name.." "..version.." is now installed in "..root_dir.." "..license)
102
+
103
+ util.remove_scheduled_function(rollback)
104
+ return true
105
+ end
106
+
107
+ --- Driver function for the "install" command.
108
+ -- @param name string: name of a binary rock. If an URL or pathname
109
+ -- to a binary rock is given, fetches and installs it. If a rockspec or a
110
+ -- source rock is given, forwards the request to the "build" command.
111
+ -- If a package name is given, forwards the request to "search" and,
112
+ -- if returned a result, installs the matching rock.
113
+ -- @param version string: When passing a package name, a version number
114
+ -- may also be given.
115
+ -- @return boolean or (nil, string): True if installation was
116
+ -- successful, nil and an error message otherwise.
117
+ function run(...)
118
+ local flags, name, version = util.parse_flags(...)
119
+ if type(name) ~= "string" then
120
+ return nil, "Argument missing, see help."
121
+ end
122
+
123
+ local ok, err = fs.check_command_permissions(flags)
124
+ if not ok then return nil, err end
125
+
126
+ if name:match("%.rockspec$") or name:match("%.src%.rock$") then
127
+ util.printout("Using "..name.."... switching to 'build' mode")
128
+ local build = require("luarocks.build")
129
+ return build.run(name, flags["local"] and "--local")
130
+ elseif name:match("%.rock$") then
131
+ return install_binary_rock(name, flags["nodeps"])
132
+ else
133
+ local search = require("luarocks.search")
134
+ local results, err = search.find_suitable_rock(search.make_query(name:lower(), version))
135
+ if err then
136
+ return nil, err
137
+ elseif type(results) == "string" then
138
+ local url = results
139
+ util.printout("Installing "..url.."...")
140
+ return run(url)
141
+ else
142
+ util.printout()
143
+ util.printerr("Could not determine which rock to install.")
144
+ util.printout()
145
+ util.printout("Search results:")
146
+ util.printout("---------------")
147
+ search.print_results(results)
148
+ return nil, (next(results) and "Please narrow your query." or "No results found.")
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,35 @@
1
+
2
+ --- Module implementing the LuaRocks "list" command.
3
+ -- Lists currently installed rocks.
4
+ module("luarocks.list", package.seeall)
5
+
6
+ local search = require("luarocks.search")
7
+ local cfg = require("luarocks.cfg")
8
+ local util = require("luarocks.util")
9
+ local path = require("luarocks.path")
10
+
11
+ help_summary = "Lists currently installed rocks."
12
+
13
+ help = [[
14
+ <argument> is a substring of a rock name to filter by.
15
+ ]]
16
+
17
+ --- Driver function for "list" command.
18
+ -- @param filter string or nil: A substring of a rock name to filter by.
19
+ -- @param version string or nil: a version may also be passed.
20
+ -- @return boolean: True if succeeded, nil on errors.
21
+ function run(...)
22
+ local flags, filter, version = util.parse_flags(...)
23
+ local results = {}
24
+ local query = search.make_query(filter and filter:lower() or "", version)
25
+ query.exact_name = false
26
+ for _, tree in ipairs(cfg.rocks_trees) do
27
+ search.manifest_search(results, path.rocks_dir(tree), query)
28
+ end
29
+ util.printout()
30
+ util.printout("Installed rocks:")
31
+ util.printout("----------------")
32
+ util.printout()
33
+ search.print_results(results, false)
34
+ return true
35
+ end
@@ -0,0 +1,228 @@
1
+
2
+ --- A module which installs a Lua package loader that is LuaRocks-aware.
3
+ -- This loader uses dependency information from the LuaRocks tree to load
4
+ -- correct versions of modules. It does this by constructing a "context"
5
+ -- table in the environment, which records which versions of packages were
6
+ -- used to load previous modules, so that the loader chooses versions
7
+ -- that are declared to be compatible with the ones loaded earlier.
8
+ local global_env = _G
9
+ local package, require, ipairs, pairs, table, type, next, unpack =
10
+ package, require, ipairs, pairs, table, type, next, unpack
11
+
12
+ module("luarocks.loader")
13
+
14
+ local path = require("luarocks.path")
15
+ local manif_core = require("luarocks.manif_core")
16
+ local deps = require("luarocks.deps")
17
+ local cfg = require("luarocks.cfg")
18
+
19
+ context = {}
20
+
21
+ -- Contains a table when rocks trees are loaded,
22
+ -- or 'false' to indicate rocks trees failed to load.
23
+ -- 'nil' indicates rocks trees were not attempted to be loaded yet.
24
+ rocks_trees = nil
25
+
26
+ local function load_rocks_trees()
27
+ local any_ok = false
28
+ local trees = {}
29
+ for _, tree in pairs(cfg.rocks_trees) do
30
+ local manifest, err = manif_core.load_local_manifest(path.rocks_dir(tree))
31
+ if manifest then
32
+ any_ok = true
33
+ table.insert(trees, {tree=tree, manifest=manifest})
34
+ end
35
+ end
36
+ if not any_ok then
37
+ rocks_trees = false
38
+ return false
39
+ end
40
+ rocks_trees = trees
41
+ return true
42
+ end
43
+
44
+ --- Process the dependencies of a package to determine its dependency
45
+ -- chain for loading modules.
46
+ -- @param name string: The name of an installed rock.
47
+ -- @param version string: The version of the rock, in string format
48
+ function add_context(name, version)
49
+ -- assert(type(name) == "string")
50
+ -- assert(type(version) == "string")
51
+
52
+ if context[name] then
53
+ return
54
+ end
55
+ context[name] = version
56
+
57
+ if not rocks_trees and not load_rocks_trees() then
58
+ return nil
59
+ end
60
+
61
+ local providers = {}
62
+ for _, tree in pairs(rocks_trees) do
63
+ local manifest = tree.manifest
64
+
65
+ local pkgdeps
66
+ if manifest.dependencies and manifest.dependencies[name] then
67
+ pkgdeps = manifest.dependencies[name][version]
68
+ end
69
+ if not pkgdeps then
70
+ return nil
71
+ end
72
+ for _, dep in ipairs(pkgdeps) do
73
+ local pkg, constraints = dep.name, dep.constraints
74
+
75
+ for _, tree in pairs(rocks_trees) do
76
+ local entries = tree.manifest.repository[pkg]
77
+ if entries then
78
+ for version, pkgs in pairs(entries) do
79
+ if (not constraints) or deps.match_constraints(deps.parse_version(version), constraints) then
80
+ add_context(pkg, version)
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+
89
+ --- Internal sorting function.
90
+ -- @param a table: A provider table.
91
+ -- @param b table: Another provider table.
92
+ -- @return boolean: True if the version of a is greater than that of b.
93
+ local function sort_versions(a,b)
94
+ return a.version > b.version
95
+ end
96
+
97
+ --- Request module to be loaded through other loaders,
98
+ -- once the proper name of the module has been determined.
99
+ -- For example, in case the module "socket.core" has been requested
100
+ -- to the LuaRocks loader and it determined based on context that
101
+ -- the version 2.0.2 needs to be loaded and it is not the current
102
+ -- version, the module requested for the other loaders will be
103
+ -- "socket.core_2_0_2".
104
+ -- @param module The module name requested by the user, such as "socket.core"
105
+ -- @param name The rock name, such as "luasocket"
106
+ -- @param version The rock version, such as "2.0.2-1"
107
+ -- @param module_name The actual module name, such as "socket.core" or "socket.core_2_0_2".
108
+ -- @return table or (nil, string): The module table as returned by some other loader,
109
+ -- or nil followed by an error message if no other loader managed to load the module.
110
+ local function call_other_loaders(module, name, version, module_name)
111
+ for i, loader in pairs(package.loaders) do
112
+ if loader ~= luarocks_loader then
113
+ local results = { loader(module_name) }
114
+ if type(results[1]) == "function" then
115
+ return unpack(results)
116
+ end
117
+ end
118
+ end
119
+ return nil, "Failed loading module "..module.." in LuaRocks rock "..name.." "..version
120
+ end
121
+
122
+ --- Search for a module in the rocks trees
123
+ -- @param module string: module name (eg. "socket.core")
124
+ -- @param filter_module_name function(string, string, string, string, number):
125
+ -- a function that takes the module name (eg "socket.core"), the rock name
126
+ -- (eg "luasocket"), the version (eg "2.0.2-1"), the path of the rocks tree
127
+ -- (eg "/usr/local"), and the numeric index of the matching entry, so the
128
+ -- filter function can know if the matching module was the first entry or not.
129
+ -- @return string, string, string: name of the rock containing the module
130
+ -- (eg. "luasocket"), version of the rock (eg. "2.0.2-1"),
131
+ -- name of the module (eg. "socket.core", or "socket.core_2_0_2" if file is
132
+ -- stored versioned).
133
+ local function select_module(module, filter_module_name)
134
+ --assert(type(module) == "string")
135
+ --assert(type(filter_module_name) == "function")
136
+
137
+ if not rocks_trees and not load_rocks_trees() then
138
+ return nil
139
+ end
140
+
141
+ local providers = {}
142
+ for _, tree in pairs(rocks_trees) do
143
+ local entries = tree.manifest.modules[module]
144
+ if entries then
145
+ for i, entry in ipairs(entries) do
146
+ local name, version = entry:match("^([^/]*)/(.*)$")
147
+ local module_name = tree.manifest.repository[name][version][1].modules[module]
148
+ if type(module_name) ~= "string" then
149
+ error("Invalid format in manifest file (invalid data for "..tostring(name).." "..tostring(version)..")")
150
+ end
151
+ module_name = filter_module_name(module_name, name, version, tree.tree, i)
152
+ if context[name] == version then
153
+ return name, version, module_name
154
+ end
155
+ version = deps.parse_version(version)
156
+ table.insert(providers, {name = name, version = version, module_name = module_name})
157
+ end
158
+ end
159
+ end
160
+
161
+ if next(providers) then
162
+ table.sort(providers, sort_versions)
163
+ local first = providers[1]
164
+ return first.name, first.version.string, first.module_name
165
+ end
166
+ end
167
+
168
+ --- Search for a module
169
+ -- @param module string: module name (eg. "socket.core")
170
+ -- @return string, string, string: name of the rock containing the module
171
+ -- (eg. "luasocket"), version of the rock (eg. "2.0.2-1"),
172
+ -- name of the module (eg. "socket.core", or "socket.core_2_0_2" if file is
173
+ -- stored versioned).
174
+ local function pick_module(module)
175
+ return
176
+ select_module(module, function(module_name, name, version, tree, i)
177
+ if i > 1 then
178
+ module_name = path.versioned_name(module_name, "", name, version)
179
+ end
180
+ module_name = path.path_to_module(module_name)
181
+ return module_name
182
+ end)
183
+ end
184
+
185
+ --- Return the pathname of the file that would be loaded for a module.
186
+ -- @param module string: module name (eg. "socket.core")
187
+ -- @return string, string, string: name of the rock containing the module
188
+ -- (eg. "luasocket"), version of the rock (eg. "2.0.2-1"),
189
+ -- filename of the module (eg. "/usr/local/lib/lua/5.1/socket/core.so")
190
+ function which(module)
191
+ local name, version, module_name =
192
+ select_module(module, function(module_name, name, version, tree, i)
193
+ local deploy_dir
194
+ if module_name:match("%.lua$") then
195
+ deploy_dir = path.deploy_lua_dir(tree)
196
+ module_name = deploy_dir.."/"..module_name
197
+ else
198
+ deploy_dir = path.deploy_lib_dir(tree)
199
+ module_name = deploy_dir.."/"..module_name
200
+ end
201
+ if i > 1 then
202
+ module_name = path.versioned_name(module_name, deploy_dir, name, version)
203
+ end
204
+ return module_name
205
+ end)
206
+ return module_name
207
+ end
208
+
209
+ --- Package loader for LuaRocks support.
210
+ -- A module is searched in installed rocks that match the
211
+ -- current LuaRocks context. If module is not part of the
212
+ -- context, or if a context has not yet been set, the module
213
+ -- in the package with the highest version is used.
214
+ -- @param module string: The module name, like in plain require().
215
+ -- @return table: The module table (typically), like in plain
216
+ -- require(). See <a href="http://www.lua.org/manual/5.1/manual.html#pdf-require">require()</a>
217
+ -- in the Lua reference manual for details.
218
+ function luarocks_loader(module)
219
+ local name, version, module_name = pick_module(module)
220
+ if not name then
221
+ return nil, "No LuaRocks module found for "..module
222
+ else
223
+ add_context(name, version)
224
+ return call_other_loaders(module, name, version, module_name)
225
+ end
226
+ end
227
+
228
+ table.insert(global_env.package.loaders, 1, luarocks_loader)
@@ -0,0 +1,71 @@
1
+
2
+ --- Module implementing the LuaRocks "make" command.
3
+ -- Builds sources in the current directory, but unlike "build",
4
+ -- it does not fetch sources, etc., assuming everything is
5
+ -- available in the current directory.
6
+ module("luarocks.make", package.seeall)
7
+
8
+ local build = require("luarocks.build")
9
+ local fs = require("luarocks.fs")
10
+ local util = require("luarocks.util")
11
+ local cfg = require("luarocks.cfg")
12
+ local fetch = require("luarocks.fetch")
13
+ local pack = require("luarocks.pack")
14
+
15
+ help_summary = "Compile package in current directory using a rockspec."
16
+ help_arguments = "[--pack-binary-rock] [<rockspec>]"
17
+ help = [[
18
+ Builds sources in the current directory, but unlike "build",
19
+ it does not fetch sources, etc., assuming everything is
20
+ available in the current directory. If no argument is given,
21
+ look for a rockspec in the current directory. If more than one
22
+ is found, you must specify which to use, through the command-line.
23
+
24
+ This command is useful as a tool for debugging rockspecs.
25
+ To install rocks, you'll normally want to use the "install" and
26
+ "build" commands. See the help on those for details.
27
+
28
+ If --pack-binary-rock is passed, the rock is not installed;
29
+ instead, a .rock file with the contents of compilation is produced
30
+ in the current directory.
31
+ ]]
32
+
33
+ --- Driver function for "make" command.
34
+ -- @param name string: A local rockspec.
35
+ -- @return boolean or (nil, string): True if build was successful; nil and an
36
+ -- error message otherwise.
37
+ function run(...)
38
+ local flags, rockspec = util.parse_flags(...)
39
+ assert(type(rockspec) == "string" or not rockspec)
40
+
41
+ if not rockspec then
42
+ local files = fs.list_dir(fs.current_dir())
43
+ for _, file in pairs(files) do
44
+ if file:match("rockspec$") then
45
+ if rockspec then
46
+ return nil, "Please specify which rockspec file to use."
47
+ else
48
+ rockspec = file
49
+ end
50
+ end
51
+ end
52
+ if not rockspec then
53
+ return nil, "Argument missing: please specify a rockspec to use on current directory."
54
+ end
55
+ end
56
+ if not rockspec:match("rockspec$") then
57
+ return nil, "Invalid argument: 'make' takes a rockspec as a parameter. See help."
58
+ end
59
+
60
+ if flags["pack-binary-rock"] then
61
+ local rspec, err, errcode = fetch.load_rockspec(rockspec)
62
+ if not rspec then
63
+ return nil, err
64
+ end
65
+ return pack.pack_binary_rock(rspec.name, rspec.version, build.build_rockspec, rockspec, false, true, flags["nodeps"])
66
+ else
67
+ local ok, err = fs.check_command_permissions(flags)
68
+ if not ok then return nil, err end
69
+ return build.build_rockspec(rockspec, false, true)
70
+ end
71
+ end