diff options
| author | hisham <hisham@9ca3f7c1-7366-0410-b1a3-b5c78f85698c> | 2009-10-22 22:38:14 +0000 |
|---|---|---|
| committer | hisham <hisham@9ca3f7c1-7366-0410-b1a3-b5c78f85698c> | 2009-10-22 22:38:14 +0000 |
| commit | f02d6d296428902c4536353e55f43de11effd675 (patch) | |
| tree | 85e2dfbf6a64bfb97f23d9402d90e136653458fb | |
| parent | bcd4c4609a082d8acc9f2da3a7538a7181820f54 (diff) | |
| download | luarocks-f02d6d296428902c4536353e55f43de11effd675.tar.gz luarocks-f02d6d296428902c4536353e55f43de11effd675.tar.bz2 luarocks-f02d6d296428902c4536353e55f43de11effd675.zip | |
use new install and config scheme
git-svn-id: http://luarocks.org/svn/luarocks/trunk@107 9ca3f7c1-7366-0410-b1a3-b5c78f85698c
| -rw-r--r-- | Makefile | 90 | ||||
| -rw-r--r-- | install.bat | 26 | ||||
| -rw-r--r-- | src/luarocks/cfg.lua | 41 | ||||
| -rw-r--r-- | src/luarocks/fetch.lua | 24 | ||||
| -rw-r--r-- | src/luarocks/make.lua | 4 |
5 files changed, 101 insertions, 84 deletions
| @@ -4,6 +4,7 @@ include config.unix | |||
| 4 | 4 | ||
| 5 | DESTDIR = | 5 | DESTDIR = |
| 6 | PREFIX ?= /usr/local | 6 | PREFIX ?= /usr/local |
| 7 | SYSCONFDIR ?= $(PREFIX)/etc/luarocks | ||
| 7 | BINDIR ?= $(PREFIX)/bin | 8 | BINDIR ?= $(PREFIX)/bin |
| 8 | LUADIR ?= $(PREFIX)/share/lua/5.1/ | 9 | LUADIR ?= $(PREFIX)/share/lua/5.1/ |
| 9 | LUA_DIR ?= /usr/local | 10 | LUA_DIR ?= /usr/local |
| @@ -19,62 +20,61 @@ remove.lua fs.lua manif.lua add.lua deps.lua build.lua search.lua \ | |||
| 19 | manif_core.lua fetch.lua unpack.lua validate.lua cfg.lua download.lua \ | 20 | manif_core.lua fetch.lua unpack.lua validate.lua cfg.lua download.lua \ |
| 20 | help.lua util.lua index.lua cache.lua add.lua refresh_cache.lua loader.lua | 21 | help.lua util.lua index.lua cache.lua add.lua refresh_cache.lua loader.lua |
| 21 | 22 | ||
| 22 | |||
| 23 | CONFIG_FILE = $(SYSCONFDIR)/config.lua | 23 | CONFIG_FILE = $(SYSCONFDIR)/config.lua |
| 24 | 24 | ||
| 25 | all: built | 25 | all: built |
| 26 | 26 | ||
| 27 | built: | 27 | src/luarocks/config.lua: config.unix |
| 28 | for f in $(BIN_FILES) ;\ | 28 | rm -f src/luarocks/config.lua |
| 29 | do \ | 29 | echo 'module("luarocks.config")' >> src/luarocks/config.lua |
| 30 | sed "1d" src/bin/$$f >> src/bin/$$f.bak ;\ | ||
| 31 | echo "#!$(LUA_BINDIR)/lua$(LUA_SUFFIX)" > src/bin/$$f ;\ | ||
| 32 | echo "package.path = [[$(LUADIR)/?.lua;$(LUADIR)/?/init.lua;]]..package.path" >> src/bin/$$f ;\ | ||
| 33 | cat src/bin/$$f.bak >> src/bin/$$f ;\ | ||
| 34 | rm src/bin/$$f.bak ;\ | ||
| 35 | done | ||
| 36 | sed -i.bak "/^local LUA/d" src/luarocks/cfg.lua | ||
| 37 | rm src/luarocks/cfg.lua.bak | ||
| 38 | cp src/luarocks/cfg.lua src/luarocks/cfg.lua.bak | ||
| 39 | rm src/luarocks/cfg.lua | ||
| 40 | if [ -n "$(PREFIX)" ] ;\ | 30 | if [ -n "$(PREFIX)" ] ;\ |
| 41 | then \ | 31 | then \ |
| 42 | echo "local LUAROCKS_PREFIX=[[$(PREFIX)]]" >> src/luarocks/cfg.lua ;\ | 32 | echo "LUAROCKS_PREFIX=[[$(PREFIX)]]" >> src/luarocks/config.lua ;\ |
| 43 | fi | 33 | fi |
| 44 | if [ -n "$(LUA_INCDIR)" ] ;\ | 34 | if [ -n "$(LUA_INCDIR)" ] ;\ |
| 45 | then \ | 35 | then \ |
| 46 | echo "local LUA_INCDIR=[[$(LUA_INCDIR)]]" >> src/luarocks/cfg.lua ;\ | 36 | echo "LUA_INCDIR=[[$(LUA_INCDIR)]]" >> src/luarocks/config.lua ;\ |
| 47 | fi | 37 | fi |
| 48 | if [ -n "$(LUA_LIBDIR)" ] ;\ | 38 | if [ -n "$(LUA_LIBDIR)" ] ;\ |
| 49 | then \ | 39 | then \ |
| 50 | echo "local LUA_LIBDIR=[[$(LUA_LIBDIR)]]" >> src/luarocks/cfg.lua ;\ | 40 | echo "LUA_LIBDIR=[[$(LUA_LIBDIR)]]" >> src/luarocks/config.lua ;\ |
| 51 | fi | 41 | fi |
| 52 | if [ -n "$(LUA_BINDIR)" ] ;\ | 42 | if [ -n "$(LUA_BINDIR)" ] ;\ |
| 53 | then \ | 43 | then \ |
| 54 | echo "local LUA_BINDIR=[[$(LUA_BINDIR)]]" >> src/luarocks/cfg.lua ;\ | 44 | echo "LUA_BINDIR=[[$(LUA_BINDIR)]]" >> src/luarocks/config.lua ;\ |
| 55 | fi | 45 | fi |
| 56 | if [ -n "$(LUA_SUFFIX)" ] ;\ | 46 | if [ -n "$(LUA_SUFFIX)" ] ;\ |
| 57 | then \ | 47 | then \ |
| 58 | echo "local LUA_INTERPRETER=[[lua$(LUA_SUFFIX)]]" >> src/luarocks/cfg.lua ;\ | 48 | echo "LUA_INTERPRETER=[[lua$(LUA_SUFFIX)]]" >> src/luarocks/config.lua ;\ |
| 59 | fi | 49 | fi |
| 60 | if [ -n "$(SYSCONFDIR)" ] ;\ | 50 | if [ -n "$(SYSCONFDIR)" ] ;\ |
| 61 | then \ | 51 | then \ |
| 62 | echo "local LUAROCKS_SYSCONFIG=[[$(SYSCONFDIR)/config.lua]]" >> src/luarocks/cfg.lua ;\ | 52 | echo "LUAROCKS_SYSCONFIG=[[$(SYSCONFDIR)/config.lua]]" >> src/luarocks/config.lua ;\ |
| 63 | fi | 53 | fi |
| 64 | if [ -n "$(ROCKS_TREE)" ] ;\ | 54 | if [ -n "$(ROCKS_TREE)" ] ;\ |
| 65 | then \ | 55 | then \ |
| 66 | echo "local LUAROCKS_ROCKS_TREE=[[$(ROCKS_TREE)]]" >> src/luarocks/cfg.lua ;\ | 56 | echo "LUAROCKS_ROCKS_TREE=[[$(ROCKS_TREE)]]" >> src/luarocks/config.lua ;\ |
| 67 | fi | 57 | fi |
| 68 | if [ -n "$(FORCE_CONFIG)" ] ;\ | 58 | if [ -n "$(FORCE_CONFIG)" ] ;\ |
| 69 | then \ | 59 | then \ |
| 70 | echo "local LUAROCKS_FORCE_CONFIG=true" >> src/luarocks/cfg.lua ;\ | 60 | echo "LUAROCKS_FORCE_CONFIG=true" >> src/luarocks/config.lua ;\ |
| 71 | fi | 61 | fi |
| 72 | echo "local LUAROCKS_UNAME_S=[[$(LUAROCKS_UNAME_S)]]" >> src/luarocks/cfg.lua | 62 | echo "LUAROCKS_UNAME_S=[[$(LUAROCKS_UNAME_S)]]" >> src/luarocks/config.lua |
| 73 | echo "local LUAROCKS_UNAME_M=[[$(LUAROCKS_UNAME_M)]]" >> src/luarocks/cfg.lua | 63 | echo "LUAROCKS_UNAME_M=[[$(LUAROCKS_UNAME_M)]]" >> src/luarocks/config.lua |
| 74 | echo "local LUAROCKS_DOWNLOADER=[[$(LUAROCKS_DOWNLOADER)]]" >> src/luarocks/cfg.lua | 64 | echo "LUAROCKS_DOWNLOADER=[[$(LUAROCKS_DOWNLOADER)]]" >> src/luarocks/config.lua |
| 75 | echo "local LUAROCKS_MD5CHECKER=[[$(LUAROCKS_MD5CHECKER)]]" >> src/luarocks/cfg.lua | 65 | echo "LUAROCKS_MD5CHECKER=[[$(LUAROCKS_MD5CHECKER)]]" >> src/luarocks/config.lua |
| 76 | cat src/luarocks/cfg.lua.bak >> src/luarocks/cfg.lua | 66 | |
| 77 | rm src/luarocks/cfg.lua.bak | 67 | build_bins: |
| 68 | for f in $(BIN_FILES) ;\ | ||
| 69 | do \ | ||
| 70 | sed "1d" src/bin/$$f >> src/bin/$$f.bak ;\ | ||
| 71 | echo "#!$(LUA_BINDIR)/lua$(LUA_SUFFIX)" > src/bin/$$f ;\ | ||
| 72 | echo "package.path = [[$(LUADIR)/?.lua;$(LUADIR)/?/init.lua;]]..package.path" >> src/bin/$$f ;\ | ||
| 73 | cat src/bin/$$f.bak >> src/bin/$$f ;\ | ||
| 74 | rm src/bin/$$f.bak ;\ | ||
| 75 | done | ||
| 76 | |||
| 77 | built: src/luarocks/config.lua build_bins | ||
| 78 | touch built | 78 | touch built |
| 79 | @echo | 79 | @echo |
| 80 | @echo "Done. Type 'make install' to install into $(PREFIX)." | 80 | @echo "Done. Type 'make install' to install into $(PREFIX)." |
| @@ -102,14 +102,22 @@ clean: | |||
| 102 | sed -i.bak "s,^#!.*lua.*,#!/usr/bin/env lua,;/^package.path/d" src/bin/$$f ;\ | 102 | sed -i.bak "s,^#!.*lua.*,#!/usr/bin/env lua,;/^package.path/d" src/bin/$$f ;\ |
| 103 | rm src/bin/$$f.bak ;\ | 103 | rm src/bin/$$f.bak ;\ |
| 104 | done | 104 | done |
| 105 | sed -i.bak "/^local LUA/d" src/luarocks/cfg.lua | 105 | rm -f src/luarocks/config.lua |
| 106 | rm src/luarocks/cfg.lua.bak | 106 | rm -f built |
| 107 | 107 | ||
| 108 | install: built | 108 | install_bins: |
| 109 | mkdir -p "$(DESTDIR)$(BINDIR)" | 109 | mkdir -p "$(DESTDIR)$(BINDIR)" |
| 110 | cd src/bin && cp $(BIN_FILES) "$(DESTDIR)$(BINDIR)" | 110 | cd src/bin && cp $(BIN_FILES) "$(DESTDIR)$(BINDIR)" |
| 111 | |||
| 112 | install_luas: | ||
| 111 | mkdir -p "$(DESTDIR)$(LUADIR)/luarocks" | 113 | mkdir -p "$(DESTDIR)$(LUADIR)/luarocks" |
| 112 | cd src/luarocks && for f in $(LUAROCKS_FILES); do d="$(DESTDIR)$(LUADIR)/luarocks"/`dirname "$$f"`; mkdir -p "$$d"; cp "$$f" "$$d"; done | 114 | cd src/luarocks && for f in $(LUAROCKS_FILES); do d="$(DESTDIR)$(LUADIR)/luarocks"/`dirname "$$f"`; mkdir -p "$$d"; cp "$$f" "$$d"; done |
| 115 | |||
| 116 | install_config: | ||
| 117 | mkdir -p "$(DESTDIR)$(LUADIR)/luarocks" | ||
| 118 | cd src/luarocks && cp config.lua "$(DESTDIR)$(LUADIR)/luarocks" | ||
| 119 | |||
| 120 | write_sysconfig: | ||
| 113 | mkdir -p "$(DESTDIR)$(ROCKS_TREE)" | 121 | mkdir -p "$(DESTDIR)$(ROCKS_TREE)" |
| 114 | if [ ! -f "$(DESTDIR)$(CONFIG_FILE)" ] ;\ | 122 | if [ ! -f "$(DESTDIR)$(CONFIG_FILE)" ] ;\ |
| 115 | then \ | 123 | then \ |
| @@ -124,17 +132,13 @@ install: built | |||
| 124 | fi ;\ | 132 | fi ;\ |
| 125 | echo ' [[$(ROCKS_TREE)]]' >> "$(DESTDIR)$(CONFIG_FILE)" ;\ | 133 | echo ' [[$(ROCKS_TREE)]]' >> "$(DESTDIR)$(CONFIG_FILE)" ;\ |
| 126 | echo '}' >> "$(DESTDIR)$(CONFIG_FILE)" ;\ | 134 | echo '}' >> "$(DESTDIR)$(CONFIG_FILE)" ;\ |
| 127 | if [ -n "$(SCRIPTS_DIR)" ] ;\ | ||
| 128 | then \ | ||
| 129 | echo "scripts_dir = [[$(SCRIPTS_DIR)]]" >> "$(DESTDIR)$(CONFIG_FILE)" ;\ | ||
| 130 | fi ;\ | ||
| 131 | if [ -n "$(LUA_MODULES_DIR)" ] ;\ | ||
| 132 | then \ | ||
| 133 | echo "lua_modules_dir = [[$(LUA_MODULES_DIR)]]" >> "$(DESTDIR)$(CONFIG_FILE)" ;\ | ||
| 134 | fi ;\ | ||
| 135 | if [ -n "$(BIN_MODULES_DIR)" ] ;\ | ||
| 136 | then \ | ||
| 137 | echo "bin_modules_dir = [[$(BIN_MODULES_DIR)]]" >> "$(DESTDIR)$(CONFIG_FILE)" ;\ | ||
| 138 | fi ;\ | ||
| 139 | fi | 135 | fi |
| 140 | 136 | ||
| 137 | install: built install_bins install_luas install_config write_sysconfig | ||
| 138 | |||
| 139 | bootstrap: src/luarocks/config.lua install_config write_sysconfig | ||
| 140 | LUA_PATH="$$PWD/src/?.lua;$$LUA_PATH" src/bin/luarocks make rockspec | ||
| 141 | |||
| 142 | #build_rock: build_bins | ||
| 143 | |||
| 144 | install_rock: install_bins install_luas | ||
diff --git a/install.bat b/install.bat index 6ebd6680..94febc28 100644 --- a/install.bat +++ b/install.bat | |||
| @@ -256,20 +256,20 @@ IF ERRORLEVEL 1 GOTO ERROR | |||
| 256 | XCOPY /S src\luarocks\*.* "%LUADIR%\luarocks" >NUL | 256 | XCOPY /S src\luarocks\*.* "%LUADIR%\luarocks" >NUL |
| 257 | IF ERRORLEVEL 1 GOTO ERROR | 257 | IF ERRORLEVEL 1 GOTO ERROR |
| 258 | 258 | ||
| 259 | RENAME "%LUADIR%\luarocks\cfg.lua" "cfg.lua.bak" | 259 | RENAME "%LUADIR%\luarocks\config.lua" "config.lua.bak" |
| 260 | ECHO local LUA_INCDIR=[[%LUA_INCDIR%]]>> "%LUADIR%\luarocks\cfg.lua" | 260 | ECHO local LUA_INCDIR=[[%LUA_INCDIR%]]>> "%LUADIR%\luarocks\config.lua" |
| 261 | ECHO local LUA_LIBDIR=[[%LUA_LIBDIR%]]>> "%LUADIR%\luarocks\cfg.lua" | 261 | ECHO local LUA_LIBDIR=[[%LUA_LIBDIR%]]>> "%LUADIR%\luarocks\config.lua" |
| 262 | ECHO local LUA_BINDIR=[[%LUA_BINDIR%]]>> "%LUADIR%\luarocks\cfg.lua" | 262 | ECHO local LUA_BINDIR=[[%LUA_BINDIR%]]>> "%LUADIR%\luarocks\config.lua" |
| 263 | ECHO local LUA_INTERPRETER=[[%LUA_INTERPRETER%]]>> "%LUADIR%\luarocks\cfg.lua" | 263 | ECHO local LUA_INTERPRETER=[[%LUA_INTERPRETER%]]>> "%LUADIR%\luarocks\config.lua" |
| 264 | ECHO local LUAROCKS_UNAME_S=[[WindowsNT]]>> "%LUADIR%\luarocks\cfg.lua" | 264 | ECHO local LUAROCKS_UNAME_S=[[WindowsNT]]>> "%LUADIR%\luarocks\config.lua" |
| 265 | ECHO local LUAROCKS_UNAME_M=[[x86]]>> "%LUADIR%\luarocks\cfg.lua" | 265 | ECHO local LUAROCKS_UNAME_M=[[x86]]>> "%LUADIR%\luarocks\config.lua" |
| 266 | ECHO local LUAROCKS_SYSCONFIG=[[%SYSCONFDIR%/config.lua]]>> "%LUADIR%\luarocks\cfg.lua" | 266 | ECHO local LUAROCKS_SYSCONFIG=[[%SYSCONFDIR%/config.lua]]>> "%LUADIR%\luarocks\config.lua" |
| 267 | ECHO local LUAROCKS_ROCKS_TREE=[[%ROCKS_TREE%]]>> "%LUADIR%\luarocks\cfg.lua" | 267 | ECHO local LUAROCKS_ROCKS_TREE=[[%ROCKS_TREE%]]>> "%LUADIR%\luarocks\config.lua" |
| 268 | ECHO local LUAROCKS_PREFIX=[[%PREFIX%]]>> "%LUADIR%\luarocks\cfg.lua" | 268 | ECHO local LUAROCKS_PREFIX=[[%PREFIX%]]>> "%LUADIR%\luarocks\config.lua" |
| 269 | IF NOT [%FORCE_CONFIG%]==[] ECHO local LUAROCKS_FORCE_CONFIG=true>> "%LUADIR%\luarocks\cfg.lua" | 269 | IF NOT [%FORCE_CONFIG%]==[] ECHO local LUAROCKS_FORCE_CONFIG=true>> "%LUADIR%\luarocks\config.lua" |
| 270 | TYPE "%LUADIR%\luarocks\cfg.lua.bak">> "%LUADIR%\luarocks\cfg.lua" | 270 | TYPE "%LUADIR%\luarocks\config.lua.bak">> "%LUADIR%\luarocks\config.lua" |
| 271 | 271 | ||
| 272 | DEL /F /Q "%LUADIR%\luarocks\cfg.lua.bak" | 272 | DEL /F /Q "%LUADIR%\luarocks\config.lua.bak" |
| 273 | 273 | ||
| 274 | SET CONFIG_FILE=%SYSCONFDIR%\config.lua | 274 | SET CONFIG_FILE=%SYSCONFDIR%\config.lua |
| 275 | 275 | ||
diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index 2758ce0f..881db683 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua | |||
| @@ -9,7 +9,10 @@ local rawset, next, table, pairs, print, require, io, os, setmetatable, pcall, i | |||
| 9 | -- file format documentation</a> for details. | 9 | -- file format documentation</a> for details. |
| 10 | module("luarocks.cfg") | 10 | module("luarocks.cfg") |
| 11 | 11 | ||
| 12 | program_version = "2.0" | 12 | -- Load site-local global configurations |
| 13 | local config = require("luarocks.config") | ||
| 14 | |||
| 15 | program_version = "2.0.1" | ||
| 13 | user_agent = "LuaRocks/"..program_version | 16 | user_agent = "LuaRocks/"..program_version |
| 14 | 17 | ||
| 15 | local persist = require("luarocks.persist") | 18 | local persist = require("luarocks.persist") |
| @@ -31,12 +34,12 @@ local detected = {} | |||
| 31 | local system,proc | 34 | local system,proc |
| 32 | 35 | ||
| 33 | -- A proper installation of LuaRocks will hardcode the system | 36 | -- A proper installation of LuaRocks will hardcode the system |
| 34 | -- and proc values with LUAROCKS_UNAME_S and LUAROCKS_UNAME_M, | 37 | -- and proc values with config.LUAROCKS_UNAME_S and config.LUAROCKS_UNAME_M, |
| 35 | -- so that this detection does not run every time. When it is | 38 | -- so that this detection does not run every time. When it is |
| 36 | -- performed, we use the Unix way to identify the system, | 39 | -- performed, we use the Unix way to identify the system, |
| 37 | -- even on Windows (assuming UnxUtils or Cygwin). | 40 | -- even on Windows (assuming UnxUtils or Cygwin). |
| 38 | system = LUAROCKS_UNAME_S or io.popen("uname -s"):read("*l") | 41 | system = config.LUAROCKS_UNAME_S or io.popen("uname -s"):read("*l") |
| 39 | proc = LUAROCKS_UNAME_M or io.popen("uname -m"):read("*l") | 42 | proc = config.LUAROCKS_UNAME_M or io.popen("uname -m"):read("*l") |
| 40 | if proc:match("i[%d]86") then | 43 | if proc:match("i[%d]86") then |
| 41 | proc = "x86" | 44 | proc = "x86" |
| 42 | elseif proc:match("amd64") or proc:match("x86_64") then | 45 | elseif proc:match("amd64") or proc:match("x86_64") then |
| @@ -82,9 +85,9 @@ end | |||
| 82 | variables = {} | 85 | variables = {} |
| 83 | rocks_trees = {} | 86 | rocks_trees = {} |
| 84 | 87 | ||
| 85 | persist.load_into_table(LUAROCKS_SYSCONFIG or sys_config_file, _M) | 88 | persist.load_into_table(config.LUAROCKS_SYSCONFIG or sys_config_file, _M) |
| 86 | 89 | ||
| 87 | if not LUAROCKS_FORCE_CONFIG then | 90 | if not config.LUAROCKS_FORCE_CONFIG then |
| 88 | home_config_file = os.getenv("LUAROCKS_CONFIG") or home_config_file | 91 | home_config_file = os.getenv("LUAROCKS_CONFIG") or home_config_file |
| 89 | local home_overrides = persist.load_into_table(home_config_file, { home = home }) | 92 | local home_overrides = persist.load_into_table(home_config_file, { home = home }) |
| 90 | if home_overrides then | 93 | if home_overrides then |
| @@ -97,14 +100,14 @@ if not next(rocks_trees) then | |||
| 97 | if home_tree then | 100 | if home_tree then |
| 98 | table.insert(rocks_trees, home_tree) | 101 | table.insert(rocks_trees, home_tree) |
| 99 | end | 102 | end |
| 100 | if LUAROCKS_ROCKS_TREE then | 103 | if config.LUAROCKS_ROCKS_TREE then |
| 101 | table.insert(rocks_trees, LUAROCKS_ROCKS_TREE) | 104 | table.insert(rocks_trees, config.LUAROCKS_ROCKS_TREE) |
| 102 | end | 105 | end |
| 103 | end | 106 | end |
| 104 | 107 | ||
| 105 | -- Configure defaults: | 108 | -- Configure defaults: |
| 106 | 109 | ||
| 107 | local root = LUAROCKS_ROCKS_TREE or home_tree | 110 | local root = config.LUAROCKS_ROCKS_TREE or home_tree |
| 108 | local defaults = { | 111 | local defaults = { |
| 109 | root_dir = root, | 112 | root_dir = root, |
| 110 | rocks_dir = root.."/lib/luarocks/rocks", | 113 | rocks_dir = root.."/lib/luarocks/rocks", |
| @@ -123,9 +126,9 @@ local defaults = { | |||
| 123 | }, | 126 | }, |
| 124 | 127 | ||
| 125 | lua_extension = "lua", | 128 | lua_extension = "lua", |
| 126 | lua_interpreter = LUA_INTERPRETER or "lua", | 129 | lua_interpreter = config.LUA_INTERPRETER or "lua", |
| 127 | downloader = LUAROCKS_DOWNLOADER or "wget", | 130 | downloader = config.LUAROCKS_DOWNLOADER or "wget", |
| 128 | md5checker = LUAROCKS_MD5CHECKER or "md5sum", | 131 | md5checker = config.LUAROCKS_MD5CHECKER or "md5sum", |
| 129 | 132 | ||
| 130 | variables = {}, | 133 | variables = {}, |
| 131 | 134 | ||
| @@ -149,9 +152,9 @@ if detected.windows then | |||
| 149 | defaults.external_lib_extension = "dll" | 152 | defaults.external_lib_extension = "dll" |
| 150 | defaults.obj_extension = "obj" | 153 | defaults.obj_extension = "obj" |
| 151 | defaults.external_deps_dirs = { "c:/external/" } | 154 | defaults.external_deps_dirs = { "c:/external/" } |
| 152 | defaults.variables.LUA_BINDIR = LUA_BINDIR and LUA_BINDIR:gsub("\\", "/") or "c:/lua5.1/bin" | 155 | defaults.variables.LUA_BINDIR = config.LUA_BINDIR and config.LUA_BINDIR:gsub("\\", "/") or "c:/lua5.1/bin" |
| 153 | defaults.variables.LUA_INCDIR = LUA_INCDIR and LUA_INCDIR:gsub("\\", "/") or "c:/lua5.1/include" | 156 | defaults.variables.LUA_INCDIR = config.LUA_INCDIR and config.LUA_INCDIR:gsub("\\", "/") or "c:/lua5.1/include" |
| 154 | defaults.variables.LUA_LIBDIR = LUA_LIBDIR and LUA_LIBDIR:gsub("\\", "/") or "c:/lua5.1/lib" | 157 | defaults.variables.LUA_LIBDIR = config.LUA_LIBDIR and config.LUA_LIBDIR:gsub("\\", "/") or "c:/lua5.1/lib" |
| 155 | defaults.cmake_generator = "MinGW Makefiles" | 158 | defaults.cmake_generator = "MinGW Makefiles" |
| 156 | defaults.make = "nmake" -- TODO: Split Windows flavors between mingw and msvc | 159 | defaults.make = "nmake" -- TODO: Split Windows flavors between mingw and msvc |
| 157 | defaults.makefile = "Makefile.win" | 160 | defaults.makefile = "Makefile.win" |
| @@ -178,9 +181,9 @@ if detected.unix then | |||
| 178 | defaults.external_lib_extension = "so" | 181 | defaults.external_lib_extension = "so" |
| 179 | defaults.obj_extension = "o" | 182 | defaults.obj_extension = "o" |
| 180 | defaults.external_deps_dirs = { "/usr/local", "/usr" } | 183 | defaults.external_deps_dirs = { "/usr/local", "/usr" } |
| 181 | defaults.variables.LUA_BINDIR = LUA_BINDIR or "/usr/local/bin" | 184 | defaults.variables.LUA_BINDIR = config.LUA_BINDIR or "/usr/local/bin" |
| 182 | defaults.variables.LUA_INCDIR = LUA_INCDIR or "/usr/local/include" | 185 | defaults.variables.LUA_INCDIR = config.LUA_INCDIR or "/usr/local/include" |
| 183 | defaults.variables.LUA_LIBDIR = LUA_LIBDIR or "/usr/local/lib" | 186 | defaults.variables.LUA_LIBDIR = config.LUA_LIBDIR or "/usr/local/lib" |
| 184 | defaults.variables.CFLAGS = "-O2" | 187 | defaults.variables.CFLAGS = "-O2" |
| 185 | defaults.cmake_generator = "Unix Makefiles" | 188 | defaults.cmake_generator = "Unix Makefiles" |
| 186 | defaults.make = "make" | 189 | defaults.make = "make" |
| @@ -245,7 +248,7 @@ end | |||
| 245 | defaults.variables.LUA = defaults.lua_interpreter | 248 | defaults.variables.LUA = defaults.lua_interpreter |
| 246 | defaults.variables.LIB_EXTENSION = defaults.lib_extension | 249 | defaults.variables.LIB_EXTENSION = defaults.lib_extension |
| 247 | defaults.variables.OBJ_EXTENSION = defaults.obj_extension | 250 | defaults.variables.OBJ_EXTENSION = defaults.obj_extension |
| 248 | defaults.variables.LUAROCKS_PREFIX = LUAROCKS_PREFIX | 251 | defaults.variables.LUAROCKS_PREFIX = config.LUAROCKS_PREFIX |
| 249 | 252 | ||
| 250 | -- Use defaults: | 253 | -- Use defaults: |
| 251 | 254 | ||
diff --git a/src/luarocks/fetch.lua b/src/luarocks/fetch.lua index 5e1f870d..073b14d1 100644 --- a/src/luarocks/fetch.lua +++ b/src/luarocks/fetch.lua | |||
| @@ -146,9 +146,13 @@ function load_local_rockspec(filename) | |||
| 146 | util.platform_overrides(rockspec.hooks) | 146 | util.platform_overrides(rockspec.hooks) |
| 147 | 147 | ||
| 148 | local basename = dir.base_name(filename) | 148 | local basename = dir.base_name(filename) |
| 149 | rockspec.name = basename:match("(.*)-[^-]*-[0-9]*") | 149 | if basename == "rockspec" then |
| 150 | if not rockspec.name then | 150 | rockspec.name = rockspec.package:lower() |
| 151 | return nil, "Expected filename in format 'name-version-revision.rockspec'." | 151 | else |
| 152 | rockspec.name = basename:match("(.*)-[^-]*-[0-9]*") | ||
| 153 | if not rockspec.name then | ||
| 154 | return nil, "Expected filename in format 'name-version-revision.rockspec'." | ||
| 155 | end | ||
| 152 | end | 156 | end |
| 153 | 157 | ||
| 154 | local protocol, pathname = dir.split_url(rockspec.source.url) | 158 | local protocol, pathname = dir.split_url(rockspec.source.url) |
| @@ -164,7 +168,7 @@ function load_local_rockspec(filename) | |||
| 164 | end | 168 | end |
| 165 | 169 | ||
| 166 | local name_version = rockspec.package:lower() .. "-" .. rockspec.version | 170 | local name_version = rockspec.package:lower() .. "-" .. rockspec.version |
| 167 | if basename ~= name_version .. ".rockspec" then | 171 | if basename ~= "rockspec" and basename ~= name_version .. ".rockspec" then |
| 168 | return nil, "Inconsistency between rockspec filename ("..basename..") and its contents ("..name_version..".rockspec)." | 172 | return nil, "Inconsistency between rockspec filename ("..basename..") and its contents ("..name_version..".rockspec)." |
| 169 | end | 173 | end |
| 170 | 174 | ||
| @@ -207,9 +211,15 @@ end | |||
| 207 | function load_rockspec(filename, location) | 211 | function load_rockspec(filename, location) |
| 208 | assert(type(filename) == "string") | 212 | assert(type(filename) == "string") |
| 209 | 213 | ||
| 210 | local name = dir.base_name(filename):match("(.*)%.rockspec") | 214 | local name |
| 211 | if not name then | 215 | local basename = dir.base_name(filename) |
| 212 | return nil, "Filename '"..filename.."' does not look like a rockspec." | 216 | if basename == "rockspec" then |
| 217 | name = "rockspec" | ||
| 218 | else | ||
| 219 | name = basename:match("(.*)%.rockspec") | ||
| 220 | if not name and not basename == "rockspec" then | ||
| 221 | return nil, "Filename '"..filename.."' does not look like a rockspec." | ||
| 222 | end | ||
| 213 | end | 223 | end |
| 214 | 224 | ||
| 215 | local err, errcode | 225 | local err, errcode |
diff --git a/src/luarocks/make.lua b/src/luarocks/make.lua index 1365cf13..cb2ba374 100644 --- a/src/luarocks/make.lua +++ b/src/luarocks/make.lua | |||
| @@ -34,7 +34,7 @@ function run(...) | |||
| 34 | if not rockspec then | 34 | if not rockspec then |
| 35 | local files = fs.list_dir(fs.current_dir()) | 35 | local files = fs.list_dir(fs.current_dir()) |
| 36 | for _, file in pairs(files) do | 36 | for _, file in pairs(files) do |
| 37 | if file:match(".rockspec$") then | 37 | if file:match("rockspec$") then |
| 38 | if rockspec then | 38 | if rockspec then |
| 39 | return nil, "Please specify which rockspec file to use." | 39 | return nil, "Please specify which rockspec file to use." |
| 40 | else | 40 | else |
| @@ -46,7 +46,7 @@ function run(...) | |||
| 46 | return nil, "Argument missing: please specify a rockspec to use on current directory." | 46 | return nil, "Argument missing: please specify a rockspec to use on current directory." |
| 47 | end | 47 | end |
| 48 | end | 48 | end |
| 49 | if not rockspec:match("%.rockspec$") then | 49 | if not rockspec:match("rockspec$") then |
| 50 | return nil, "Invalid argument: 'make' takes a rockspec as a parameter. See help." | 50 | return nil, "Invalid argument: 'make' takes a rockspec as a parameter. See help." |
| 51 | end | 51 | end |
| 52 | 52 | ||
