diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv index 76a7469e3ee9..bca0f90eced1 100644 --- a/maintainers/scripts/luarocks-packages.csv +++ b/maintainers/scripts/luarocks-packages.csv @@ -52,6 +52,7 @@ lrexlib-pcre,,,,,, lrexlib-posix,,,,,, lsp-progress.nvim,,,,,5.1,gepbird lsqlite3,,,,,, +ltreesitter-ts,,,,,, lua-cjson,,,,,, lua-cmsgpack,,,,,, lua-curl,,,,,, diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index 1b6848105bc3..d0482d671f83 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -1912,6 +1912,35 @@ final: prev: { } ) { }; + ltreesitter-ts = callPackage ( + { + buildLuarocksPackage, + fetchFromGitHub, + fetchurl, + }: + buildLuarocksPackage { + pname = "ltreesitter-ts"; + version = "0.0.1-1"; + knownRockspec = + (fetchurl { + url = "mirror://luarocks/ltreesitter-ts-0.0.1-1.rockspec"; + sha256 = "064nn3h6wi8z5ply35ig78jjkpy527nc5qxisbkvv8s3s345h82r"; + }).outPath; + src = fetchFromGitHub { + owner = "FourierTransformer"; + repo = "ltreesitter-ts"; + tag = "0.0.1"; + hash = "sha256-HFBOYFadw+lwQYk39vrFtAn/HGjfXzCxjN1RLBp4yKA="; + }; + + meta = { + homepage = "https://github.com/FourierTransformer/ltreesitter-ts"; + description = "Treesitter parsing library bindings for Lua"; + license.fullName = "MIT"; + }; + } + ) { }; + lua-cjson = callPackage ( { buildLuarocksPackage, diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index af4acdffa2e0..2a12a01b0045 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -23,6 +23,7 @@ gnulib, gnum4, gobject-introspection, + icu, imagemagick, installShellFiles, lib, @@ -434,6 +435,21 @@ in buildInputs = old.buildInputs ++ [ sqlite.dev ]; }); + ltreesitter-ts = prev.ltreesitter-ts.overrideAttrs (old: { + # Upstream package relies on git submodules (ltreesitter + tree-sitter), + # but the default source fetch misses those files. + src = fetchFromGitHub { + owner = "FourierTransformer"; + repo = "ltreesitter-ts"; + rev = "0.0.1"; + fetchSubmodules = true; + hash = "sha256-hKM5HQU7A08mA004ZMV7hIVq/2WR3KocMatnTplM8uU="; + }; + nativeBuildInputs = old.nativeBuildInputs ++ [ icu ]; + NIX_CFLAGS_COMPILE = "-I${lib.getDev icu}/include"; + NIX_LDFLAGS = "-L${lib.getLib icu}/lib -licuuc -licui18n -licudata"; + }); + lua-cmsgpack = prev.lua-cmsgpack.overrideAttrs { strictDeps = false; meta.broken = isLuaJIT;