diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-08-08 16:04:42 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-08-13 06:35:37 +0000 |
commit | 12aaa58dac35800b5b7d77f81cf2a87c21ee55da (patch) | |
tree | be0add9e5c22a85d20b5d78206aa74f956eb2a1b /nixpkgs/pkgs/applications/editors/neovim/default.nix | |
parent | 45892a5591202f75a1c2f1ca7c62a92c7566e3c5 (diff) | |
parent | 5a8e9243812ba528000995b294292d3b5e120947 (diff) | |
download | nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.gz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.bz2 nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.lz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.xz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.zst nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/libraries/mesa/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix Link: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/391
Diffstat (limited to 'nixpkgs/pkgs/applications/editors/neovim/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/editors/neovim/default.nix | 39 |
1 files changed, 28 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/applications/editors/neovim/default.nix b/nixpkgs/pkgs/applications/editors/neovim/default.nix index 9294e7423159..15b9d0ba80b9 100644 --- a/nixpkgs/pkgs/applications/editors/neovim/default.nix +++ b/nixpkgs/pkgs/applications/editors/neovim/default.nix @@ -1,9 +1,10 @@ -{ lib, stdenv, fetchFromGitHub, cmake, gettext, msgpack, libtermkey, libiconv +{ lib, stdenv, fetchFromGitHub, cmake, gettext, msgpack-c, libtermkey, libiconv , libuv, lua, ncurses, pkg-config , unibilium, gperf , libvterm-neovim , tree-sitter , fetchurl +, buildPackages , treesitter-parsers ? import ./treesitter-parsers.nix { inherit fetchurl; } , CoreServices , glibcLocales ? null, procps ? null @@ -15,22 +16,32 @@ }: let - neovimLuaEnv = lua.withPackages(ps: - (with ps; [ lpeg luabitop mpack ] - ++ lib.optionals doCheck [ - nvim-client luv coxpcall busted luafilesystem penlight inspect - ] - )); + requiredLuaPkgs = ps: (with ps; [ + lpeg + luabitop + mpack + ] ++ lib.optionals doCheck [ + nvim-client + luv + coxpcall + busted + luafilesystem + penlight + inspect + ] + ); + neovimLuaEnv = lua.withPackages requiredLuaPkgs; + neovimLuaEnvOnBuild = lua.luaOnBuild.withPackages requiredLuaPkgs; codegenLua = - if lua.pkgs.isLuaJIT + if lua.luaOnBuild.pkgs.isLuaJIT then let deterministicLuajit = - lua.override { + lua.luaOnBuild.override { deterministicStringIds = true; self = deterministicLuajit; }; in deterministicLuajit.withPackages(ps: [ ps.mpack ps.lpeg ]) - else lua; + else lua.luaOnBuild; pyEnv = python3.withPackages(ps: with ps; [ pynvim msgpack ]); in @@ -66,7 +77,7 @@ in # https://github.com/luarocks/luarocks/issues/1402#issuecomment-1080616570 # and it's definition at: pkgs/development/lua-modules/overrides.nix lua.pkgs.libluv - msgpack + msgpack-c ncurses neovimLuaEnv tree-sitter @@ -99,6 +110,11 @@ in # nvim --version output retains compilation flags and references to build tools postPatch = '' substituteInPlace src/nvim/version.c --replace NVIM_VERSION_CFLAGS ""; + '' + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + sed -i runtime/CMakeLists.txt \ + -e "s|\".*/bin/nvim|\${stdenv.hostPlatform.emulator buildPackages} &|g" + sed -i src/nvim/po/CMakeLists.txt \ + -e "s|\$<TARGET_FILE:nvim|\${stdenv.hostPlatform.emulator buildPackages} &|g" ''; # check that the above patching actually works disallowedReferences = [ stdenv.cc ] ++ lib.optional (lua != codegenLua) codegenLua; @@ -117,6 +133,7 @@ in cmakeFlagsArray+=( "-DLUAC_PRG=${codegenLua}/bin/luajit -b -s %s -" "-DLUA_GEN_PRG=${codegenLua}/bin/luajit" + "-DLUA_PRG=${neovimLuaEnvOnBuild}/bin/luajit" ) '' + lib.optionalString stdenv.isDarwin '' substituteInPlace src/nvim/CMakeLists.txt --replace " util" "" |