From ce672efef7e64b31d53dc1539470932bfd094ee6 Mon Sep 17 00:00:00 2001 From: hisham Date: Sat, 27 Jun 2009 21:43:52 +0000 Subject: start populating global lib/ directory. git-svn-id: http://luarocks.org/svn/luarocks/trunk@33 9ca3f7c1-7366-0410-b1a3-b5c78f85698c --- src/luarocks/manif.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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") local manif_core = require("luarocks.manif_core") local function make_global_lib(repo, manifest) + local lib_dir = dir.path(dir.dir_name(repo), "lib") + fs.make_dir(lib_dir) + for rock, modules in pairs(manifest.modules) do + for module, file in pairs(modules) do + local path_in_rock = dir.strip_base_dir(file:sub(#dir.path(repo, module)+2)) + local module_dir = dir.dir_name(path_in_rock) + local dest = dir.path(lib_dir, path_in_rock) + if module_dir ~= "" then + fs.make_dir(dir.dir_name(dest)) + end + if not fs.exists(dest) then + fs.copy(file, dest) + manifest.modules[rock][module] = dest + else + -- TODO + end + end + end end --- Load a local or remote manifest describing a repository. -- cgit v1.2.3-55-g6feb