summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/interpreters/lua-5/hooks/default.nix1
-rw-r--r--pkgs/development/interpreters/lua-5/interpreter.nix25
-rw-r--r--pkgs/development/interpreters/luajit/default.nix16
3 files changed, 14 insertions, 28 deletions
diff --git a/pkgs/development/interpreters/lua-5/hooks/default.nix b/pkgs/development/interpreters/lua-5/hooks/default.nix
index 6c303f770dec..ca9c15e8a3b1 100644
--- a/pkgs/development/interpreters/lua-5/hooks/default.nix
+++ b/pkgs/development/interpreters/lua-5/hooks/default.nix
@@ -8,7 +8,6 @@
let
callPackage = lua.pkgs.callPackage;
- luaInterpreter = lua.interpreter;
in {
lua-setup-hook = LuaPathSearchPaths: LuaCPathSearchPaths:
diff --git a/pkgs/development/interpreters/lua-5/interpreter.nix b/pkgs/development/interpreters/lua-5/interpreter.nix
index 4091fdd49e0e..2856951d9fbd 100644
--- a/pkgs/development/interpreters/lua-5/interpreter.nix
+++ b/pkgs/development/interpreters/lua-5/interpreter.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs:
let
luaPackages = self.pkgs;
- luaversion = lib.versions.majorMinor version;
+ luaversion = lib.versions.majorMinor finalAttrs.version;
plat = if (stdenv.isLinux && lib.versionOlder self.luaversion "5.4") then "linux"
else if (stdenv.isLinux && lib.versionAtLeast self.luaversion "5.4") then "linux-readline"
@@ -45,7 +45,7 @@ stdenv.mkDerivation (finalAttrs:
outputs = [ "out" "doc" ];
src = fetchurl {
- url = "https://www.lua.org/ftp/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
+ url = "https://www.lua.org/ftp/lua-${finalAttrs.version}.tar.gz";
sha256 = hash;
};
@@ -60,16 +60,11 @@ stdenv.mkDerivation (finalAttrs:
inherit patches;
- # we can't pass flags to the lua makefile because for portability, everything is hardcoded
postPatch = ''
- {
- echo -e '
- #undef LUA_PATH_DEFAULT
- #define LUA_PATH_DEFAULT "./share/lua/${luaversion}/?.lua;./?.lua;./?/init.lua"
- #undef LUA_CPATH_DEFAULT
- #define LUA_CPATH_DEFAULT "./lib/lua/${luaversion}/?.so;./?.so;./lib/lua/${luaversion}/loadall.so"
- '
- } >> src/luaconf.h
+ sed -i "s@#define LUA_ROOT[[:space:]]*\"/usr/local/\"@#define LUA_ROOT \"$out/\"@g" src/luaconf.h
+
+ # abort if patching didn't work
+ grep $out src/luaconf.h
'' + lib.optionalString (!stdenv.isDarwin && !staticOnly) ''
# Add a target for a shared library to the Makefile.
sed -e '1s/^/LUA_SO = liblua.so/' \
@@ -102,8 +97,8 @@ stdenv.mkDerivation (finalAttrs:
makeFlagsArray+=(${lib.optionalString stdenv.isDarwin "CC=\"$CC\""}${lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " 'AR=${stdenv.cc.targetPrefix}ar rcu'"})
installFlagsArray=( TO_BIN="lua luac" INSTALL_DATA='cp -d' \
- TO_LIB="${if stdenv.isDarwin then "liblua.${version}.dylib"
- else ("liblua.a" + lib.optionalString (!staticOnly) " liblua.so liblua.so.${luaversion} liblua.so.${version}" )}" )
+ TO_LIB="${if stdenv.isDarwin then "liblua.${finalAttrs.version}.dylib"
+ else ("liblua.a" + lib.optionalString (!staticOnly) " liblua.so liblua.so.${luaversion} liblua.so.${finalAttrs.version}" )}" )
runHook postConfigure
'';
@@ -128,7 +123,7 @@ stdenv.mkDerivation (finalAttrs:
Name: Lua
Description: An Extensible Extension Language
- Version: ${version}
+ Version: ${finalAttrs.version}
Requires:
Libs: -L$out/lib -llua
Cflags: -I$out/include
@@ -138,7 +133,7 @@ stdenv.mkDerivation (finalAttrs:
ln -s "$out/lib/pkgconfig/lua.pc" "$out/lib/pkgconfig/lua${lib.replaceStrings [ "." ] [ "" ] luaversion}.pc"
# Make documentation outputs of different versions co-installable.
- mv $out/share/doc/lua $out/share/doc/lua-${version}
+ mv $out/share/doc/lua $out/share/doc/lua-${finalAttrs.version}
'';
# copied from python
diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix
index 211fa56e9119..15bcfee3a44c 100644
--- a/pkgs/development/interpreters/luajit/default.nix
+++ b/pkgs/development/interpreters/luajit/default.nix
@@ -62,7 +62,7 @@ let
else buildPackages.stdenv;
in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "luajit";
inherit version src;
@@ -75,15 +75,6 @@ stdenv.mkDerivation rec {
# passed by nixpkgs CC wrapper is insufficient on its own
substituteInPlace src/Makefile --replace "#CCDEBUG= -g" "CCDEBUG= -g"
fi
-
- {
- echo -e '
- #undef LUA_PATH_DEFAULT
- #define LUA_PATH_DEFAULT "./share/lua/${luaversion}/?.lua;./?.lua;./?/init.lua"
- #undef LUA_CPATH_DEFAULT
- #define LUA_CPATH_DEFAULT "./lib/lua/${luaversion}/?.so;./?.so;./lib/lua/${luaversion}/loadall.so"
- '
- } >> src/luaconf.h
'';
dontConfigure = true;
@@ -122,7 +113,8 @@ stdenv.mkDerivation rec {
inputs' = lib.filterAttrs (n: v: ! lib.isDerivation v && n != "passthruFun") inputs;
override = attr: let lua = attr.override (inputs' // { self = lua; }); in lua;
in passthruFun rec {
- inherit self luaversion packageOverrides luaAttr;
+ inherit self packageOverrides luaAttr;
+ inherit (finalAttrs) luaversion;
executable = "lua";
luaOnBuildForBuild = override pkgsBuildBuild.${luaAttr};
luaOnBuildForHost = override pkgsBuildHost.${luaAttr};
@@ -142,4 +134,4 @@ stdenv.mkDerivation rec {
];
maintainers = with maintainers; [ thoughtpolice smironov vcunat lblasc ];
} // extraMeta;
-}
+})