From e05effd09a8e2df4e7cff301392fba0933c5eed7 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Tue, 12 Nov 2013 18:47:53 -0200 Subject: Allow the wrapper scripts to keep working even if LuaRocks is uninstalled (or if one is building them to run in another box without LuaRocks, for example, in cross-compiling scenarios). --- src/luarocks/fs/unix.lua | 4 ++-- src/luarocks/fs/win32.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/luarocks/fs/unix.lua b/src/luarocks/fs/unix.lua index 9dc3b6a6..d231222b 100644 --- a/src/luarocks/fs/unix.lua +++ b/src/luarocks/fs/unix.lua @@ -61,8 +61,8 @@ function wrap_script(file, dest, name, version) wrapper:write("#!/bin/sh\n\n") local lua = dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter) local ppaths = "package.path="..util.LQ(lpath..";").."..package.path; package.cpath="..util.LQ(lcpath..";").."..package.cpath" - local addctx = "luarocks.loader.add_context("..util.LQ(name)..","..util.LQ(version)..")" - wrapper:write('exec '..fs.Q(lua)..' -e '..fs.Q(ppaths)..' -lluarocks.loader -e '..fs.Q(addctx)..' '..fs.Q(file)..' "$@"\n') + local addctx = "local k,l,_=pcall(require,"..util.LQ("luarocks.loader")..") _=k and l.add_context("..util.LQ(name)..","..util.LQ(version)..")" + wrapper:write('exec '..fs.Q(lua)..' -e '..fs.Q(ppaths)..' -e '..fs.Q(addctx)..' '..fs.Q(file)..' "$@"\n') wrapper:close() if fs.chmod(wrapname, "0755") then return true diff --git a/src/luarocks/fs/win32.lua b/src/luarocks/fs/win32.lua index 78a9f730..0280b3f0 100644 --- a/src/luarocks/fs/win32.lua +++ b/src/luarocks/fs/win32.lua @@ -113,8 +113,8 @@ function wrap_script(file, dest, name, version) wrapper:write("@echo off\n") local lua = dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter) local ppaths = "package.path="..util.LQ(lpath..";").."..package.path; package.cpath="..util.LQ(lcpath..";").."..package.cpath" - local addctx = "luarocks.loader.add_context("..util.LQ(name)..","..util.LQ(version)..")" - wrapper:write(fs.Qb(lua)..' -e '..fs.Qb(ppaths)..' -lluarocks.loader -e '..fs.Qb(addctx)..' '..fs.Qb(file)..' %*\n') + local addctx = "local k,l,_=pcall(require,"..util.LQ("luarocks.loader")..") _=k and l.add_context("..util.LQ(name)..","..util.LQ(version)..")" + wrapper:write(fs.Qb(lua)..' -e '..fs.Qb(ppaths)..' -e '..fs.Qb(addctx)..' '..fs.Qb(file)..' %*\n') wrapper:close() return true end -- cgit v1.2.3-55-g6feb