diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2015-03-19 17:11:36 -0300 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2015-03-19 17:13:22 -0300 |
commit | 51ea074d9886995a649f2f2251832c2741e6d4cd (patch) | |
tree | b2d3423653f65211e93d05d401d8cb7c8a3abb51 /src | |
parent | a02a53a8f433dae109e224a49624cec5e6d699c1 (diff) | |
download | luarocks-51ea074d9886995a649f2f2251832c2741e6d4cd.tar.gz luarocks-51ea074d9886995a649f2f2251832c2741e6d4cd.tar.bz2 luarocks-51ea074d9886995a649f2f2251832c2741e6d4cd.zip |
Expose platform and processor to home config files.
platform is a {string:boolean} table, with things such as
platform.unix = true and platform.linux = true.
processor is the same machine arch string you get when
packing a binary rock (eg. "x86", "x86_64", "powerpc").
Closes #296.
Diffstat (limited to 'src')
-rw-r--r-- | src/luarocks/cfg.lua | 16 | ||||
-rw-r--r-- | src/luarocks/util.lua | 4 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index b4781840..45dbdd1b 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua | |||
@@ -158,17 +158,25 @@ if (not sys_config_ok) and errcode ~= "open" then | |||
158 | os.exit(cfg.errorcodes.CONFIGFILE) | 158 | os.exit(cfg.errorcodes.CONFIGFILE) |
159 | end | 159 | end |
160 | 160 | ||
161 | local env_for_config_file = { | ||
162 | home = cfg.home, | ||
163 | lua_version = cfg.lua_version, | ||
164 | platform = util.make_shallow_copy(detected), | ||
165 | processor = proc, | ||
166 | } | ||
167 | |||
161 | if not site_config.LUAROCKS_FORCE_CONFIG then | 168 | if not site_config.LUAROCKS_FORCE_CONFIG then |
169 | |||
162 | local home_overrides, err, errcode | 170 | local home_overrides, err, errcode |
163 | home_config_file = os.getenv("LUAROCKS_CONFIG_" .. version_suffix) or os.getenv("LUAROCKS_CONFIG") | 171 | home_config_file = os.getenv("LUAROCKS_CONFIG_" .. version_suffix) or os.getenv("LUAROCKS_CONFIG") |
164 | if home_config_file then | 172 | if home_config_file then |
165 | home_overrides, err, errcode = persist.load_into_table(home_config_file, { home = cfg.home, lua_version = cfg.lua_version }) | 173 | home_overrides, err, errcode = persist.load_into_table(home_config_file, env_for_config_file) |
166 | else | 174 | else |
167 | home_config_file = home_config_dir.."/config-"..cfg.lua_version..".lua" | 175 | home_config_file = home_config_dir.."/config-"..cfg.lua_version..".lua" |
168 | home_overrides, err, errcode = persist.load_into_table(home_config_file, { home = cfg.home, lua_version = cfg.lua_version }) | 176 | home_overrides, err, errcode = persist.load_into_table(home_config_file, env_for_config_file) |
169 | if (not home_overrides) and (not errcode == "run") then | 177 | if (not home_overrides) and (not errcode == "run") then |
170 | home_config_file = home_config_dir.."/config.lua" | 178 | home_config_file = home_config_dir.."/config.lua" |
171 | home_overrides, err, errcode = persist.load_into_table(home_config_file, { home = cfg.home, lua_version = cfg.lua_version }) | 179 | home_overrides, err, errcode = persist.load_into_table(home_config_file, env_for_config_file) |
172 | end | 180 | end |
173 | end | 181 | end |
174 | if home_overrides then | 182 | if home_overrides then |
@@ -447,7 +455,7 @@ if detected.macosx then | |||
447 | if version >= 10 then | 455 | if version >= 10 then |
448 | version = 8 | 456 | version = 8 |
449 | elseif version >= 5 then | 457 | elseif version >= 5 then |
450 | version = 5 | 458 | version = 5 |
451 | else | 459 | else |
452 | defaults.gcc_rpath = false | 460 | defaults.gcc_rpath = false |
453 | end | 461 | end |
diff --git a/src/luarocks/util.lua b/src/luarocks/util.lua index 8772883b..40af35bd 100644 --- a/src/luarocks/util.lua +++ b/src/luarocks/util.lua | |||
@@ -177,7 +177,7 @@ local var_format_pattern = "%$%((%a[%a%d_]+)%)" | |||
177 | -- the original table (ie, does not copy recursively). | 177 | -- the original table (ie, does not copy recursively). |
178 | -- @param tbl table: the input table | 178 | -- @param tbl table: the input table |
179 | -- @return table: a new table with the same contents. | 179 | -- @return table: a new table with the same contents. |
180 | local function make_shallow_copy(tbl) | 180 | function util.make_shallow_copy(tbl) |
181 | local copy = {} | 181 | local copy = {} |
182 | for k,v in pairs(tbl) do | 182 | for k,v in pairs(tbl) do |
183 | copy[k] = v | 183 | copy[k] = v |
@@ -196,7 +196,7 @@ end | |||
196 | -- needed variables. | 196 | -- needed variables. |
197 | -- @param msg string: the warning message to display. | 197 | -- @param msg string: the warning message to display. |
198 | function util.warn_if_not_used(var_defs, needed_set, msg) | 198 | function util.warn_if_not_used(var_defs, needed_set, msg) |
199 | needed_set = make_shallow_copy(needed_set) | 199 | needed_set = util.make_shallow_copy(needed_set) |
200 | for _, val in pairs(var_defs) do | 200 | for _, val in pairs(var_defs) do |
201 | for used in val:gmatch(var_format_pattern) do | 201 | for used in val:gmatch(var_format_pattern) do |
202 | needed_set[used] = nil | 202 | needed_set[used] = nil |