summary refs log tree commit diff
path: root/pkgs/development/lua-modules
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2019-10-02 00:08:13 +0200
committerDaiderd Jordan <daiderd@gmail.com>2019-10-02 00:08:13 +0200
commitfc408c8690218bf07d7c9338e39c23577348c23b (patch)
tree546914bd1ea125c64a3704e08e4f0959721ae409 /pkgs/development/lua-modules
parentbb8b193bd5f3615dad2c25f3d6464774eed89224 (diff)
downloadnixpkgs-fc408c8690218bf07d7c9338e39c23577348c23b.tar
nixpkgs-fc408c8690218bf07d7c9338e39c23577348c23b.tar.gz
nixpkgs-fc408c8690218bf07d7c9338e39c23577348c23b.tar.bz2
nixpkgs-fc408c8690218bf07d7c9338e39c23577348c23b.tar.lz
nixpkgs-fc408c8690218bf07d7c9338e39c23577348c23b.tar.xz
nixpkgs-fc408c8690218bf07d7c9338e39c23577348c23b.tar.zst
nixpkgs-fc408c8690218bf07d7c9338e39c23577348c23b.zip
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.nix19
1 files changed, 12 insertions, 7 deletions
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index 87636c84c41..bb640cb09a5 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");
       });
     };
   });