diff options
author | Daiderd Jordan <daiderd@gmail.com> | 2019-10-02 00:08:13 +0200 |
---|---|---|
committer | Daiderd Jordan <daiderd@gmail.com> | 2019-10-02 00:08:13 +0200 |
commit | fc408c8690218bf07d7c9338e39c23577348c23b (patch) | |
tree | 546914bd1ea125c64a3704e08e4f0959721ae409 /pkgs/development/lua-modules | |
parent | bb8b193bd5f3615dad2c25f3d6464774eed89224 (diff) |
lua.pkgs.luv.libluv: fix linking against lua on darwin
[ 50%] Building C object CMakeFiles/luv.dir/src/luv.c.o
[100%] Linking C shared library libluv.dylib
Undefined symbols for architecture x86_64:
"_luaL_addlstring", referenced from:
_thread_dump in luv.c.o
...
Diffstat (limited to 'pkgs/development/lua-modules')
-rw-r--r-- | pkgs/development/lua-modules/overrides.nix | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index 87636c84c41a..bb640cb09a53 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -273,17 +273,22 @@ with super; sed -i 's,\(option(WITH_SHARED_LIBUV.*\)OFF,\1ON,' CMakeLists.txt rm -rf deps/libuv ''; - propagatedBuildInputs = [ - pkgs.libuv - ]; + + buildInputs = [ pkgs.libuv ]; passthru = { - libluv = self.luv.override({ + libluv = self.luv.override ({ preBuild = self.luv.preBuild + '' - sed -i 's,\(option(BUILD_MODULE.*\)ON,\1OFF,' CMakeLists.txt - sed -i 's,\(option(BUILD_SHARED_LIBS.*\)OFF,\1ON,' CMakeLists.txt - sed -i 's,${"\${INSTALL_INC_DIR}"},${placeholder "out"}/include/luv,' CMakeLists.txt + sed -i 's,\(option(BUILD_MODULE.*\)ON,\1OFF,' CMakeLists.txt + sed -i 's,\(option(BUILD_SHARED_LIBS.*\)OFF,\1ON,' CMakeLists.txt + sed -i 's,${"\${INSTALL_INC_DIR}"},${placeholder "out"}/include/luv,' CMakeLists.txt ''; + + nativeBuildInputs = [ pkgs.fixDarwinDylibNames ]; + + # Fixup linking libluv.dylib, for some reason it's not linked against lua correctly. + NIX_LDFLAGS = pkgs.lib.optionalString pkgs.stdenv.isDarwin + (if isLuaJIT then "-lluajit-${lua.luaversion}" else "-llua"); }); }; }); |