1 # do not add pkgs, it messes up splicing
24 , gobject-introspection
66 inherit (prev) luaOlder luaAtLeast lua isLuaJIT isLua51;
69 argparse = prev.argparse.overrideAttrs(oa: {
72 checkInputs = [ final.busted ];
76 export LUA_PATH="src/?.lua;$LUA_PATH"
81 ##########################################3
82 #### manual fixes for generated packages
83 ##########################################3
84 bit32 = prev.bit32.overrideAttrs (oa: {
85 # Small patch in order to no longer redefine a Lua 5.2 function that Luajit
86 # 2.1 also provides, see https://github.com/LuaJIT/LuaJIT/issues/325 for
91 meta.broken = luaOlder "5.1" || luaAtLeast "5.4";
94 busted = prev.busted.overrideAttrs (oa: {
95 nativeBuildInputs = oa.nativeBuildInputs ++ [
99 substituteInPlace ''${rockspecFilename} \
100 --replace-fail "'lua_cliargs = 3.0'," "'lua_cliargs >= 3.0-1',"
103 installShellCompletion --cmd busted \
104 --zsh completions/zsh/_busted \
105 --bash completions/bash/busted.bash
109 cqueues = prev.cqueues.overrideAttrs (oa: rec {
110 # Parse out a version number without the Lua version inserted
112 version' = prev.cqueues.version;
113 rel = lib.splitVersion version';
115 rev = lib.last (lib.splitString "-" (lib.last rel));
119 meta.broken = luaOlder "5.1" || luaAtLeast "5.4";
121 nativeBuildInputs = oa.nativeBuildInputs ++ [
126 { name = "CRYPTO"; dep = openssl; }
127 { name = "OPENSSL"; dep = openssl; }
130 # Upstream rockspec is pointlessly broken into separate rockspecs, per Lua
131 # version, which doesn't work well for us, so modify it
132 postConfigure = let inherit (prev.cqueues) pname; in
134 # 'all' target auto-detects correct Lua version, which is fine for us as
135 # we only have the right one available :)
136 sed -Ei ''${rockspecFilename} \
137 -e 's|lua == 5.[[:digit:]]|lua >= 5.1, <= 5.3|' \
138 -e 's|build_target = "[^"]+"|build_target = "all"|' \
139 -e 's|version = "[^"]+"|version = "${version}"|'
140 specDir=$(dirname ''${rockspecFilename})
141 cp ''${rockspecFilename} "$specDir/${pname}-${version}.rockspec"
142 rockspecFilename="$specDir/${pname}-${version}.rockspec"
146 # Until https://github.com/swarn/fzy-lua/pull/8 is merged,
147 # we have to invoke busted manually
148 fzy = prev.fzy.overrideAttrs(oa: {
150 nativeCheckInputs = [ final.busted ];
156 http = prev.http.overrideAttrs (oa: {
159 name = "invalid-state-progression.patch";
160 url = "https://github.com/daurnimator/lua-http/commit/cb7b59474a.diff";
161 sha256 = "1vmx039n3nqfx50faqhs3wgiw28ws416rhw6vh6srmh9i826dac7";
164 /* TODO: separate docs derivation? (pandoc is heavy)
165 nativeBuildInputs = [ pandoc ];
166 makeFlags = [ "-C doc" "lua-http.html" "lua-http.3" ];
170 image-nvim = prev.image-nvim.overrideAttrs (oa: {
171 propagatedBuildInputs = [
173 luajitPackages.magick
177 ldbus = prev.ldbus.overrideAttrs (oa: {
178 luarocksConfig = oa.luarocksConfig // {
180 DBUS_DIR = "${dbus.lib}";
181 DBUS_ARCH_INCDIR = "${dbus.lib}/lib/dbus-1.0/include";
182 DBUS_INCDIR = "${dbus.dev}/include/dbus-1.0";
190 ljsyscall = prev.ljsyscall.overrideAttrs (oa: rec {
191 version = "unstable-20180515";
192 # package hasn't seen any release for a long time
193 src = fetchFromGitHub {
194 owner = "justincormack";
196 rev = "e587f8c55aad3955dddab3a4fa6c1968037b5c6e";
197 sha256 = "06v52agqyziwnbp2my3r7liv245ddmb217zmyqakh0ldjdsr8lz4";
199 knownRockspec = "rockspec/ljsyscall-scm-1.rockspec";
200 # actually library works fine with lua 5.2
202 sed -i 's/lua == 5.1/lua >= 5.1, < 5.3/' ${knownRockspec}
204 meta.broken = luaOlder "5.1" || luaAtLeast "5.3";
206 propagatedBuildInputs = oa.propagatedBuildInputs ++ lib.optional (!isLuaJIT) final.luaffi;
209 lgi = prev.lgi.overrideAttrs (oa: {
210 nativeBuildInputs = oa.nativeBuildInputs ++ [
215 gobject-introspection
219 name = "lgi-find-cairo-through-typelib.patch";
220 url = "https://github.com/psychon/lgi/commit/46a163d9925e7877faf8a4f73996a20d7cf9202a.patch";
221 sha256 = "0gfvvbri9kyzhvq3bvdbj2l6mwvlz040dk4mrd5m9gz79f7w109c";
225 # https://github.com/lgi-devs/lgi/pull/300
227 substituteInPlace lgi/Makefile tests/Makefile \
228 --replace 'PKG_CONFIG =' 'PKG_CONFIG ?='
231 # there is only a rockspec.in in the repo, the actual rockspec must be generated
236 # Lua 5.4 support is experimental at the moment, see
237 # https://github.com/lgi-devs/lgi/pull/249
238 meta.broken = luaOlder "5.1" || luaAtLeast "5.4";
241 llscheck = prev.llscheck.overrideAttrs (oa: {
242 propagatedBuildInputs = oa.propagatedBuildInputs ++ [ lua-language-server ];
245 lmathx = prev.luaLib.overrideLuarocks prev.lmathx (drv:
246 if luaAtLeast "5.1" && luaOlder "5.2" then {
247 version = "20120430.51-1";
248 knownRockspec = (fetchurl {
249 url = "mirror://luarocks/lmathx-20120430.51-1.rockspec";
250 sha256 = "148vbv2g3z5si2db7rqg5bdily7m4sjyh9w6r3jnx3csvfaxyhp0";
253 url = "https://web.tecgraf.puc-rio.br/~lhf/ftp/lua/5.1/lmathx.tar.gz";
254 sha256 = "0sa553d0zlxhvpsmr4r7d841f16yq4wr3fg7i07ibxkz6yzxax51";
257 if luaAtLeast "5.2" && luaOlder "5.3" then {
258 version = "20120430.52-1";
259 knownRockspec = (fetchurl {
260 url = "mirror://luarocks/lmathx-20120430.52-1.rockspec";
261 sha256 = "14rd625sipakm72wg6xqsbbglaxyjba9nsajsfyvhg0sz8qjgdya";
264 url = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/5.2/lmathx.tar.gz";
265 sha256 = "19dwa4z266l2njgi6fbq9rak4rmx2fsx1s0p9sl166ar3mnrdwz5";
269 disabled = luaOlder "5.1" || luaAtLeast "5.5";
270 # works fine with 5.4 as well
272 substituteInPlace ''${rockspecFilename} \
273 --replace 'lua ~> 5.3' 'lua >= 5.3, < 5.5'
277 lmpfrlib = prev.lmpfrlib.overrideAttrs (oa: {
279 { name = "GMP"; dep = gmp; }
280 { name = "MPFR"; dep = mpfr; }
283 cp $src $(stripHash $src)
287 lrexlib-gnu = prev.lrexlib-gnu.overrideAttrs (oa: {
288 buildInputs = oa.buildInputs ++ [
293 lrexlib-pcre = prev.lrexlib-pcre.overrideAttrs (oa: {
295 { name = "PCRE"; dep = pcre; }
299 lrexlib-posix = prev.lrexlib-posix.overrideAttrs (oa: {
300 buildInputs = oa.buildInputs ++ [
305 luacheck = prev.luacheck.overrideAttrs (oa: {
307 mainProgram = "luacheck";
311 lua-curl = prev.lua-curl.overrideAttrs (oa: {
312 buildInputs = oa.buildInputs ++ [
317 lua-iconv = prev.lua-iconv.overrideAttrs (oa: {
318 buildInputs = oa.buildInputs ++ [
323 lua-lsp = prev.lua-lsp.overrideAttrs (oa: {
324 # until Alloyed/lua-lsp#28
326 substituteInPlace ''${rockspecFilename} \
327 --replace '"dkjson ~> 2.5",' '"dkjson >= 2.5",'
331 lua-resty-jwt = prev.lua-resty-jwt.overrideAttrs(oa: {
332 src = fetchFromGitHub {
334 repo = "lua-resty-jwt";
336 hash = "sha256-5lnr0ka6ijfujiRjqwCPb6jzItXx45FIN8CvhR/KiB8=";
337 fetchSubmodules = true;
341 lua-zlib = prev.lua-zlib.overrideAttrs (oa: {
342 buildInputs = oa.buildInputs ++ [
345 meta = oa.meta // { broken = luaOlder "5.1" || luaAtLeast "5.4"; };
348 luadbi-mysql = prev.luadbi-mysql.overrideAttrs (oa: {
350 luarocksConfig = lib.recursiveUpdate oa.luarocksConfig {
352 MYSQL_INCDIR = "${lib.getDev libmysqlclient}/include/";
353 MYSQL_LIBDIR = "${lib.getLib libmysqlclient}/lib/";
356 buildInputs = oa.buildInputs ++ [
362 luadbi-postgresql = prev.luadbi-postgresql.overrideAttrs (oa: {
363 buildInputs = oa.buildInputs ++ [
364 (lib.getDev postgresql)
368 luadbi-sqlite3 = prev.luadbi-sqlite3.overrideAttrs (oa: {
370 { name = "SQLITE"; dep = sqlite; }
374 luaevent = prev.luaevent.overrideAttrs (oa: {
375 propagatedBuildInputs = oa.propagatedBuildInputs ++ [
379 { name = "EVENT"; dep = libevent; }
381 meta.broken = luaOlder "5.1" || luaAtLeast "5.4";
384 luaexpat = prev.luaexpat.overrideAttrs (_: {
386 { name = "EXPAT"; dep = expat; }
390 # TODO Somehow automatically amend buildInputs for things that need luaffi
391 # but are in luajitPackages?
392 luaffi = prev.luaffi.overrideAttrs (oa: {
393 # The packaged .src.rock version is pretty old, and doesn't work with Lua 5.3
394 src = fetchFromGitHub {
397 rev = "532c757e51c86f546a85730b71c9fef15ffa633d";
398 sha256 = "1nwx6sh56zfq99rcs7sph0296jf6a9z72mxknn0ysw9fd7m1r8ig";
400 knownRockspec = with prev.luaffi; "${pname}-${version}.rockspec";
401 meta.broken = luaOlder "5.1" || luaAtLeast "5.4" || isLuaJIT;
404 lualdap = prev.lualdap.overrideAttrs (_: {
406 { name = "LDAP"; dep = openldap; }
410 luaossl = prev.luaossl.overrideAttrs (_: {
412 { name = "CRYPTO"; dep = openssl; }
413 { name = "OPENSSL"; dep = openssl; }
417 luaposix = prev.luaposix.overrideAttrs (_: {
419 { name = "CRYPT"; dep = libxcrypt; }
423 luaprompt = prev.luaprompt.overrideAttrs (oa: {
425 { name = "READLINE"; dep = readline; }
426 { name = "HISTORY"; dep = readline; }
429 nativeBuildInputs = oa.nativeBuildInputs ++ [ installShellFiles ];
432 installManPage luap.1
436 # As a nix user, use this derivation instead of "luarocks_bootstrap"
437 luarocks = prev.luarocks.overrideAttrs (oa: {
439 nativeBuildInputs = oa.nativeBuildInputs ++ [ installShellFiles lua unzip ];
440 # cmake is just to compile packages with "cmake" buildType, not luarocks itself
441 dontUseCmakeConfigure = true;
443 propagatedBuildInputs = [ zip unzip cmake ];
445 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
446 installShellCompletion --cmd luarocks \
447 --bash <($out/bin/luarocks completion bash) \
448 --fish <($out/bin/luarocks completion fish) \
449 --zsh <($out/bin/luarocks completion zsh)
451 installShellCompletion --cmd luarocks-admin \
452 --bash <($out/bin/luarocks-admin completion bash) \
453 --fish <($out/bin/luarocks-admin completion fish) \
454 --zsh <($out/bin/luarocks-admin completion zsh)
458 mainProgram = "luarocks";
463 luasec = prev.luasec.overrideAttrs (oa: {
465 { name = "OPENSSL"; dep = openssl; }
469 luasql-sqlite3 = prev.luasql-sqlite3.overrideAttrs (oa: {
471 { name = "SQLITE"; dep = sqlite; }
475 luasystem = prev.luasystem.overrideAttrs (oa: lib.optionalAttrs stdenv.hostPlatform.isLinux {
476 buildInputs = [ glibc.out ];
479 luazip = prev.luazip.overrideAttrs (oa: {
480 buildInputs = oa.buildInputs ++ [
485 # lua-resty-session = prev.lua-resty-session.overrideAttrs (oa: {
486 # # lua_pack and lua-ffi-zlib are unpackaged, causing this package to not evaluate
487 # meta.broken = true;
490 lua-yajl = prev.lua-yajl.overrideAttrs (oa: {
491 buildInputs = oa.buildInputs ++ [
496 luaunbound = prev.luaunbound.overrideAttrs (oa: {
498 { name = "libunbound"; dep = unbound; }
502 lua-subprocess = prev.lua-subprocess.overrideAttrs (oa: {
503 meta.broken = luaOlder "5.1" || luaAtLeast "5.4";
506 lua-rtoml = prev.lua-rtoml.overrideAttrs (oa: {
508 cargoDeps = rustPlatform.fetchCargoTarball {
510 hash = "sha256-EcP4eYsuOVeEol+kMqzsVHd8F2KoBdLzf6K0KsYToUY=";
513 propagatedBuildInputs = oa.propagatedBuildInputs ++ [ cargo rustPlatform.cargoSetupHook ];
515 # ld: symbol(s) not found for architecture arm64
516 # clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
517 meta.broken = stdenv.hostPlatform.isDarwin;
520 lush-nvim = prev.lush-nvim.overrideAttrs (drv: {
524 luuid = prev.luuid.overrideAttrs (oa: {
526 { name = "LIBUUID"; dep = libuuid; }
528 # Trivial patch to make it work in both 5.1 and 5.2. Basically just the
529 # tiny diff between the two upstream versions placed behind an #if.
531 # 5.1: http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/5.1/luuid.tar.gz
532 # 5.2: http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/5.2/luuid.tar.gz
533 patchFlags = [ "-p2" ];
538 sed -Ei ''${rockspecFilename} -e 's|lua >= 5.2|lua >= 5.1,|'
541 broken = luaOlder "5.1" || (luaAtLeast "5.4");
542 platforms = lib.platforms.linux;
546 lz-n = prev.lz-n.overrideAttrs(oa: {
547 doCheck = lua.luaversion == "5.1";
548 nativeCheckInputs = [ final.nlua final.busted ];
551 export HOME=$(mktemp -d)
557 lze = prev.lze.overrideAttrs(oa: {
558 doCheck = lua.luaversion == "5.1";
559 nativeCheckInputs = [ final.nlua final.busted ];
562 export HOME=$(mktemp -d)
568 neotest = prev.neotest.overrideAttrs(oa: {
569 doCheck = stdenv.hostPlatform.isLinux;
570 nativeCheckInputs = oa.nativeCheckInputs ++ [
571 final.nlua final.busted neovim-unwrapped
574 # stick to neovim's lua version else loading shared libraries fail
575 meta = oa.meta // { broken = !isLua51; };
579 export HOME=$(mktemp -d)
580 export LUA_PATH="./lua/?.lua;./lua/?/init.lua;$LUA_PATH"
581 nvim --headless -i NONE \
582 --cmd "set rtp+=${vimPlugins.plenary-nvim}" \
583 -c "PlenaryBustedDirectory tests/ {sequential = true}"
589 haskell-tools-nvim = prev.haskell-tools-nvim.overrideAttrs(oa: {
590 doCheck = lua.luaversion == "5.1";
591 nativeCheckInputs = [ final.nlua final.busted ];
594 export HOME=$(mktemp -d)
600 neorg = prev.neorg.overrideAttrs (oa: {
602 substituteInPlace ''${rockspecFilename} \
603 --replace-fail "'nvim-nio ~> 1.7'," "'nvim-nio >= 1.7'," \
604 --replace-fail "'plenary.nvim == 0.1.4'," "'plenary.nvim',"
608 plenary-nvim = prev.plenary-nvim.overrideAttrs (oa: {
610 sed -Ei lua/plenary/curl.lua \
611 -e 's@(command\s*=\s*")curl(")@\1${curl}/bin/curl\2@'
614 # disabled for now because too flaky
626 # remove failing tests, need internet access for instance
627 rm tests/plenary/job_spec.lua tests/plenary/scandir_spec.lua tests/plenary/curl_spec.lua
628 export HOME="$TMPDIR"
634 # as advised in https://github.com/luarocks/luarocks/issues/1402#issuecomment-1080616570
635 # we shouldn't use luarocks machinery to build complex cmake components
636 libluv = stdenv.mkDerivation {
639 inherit (prev.luv) version meta src;
642 "-DBUILD_SHARED_LIBS=ON"
644 "-DWITH_SHARED_LIBUV=ON"
645 "-DLUA_BUILD_TYPE=System"
646 "-DWITH_LUA_ENGINE=${if isLuaJIT then "LuaJit" else "Lua"}"
649 # to make sure we dont use bundled deps
651 rm -rf deps/lua deps/libuv
654 buildInputs = [ libuv final.lua ];
656 nativeBuildInputs = [ pkg-config cmake ]
657 ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ];
660 luv = prev.luv.overrideAttrs (oa: {
662 nativeBuildInputs = oa.nativeBuildInputs ++ [ pkg-config ];
663 buildInputs = [ libuv ];
665 # Use system libuv instead of building local and statically linking
666 luarocksConfig = lib.recursiveUpdate oa.luarocksConfig {
667 variables = { WITH_SHARED_LIBUV = "ON"; };
670 # we unset the LUA_PATH since the hook erases the interpreter defaults (To fix)
671 # tests is not run since they are not part of the tarball anymore
674 rm tests/test-{dns,thread}.lua
678 lyaml = prev.lyaml.overrideAttrs (oa: {
684 magick = prev.magick.overrideAttrs (oa: {
685 buildInputs = oa.buildInputs ++ [
689 # Fix MagickWand not being found in the pkg-config search path
695 substituteInPlace magick/wand/lib.lua \
696 --replace @nix_wand@ ${imagemagick}/lib/libMagickWand-7.Q16HDRI${stdenv.hostPlatform.extensions.sharedLibrary}
700 meta.broken = !isLuaJIT;
703 mpack = prev.mpack.overrideAttrs (drv: {
704 buildInputs = (drv.buildInputs or []) ++ [ libmpack ];
706 # the rockspec doesn't use the makefile so you may need to export more flags
707 USE_SYSTEM_LUA = "yes";
708 USE_SYSTEM_MPACK = "yes";
712 nlua = prev.nlua.overrideAttrs(oa: {
714 # patchShebang removes the nvim in nlua's shebang so we hardcode one
716 sed -i -e "1 s|.*|#\!${coreutils}/bin/env -S ${neovim-unwrapped}/bin/nvim -l|" "$out/bin/nlua"
718 dontPatchShebangs = true;
721 psl = prev.psl.overrideAttrs (drv: {
722 buildInputs = drv.buildInputs or [ ] ++ [ libpsl ];
724 luarocksConfig.variables = drv.luarocksConfig.variables // {
725 PSL_INCDIR = lib.getDev libpsl + "/include";
726 PSL_DIR = lib.getLib libpsl;
730 rapidjson = prev.rapidjson.overrideAttrs (oa: {
732 sed -i '/set(CMAKE_CXX_FLAGS/d' CMakeLists.txt
733 sed -i '/set(CMAKE_C_FLAGS/d' CMakeLists.txt
737 # upstream broken, can't be generated, so moved out from the generated set
738 readline = final.callPackage({ buildLuarocksPackage, fetchurl, luaAtLeast, luaOlder, lua, luaposix }:
739 buildLuarocksPackage ({
742 knownRockspec = (fetchurl {
743 url = "mirror://luarocks/readline-3.2-0.rockspec";
744 sha256 = "1r0sgisxm4xd1r6i053iibxh30j7j3rcj4wwkd8rzkj8nln20z24";
747 # the rockspec url doesn't work because 'www.' is not covered by the certificate so
748 # I manually removed the 'www' prefix here
749 url = "http://pjb.com.au/comp/lua/readline-3.2.tar.gz";
750 sha256 = "1mk9algpsvyqwhnq7jlw4cgmfzj30l7n2r6ak4qxgdxgc39f48k4";
753 luarocksConfig.variables = rec {
754 READLINE_INCDIR = "${readline.dev}/include";
755 HISTORY_INCDIR = READLINE_INCDIR;
762 propagatedBuildInputs = [
768 homepage = "http://pjb.com.au/comp/lua/readline.html";
769 description = "Interface to the readline library";
770 license.fullName = "MIT/X11";
771 broken = (luaOlder "5.1") || (luaAtLeast "5.5");
775 rtp-nvim = prev.rtp-nvim.overrideAttrs(oa: {
776 doCheck = lua.luaversion == "5.1";
777 nativeCheckInputs = [ final.nlua final.busted ];
780 export HOME=$(mktemp -d)
786 rustaceanvim = prev.rustaceanvim.overrideAttrs(oa: {
787 doCheck = lua.luaversion == "5.1";
788 nativeCheckInputs = [ final.nlua final.busted ];
791 export HOME=$(mktemp -d)
797 sqlite = prev.sqlite.overrideAttrs (drv: {
798 doCheck = stdenv.hostPlatform.isLinux;
799 nativeCheckInputs = [ final.plenary-nvim neovim-unwrapped ];
801 # the plugin loads the library from either the LIBSQLITE env
802 # or the vim.g.sqlite_clib_path variable.
804 substituteInPlace lua/sqlite/defs.lua \
805 --replace-fail "path = vim.g.sqlite_clib_path" 'path = vim.g.sqlite_clib_path or "${sqlite.out}/lib/libsqlite3${stdenv.hostPlatform.extensions.sharedLibrary}"'
808 # we override 'luarocks test' because otherwise neovim doesn't find/load the plenary plugin
810 export HOME="$TMPDIR";
812 nvim --headless -i NONE \
813 -u test/minimal_init.vim --cmd "set rtp+=${vimPlugins.plenary-nvim}" \
814 -c "PlenaryBustedDirectory test/auto/ { sequential = true, minimal_init = './test/minimal_init.vim' }"
819 std-_debug = prev.std-_debug.overrideAttrs (oa: {
820 # run make to generate lib/std/_debug/version.lua
826 std-normalize = prev.std-normalize.overrideAttrs (oa: {
827 # run make to generate lib/std/_debug/version.lua
833 tiktoken_core = prev.tiktoken_core.overrideAttrs (oa: {
834 cargoDeps = rustPlatform.fetchCargoTarball {
836 hash = "sha256-pKqG8aiV8BvvDO6RE6J3HEA/S4E4QunbO4WBpV5jUYk=";
838 nativeBuildInputs = oa.nativeBuildInputs ++ [ cargo rustPlatform.cargoSetupHook ];
841 toml-edit = prev.toml-edit.overrideAttrs (oa: {
843 cargoDeps = rustPlatform.fetchCargoTarball {
845 hash = "sha256-lguGj8fDqztrvqvEYVcJLmiuxPDaCpXU8aztInKjF+E=";
848 NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin
849 (if lua.pkgs.isLuaJIT then "-lluajit-${lua.luaversion}" else "-llua");
851 nativeBuildInputs = oa.nativeBuildInputs ++ [
853 rustPlatform.cargoSetupHook
854 lua.pkgs.luarocks-build-rust-mlua
859 tree-sitter-norg = prev.tree-sitter-norg.overrideAttrs (oa: {
860 propagatedBuildInputs = let
861 # HACK: luarocks-nix puts rockspec build dependencies in the nativeBuildInputs,
862 # but that doesn't seem to work
863 lua = lib.head oa.propagatedBuildInputs;
864 in oa.propagatedBuildInputs ++ [
865 lua.pkgs.luarocks-build-treesitter-parser-cpp
869 tl = prev.tl.overrideAttrs ({
875 vstruct = prev.vstruct.overrideAttrs (_: {
876 meta.broken = (luaOlder "5.1" || luaAtLeast "5.4");
879 vusted = prev.vusted.overrideAttrs (_: {
881 cat ''${rockspecFilename}
882 substituteInPlace ''${rockspecFilename} \
883 --replace-fail '"luasystem = 0.2.1",' "'luasystem >= 0.2',"
886 # make sure vusted_entry.vim doesn't get wrapped
888 chmod -x $out/bin/vusted_entry.vim
894 cjson = prev.lua-cjson;