diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2012-09-19 20:46:02 -0300 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2012-09-19 20:46:02 -0300 |
commit | f88902378e94729c67231a018ec0d9163b02b549 (patch) | |
tree | 68987d47480fd5efc85292dd1c006b7e50936ef4 | |
parent | d0ef504fb22131a4717e31f7f22416f60f8efaf4 (diff) | |
download | luarocks-f88902378e94729c67231a018ec0d9163b02b549.tar.gz luarocks-f88902378e94729c67231a018ec0d9163b02b549.tar.bz2 luarocks-f88902378e94729c67231a018ec0d9163b02b549.zip |
Add --bin flag for `luarocks path`, and provide cleaner variable output. Closes #76.
-rw-r--r-- | src/luarocks/cfg.lua | 4 | ||||
-rw-r--r-- | src/luarocks/path.lua | 8 | ||||
-rw-r--r-- | src/luarocks/util.lua | 16 |
3 files changed, 26 insertions, 2 deletions
diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index a8475bfe..f68380f1 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua | |||
@@ -274,6 +274,8 @@ if detected.windows then | |||
274 | lib = { "?.dll", "lib?.dll" }, | 274 | lib = { "?.dll", "lib?.dll" }, |
275 | include = { "?.h" } | 275 | include = { "?.h" } |
276 | } | 276 | } |
277 | defaults.export_path = "SET PATH=%s;%s" | ||
278 | defaults.export_path_separator = ";" | ||
277 | defaults.export_lua_path = "SET LUA_PATH=%s" | 279 | defaults.export_lua_path = "SET LUA_PATH=%s" |
278 | defaults.export_lua_cpath = "SET LUA_CPATH=%s" | 280 | defaults.export_lua_cpath = "SET LUA_CPATH=%s" |
279 | defaults.local_cache = home.."/cache/luarocks" | 281 | defaults.local_cache = home.."/cache/luarocks" |
@@ -317,6 +319,8 @@ if detected.unix then | |||
317 | lib = { "lib?.so", "lib?.so.*" }, | 319 | lib = { "lib?.so", "lib?.so.*" }, |
318 | include = { "?.h" } | 320 | include = { "?.h" } |
319 | } | 321 | } |
322 | defaults.export_path = "export PATH='%s:%s'" | ||
323 | defaults.export_path_separator = ":" | ||
320 | defaults.export_lua_path = "export LUA_PATH='%s'" | 324 | defaults.export_lua_path = "export LUA_PATH='%s'" |
321 | defaults.export_lua_cpath = "export LUA_CPATH='%s'" | 325 | defaults.export_lua_cpath = "export LUA_CPATH='%s'" |
322 | defaults.local_cache = home.."/.cache/luarocks" | 326 | defaults.local_cache = home.."/.cache/luarocks" |
diff --git a/src/luarocks/path.lua b/src/luarocks/path.lua index 03ed1b90..1c94b639 100644 --- a/src/luarocks/path.lua +++ b/src/luarocks/path.lua | |||
@@ -308,8 +308,12 @@ end | |||
308 | --- Driver function for "path" command. | 308 | --- Driver function for "path" command. |
309 | -- @return boolean This function always succeeds. | 309 | -- @return boolean This function always succeeds. |
310 | function run(...) | 310 | function run(...) |
311 | util.printout(cfg.export_lua_path:format(package.path)) | 311 | local flags = util.parse_flags(...) |
312 | util.printout(cfg.export_lua_cpath:format(package.cpath)) | 312 | util.printout(cfg.export_lua_path:format(util.remove_path_dupes(package.path, ';'))) |
313 | util.printout(cfg.export_lua_cpath:format(util.remove_path_dupes(package.cpath, ';'))) | ||
314 | if flags["bin"] then | ||
315 | util.printout(cfg.export_path:format(util.remove_path_dupes(os.getenv("PATH"), cfg.export_path_separator), cfg.deploy_bin_dir)) | ||
316 | end | ||
313 | return true | 317 | return true |
314 | end | 318 | end |
315 | 319 | ||
diff --git a/src/luarocks/util.lua b/src/luarocks/util.lua index 2955be50..1a1cccf9 100644 --- a/src/luarocks/util.lua +++ b/src/luarocks/util.lua | |||
@@ -326,6 +326,22 @@ function split_string(str, delim, maxNb) | |||
326 | return result | 326 | return result |
327 | end | 327 | end |
328 | 328 | ||
329 | --- Remove repeated entries from a path-style string. | ||
330 | -- Example: given ("a;b;c;a;b;d", ";"), returns "a;b;c;d". | ||
331 | -- @param list string: A path string (from $PATH or package.path) | ||
332 | -- @param sep string: The separator | ||
333 | function remove_path_dupes(list, sep) | ||
334 | local parts = split_string(list, sep) | ||
335 | local final, entries = {}, {} | ||
336 | for _, part in ipairs(parts) do | ||
337 | if not entries[part] then | ||
338 | table.insert(final, part) | ||
339 | entries[part] = true | ||
340 | end | ||
341 | end | ||
342 | return table.concat(final, sep) | ||
343 | end | ||
344 | |||
329 | --[[ | 345 | --[[ |
330 | Author: Julio Manuel Fernandez-Diaz | 346 | Author: Julio Manuel Fernandez-Diaz |
331 | Date: January 12, 2007 | 347 | Date: January 12, 2007 |