diff --git a/pkgs/development/interpreters/lua-5/build-luarocks-package.nix b/pkgs/development/interpreters/lua-5/build-luarocks-package.nix index d17547eff73a..bc79b674b472 100644 --- a/pkgs/development/interpreters/lua-5/build-luarocks-package.nix +++ b/pkgs/development/interpreters/lua-5/build-luarocks-package.nix @@ -27,6 +27,9 @@ # These are added to nativeBuildInputs when doCheck = true. nativeCheckInputs ? [ ], + # Rockspec `build_dependencies` generated by `luarocks nix`). + nativeBuildInputs ? [ ], + # propagate build dependencies so in case we have A -> B -> C, # C can import package A propagated by B propagatedBuildInputs ? [ ], @@ -101,6 +104,7 @@ let wrapLua luarocks_bootstrap ] + ++ nativeBuildInputs ++ lib.optionals self.doCheck self.nativeCheckInputs; inherit diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index 5b455679b365..0565937ec763 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -452,7 +452,7 @@ in # ld: symbol(s) not found for architecture arm64 # clang-16: error: linker command failed with exit code 1 (use -v to see invocation) - meta.broken = stdenv.hostPlatform.isDarwin; + meta.broken = stdenv.hostPlatform.isDarwin || luaAtLeast "5.5"; }); lua-subprocess = prev.lua-subprocess.overrideAttrs { @@ -1071,6 +1071,10 @@ in cargo rustPlatform.cargoSetupHook ]; + + meta = old.meta // { + broken = luaAtLeast "5.5"; + }; }); tl = prev.tl.overrideAttrs (old: { @@ -1100,51 +1104,17 @@ in }); tree-sitter-http = prev.tree-sitter-http.overrideAttrs (old: { - strictDeps = false; - propagatedBuildInputs = - let - # HACK: luarocks-nix puts rockspec build dependencies in the nativeBuildInputs, - # but that doesn't seem to work - lua = lib.head old.propagatedBuildInputs; - in - old.propagatedBuildInputs - ++ [ - lua.pkgs.luarocks-build-treesitter-parser - tree-sitter - ]; - nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ + tree-sitter writableTmpDirAsHomeHook ]; }); tree-sitter-norg = prev.tree-sitter-norg.overrideAttrs (old: { - propagatedBuildInputs = - let - # HACK: luarocks-nix puts rockspec build dependencies in the nativeBuildInputs, - # but that doesn't seem to work - lua = lib.head old.propagatedBuildInputs; - in - old.propagatedBuildInputs - ++ [ - lua.pkgs.luarocks-build-treesitter-parser-cpp - ]; - meta.broken = lua.luaversion != "5.1"; }); tree-sitter-orgmode = prev.tree-sitter-orgmode.overrideAttrs (old: { - strictDeps = false; - propagatedBuildInputs = - let - # HACK: luarocks-nix puts rockspec build dependencies in the nativeBuildInputs, - # but that doesn't seem to work - lua = lib.head old.propagatedBuildInputs; - in - old.propagatedBuildInputs - ++ [ - lua.pkgs.luarocks-build-treesitter-parser - ]; nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ writableTmpDirAsHomeHook tree-sitter