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.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +69 -0
- data/Rakefile +1 -0
- data/lib/rufus/lua/win.rb +18 -0
- data/lib/rufus/lua/win/version.rb +7 -0
- data/rufus-lua-win.gemspec +23 -0
- data/vendor/lua/bin/liblua.dll +0 -0
- data/vendor/lua/lib/lua/LuaXml.lua +119 -0
- data/vendor/lua/lib/lua/alien.lua +250 -0
- data/vendor/lua/lib/lua/alien/core.dll +0 -0
- data/vendor/lua/lib/lua/alien/struct.dll +0 -0
- data/vendor/lua/lib/lua/base.lua +536 -0
- data/vendor/lua/lib/lua/bin.lua +20 -0
- data/vendor/lua/lib/lua/bit.dll +0 -0
- data/vendor/lua/lib/lua/cdlua.dll +0 -0
- data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
- data/vendor/lua/lib/lua/cdluagl.dll +0 -0
- data/vendor/lua/lib/lua/cdluaim.dll +0 -0
- data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
- data/vendor/lua/lib/lua/copas.lua +543 -0
- data/vendor/lua/lib/lua/coxpcall.lua +57 -0
- data/vendor/lua/lib/lua/date.lua +745 -0
- data/vendor/lua/lib/lua/debug_ext.lua +84 -0
- data/vendor/lua/lib/lua/debug_init.lua +2 -0
- data/vendor/lua/lib/lua/des56.dll +0 -0
- data/vendor/lua/lib/lua/dist/config.lua +109 -0
- data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
- data/vendor/lua/lib/lua/dist/depends.lua +601 -0
- data/vendor/lua/lib/lua/dist/git.lua +307 -0
- data/vendor/lua/lib/lua/dist/init.lua +278 -0
- data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
- data/vendor/lua/lib/lua/dist/package.lua +583 -0
- data/vendor/lua/lib/lua/dist/sys.lua +367 -0
- data/vendor/lua/lib/lua/dist/utils.lua +130 -0
- data/vendor/lua/lib/lua/ex.dll +0 -0
- data/vendor/lua/lib/lua/fstable.lua +116 -0
- data/vendor/lua/lib/lua/getopt.lua +273 -0
- data/vendor/lua/lib/lua/git.lua +5 -0
- data/vendor/lua/lib/lua/git/core.dll +0 -0
- data/vendor/lua/lib/lua/git/objects.lua +121 -0
- data/vendor/lua/lib/lua/git/pack.lua +316 -0
- data/vendor/lua/lib/lua/git/protocol.lua +188 -0
- data/vendor/lua/lib/lua/git/repo.lua +283 -0
- data/vendor/lua/lib/lua/git/util.lua +233 -0
- data/vendor/lua/lib/lua/gzio.dll +0 -0
- data/vendor/lua/lib/lua/gzip.lua +81 -0
- data/vendor/lua/lib/lua/iconv.dll +0 -0
- data/vendor/lua/lib/lua/imlua.dll +0 -0
- data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
- data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
- data/vendor/lua/lib/lua/io_ext.lua +115 -0
- data/vendor/lua/lib/lua/iuplua.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
- data/vendor/lua/lib/lua/iupluacd.dll +0 -0
- data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
- data/vendor/lua/lib/lua/iupluagl.dll +0 -0
- data/vendor/lua/lib/lua/iupluaim.dll +0 -0
- data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
- data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
- data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
- data/vendor/lua/lib/lua/lanes.lua +591 -0
- data/vendor/lua/lib/lua/lanes/core.dll +0 -0
- data/vendor/lua/lib/lua/lcs.lua +55 -0
- data/vendor/lua/lib/lua/lemock.lua +659 -0
- data/vendor/lua/lib/lua/lfs.dll +0 -0
- data/vendor/lua/lib/lua/list.lua +375 -0
- data/vendor/lua/lib/lua/logging.lua +189 -0
- data/vendor/lua/lib/lua/logging/console.lua +22 -0
- data/vendor/lua/lib/lua/logging/email.lua +44 -0
- data/vendor/lua/lib/lua/logging/file.lua +55 -0
- data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
- data/vendor/lua/lib/lua/logging/socket.lua +35 -0
- data/vendor/lua/lib/lua/logging/sql.lua +64 -0
- data/vendor/lua/lib/lua/loop/base.lua +68 -0
- data/vendor/lua/lib/lua/loop/cached.lua +312 -0
- data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
- data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
- data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
- data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
- data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
- data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
- data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
- data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
- data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
- data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
- data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
- data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
- data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
- data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
- data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
- data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
- data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
- data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
- data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
- data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
- data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
- data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
- data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
- data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
- data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
- data/vendor/lua/lib/lua/loop/simple.lua +75 -0
- data/vendor/lua/lib/lua/loop/table.lua +71 -0
- data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
- data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
- data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
- data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
- data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
- data/vendor/lua/lib/lua/lpeg.dll +0 -0
- data/vendor/lua/lib/lua/ltn12.lua +292 -0
- data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
- data/vendor/lua/lib/lua/luacurl.dll +0 -0
- data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
- data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
- data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
- data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
- data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
- data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
- data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
- data/vendor/lua/lib/lua/luagl.dll +0 -0
- data/vendor/lua/lib/lua/luaglu.dll +0 -0
- data/vendor/lua/lib/lua/luaidl.lua +113 -0
- data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
- data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
- data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
- data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
- data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
- data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
- data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
- data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
- data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
- data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
- data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
- data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
- data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
- data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
- data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
- data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
- data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
- data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
- data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
- data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
- data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
- data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
- data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
- data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
- data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
- data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
- data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
- data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
- data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
- data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
- data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
- data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
- data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
- data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
- data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
- data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
- data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
- data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
- data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
- data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
- data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
- data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
- data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
- data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
- data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
- data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
- data/vendor/lua/lib/lua/luars232.dll +0 -0
- data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
- data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
- data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
- data/vendor/lua/lib/lua/luaunit.lua +601 -0
- data/vendor/lua/lib/lua/lxp.dll +0 -0
- data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
- data/vendor/lua/lib/lua/math_ext.lua +27 -0
- data/vendor/lua/lib/lua/mbox.lua +53 -0
- data/vendor/lua/lib/lua/md5.lua +19 -0
- data/vendor/lua/lib/lua/md5/core.dll +0 -0
- data/vendor/lua/lib/lua/metalua.lua +0 -0
- data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
- data/vendor/lua/lib/lua/metalua/base.lua +104 -0
- data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
- data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
- data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
- data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
- data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
- data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
- data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
- data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
- data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
- data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
- data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
- data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
- data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
- data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
- data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
- data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
- data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
- data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
- data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
- data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
- data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
- data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
- data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
- data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
- data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
- data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
- data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
- data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
- data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
- data/vendor/lua/lib/lua/mime.lua +87 -0
- data/vendor/lua/lib/lua/mime/core.dll +0 -0
- data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
- data/vendor/lua/lib/lua/modules.lua +16 -0
- data/vendor/lua/lib/lua/object.lua +56 -0
- data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
- data/vendor/lua/lib/lua/oil/arch.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
- data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
- data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
- data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
- data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
- data/vendor/lua/lib/lua/oil/assert.lua +87 -0
- data/vendor/lua/lib/lua/oil/builder.lua +45 -0
- data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
- data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
- data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
- data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/compat.lua +846 -0
- data/vendor/lua/lib/lua/oil/component.lua +1 -0
- data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
- data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
- data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
- data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
- data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
- data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
- data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
- data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
- data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
- data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
- data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
- data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
- data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
- data/vendor/lua/lib/lua/oil/oo.lua +1 -0
- data/vendor/lua/lib/lua/oil/port.lua +1 -0
- data/vendor/lua/lib/lua/oil/properties.lua +57 -0
- data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
- data/vendor/lua/lib/lua/package_ext.lua +15 -0
- data/vendor/lua/lib/lua/parser.lua +268 -0
- data/vendor/lua/lib/lua/pl/Date.lua +555 -0
- data/vendor/lua/lib/lua/pl/List.lua +613 -0
- data/vendor/lua/lib/lua/pl/Map.lua +113 -0
- data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
- data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
- data/vendor/lua/lib/lua/pl/Set.lua +153 -0
- data/vendor/lua/lib/lua/pl/app.lua +165 -0
- data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
- data/vendor/lua/lib/lua/pl/class.lua +180 -0
- data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
- data/vendor/lua/lib/lua/pl/config.lua +176 -0
- data/vendor/lua/lib/lua/pl/data.lua +606 -0
- data/vendor/lua/lib/lua/pl/dir.lua +475 -0
- data/vendor/lua/lib/lua/pl/file.lua +70 -0
- data/vendor/lua/lib/lua/pl/func.lua +376 -0
- data/vendor/lua/lib/lua/pl/init.lua +68 -0
- data/vendor/lua/lib/lua/pl/input.lua +173 -0
- data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
- data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
- data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
- data/vendor/lua/lib/lua/pl/operator.lua +201 -0
- data/vendor/lua/lib/lua/pl/path.lua +398 -0
- data/vendor/lua/lib/lua/pl/permute.lua +63 -0
- data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
- data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
- data/vendor/lua/lib/lua/pl/seq.lua +551 -0
- data/vendor/lua/lib/lua/pl/sip.lua +344 -0
- data/vendor/lua/lib/lua/pl/strict.lua +70 -0
- data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
- data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
- data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
- data/vendor/lua/lib/lua/pl/template.lua +103 -0
- data/vendor/lua/lib/lua/pl/test.lua +135 -0
- data/vendor/lua/lib/lua/pl/text.lua +243 -0
- data/vendor/lua/lib/lua/pl/utils.lua +550 -0
- data/vendor/lua/lib/lua/pl/xml.lua +689 -0
- data/vendor/lua/lib/lua/profiler.dll +0 -0
- data/vendor/lua/lib/lua/re.lua +248 -0
- data/vendor/lua/lib/lua/rex_onig.dll +0 -0
- data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
- data/vendor/lua/lib/lua/rex_posix.dll +0 -0
- data/vendor/lua/lib/lua/rings.dll +0 -0
- data/vendor/lua/lib/lua/serialize.lua +193 -0
- data/vendor/lua/lib/lua/set.lua +149 -0
- data/vendor/lua/lib/lua/socket.lua +133 -0
- data/vendor/lua/lib/lua/socket/core.dll +0 -0
- data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
- data/vendor/lua/lib/lua/socket/http.lua +350 -0
- data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
- data/vendor/lua/lib/lua/socket/tp.lua +123 -0
- data/vendor/lua/lib/lua/socket/url.lua +297 -0
- data/vendor/lua/lib/lua/ssl.dll +0 -0
- data/vendor/lua/lib/lua/ssl.lua +93 -0
- data/vendor/lua/lib/lua/ssl/https.lua +138 -0
- data/vendor/lua/lib/lua/stable.lua +28 -0
- data/vendor/lua/lib/lua/std.lua +16 -0
- data/vendor/lua/lib/lua/strbuf.lua +32 -0
- data/vendor/lua/lib/lua/strict.lua +45 -0
- data/vendor/lua/lib/lua/string_ext.lua +274 -0
- data/vendor/lua/lib/lua/table_ext.lua +117 -0
- data/vendor/lua/lib/lua/tar.lua +262 -0
- data/vendor/lua/lib/lua/task.dll +0 -0
- data/vendor/lua/lib/lua/tree.lua +81 -0
- data/vendor/lua/lib/lua/unicode.dll +0 -0
- data/vendor/lua/lib/lua/verbose_require.lua +11 -0
- data/vendor/lua/lib/lua/vstruct.lua +86 -0
- data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
- data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
- data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
- data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
- data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
- data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
- data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
- data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
- data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
- data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
- data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
- data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
- data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
- data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
- data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
- data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
- data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
- data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
- data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
- data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
- data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
- data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
- data/vendor/lua/lib/lua/wx.dll +0 -0
- data/vendor/lua/lib/lua/xml.lua +75 -0
- data/vendor/lua/lib/lua/zip.dll +0 -0
- data/vendor/lua/lib/lua/zlib.dll +0 -0
- metadata +529 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
|
|
2
|
+
--- Generic utilities for handling pathnames.
|
|
3
|
+
module("luarocks.dir", package.seeall)
|
|
4
|
+
|
|
5
|
+
separator = "/"
|
|
6
|
+
|
|
7
|
+
--- Strip the path off a path+filename.
|
|
8
|
+
-- @param pathname string: A path+name, such as "/a/b/c"
|
|
9
|
+
-- or "\a\b\c".
|
|
10
|
+
-- @return string: The filename without its path, such as "c".
|
|
11
|
+
function base_name(pathname)
|
|
12
|
+
assert(type(pathname) == "string")
|
|
13
|
+
|
|
14
|
+
local base = pathname:gsub("[/\\]*$", ""):match(".*[/\\]([^/\\]*)")
|
|
15
|
+
return base or pathname
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
--- Strip the name off a path+filename.
|
|
19
|
+
-- @param pathname string: A path+name, such as "/a/b/c".
|
|
20
|
+
-- @return string: The filename without its path, such as "/a/b/".
|
|
21
|
+
-- For entries such as "/a/b/", "/a/" is returned. If there are
|
|
22
|
+
-- no directory separators in input, "" is returned.
|
|
23
|
+
function dir_name(pathname)
|
|
24
|
+
assert(type(pathname) == "string")
|
|
25
|
+
|
|
26
|
+
return (pathname:gsub("/*$", ""):match("(.*/)[^/]*")) or ""
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
function strip_base_dir(pathname)
|
|
30
|
+
return pathname:gsub("^[^/]*/", "")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
--- Describe a path in a cross-platform way.
|
|
34
|
+
-- Use this function to avoid platform-specific directory
|
|
35
|
+
-- separators in other modules. If the first item contains a
|
|
36
|
+
-- protocol descriptor (e.g. "http:"), paths are always constituted
|
|
37
|
+
-- with forward slashes.
|
|
38
|
+
-- @param ... strings representing directories
|
|
39
|
+
-- @return string: a string with a platform-specific representation
|
|
40
|
+
-- of the path.
|
|
41
|
+
function path(...)
|
|
42
|
+
local items = {...}
|
|
43
|
+
local i = 1
|
|
44
|
+
while items[i] do
|
|
45
|
+
items[i] = items[i]:gsub("/*$", "")
|
|
46
|
+
if items[i] == "" then
|
|
47
|
+
table.remove(items, i)
|
|
48
|
+
else
|
|
49
|
+
i = i + 1
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
return table.concat(items, "/")
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
--- Split protocol and path from an URL or local pathname.
|
|
56
|
+
-- URLs should be in the "protocol://path" format.
|
|
57
|
+
-- For local pathnames, "file" is returned as the protocol.
|
|
58
|
+
-- @param url string: an URL or a local pathname.
|
|
59
|
+
-- @return string, string: the protocol, and the pathname without the protocol.
|
|
60
|
+
function split_url(url)
|
|
61
|
+
assert(type(url) == "string")
|
|
62
|
+
|
|
63
|
+
local protocol, pathname = url:match("^([^:]*)://(.*)")
|
|
64
|
+
if not protocol then
|
|
65
|
+
protocol = "file"
|
|
66
|
+
pathname = url
|
|
67
|
+
end
|
|
68
|
+
return protocol, pathname
|
|
69
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
|
|
2
|
+
--- Module implementing the luarocks "download" command.
|
|
3
|
+
-- Download a rock from the repository.
|
|
4
|
+
module("luarocks.download", package.seeall)
|
|
5
|
+
|
|
6
|
+
local util = require("luarocks.util")
|
|
7
|
+
local path = require("luarocks.path")
|
|
8
|
+
local fetch = require("luarocks.fetch")
|
|
9
|
+
local search = require("luarocks.search")
|
|
10
|
+
|
|
11
|
+
help_summary = "Download a specific rock file from a rocks server."
|
|
12
|
+
help_arguments = "[--all] [--arch=<arch> | --source | --rockspec] [<name> [<version>]]"
|
|
13
|
+
|
|
14
|
+
help = [[
|
|
15
|
+
--all Download all files if there are multiple matches.
|
|
16
|
+
--source Download .src.rock if available.
|
|
17
|
+
--rockspec Download .rockspec if available.
|
|
18
|
+
--arch=<arch> Download rock for a specific architecture.
|
|
19
|
+
]]
|
|
20
|
+
|
|
21
|
+
function download(arch, name, version, all)
|
|
22
|
+
local results, err
|
|
23
|
+
local query = search.make_query(name, version)
|
|
24
|
+
if arch then query.arch = arch end
|
|
25
|
+
if all then
|
|
26
|
+
if name == "" then query.exact_name = false end
|
|
27
|
+
results, err = search.search_repos(query)
|
|
28
|
+
else
|
|
29
|
+
results, err = search.find_suitable_rock(query)
|
|
30
|
+
end
|
|
31
|
+
if type(results) == "string" then
|
|
32
|
+
local file = fetch.fetch_url(results)
|
|
33
|
+
return file
|
|
34
|
+
elseif type(results) == "table" and next(results) then
|
|
35
|
+
if all then
|
|
36
|
+
local all_ok = true
|
|
37
|
+
local any_err = ""
|
|
38
|
+
for name, result in pairs(results) do
|
|
39
|
+
for version, versions in pairs(result) do
|
|
40
|
+
for _,items in pairs(versions) do
|
|
41
|
+
local filename = path.make_url(items.repo, name, version, items.arch)
|
|
42
|
+
local ok, err = fetch.fetch_url(filename)
|
|
43
|
+
if not ok then
|
|
44
|
+
all_ok = false
|
|
45
|
+
any_err = any_err .. "\n" .. err
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
return all_ok, any_err
|
|
51
|
+
else
|
|
52
|
+
util.printerr("Multiple search results were returned.")
|
|
53
|
+
util.printout()
|
|
54
|
+
util.printout("Search results:")
|
|
55
|
+
util.printout("---------------")
|
|
56
|
+
search.print_results(results)
|
|
57
|
+
return nil, "Please narrow your query or use --all."
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
return nil, "Could not find a result named "..name..(version and " "..version or "").."."
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
--- Driver function for the "download" command.
|
|
64
|
+
-- @param name string: a rock name.
|
|
65
|
+
-- @param version string or nil: if the name of a package is given, a
|
|
66
|
+
-- version may also be passed.
|
|
67
|
+
-- @return boolean or (nil, string): true if successful or nil followed
|
|
68
|
+
-- by an error message.
|
|
69
|
+
function run(...)
|
|
70
|
+
local flags, name, version = util.parse_flags(...)
|
|
71
|
+
|
|
72
|
+
assert(type(version) == "string" or not version)
|
|
73
|
+
if type(name) ~= "string" and not flags["all"] then
|
|
74
|
+
return nil, "Argument missing, see help."
|
|
75
|
+
end
|
|
76
|
+
if not name then name, version = "", "" end
|
|
77
|
+
|
|
78
|
+
local arch
|
|
79
|
+
|
|
80
|
+
if flags["source"] then
|
|
81
|
+
arch = "src"
|
|
82
|
+
elseif flags["rockspec"] then
|
|
83
|
+
arch = "rockspec"
|
|
84
|
+
elseif flags["arch"] then
|
|
85
|
+
arch = flags["arch"]
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
local dl, err = download(arch, name, version, flags["all"])
|
|
89
|
+
return dl and true, err
|
|
90
|
+
end
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
|
|
2
|
+
--- Functions related to fetching and loading local and remote files.
|
|
3
|
+
module("luarocks.fetch", package.seeall)
|
|
4
|
+
|
|
5
|
+
local fs = require("luarocks.fs")
|
|
6
|
+
local dir = require("luarocks.dir")
|
|
7
|
+
local type_check = require("luarocks.type_check")
|
|
8
|
+
local path = require("luarocks.path")
|
|
9
|
+
local deps = require("luarocks.deps")
|
|
10
|
+
local persist = require("luarocks.persist")
|
|
11
|
+
local util = require("luarocks.util")
|
|
12
|
+
local cfg = require("luarocks.cfg")
|
|
13
|
+
|
|
14
|
+
--- Fetch a local or remote file.
|
|
15
|
+
-- Make a remote or local URL/pathname local, fetching the file if necessary.
|
|
16
|
+
-- Other "fetch" and "load" functions use this function to obtain files.
|
|
17
|
+
-- If a local pathname is given, it is returned as a result.
|
|
18
|
+
-- @param url string: a local pathname or a remote URL.
|
|
19
|
+
-- @param filename string or nil: this function attempts to detect the
|
|
20
|
+
-- resulting local filename of the remote file as the basename of the URL;
|
|
21
|
+
-- if that is not correct (due to a redirection, for example), the local
|
|
22
|
+
-- filename can be given explicitly as this second argument.
|
|
23
|
+
-- @return string or (nil, string, [string]): the absolute local pathname for the
|
|
24
|
+
-- fetched file, or nil and a message in case of errors, followed by
|
|
25
|
+
-- an optional error code.
|
|
26
|
+
function fetch_url(url, filename)
|
|
27
|
+
assert(type(url) == "string")
|
|
28
|
+
assert(type(filename) == "string" or not filename)
|
|
29
|
+
|
|
30
|
+
local protocol, pathname = dir.split_url(url)
|
|
31
|
+
if protocol == "file" then
|
|
32
|
+
return fs.absolute_name(pathname)
|
|
33
|
+
elseif protocol == "http" or protocol == "ftp" or protocol == "https" then
|
|
34
|
+
local ok, err = fs.download(url, filename)
|
|
35
|
+
if not ok then
|
|
36
|
+
return nil, "Failed downloading "..url..(err and " - "..err or ""), "network"
|
|
37
|
+
end
|
|
38
|
+
return dir.path(fs.current_dir(), filename or dir.base_name(url))
|
|
39
|
+
else
|
|
40
|
+
return nil, "Unsupported protocol "..protocol
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
--- For remote URLs, create a temporary directory and download URL inside it.
|
|
45
|
+
-- This temporary directory will be deleted on program termination.
|
|
46
|
+
-- For local URLs, just return the local pathname and its directory.
|
|
47
|
+
-- @param url string: URL to be downloaded
|
|
48
|
+
-- @param tmpname string: name pattern to use for avoiding conflicts
|
|
49
|
+
-- when creating temporary directory.
|
|
50
|
+
-- @param filename string or nil: local filename of URL to be downloaded,
|
|
51
|
+
-- in case it can't be inferred from the URL.
|
|
52
|
+
-- @return (string, string) or (nil, string, [string]): absolute local pathname of
|
|
53
|
+
-- the fetched file and temporary directory name; or nil and an error message
|
|
54
|
+
-- followed by an optional error code
|
|
55
|
+
function fetch_url_at_temp_dir(url, tmpname, filename)
|
|
56
|
+
assert(type(url) == "string")
|
|
57
|
+
assert(type(tmpname) == "string")
|
|
58
|
+
assert(type(filename) == "string" or not filename)
|
|
59
|
+
filename = filename or dir.base_name(url)
|
|
60
|
+
|
|
61
|
+
local protocol, pathname = dir.split_url(url)
|
|
62
|
+
if protocol == "file" then
|
|
63
|
+
if fs.exists(pathname) then
|
|
64
|
+
return pathname, dir.dir_name(fs.absolute_name(pathname))
|
|
65
|
+
else
|
|
66
|
+
return nil, "File not found: "..pathname
|
|
67
|
+
end
|
|
68
|
+
else
|
|
69
|
+
local temp_dir = fs.make_temp_dir(tmpname)
|
|
70
|
+
if not temp_dir then
|
|
71
|
+
return nil, "Failed creating temporary directory."
|
|
72
|
+
end
|
|
73
|
+
util.schedule_function(fs.delete, temp_dir)
|
|
74
|
+
fs.change_dir(temp_dir)
|
|
75
|
+
local file, err, errcode = fetch_url(url, filename)
|
|
76
|
+
fs.pop_dir()
|
|
77
|
+
if not file then
|
|
78
|
+
return nil, "Error fetching file: "..err, errcode
|
|
79
|
+
end
|
|
80
|
+
return file, temp_dir
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
--- Obtain a rock and unpack it.
|
|
85
|
+
-- If a directory is not given, a temporary directory will be created,
|
|
86
|
+
-- which will be deleted on program termination.
|
|
87
|
+
-- @param rock_file string: URL or filename of the rock.
|
|
88
|
+
-- @param dest string or nil: if given, directory will be used as
|
|
89
|
+
-- a permanent destination.
|
|
90
|
+
-- @return string or (nil, string, [string]): the directory containing the contents
|
|
91
|
+
-- of the unpacked rock.
|
|
92
|
+
function fetch_and_unpack_rock(rock_file, dest)
|
|
93
|
+
assert(type(rock_file) == "string")
|
|
94
|
+
assert(type(dest) == "string" or not dest)
|
|
95
|
+
|
|
96
|
+
local name = dir.base_name(rock_file):match("(.*)%.[^.]*%.rock")
|
|
97
|
+
|
|
98
|
+
local rock_file, err, errcode = fetch_url_at_temp_dir(rock_file,"luarocks-rock-"..name)
|
|
99
|
+
if not rock_file then
|
|
100
|
+
return nil, "Could not fetch rock file: " .. err, errcode
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
rock_file = fs.absolute_name(rock_file)
|
|
104
|
+
local unpack_dir
|
|
105
|
+
if dest then
|
|
106
|
+
unpack_dir = dest
|
|
107
|
+
fs.make_dir(unpack_dir)
|
|
108
|
+
else
|
|
109
|
+
unpack_dir = fs.make_temp_dir(name)
|
|
110
|
+
end
|
|
111
|
+
if not dest then
|
|
112
|
+
util.schedule_function(fs.delete, unpack_dir)
|
|
113
|
+
end
|
|
114
|
+
fs.change_dir(unpack_dir)
|
|
115
|
+
local ok = fs.unzip(rock_file)
|
|
116
|
+
if not ok then
|
|
117
|
+
return nil, "Failed unpacking rock file: " .. rock_file
|
|
118
|
+
end
|
|
119
|
+
fs.pop_dir()
|
|
120
|
+
return unpack_dir
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
--- Back-end function that actually loads the local rockspec.
|
|
124
|
+
-- Performs some validation and postprocessing of the rockspec contents.
|
|
125
|
+
-- @param filename string: The local filename of the rockspec file.
|
|
126
|
+
-- @return table or (nil, string): A table representing the rockspec
|
|
127
|
+
-- or nil followed by an error message.
|
|
128
|
+
function load_local_rockspec(filename)
|
|
129
|
+
assert(type(filename) == "string")
|
|
130
|
+
filename = fs.absolute_name(filename)
|
|
131
|
+
local rockspec, err = persist.load_into_table(filename)
|
|
132
|
+
if not rockspec then
|
|
133
|
+
return nil, "Could not load rockspec file "..filename.." ("..err..")"
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
local ok, err = type_check.type_check_rockspec(rockspec)
|
|
137
|
+
if not ok then
|
|
138
|
+
return nil, filename..": "..err
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
if rockspec.rockspec_format then
|
|
142
|
+
if deps.compare_versions(rockspec.rockspec_format, type_check.rockspec_format) then
|
|
143
|
+
return nil, "Rockspec format "..rockspec.rockspec_format.." is not supported, please upgrade LuaRocks."
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
util.platform_overrides(rockspec.build)
|
|
148
|
+
util.platform_overrides(rockspec.dependencies)
|
|
149
|
+
util.platform_overrides(rockspec.external_dependencies)
|
|
150
|
+
util.platform_overrides(rockspec.source)
|
|
151
|
+
util.platform_overrides(rockspec.hooks)
|
|
152
|
+
|
|
153
|
+
local basename = dir.base_name(filename)
|
|
154
|
+
if basename == "rockspec" then
|
|
155
|
+
rockspec.name = rockspec.package:lower()
|
|
156
|
+
else
|
|
157
|
+
rockspec.name = basename:match("(.*)-[^-]*-[0-9]*")
|
|
158
|
+
if not rockspec.name then
|
|
159
|
+
return nil, "Expected filename in format 'name-version-revision.rockspec'."
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
local protocol, pathname = dir.split_url(rockspec.source.url)
|
|
164
|
+
if protocol == "http" or protocol == "https" or protocol == "ftp" or protocol == "file" then
|
|
165
|
+
rockspec.source.file = rockspec.source.file or dir.base_name(rockspec.source.url)
|
|
166
|
+
end
|
|
167
|
+
rockspec.source.protocol, rockspec.source.pathname = protocol, pathname
|
|
168
|
+
|
|
169
|
+
-- Temporary compatibility
|
|
170
|
+
if rockspec.source.cvs_module then rockspec.source.module = rockspec.source.cvs_module end
|
|
171
|
+
if rockspec.source.cvs_tag then rockspec.source.tag = rockspec.source.cvs_tag end
|
|
172
|
+
|
|
173
|
+
local name_version = rockspec.package:lower() .. "-" .. rockspec.version
|
|
174
|
+
if basename ~= "rockspec" and basename ~= name_version .. ".rockspec" then
|
|
175
|
+
return nil, "Inconsistency between rockspec filename ("..basename..") and its contents ("..name_version..".rockspec)."
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
rockspec.local_filename = filename
|
|
179
|
+
local filebase = rockspec.source.file or rockspec.source.url
|
|
180
|
+
local base = dir.base_name(filebase)
|
|
181
|
+
base = base:gsub("%.[^.]*$", ""):gsub("%.tar$", "")
|
|
182
|
+
rockspec.source.dir = rockspec.source.dir
|
|
183
|
+
or rockspec.source.module
|
|
184
|
+
or ((filebase:match(".lua$") or filebase:match(".c$")) and ".")
|
|
185
|
+
or base
|
|
186
|
+
if rockspec.dependencies then
|
|
187
|
+
for i = 1, #rockspec.dependencies do
|
|
188
|
+
local parsed = deps.parse_dep(rockspec.dependencies[i])
|
|
189
|
+
if not parsed then
|
|
190
|
+
return nil, "Parse error processing dependency '"..rockspec.dependencies[i].."'"
|
|
191
|
+
end
|
|
192
|
+
rockspec.dependencies[i] = parsed
|
|
193
|
+
end
|
|
194
|
+
else
|
|
195
|
+
rockspec.dependencies = {}
|
|
196
|
+
end
|
|
197
|
+
local ok, err = path.configure_paths(rockspec)
|
|
198
|
+
if err then
|
|
199
|
+
return nil, "Error verifying paths: "..err
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
return rockspec
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
--- Load a local or remote rockspec into a table.
|
|
206
|
+
-- This is the entry point for the LuaRocks tools.
|
|
207
|
+
-- Only the LuaRocks runtime loader should use
|
|
208
|
+
-- load_local_rockspec directly.
|
|
209
|
+
-- @param filename string: Local or remote filename of a rockspec.
|
|
210
|
+
-- @param location string or nil: Where to download. If not given,
|
|
211
|
+
-- a temporary dir is created.
|
|
212
|
+
-- @return table or (nil, string, [string]): A table representing the rockspec
|
|
213
|
+
-- or nil followed by an error message and optional error code.
|
|
214
|
+
function load_rockspec(filename, location)
|
|
215
|
+
assert(type(filename) == "string")
|
|
216
|
+
|
|
217
|
+
local name
|
|
218
|
+
local basename = dir.base_name(filename)
|
|
219
|
+
if basename == "rockspec" then
|
|
220
|
+
name = "rockspec"
|
|
221
|
+
else
|
|
222
|
+
name = basename:match("(.*)%.rockspec")
|
|
223
|
+
if not name and not basename == "rockspec" then
|
|
224
|
+
return nil, "Filename '"..filename.."' does not look like a rockspec."
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
local err, errcode
|
|
229
|
+
if location then
|
|
230
|
+
fs.change_dir(location)
|
|
231
|
+
filename, err = fetch_url(filename)
|
|
232
|
+
fs.pop_dir()
|
|
233
|
+
else
|
|
234
|
+
filename, err, errcode = fetch_url_at_temp_dir(filename,"luarocks-rockspec-"..name)
|
|
235
|
+
end
|
|
236
|
+
if not filename then
|
|
237
|
+
return nil, err, errcode
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
return load_local_rockspec(filename)
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
--- Download sources for building a rock using the basic URL downloader.
|
|
244
|
+
-- @param rockspec table: The rockspec table
|
|
245
|
+
-- @param extract boolean: Whether to extract the sources from
|
|
246
|
+
-- the fetched source tarball or not.
|
|
247
|
+
-- @param dest_dir string or nil: If set, will extract to the given directory.
|
|
248
|
+
-- @return (string, string) or (nil, string, [string]): The absolute pathname of
|
|
249
|
+
-- the fetched source tarball and the temporary directory created to
|
|
250
|
+
-- store it; or nil and an error message and optional error code.
|
|
251
|
+
function get_sources(rockspec, extract, dest_dir)
|
|
252
|
+
assert(type(rockspec) == "table")
|
|
253
|
+
assert(type(extract) == "boolean")
|
|
254
|
+
assert(type(dest_dir) == "string" or not dest_dir)
|
|
255
|
+
|
|
256
|
+
local url = rockspec.source.url
|
|
257
|
+
local name = rockspec.name.."-"..rockspec.version
|
|
258
|
+
local filename = rockspec.source.file
|
|
259
|
+
local source_file, store_dir, err, errcode
|
|
260
|
+
if dest_dir then
|
|
261
|
+
fs.change_dir(dest_dir)
|
|
262
|
+
source_file, err, errcode = fetch_url(url, filename)
|
|
263
|
+
fs.pop_dir()
|
|
264
|
+
store_dir = dest_dir
|
|
265
|
+
else
|
|
266
|
+
source_file, store_dir, errcode = fetch_url_at_temp_dir(url, "luarocks-source-"..name, filename)
|
|
267
|
+
end
|
|
268
|
+
if not source_file then
|
|
269
|
+
return nil, err or store_dir, errcode
|
|
270
|
+
end
|
|
271
|
+
if rockspec.source.md5 then
|
|
272
|
+
if not fs.check_md5(source_file, rockspec.source.md5) then
|
|
273
|
+
return nil, "MD5 check for "..filename.." has failed."
|
|
274
|
+
end
|
|
275
|
+
end
|
|
276
|
+
if extract then
|
|
277
|
+
fs.change_dir(store_dir)
|
|
278
|
+
fs.unpack_archive(rockspec.source.file)
|
|
279
|
+
if not fs.exists(rockspec.source.dir) then
|
|
280
|
+
return nil, "Directory "..rockspec.source.dir.." not found inside archive "..rockspec.source.file
|
|
281
|
+
end
|
|
282
|
+
fs.pop_dir()
|
|
283
|
+
end
|
|
284
|
+
return source_file, store_dir
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
--- Download sources for building a rock, calling the appropriate protocol method.
|
|
288
|
+
-- @param rockspec table: The rockspec table
|
|
289
|
+
-- @param extract boolean: When downloading compressed formats, whether to extract
|
|
290
|
+
-- the sources from the fetched archive or not.
|
|
291
|
+
-- @param dest_dir string or nil: If set, will extract to the given directory.
|
|
292
|
+
-- @return (string, string) or (nil, string): The absolute pathname of
|
|
293
|
+
-- the fetched source tarball and the temporary directory created to
|
|
294
|
+
-- store it; or nil and an error message.
|
|
295
|
+
function fetch_sources(rockspec, extract, dest_dir)
|
|
296
|
+
assert(type(rockspec) == "table")
|
|
297
|
+
assert(type(extract) == "boolean")
|
|
298
|
+
assert(type(dest_dir) == "string" or not dest_dir)
|
|
299
|
+
|
|
300
|
+
local protocol = rockspec.source.protocol
|
|
301
|
+
local ok, proto
|
|
302
|
+
if protocol == "http" or protocol == "https" or protocol == "ftp" or protocol == "file" then
|
|
303
|
+
proto = require("luarocks.fetch")
|
|
304
|
+
else
|
|
305
|
+
ok, proto = pcall(require, "luarocks.fetch."..protocol:gsub("[+-]", "_"))
|
|
306
|
+
if not ok then
|
|
307
|
+
return nil, "Unknown protocol "..protocol
|
|
308
|
+
end
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
if cfg.only_sources_from
|
|
312
|
+
and rockspec.source.pathname
|
|
313
|
+
and #rockspec.source.pathname > 0 then
|
|
314
|
+
if #cfg.only_sources_from == 0 then
|
|
315
|
+
return nil, "Can't download "..rockspec.source.url.." -- download from remote servers disabled"
|
|
316
|
+
elseif rockspec.source.pathname:find(cfg.only_sources_from, 1, true) ~= 1 then
|
|
317
|
+
return nil, "Can't download "..rockspec.source.url.." -- only downloading from "..cfg.only_sources_from
|
|
318
|
+
end
|
|
319
|
+
end
|
|
320
|
+
return proto.get_sources(rockspec, extract, dest_dir)
|
|
321
|
+
end
|