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,88 @@
|
|
|
1
|
+
|
|
2
|
+
--- Unix implementation of filesystem and platform abstractions.
|
|
3
|
+
|
|
4
|
+
local assert, type, table, io, package, math, os, ipairs =
|
|
5
|
+
assert, type, table, io, package, math, os, ipairs
|
|
6
|
+
|
|
7
|
+
module("luarocks.fs.unix", package.seeall)
|
|
8
|
+
|
|
9
|
+
local fs = require("luarocks.fs")
|
|
10
|
+
|
|
11
|
+
local cfg = require("luarocks.cfg")
|
|
12
|
+
local dir = require("luarocks.dir")
|
|
13
|
+
local fs = require("luarocks.fs")
|
|
14
|
+
local util = require("luarocks.util")
|
|
15
|
+
|
|
16
|
+
math.randomseed(os.time())
|
|
17
|
+
|
|
18
|
+
--- Return an absolute pathname from a potentially relative one.
|
|
19
|
+
-- @param pathname string: pathname to convert.
|
|
20
|
+
-- @param relative_to string or nil: path to prepend when making
|
|
21
|
+
-- pathname absolute, or the current dir in the dir stack if
|
|
22
|
+
-- not given.
|
|
23
|
+
-- @return string: The pathname converted to absolute.
|
|
24
|
+
function absolute_name(pathname, relative_to)
|
|
25
|
+
assert(type(pathname) == "string")
|
|
26
|
+
assert(type(relative_to) == "string" or not relative_to)
|
|
27
|
+
|
|
28
|
+
relative_to = relative_to or fs.current_dir()
|
|
29
|
+
if pathname:sub(1,1) == "/" then
|
|
30
|
+
return pathname
|
|
31
|
+
else
|
|
32
|
+
return relative_to .. "/" .. pathname
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
--- Create a wrapper to make a script executable from the command-line.
|
|
37
|
+
-- @param file string: Pathname of script to be made executable.
|
|
38
|
+
-- @param dest string: Directory where to put the wrapper.
|
|
39
|
+
-- @return boolean or (nil, string): True if succeeded, or nil and
|
|
40
|
+
-- an error message.
|
|
41
|
+
function wrap_script(file, dest)
|
|
42
|
+
assert(type(file) == "string")
|
|
43
|
+
assert(type(dest) == "string")
|
|
44
|
+
|
|
45
|
+
local base = dir.base_name(file)
|
|
46
|
+
local wrapname = fs.is_dir(dest) and dest.."/"..base or dest
|
|
47
|
+
local wrapper = io.open(wrapname, "w")
|
|
48
|
+
if not wrapper then
|
|
49
|
+
return nil, "Could not open "..wrapname.." for writing."
|
|
50
|
+
end
|
|
51
|
+
wrapper:write("#!/bin/sh\n\n")
|
|
52
|
+
wrapper:write('LUA_PATH="'..package.path..';$LUA_PATH"\n')
|
|
53
|
+
wrapper:write('LUA_CPATH="'..package.cpath..';$LUA_CPATH"\n')
|
|
54
|
+
wrapper:write('export LUA_PATH LUA_CPATH\n')
|
|
55
|
+
wrapper:write('exec "'..dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter)..'" -lluarocks.loader "'..file..'" "$@"\n')
|
|
56
|
+
wrapper:close()
|
|
57
|
+
if fs.chmod(wrapname, "0755") then
|
|
58
|
+
return true
|
|
59
|
+
else
|
|
60
|
+
return nil, "Could not make "..wrapname.." executable."
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
--- Check if a file (typically inside path.bin_dir) is an actual binary
|
|
65
|
+
-- or a Lua wrapper.
|
|
66
|
+
-- @param filename string: the file name with full path.
|
|
67
|
+
-- @return boolean: returns true if file is an actual binary
|
|
68
|
+
-- (or if it couldn't check) or false if it is a Lua wrapper.
|
|
69
|
+
function is_actual_binary(filename)
|
|
70
|
+
if filename:match("%.lua$") then
|
|
71
|
+
return false
|
|
72
|
+
end
|
|
73
|
+
local file = io.open(filename)
|
|
74
|
+
if not file then
|
|
75
|
+
return true
|
|
76
|
+
end
|
|
77
|
+
local first = file:read(2)
|
|
78
|
+
file:close()
|
|
79
|
+
if not first then
|
|
80
|
+
util.printerr("Warning: could not read "..filename)
|
|
81
|
+
return true
|
|
82
|
+
end
|
|
83
|
+
return first ~= "#!"
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
function copy_binary(filename, dest)
|
|
87
|
+
return fs.copy(filename, dest, "0755")
|
|
88
|
+
end
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
|
|
2
|
+
--- fs operations implemented with third-party tools for Unix platform abstractions.
|
|
3
|
+
module("luarocks.fs.unix.tools", package.seeall)
|
|
4
|
+
|
|
5
|
+
local fs = require("luarocks.fs")
|
|
6
|
+
local dir = require("luarocks.dir")
|
|
7
|
+
local cfg = require("luarocks.cfg")
|
|
8
|
+
|
|
9
|
+
local dir_stack = {}
|
|
10
|
+
|
|
11
|
+
local vars = cfg.variables
|
|
12
|
+
|
|
13
|
+
--- Run the given command.
|
|
14
|
+
-- The command is executed in the current directory in the directory stack.
|
|
15
|
+
-- @param cmd string: No quoting/escaping is applied to the command.
|
|
16
|
+
-- @return boolean: true if command succeeds (status code 0), false
|
|
17
|
+
-- otherwise.
|
|
18
|
+
function execute_string(cmd)
|
|
19
|
+
local actual_cmd = "cd " .. fs.Q(fs.current_dir()) .. " && " .. cmd
|
|
20
|
+
local code = os.execute(actual_cmd)
|
|
21
|
+
if code == 0 or code == true then
|
|
22
|
+
return true
|
|
23
|
+
else
|
|
24
|
+
return false
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
--- Obtain current directory.
|
|
29
|
+
-- Uses the module's internal directory stack.
|
|
30
|
+
-- @return string: the absolute pathname of the current directory.
|
|
31
|
+
function current_dir()
|
|
32
|
+
local pipe = io.popen(vars.PWD)
|
|
33
|
+
local current = pipe:read("*l")
|
|
34
|
+
pipe:close()
|
|
35
|
+
for _, directory in ipairs(dir_stack) do
|
|
36
|
+
current = fs.absolute_name(directory, current)
|
|
37
|
+
end
|
|
38
|
+
return current
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
--- Change the current directory.
|
|
42
|
+
-- Uses the module's internal directory stack. This does not have exact
|
|
43
|
+
-- semantics of chdir, as it does not handle errors the same way,
|
|
44
|
+
-- but works well for our purposes for now.
|
|
45
|
+
-- @param directory string: The directory to switch to.
|
|
46
|
+
function change_dir(directory)
|
|
47
|
+
assert(type(directory) == "string")
|
|
48
|
+
table.insert(dir_stack, directory)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
--- Change directory to root.
|
|
52
|
+
-- Allows leaving a directory (e.g. for deleting it) in
|
|
53
|
+
-- a crossplatform way.
|
|
54
|
+
function change_dir_to_root()
|
|
55
|
+
table.insert(dir_stack, "/")
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
--- Change working directory to the previous in the directory stack.
|
|
59
|
+
function pop_dir()
|
|
60
|
+
local directory = table.remove(dir_stack)
|
|
61
|
+
return directory ~= nil
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
--- Create a directory if it does not already exist.
|
|
65
|
+
-- If any of the higher levels in the path name does not exist
|
|
66
|
+
-- too, they are created as well.
|
|
67
|
+
-- @param directory string: pathname of directory to create.
|
|
68
|
+
-- @return boolean: true on success, false on failure.
|
|
69
|
+
function make_dir(directory)
|
|
70
|
+
assert(directory)
|
|
71
|
+
return fs.execute(vars.MKDIR.." -p", directory)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
--- Remove a directory if it is empty.
|
|
75
|
+
-- Does not return errors (for example, if directory is not empty or
|
|
76
|
+
-- if already does not exist)
|
|
77
|
+
-- @param directory string: pathname of directory to remove.
|
|
78
|
+
function remove_dir_if_empty(directory)
|
|
79
|
+
assert(directory)
|
|
80
|
+
fs.execute_string(vars.RMDIR.." "..fs.Q(directory).." 1> /dev/null 2> /dev/null")
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
--- Remove a directory if it is empty.
|
|
84
|
+
-- Does not return errors (for example, if directory is not empty or
|
|
85
|
+
-- if already does not exist)
|
|
86
|
+
-- @param directory string: pathname of directory to remove.
|
|
87
|
+
function remove_dir_tree_if_empty(directory)
|
|
88
|
+
assert(directory)
|
|
89
|
+
fs.execute_string(vars.RMDIR.." -p "..fs.Q(directory).." 1> /dev/null 2> /dev/null")
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
--- Copy a file.
|
|
93
|
+
-- @param src string: Pathname of source
|
|
94
|
+
-- @param dest string: Pathname of destination
|
|
95
|
+
-- @param perm string or nil: Permissions for destination file,
|
|
96
|
+
-- @return boolean or (boolean, string): true on success, false on failure,
|
|
97
|
+
-- plus an error message.
|
|
98
|
+
function copy(src, dest, perm)
|
|
99
|
+
assert(src and dest)
|
|
100
|
+
if fs.execute(vars.CP, src, dest) then
|
|
101
|
+
if perm then
|
|
102
|
+
if fs.is_dir(dest) then
|
|
103
|
+
dest = dir.path(dest, dir.base_name(src))
|
|
104
|
+
end
|
|
105
|
+
if fs.chmod(dest, perm) then
|
|
106
|
+
return true
|
|
107
|
+
else
|
|
108
|
+
return false, "Failed setting permissions of "..dest
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
return true
|
|
112
|
+
else
|
|
113
|
+
return false, "Failed copying "..src.." to "..dest
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
--- Recursively copy the contents of a directory.
|
|
118
|
+
-- @param src string: Pathname of source
|
|
119
|
+
-- @param dest string: Pathname of destination
|
|
120
|
+
-- @return boolean or (boolean, string): true on success, false on failure,
|
|
121
|
+
-- plus an error message.
|
|
122
|
+
function copy_contents(src, dest)
|
|
123
|
+
assert(src and dest)
|
|
124
|
+
if fs.execute_string(vars.CP.." -pPR "..fs.Q(src).."/* "..fs.Q(dest).." 1> /dev/null 2>/dev/null") then
|
|
125
|
+
return true
|
|
126
|
+
else
|
|
127
|
+
return false, "Failed copying "..src.." to "..dest
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
--- Delete a file or a directory and all its contents.
|
|
131
|
+
-- For safety, this only accepts absolute paths.
|
|
132
|
+
-- @param arg string: Pathname of source
|
|
133
|
+
-- @return boolean: true on success, false on failure.
|
|
134
|
+
function delete(arg)
|
|
135
|
+
assert(arg)
|
|
136
|
+
assert(arg:sub(1,1) == "/")
|
|
137
|
+
return fs.execute_string(vars.RM.." -rf " .. fs.Q(arg) .. " 1> /dev/null 2>/dev/null")
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
--- List the contents of a directory.
|
|
141
|
+
-- @param at string or nil: directory to list (will be the current
|
|
142
|
+
-- directory if none is given).
|
|
143
|
+
-- @return table: an array of strings with the filenames representing
|
|
144
|
+
-- the contents of a directory.
|
|
145
|
+
function list_dir(at)
|
|
146
|
+
assert(type(at) == "string" or not at)
|
|
147
|
+
if not at then
|
|
148
|
+
at = fs.current_dir()
|
|
149
|
+
end
|
|
150
|
+
if not fs.is_dir(at) then
|
|
151
|
+
return {}
|
|
152
|
+
end
|
|
153
|
+
local result = {}
|
|
154
|
+
local pipe = io.popen("cd "..fs.Q(at).." && "..vars.LS)
|
|
155
|
+
for file in pipe:lines() do
|
|
156
|
+
table.insert(result, file)
|
|
157
|
+
end
|
|
158
|
+
pipe:close()
|
|
159
|
+
return result
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
--- Recursively scan the contents of a directory.
|
|
163
|
+
-- @param at string or nil: directory to scan (will be the current
|
|
164
|
+
-- directory if none is given).
|
|
165
|
+
-- @return table: an array of strings with the filenames representing
|
|
166
|
+
-- the contents of a directory.
|
|
167
|
+
function find(at)
|
|
168
|
+
assert(type(at) == "string" or not at)
|
|
169
|
+
if not at then
|
|
170
|
+
at = fs.current_dir()
|
|
171
|
+
end
|
|
172
|
+
if not fs.is_dir(at) then
|
|
173
|
+
return {}
|
|
174
|
+
end
|
|
175
|
+
local result = {}
|
|
176
|
+
local pipe = io.popen("cd "..fs.Q(at).." && "..vars.FIND.." * 2>/dev/null")
|
|
177
|
+
for file in pipe:lines() do
|
|
178
|
+
table.insert(result, file)
|
|
179
|
+
end
|
|
180
|
+
pipe:close()
|
|
181
|
+
return result
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
--- Compress files in a .zip archive.
|
|
185
|
+
-- @param zipfile string: pathname of .zip archive to be created.
|
|
186
|
+
-- @param ... Filenames to be stored in the archive are given as
|
|
187
|
+
-- additional arguments.
|
|
188
|
+
-- @return boolean: true on success, false on failure.
|
|
189
|
+
function zip(zipfile, ...)
|
|
190
|
+
return fs.execute(vars.ZIP.." -r", zipfile, ...)
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
--- Uncompress files from a .zip archive.
|
|
194
|
+
-- @param zipfile string: pathname of .zip archive to be extracted.
|
|
195
|
+
-- @return boolean: true on success, false on failure.
|
|
196
|
+
function unzip(zipfile)
|
|
197
|
+
assert(zipfile)
|
|
198
|
+
return fs.execute(vars.UNZIP, zipfile)
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
--- Test for existance of a file.
|
|
202
|
+
-- @param file string: filename to test
|
|
203
|
+
-- @return boolean: true if file exists, false otherwise.
|
|
204
|
+
function exists(file)
|
|
205
|
+
assert(file)
|
|
206
|
+
return fs.execute(vars.TEST, "-r", file)
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
--- Test is file/directory is writable.
|
|
210
|
+
-- @param file string: filename to test
|
|
211
|
+
-- @return boolean: true if file exists, false otherwise.
|
|
212
|
+
function is_writable(file)
|
|
213
|
+
assert(file)
|
|
214
|
+
return fs.execute(vars.TEST, "-w", file)
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
--- Test is pathname is a directory.
|
|
218
|
+
-- @param file string: pathname to test
|
|
219
|
+
-- @return boolean: true if it is a directory, false otherwise.
|
|
220
|
+
function is_dir(file)
|
|
221
|
+
assert(file)
|
|
222
|
+
return fs.execute(vars.TEST, "-d", file)
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
--- Test is pathname is a regular file.
|
|
226
|
+
-- @param file string: pathname to test
|
|
227
|
+
-- @return boolean: true if it is a regular file, false otherwise.
|
|
228
|
+
function is_file(file)
|
|
229
|
+
assert(file)
|
|
230
|
+
return fs.execute(vars.TEST, "-f", file)
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
--- Download a remote file.
|
|
234
|
+
-- @param url string: URL to be fetched.
|
|
235
|
+
-- @param filename string or nil: this function attempts to detect the
|
|
236
|
+
-- resulting local filename of the remote file as the basename of the URL;
|
|
237
|
+
-- if that is not correct (due to a redirection, for example), the local
|
|
238
|
+
-- filename can be given explicitly as this second argument.
|
|
239
|
+
-- @return boolean: true on success, false on failure.
|
|
240
|
+
function download(url, filename)
|
|
241
|
+
assert(type(url) == "string")
|
|
242
|
+
assert(type(filename) == "string" or not filename)
|
|
243
|
+
|
|
244
|
+
if cfg.downloader == "wget" then
|
|
245
|
+
local wget_cmd = vars.WGET.." --no-check-certificate --no-cache --user-agent="..cfg.user_agent.." --quiet --continue "
|
|
246
|
+
if filename then
|
|
247
|
+
return fs.execute(wget_cmd.." --output-document ", filename, url)
|
|
248
|
+
else
|
|
249
|
+
return fs.execute(wget_cmd, url)
|
|
250
|
+
end
|
|
251
|
+
elseif cfg.downloader == "curl" then
|
|
252
|
+
filename = filename or dir.base_name(url)
|
|
253
|
+
return fs.execute_string(vars.CURL.." -L --user-agent "..cfg.user_agent.." "..fs.Q(url).." 2> /dev/null 1> "..fs.Q(filename))
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
function chmod(pathname, mode)
|
|
258
|
+
if mode then
|
|
259
|
+
return fs.execute(vars.CHMOD, mode, pathname)
|
|
260
|
+
else
|
|
261
|
+
return false
|
|
262
|
+
end
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
--- Apply a patch.
|
|
266
|
+
-- @param patchname string: The filename of the patch.
|
|
267
|
+
function apply_patch(patchname)
|
|
268
|
+
return fs.execute(vars.PATCH.." -p1 -f -i ", patchname)
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
--- Unpack an archive.
|
|
272
|
+
-- Extract the contents of an archive, detecting its format by
|
|
273
|
+
-- filename extension.
|
|
274
|
+
-- @param archive string: Filename of archive.
|
|
275
|
+
-- @return boolean or (boolean, string): true on success, false and an error message on failure.
|
|
276
|
+
function unpack_archive(archive)
|
|
277
|
+
assert(type(archive) == "string")
|
|
278
|
+
|
|
279
|
+
local ok
|
|
280
|
+
if archive:match("%.tar%.gz$") or archive:match("%.tgz$") then
|
|
281
|
+
-- ok = fs.execute("tar zxvpf ", archive)
|
|
282
|
+
ok = fs.execute_string(vars.GUNZIP.." -c "..archive.."|"..vars.TAR.." -xf -")
|
|
283
|
+
elseif archive:match("%.tar%.bz2$") then
|
|
284
|
+
-- ok = fs.execute("tar jxvpf ", archive)
|
|
285
|
+
ok = fs.execute_string(vars.BUNZIP2.." -c "..archive.."|tar -xf -")
|
|
286
|
+
elseif archive:match("%.zip$") then
|
|
287
|
+
ok = fs.execute(vars.UNZIP, archive)
|
|
288
|
+
elseif archive:match("%.lua$") or archive:match("%.c$") then
|
|
289
|
+
-- Ignore .lua and .c files; they don't need to be extracted.
|
|
290
|
+
return true
|
|
291
|
+
else
|
|
292
|
+
local ext = archive:match(".*(%..*)")
|
|
293
|
+
return false, "Unrecognized filename extension "..(ext or "")
|
|
294
|
+
end
|
|
295
|
+
if not ok then
|
|
296
|
+
return false, "Failed extracting "..archive
|
|
297
|
+
end
|
|
298
|
+
return true
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
local md5_cmd = {
|
|
302
|
+
md5sum = vars.MD5SUM,
|
|
303
|
+
openssl = vars.OPENSSL.." md5",
|
|
304
|
+
md5 = vars.MD5,
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
--- Get the MD5 checksum for a file.
|
|
308
|
+
-- @param file string: The file to be computed.
|
|
309
|
+
-- @return string: The MD5 checksum
|
|
310
|
+
function get_md5(file)
|
|
311
|
+
local cmd = md5_cmd[cfg.md5checker]
|
|
312
|
+
if not cmd then return nil end
|
|
313
|
+
local pipe = io.popen(cmd.." "..fs.absolute_name(file))
|
|
314
|
+
local computed = pipe:read("*a")
|
|
315
|
+
pipe:close()
|
|
316
|
+
if not computed then return nil end
|
|
317
|
+
return computed:match("("..("%x"):rep(32)..")")
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
function get_permissions(filename)
|
|
321
|
+
local pipe = io.popen(vars.STAT.." "..vars.STATFLAG.." "..fs.Q(filename))
|
|
322
|
+
local ret = pipe:read("*l")
|
|
323
|
+
pipe:close()
|
|
324
|
+
return ret
|
|
325
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
--- Windows implementation of filesystem and platform abstractions.
|
|
2
|
+
-- Download http://unxutils.sourceforge.net/ for Windows GNU utilities
|
|
3
|
+
-- used by this module.
|
|
4
|
+
module("luarocks.fs.win32", package.seeall)
|
|
5
|
+
|
|
6
|
+
local fs = require("luarocks.fs")
|
|
7
|
+
|
|
8
|
+
local cfg = require("luarocks.cfg")
|
|
9
|
+
local dir = require("luarocks.dir")
|
|
10
|
+
|
|
11
|
+
--- Quote argument for shell processing. Fixes paths on Windows.
|
|
12
|
+
-- Adds single quotes and escapes.
|
|
13
|
+
-- @param arg string: Unquoted argument.
|
|
14
|
+
-- @return string: Quoted argument.
|
|
15
|
+
function Q(arg)
|
|
16
|
+
assert(type(arg) == "string")
|
|
17
|
+
-- Quote DIR for Windows
|
|
18
|
+
if arg:match("^[%.a-zA-Z]?:?[\\/]") then
|
|
19
|
+
return '"' .. arg:gsub("/", "\\"):gsub('"', '\\"') .. '"'
|
|
20
|
+
end
|
|
21
|
+
-- URLs and anything else
|
|
22
|
+
return '"' .. arg:gsub('"', '\\"') .. '"'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
--- Return an absolute pathname from a potentially relative one.
|
|
26
|
+
-- @param pathname string: pathname to convert.
|
|
27
|
+
-- @param relative_to string or nil: path to prepend when making
|
|
28
|
+
-- pathname absolute, or the current dir in the dir stack if
|
|
29
|
+
-- not given.
|
|
30
|
+
-- @return string: The pathname converted to absolute.
|
|
31
|
+
function absolute_name(pathname, relative_to)
|
|
32
|
+
assert(type(pathname) == "string")
|
|
33
|
+
assert(type(relative_to) == "string" or not relative_to)
|
|
34
|
+
|
|
35
|
+
relative_to = relative_to or fs.current_dir()
|
|
36
|
+
-- FIXME I'm not sure this first \\ should be there at all.
|
|
37
|
+
-- What are the Windows rules for drive letters?
|
|
38
|
+
if pathname:match("^[\\.a-zA-Z]?:?[\\/]") then
|
|
39
|
+
return pathname
|
|
40
|
+
else
|
|
41
|
+
return relative_to .. "/" .. pathname
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
--- Create a wrapper to make a script executable from the command-line.
|
|
46
|
+
-- @param file string: Pathname of script to be made executable.
|
|
47
|
+
-- @param dest string: Directory where to put the wrapper.
|
|
48
|
+
-- @return boolean or (nil, string): True if succeeded, or nil and
|
|
49
|
+
-- an error message.
|
|
50
|
+
function wrap_script(file, dest)
|
|
51
|
+
assert(type(file) == "string")
|
|
52
|
+
assert(type(dest) == "string")
|
|
53
|
+
|
|
54
|
+
local base = dir.base_name(file)
|
|
55
|
+
local wrapname = fs.is_dir(dest) and dest.."/"..base or dest
|
|
56
|
+
wrapname = wrapname..".bat"
|
|
57
|
+
local wrapper = io.open(wrapname, "w")
|
|
58
|
+
if not wrapper then
|
|
59
|
+
return nil, "Could not open "..wrapname.." for writing."
|
|
60
|
+
end
|
|
61
|
+
wrapper:write("@echo off\n")
|
|
62
|
+
wrapper:write("setlocal\n")
|
|
63
|
+
wrapper:write('set LUA_PATH='..package.path..";%LUA_PATH%\n")
|
|
64
|
+
wrapper:write('set LUA_CPATH='..package.cpath..";%LUA_CPATH%\n")
|
|
65
|
+
wrapper:write('"'..dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter)..'" -lluarocks.loader "'..file..'" %*\n')
|
|
66
|
+
wrapper:write("endlocal\n")
|
|
67
|
+
wrapper:close()
|
|
68
|
+
return true
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
function is_actual_binary(name)
|
|
72
|
+
name = name:lower()
|
|
73
|
+
if name:match("%.bat$") or name:match("%.exe$") then
|
|
74
|
+
return true
|
|
75
|
+
end
|
|
76
|
+
return false
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
function copy_binary(filename, dest)
|
|
80
|
+
local ok, err = fs.copy(filename, dest)
|
|
81
|
+
if not ok then
|
|
82
|
+
return nil, err
|
|
83
|
+
end
|
|
84
|
+
local exe_pattern = "%.[Ee][Xx][Ee]$"
|
|
85
|
+
local base = dir.base_name(filename)
|
|
86
|
+
local dest = dir.dir_name(dest)
|
|
87
|
+
if base:match(exe_pattern) then
|
|
88
|
+
base = base:gsub(exe_pattern, ".lua")
|
|
89
|
+
local helpname = dest.."/"..base
|
|
90
|
+
local helper = io.open(helpname, "w")
|
|
91
|
+
if not helper then
|
|
92
|
+
return nil, "Could not open "..helpname.." for writing."
|
|
93
|
+
end
|
|
94
|
+
helper:write('package.path=\"'..package.path:gsub("\\","\\\\")..';\"..package.path\n')
|
|
95
|
+
helper:write('package.cpath=\"'..package.path:gsub("\\","\\\\")..';\"..package.cpath\n')
|
|
96
|
+
helper:close()
|
|
97
|
+
end
|
|
98
|
+
return true
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
function chmod(filename, mode)
|
|
102
|
+
return true
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
function get_permissions(filename)
|
|
106
|
+
return ""
|
|
107
|
+
end
|