diff options
author | Marco A L Barbosa <malbarbo@gmail.com> | 2021-06-18 19:37:00 -0300 |
---|---|---|
committer | Marco A L Barbosa <malbarbo@gmail.com> | 2021-06-22 11:34:33 -0300 |
commit | 8f8b8d5000e3e4ca9f84defb156b0222510393b8 (patch) | |
tree | fdd9550ae44ac10e02509e76c9f621aa8b6090fe /pkgs/development/interpreters | |
parent | 14afd6e5f98a105ba9c5ce66186564d908c56ee1 (diff) |
lua: support static only builds
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r-- | pkgs/development/interpreters/lua-5/interpreter.nix | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/pkgs/development/interpreters/lua-5/interpreter.nix b/pkgs/development/interpreters/lua-5/interpreter.nix index fd8c47d751b3f..3476b2b648b60 100644 --- a/pkgs/development/interpreters/lua-5/interpreter.nix +++ b/pkgs/development/interpreters/lua-5/interpreter.nix @@ -7,6 +7,7 @@ , patches ? [] , postConfigure ? null , postBuild ? null +, staticOnly ? stdenv.hostPlatform.isStatic }: let luaPackages = callPackage ../../lua-modules {lua=self; overrides=packageOverrides;}; @@ -38,7 +39,7 @@ self = stdenv.mkDerivation rec { inherit patches; - postPatch = lib.optionalString (!stdenv.isDarwin) '' + postPatch = lib.optionalString (!stdenv.isDarwin && !staticOnly) '' # Add a target for a shared library to the Makefile. sed -e '1s/^/LUA_SO = liblua.so/' \ -e 's/ALL_T *= */&$(LUA_SO) /' \ @@ -56,6 +57,10 @@ self = stdenv.mkDerivation rec { "PLAT=${plat}" "CC=${stdenv.cc.targetPrefix}cc" "RANLIB=${stdenv.cc.targetPrefix}ranlib" + # Lua links with readline wich depends on ncurses. For some reason when + # building pkgsStatic.lua it fails because symbols from ncurses are not + # found. Adding ncurses here fixes the problem. + "MYLIBS=-lncurses" ]; configurePhase = '' @@ -66,7 +71,8 @@ self = stdenv.mkDerivation rec { 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 liblua.so liblua.so.${luaversion} liblua.so.${version}"}" ) + TO_LIB="${if stdenv.isDarwin then "liblua.${version}.dylib" + else ("liblua.a" + lib.optionalString (!staticOnly) " liblua.so liblua.so.${luaversion} liblua.so.${version}" )}" ) runHook postConfigure ''; |