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,108 @@
|
|
|
1
|
+
|
|
2
|
+
--- Module implementing the luarocks-admin "add" command.
|
|
3
|
+
-- Adds a rock or rockspec to a rocks server.
|
|
4
|
+
module("luarocks.add", package.seeall)
|
|
5
|
+
|
|
6
|
+
local cfg = require("luarocks.cfg")
|
|
7
|
+
local util = require("luarocks.util")
|
|
8
|
+
local fetch = require("luarocks.fetch")
|
|
9
|
+
local dir = require("luarocks.dir")
|
|
10
|
+
local manif = require("luarocks.manif")
|
|
11
|
+
local index = require("luarocks.index")
|
|
12
|
+
local fs = require("luarocks.fs")
|
|
13
|
+
local cache = require("luarocks.cache")
|
|
14
|
+
|
|
15
|
+
help_summary = "Add a rock or rockspec to a rocks server."
|
|
16
|
+
help_arguments = "[--server=<server>] [--no-refresh] {<rockspec>|<rock>...}"
|
|
17
|
+
help = [[
|
|
18
|
+
Arguments are local files, which may be rockspecs or rocks.
|
|
19
|
+
The flag --server indicates which server to use.
|
|
20
|
+
If not given, the default server set in the upload_server variable
|
|
21
|
+
from the configuration file is used instead.
|
|
22
|
+
The flag --no-refresh indicates the local cache should not be refreshed
|
|
23
|
+
prior to generation of the updated manifest.
|
|
24
|
+
]]
|
|
25
|
+
|
|
26
|
+
local function add_files_to_server(refresh, rockfiles, server, upload_server)
|
|
27
|
+
assert(type(refresh) == "boolean" or not refresh)
|
|
28
|
+
assert(type(rockfiles) == "table")
|
|
29
|
+
assert(type(server) == "string")
|
|
30
|
+
assert(type(upload_server) == "table" or not upload_server)
|
|
31
|
+
|
|
32
|
+
local download_url, login_url = cache.get_server_urls(server, upload_server)
|
|
33
|
+
local at = fs.current_dir()
|
|
34
|
+
local refresh_fn = refresh and cache.refresh_local_cache or cache.split_server_url
|
|
35
|
+
|
|
36
|
+
local local_cache, protocol, server_path, user, password = refresh_fn(server, download_url, cfg.upload_user, cfg.upload_password)
|
|
37
|
+
if not local_cache then
|
|
38
|
+
return nil, protocol
|
|
39
|
+
end
|
|
40
|
+
if protocol == "file" then
|
|
41
|
+
return nil, "Server "..server.." is not recognized, check your configuration."
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
if not login_url then
|
|
45
|
+
login_url = protocol.."://"..server_path
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
fs.change_dir(at)
|
|
49
|
+
|
|
50
|
+
local files = {}
|
|
51
|
+
for i, rockfile in ipairs(rockfiles) do
|
|
52
|
+
if fs.exists(rockfile) then
|
|
53
|
+
util.printout("Copying file "..rockfile.." to "..local_cache.."...")
|
|
54
|
+
local absolute = fs.absolute_name(rockfile)
|
|
55
|
+
fs.copy(absolute, local_cache)
|
|
56
|
+
table.insert(files, dir.base_name(absolute))
|
|
57
|
+
else
|
|
58
|
+
util.printerr("File "..rockfile.." not found")
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
if #files == 0 then
|
|
62
|
+
return nil, "No files found"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
fs.change_dir(local_cache)
|
|
66
|
+
|
|
67
|
+
util.printout("Updating manifest...")
|
|
68
|
+
manif.make_manifest(local_cache)
|
|
69
|
+
util.printout("Updating index.html...")
|
|
70
|
+
index.make_index(local_cache)
|
|
71
|
+
|
|
72
|
+
local login_info = ""
|
|
73
|
+
if user then login_info = " -u "..user end
|
|
74
|
+
if password then login_info = login_info..":"..password end
|
|
75
|
+
if not login_url:match("/$") then
|
|
76
|
+
login_url = login_url .. "/"
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
-- TODO abstract away explicit 'curl' call
|
|
80
|
+
|
|
81
|
+
local cmd
|
|
82
|
+
if protocol == "rsync" then
|
|
83
|
+
local srv, path = server_path:match("([^/]+)(/.+)")
|
|
84
|
+
cmd = cfg.variables.RSYNC.." --exclude=.git -Oavz -e ssh "..local_cache.."/ "..user.."@"..srv..":"..path.."/"
|
|
85
|
+
elseif upload_server and upload_server.sftp then
|
|
86
|
+
local part1, part2 = upload_server.sftp:match("^([^/]*)/(.*)$")
|
|
87
|
+
cmd = cfg.variables.SCP.." manifest index.html "..table.concat(files, " ").." "..user.."@"..part1..":/"..part2
|
|
88
|
+
else
|
|
89
|
+
cmd = cfg.variables.CURL.." "..login_info.." -T '{manifest,index.html,"..table.concat(files, ",").."}' "..login_url
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
util.printout(cmd)
|
|
93
|
+
fs.execute(cmd)
|
|
94
|
+
|
|
95
|
+
return true
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
function run(...)
|
|
99
|
+
local files = { util.parse_flags(...) }
|
|
100
|
+
local flags = table.remove(files, 1)
|
|
101
|
+
if #files < 1 then
|
|
102
|
+
return nil, "Argument missing, see help."
|
|
103
|
+
end
|
|
104
|
+
local server, server_table = cache.get_upload_server(flags["server"])
|
|
105
|
+
if not server then return nil, server_table end
|
|
106
|
+
return add_files_to_server(not flags["no-refresh"], files, server, server_table)
|
|
107
|
+
end
|
|
108
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
|
|
2
|
+
--- Module implementing the luarocks-admin "remove" command.
|
|
3
|
+
-- Removes a rock or rockspec from a rocks server.
|
|
4
|
+
module("luarocks.admin_remove", package.seeall)
|
|
5
|
+
|
|
6
|
+
local cfg = require("luarocks.cfg")
|
|
7
|
+
local util = require("luarocks.util")
|
|
8
|
+
local fetch = require("luarocks.fetch")
|
|
9
|
+
local dir = require("luarocks.dir")
|
|
10
|
+
local manif = require("luarocks.manif")
|
|
11
|
+
local index = require("luarocks.index")
|
|
12
|
+
local fs = require("luarocks.fs")
|
|
13
|
+
local cache = require("luarocks.cache")
|
|
14
|
+
|
|
15
|
+
help_summary = "Remove a rock or rockspec from a rocks server."
|
|
16
|
+
help_arguments = "[--from=<server>] [--no-refresh] {<rockspec>|<rock>...}"
|
|
17
|
+
help = [[
|
|
18
|
+
Arguments are local files, which may be rockspecs or rocks.
|
|
19
|
+
The flag --from indicates which server to use.
|
|
20
|
+
If not given, the default server set in the upload_server variable
|
|
21
|
+
from the configuration file is used instead.
|
|
22
|
+
The flag --no-refresh indicates the local cache should not be refreshed
|
|
23
|
+
prior to generation of the updated manifest.
|
|
24
|
+
]]
|
|
25
|
+
|
|
26
|
+
local function remove_files_from_server(refresh, rockfiles, server, upload_server)
|
|
27
|
+
assert(type(refresh) == "boolean" or not refresh)
|
|
28
|
+
assert(type(rockfiles) == "table")
|
|
29
|
+
assert(type(server) == "string")
|
|
30
|
+
assert(type(upload_server) == "table" or not upload_server)
|
|
31
|
+
|
|
32
|
+
local download_url, login_url = cache.get_server_urls(server, upload_server)
|
|
33
|
+
local at = fs.current_dir()
|
|
34
|
+
local refresh_fn = refresh and cache.refresh_local_cache or cache.split_server_url
|
|
35
|
+
|
|
36
|
+
local local_cache, protocol, server_path, user, password = refresh_fn(server, download_url, cfg.upload_user, cfg.upload_password)
|
|
37
|
+
if not local_cache then
|
|
38
|
+
return nil, protocol
|
|
39
|
+
end
|
|
40
|
+
if protocol ~= "rsync" then
|
|
41
|
+
return nil, "This command requires 'rsync', check your configuration."
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
fs.change_dir(at)
|
|
45
|
+
|
|
46
|
+
local nr_files = 0
|
|
47
|
+
for i, rockfile in ipairs(rockfiles) do
|
|
48
|
+
local basename = dir.base_name(rockfile)
|
|
49
|
+
local file = dir.path(local_cache, basename)
|
|
50
|
+
util.printout("Removing file "..file.."...")
|
|
51
|
+
if fs.delete(file) then
|
|
52
|
+
nr_files = nr_files + 1
|
|
53
|
+
else
|
|
54
|
+
util.printerr("Failed removing "..file)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
if nr_files == 0 then
|
|
58
|
+
return nil, "No files removed."
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
fs.change_dir(local_cache)
|
|
62
|
+
|
|
63
|
+
util.printout("Updating manifest...")
|
|
64
|
+
manif.make_manifest(local_cache)
|
|
65
|
+
util.printout("Updating index.html...")
|
|
66
|
+
index.make_index(local_cache)
|
|
67
|
+
|
|
68
|
+
local srv, path = server_path:match("([^/]+)(/.+)")
|
|
69
|
+
local cmd = "rsync -Oavz --delete -e ssh "..local_cache.."/ "..user.."@"..srv..":"..path.."/"
|
|
70
|
+
|
|
71
|
+
util.printout(cmd)
|
|
72
|
+
fs.execute(cmd)
|
|
73
|
+
|
|
74
|
+
return true
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
function run(...)
|
|
78
|
+
local files = { util.parse_flags(...) }
|
|
79
|
+
local flags = table.remove(files, 1)
|
|
80
|
+
if #files < 1 then
|
|
81
|
+
return nil, "Argument missing, see help."
|
|
82
|
+
end
|
|
83
|
+
local server, server_table = cache.get_upload_server(flags["server"])
|
|
84
|
+
if not server then return nil, server_table end
|
|
85
|
+
return remove_files_from_server(not flags["no-refresh"], files, server, server_table)
|
|
86
|
+
end
|
|
87
|
+
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
|
|
2
|
+
--- Module implementing the LuaRocks "build" command.
|
|
3
|
+
-- Builds a rock, compiling its C parts if any.
|
|
4
|
+
module("luarocks.build", package.seeall)
|
|
5
|
+
|
|
6
|
+
local pack = require("luarocks.pack")
|
|
7
|
+
local path = require("luarocks.path")
|
|
8
|
+
local util = require("luarocks.util")
|
|
9
|
+
local rep = require("luarocks.rep")
|
|
10
|
+
local fetch = require("luarocks.fetch")
|
|
11
|
+
local fs = require("luarocks.fs")
|
|
12
|
+
local dir = require("luarocks.dir")
|
|
13
|
+
local deps = require("luarocks.deps")
|
|
14
|
+
local manif = require("luarocks.manif")
|
|
15
|
+
local cfg = require("luarocks.cfg")
|
|
16
|
+
|
|
17
|
+
help_summary = "Build/compile a rock."
|
|
18
|
+
help_arguments = "[--pack-binary-rock] {<rockspec>|<rock>|<name> [<version>]}"
|
|
19
|
+
help = [[
|
|
20
|
+
Build and install a rock, compiling its C parts if any.
|
|
21
|
+
Argument may be a rockspec file, a source rock file
|
|
22
|
+
or the name of a rock to be fetched from a repository.
|
|
23
|
+
|
|
24
|
+
If --pack-binary-rock is passed, the rock is not installed;
|
|
25
|
+
instead, a .rock file with the contents of compilation is produced
|
|
26
|
+
in the current directory.
|
|
27
|
+
]]
|
|
28
|
+
|
|
29
|
+
--- Install files to a given location.
|
|
30
|
+
-- Takes a table where the array part is a list of filenames to be copied.
|
|
31
|
+
-- In the hash part, other keys, if is_module_path is set, are identifiers
|
|
32
|
+
-- in Lua module format, to indicate which subdirectory the file should be
|
|
33
|
+
-- copied to. For example, install_files({["foo.bar"] = "src/bar.lua"}, "boo")
|
|
34
|
+
-- will copy src/bar.lua to boo/foo.
|
|
35
|
+
-- @param files table or nil: A table containing a list of files to copy in
|
|
36
|
+
-- the format described above. If nil is passed, this function is a no-op.
|
|
37
|
+
-- Directories should be delimited by forward slashes as in internet URLs.
|
|
38
|
+
-- @param location string: The base directory files should be copied to.
|
|
39
|
+
-- @param is_module_path boolean: True if string keys in files should be
|
|
40
|
+
-- interpreted as dotted module paths.
|
|
41
|
+
-- @return boolean or (nil, string): True if succeeded or
|
|
42
|
+
-- nil and an error message.
|
|
43
|
+
local function install_files(files, location, is_module_path)
|
|
44
|
+
assert(type(files) == "table" or not files)
|
|
45
|
+
assert(type(location) == "string")
|
|
46
|
+
if files then
|
|
47
|
+
for k, file in pairs(files) do
|
|
48
|
+
local dest = location
|
|
49
|
+
if type(k) == "string" then
|
|
50
|
+
if is_module_path then
|
|
51
|
+
dest = dir.path(location, path.module_to_path(k))
|
|
52
|
+
fs.make_dir(dest)
|
|
53
|
+
else
|
|
54
|
+
dest = dir.path(location, dir.dir_name(k))
|
|
55
|
+
fs.make_dir(dest)
|
|
56
|
+
dest = dir.path(dest, dir.base_name(k))
|
|
57
|
+
end
|
|
58
|
+
else
|
|
59
|
+
fs.make_dir(dest)
|
|
60
|
+
end
|
|
61
|
+
local ok = fs.copy(dir.path(file), dest)
|
|
62
|
+
if not ok then
|
|
63
|
+
return nil, "Failed copying "..file
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
return true
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
--- Write to the current directory the contents of a table,
|
|
71
|
+
-- where each key is a file name and its value is the file content.
|
|
72
|
+
-- @param files table: The table of files to be written.
|
|
73
|
+
local function extract_from_rockspec(files)
|
|
74
|
+
for name, content in pairs(files) do
|
|
75
|
+
local fd = io.open(dir.path(fs.current_dir(), name), "w+")
|
|
76
|
+
fd:write(content)
|
|
77
|
+
fd:close()
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
--- Applies patches inlined in the build.patches section
|
|
82
|
+
-- and extracts files inlined in the build.extra_files section
|
|
83
|
+
-- of a rockspec.
|
|
84
|
+
-- @param rockspec table: A rockspec table.
|
|
85
|
+
-- @return boolean or (nil, string): True if succeeded or
|
|
86
|
+
-- nil and an error message.
|
|
87
|
+
function apply_patches(rockspec)
|
|
88
|
+
assert(type(rockspec) == "table")
|
|
89
|
+
|
|
90
|
+
local build = rockspec.build
|
|
91
|
+
if build.extra_files then
|
|
92
|
+
extract_from_rockspec(build.extra_files)
|
|
93
|
+
end
|
|
94
|
+
if build.patches then
|
|
95
|
+
extract_from_rockspec(build.patches)
|
|
96
|
+
for patch, patchdata in util.sortedpairs(build.patches) do
|
|
97
|
+
util.printout("Applying patch "..patch.."...")
|
|
98
|
+
local ok, err = fs.apply_patch(tostring(patch), patchdata)
|
|
99
|
+
if not ok then
|
|
100
|
+
return nil, "Failed applying patch "..patch
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
return true
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
--- Build and install a rock given a rockspec.
|
|
108
|
+
-- @param rockspec_file string: local or remote filename of a rockspec.
|
|
109
|
+
-- @param need_to_fetch boolean: true if sources need to be fetched,
|
|
110
|
+
-- false if the rockspec was obtained from inside a source rock.
|
|
111
|
+
-- @param minimal_mode boolean: true if there's no need to fetch,
|
|
112
|
+
-- unpack or change dir (this is used by "luarocks make"). Implies
|
|
113
|
+
-- need_to_fetch = false.
|
|
114
|
+
-- @param no_deps boolean: true if dependency check needs to be skipped
|
|
115
|
+
-- @return boolean or (nil, string, [string]): True if succeeded or
|
|
116
|
+
-- nil and an error message followed by an error code.
|
|
117
|
+
function build_rockspec(rockspec_file, need_to_fetch, minimal_mode, no_deps)
|
|
118
|
+
assert(type(rockspec_file) == "string")
|
|
119
|
+
assert(type(need_to_fetch) == "boolean")
|
|
120
|
+
|
|
121
|
+
local rockspec, err, errcode = fetch.load_rockspec(rockspec_file)
|
|
122
|
+
if err then
|
|
123
|
+
return nil, err, errcode
|
|
124
|
+
elseif not rockspec.build then
|
|
125
|
+
return nil, "Rockspec error: build table not specified"
|
|
126
|
+
elseif not rockspec.build.type then
|
|
127
|
+
return nil, "Rockspec error: build type not specified"
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
if no_deps then
|
|
131
|
+
util.printerr("Warning: skipping dependency checks.")
|
|
132
|
+
else
|
|
133
|
+
local ok, err, errcode = deps.fulfill_dependencies(rockspec)
|
|
134
|
+
if err then
|
|
135
|
+
return nil, err, errcode
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
ok, err, errcode = deps.check_external_deps(rockspec, "build")
|
|
140
|
+
if err then
|
|
141
|
+
return nil, err, errcode
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
local name, version = rockspec.name, rockspec.version
|
|
145
|
+
if rep.is_installed(name, version) then
|
|
146
|
+
rep.delete_version(name, version)
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
if not minimal_mode then
|
|
150
|
+
local _, source_dir
|
|
151
|
+
if need_to_fetch then
|
|
152
|
+
ok, source_dir, errcode = fetch.fetch_sources(rockspec, true)
|
|
153
|
+
if not ok then
|
|
154
|
+
return nil, source_dir, errcode
|
|
155
|
+
end
|
|
156
|
+
fs.change_dir(source_dir)
|
|
157
|
+
elseif rockspec.source.file then
|
|
158
|
+
local ok, err = fs.unpack_archive(rockspec.source.file)
|
|
159
|
+
if not ok then
|
|
160
|
+
return nil, err
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
fs.change_dir(rockspec.source.dir)
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
local dirs = {
|
|
167
|
+
lua = { name = path.lua_dir(name, version), is_module_path = true },
|
|
168
|
+
lib = { name = path.lib_dir(name, version), is_module_path = true },
|
|
169
|
+
conf = { name = path.conf_dir(name, version), is_module_path = false },
|
|
170
|
+
bin = { name = path.bin_dir(name, version), is_module_path = false },
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
for _, d in pairs(dirs) do
|
|
174
|
+
fs.make_dir(d.name)
|
|
175
|
+
end
|
|
176
|
+
local rollback = util.schedule_function(function()
|
|
177
|
+
fs.delete(path.install_dir(name, version))
|
|
178
|
+
fs.remove_dir_if_empty(path.versions_dir(name))
|
|
179
|
+
end)
|
|
180
|
+
|
|
181
|
+
local build = rockspec.build
|
|
182
|
+
|
|
183
|
+
if not minimal_mode then
|
|
184
|
+
ok, err = apply_patches(rockspec)
|
|
185
|
+
if err then
|
|
186
|
+
return nil, err
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
if build.type ~= "none" then
|
|
191
|
+
|
|
192
|
+
-- Temporary compatibility
|
|
193
|
+
if build.type == "module" then
|
|
194
|
+
util.printout("Do not use 'module' as a build type. Use 'builtin' instead.")
|
|
195
|
+
build.type = "builtin"
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
local build_type
|
|
199
|
+
ok, build_type = pcall(require, "luarocks.build." .. build.type)
|
|
200
|
+
if not ok or not type(build_type) == "table" then
|
|
201
|
+
return nil, "Failed initializing build back-end for build type '"..build.type.."': "..build_type
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
ok, err = build_type.run(rockspec)
|
|
205
|
+
if not ok then
|
|
206
|
+
return nil, "Build error: " .. err
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
if build.install then
|
|
211
|
+
for id, install_dir in pairs(dirs) do
|
|
212
|
+
ok, err = install_files(build.install[id], install_dir.name, install_dir.is_module_path)
|
|
213
|
+
if not ok then
|
|
214
|
+
return nil, err
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
local copy_directories = build.copy_directories or {"doc"}
|
|
220
|
+
|
|
221
|
+
for _, copy_dir in pairs(copy_directories) do
|
|
222
|
+
if fs.is_dir(copy_dir) then
|
|
223
|
+
local dest = dir.path(path.install_dir(name, version), copy_dir)
|
|
224
|
+
fs.make_dir(dest)
|
|
225
|
+
fs.copy_contents(copy_dir, dest)
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
for _, d in pairs(dirs) do
|
|
230
|
+
fs.remove_dir_if_empty(d.name)
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
fs.pop_dir()
|
|
234
|
+
|
|
235
|
+
fs.copy(rockspec.local_filename, path.rockspec_file(name, version))
|
|
236
|
+
if need_to_fetch then
|
|
237
|
+
fs.pop_dir()
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
ok, err = manif.make_rock_manifest(name, version)
|
|
241
|
+
if err then return nil, err end
|
|
242
|
+
|
|
243
|
+
ok, err = rep.deploy_files(name, version, rep.should_wrap_bin_scripts(rockspec))
|
|
244
|
+
if err then return nil, err end
|
|
245
|
+
|
|
246
|
+
util.remove_scheduled_function(rollback)
|
|
247
|
+
rollback = util.schedule_function(function()
|
|
248
|
+
rep.delete_version(name, version)
|
|
249
|
+
end)
|
|
250
|
+
|
|
251
|
+
ok, err = rep.run_hook(rockspec, "post_install")
|
|
252
|
+
if err then return nil, err end
|
|
253
|
+
|
|
254
|
+
ok, err = manif.update_manifest(name, version)
|
|
255
|
+
if err then return nil, err end
|
|
256
|
+
|
|
257
|
+
local license = ""
|
|
258
|
+
if rockspec.description and rockspec.description.license then
|
|
259
|
+
license = ("(license: "..rockspec.description.license..")")
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
local root_dir = path.root_dir(cfg.rocks_dir)
|
|
263
|
+
util.printout()
|
|
264
|
+
util.printout(name.." "..version.." is now built and installed in "..root_dir.." "..license)
|
|
265
|
+
|
|
266
|
+
util.remove_scheduled_function(rollback)
|
|
267
|
+
return true
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
--- Build and install a rock.
|
|
271
|
+
-- @param rock_file string: local or remote filename of a rock.
|
|
272
|
+
-- @param need_to_fetch boolean: true if sources need to be fetched,
|
|
273
|
+
-- false if the rockspec was obtained from inside a source rock.
|
|
274
|
+
-- @return boolean or (nil, string, [string]): True if build was successful,
|
|
275
|
+
-- or false and an error message and an optional error code.
|
|
276
|
+
function build_rock(rock_file, need_to_fetch, no_deps)
|
|
277
|
+
assert(type(rock_file) == "string")
|
|
278
|
+
assert(type(need_to_fetch) == "boolean")
|
|
279
|
+
|
|
280
|
+
local unpack_dir, err, errcode = fetch.fetch_and_unpack_rock(rock_file)
|
|
281
|
+
if not unpack_dir then
|
|
282
|
+
return nil, err, errcode
|
|
283
|
+
end
|
|
284
|
+
local rockspec_file = path.rockspec_name_from_rock(rock_file)
|
|
285
|
+
fs.change_dir(unpack_dir)
|
|
286
|
+
local ok, err, errcode = build_rockspec(rockspec_file, need_to_fetch, false, no_deps)
|
|
287
|
+
fs.pop_dir()
|
|
288
|
+
return ok, err, errcode
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
local function do_build(name, version, no_deps)
|
|
292
|
+
if name:match("%.rockspec$") then
|
|
293
|
+
return build_rockspec(name, true, false, no_deps)
|
|
294
|
+
elseif name:match("%.src%.rock$") then
|
|
295
|
+
return build_rock(name, false, no_deps)
|
|
296
|
+
elseif name:match("%.all%.rock$") then
|
|
297
|
+
local install = require("luarocks.install")
|
|
298
|
+
return install.install_binary_rock(name, no_deps)
|
|
299
|
+
elseif name:match("%.rock$") then
|
|
300
|
+
return build_rock(name, true, no_deps)
|
|
301
|
+
elseif not name:match(dir.separator) then
|
|
302
|
+
local search = require("luarocks.search")
|
|
303
|
+
return search.act_on_src_or_rockspec(run, name:lower(), version, no_deps and "--nodeps")
|
|
304
|
+
end
|
|
305
|
+
return nil, "Don't know what to do with "..name
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
--- Driver function for "build" command.
|
|
309
|
+
-- @param name string: A local or remote rockspec or rock file.
|
|
310
|
+
-- If a package name is given, forwards the request to "search" and,
|
|
311
|
+
-- if returned a result, installs the matching rock.
|
|
312
|
+
-- @param version string: When passing a package name, a version number may
|
|
313
|
+
-- also be given.
|
|
314
|
+
-- @return boolean or (nil, string): True if build was successful; nil and an
|
|
315
|
+
-- error message otherwise.
|
|
316
|
+
function run(...)
|
|
317
|
+
local flags, name, version = util.parse_flags(...)
|
|
318
|
+
if type(name) ~= "string" then
|
|
319
|
+
return nil, "Argument missing, see help."
|
|
320
|
+
end
|
|
321
|
+
assert(type(version) == "string" or not version)
|
|
322
|
+
|
|
323
|
+
if flags["pack-binary-rock"] then
|
|
324
|
+
return pack.pack_binary_rock(name, version, do_build, name, version, flags["nodeps"])
|
|
325
|
+
else
|
|
326
|
+
local ok, err = fs.check_command_permissions(flags)
|
|
327
|
+
if not ok then return nil, err end
|
|
328
|
+
return do_build(name, version, flags["nodeps"])
|
|
329
|
+
end
|
|
330
|
+
end
|