aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/luarocks/manif.lua18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/luarocks/manif.lua b/src/luarocks/manif.lua
index f1e05d92..6974dc04 100644
--- a/src/luarocks/manif.lua
+++ b/src/luarocks/manif.lua
@@ -14,6 +14,24 @@ local dir = require("luarocks.dir")
14local manif_core = require("luarocks.manif_core") 14local manif_core = require("luarocks.manif_core")
15 15
16local function make_global_lib(repo, manifest) 16local function make_global_lib(repo, manifest)
17 local lib_dir = dir.path(dir.dir_name(repo), "lib")
18 fs.make_dir(lib_dir)
19 for rock, modules in pairs(manifest.modules) do
20 for module, file in pairs(modules) do
21 local path_in_rock = dir.strip_base_dir(file:sub(#dir.path(repo, module)+2))
22 local module_dir = dir.dir_name(path_in_rock)
23 local dest = dir.path(lib_dir, path_in_rock)
24 if module_dir ~= "" then
25 fs.make_dir(dir.dir_name(dest))
26 end
27 if not fs.exists(dest) then
28 fs.copy(file, dest)
29 manifest.modules[rock][module] = dest
30 else
31 -- TODO
32 end
33 end
34 end
17end 35end
18 36
19--- Load a local or remote manifest describing a repository. 37--- Load a local or remote manifest describing a repository.