build(nix): change the pkgs to final, add new version of libvterm (#20410)

This commit is contained in:
Philipp Herzog
2022-09-30 19:25:12 +02:00
committed by GitHub
parent 4396c3ef2c
commit 47e60da721

View File

@@ -8,27 +8,34 @@
outputs = { self, nixpkgs, flake-utils }: outputs = { self, nixpkgs, flake-utils }:
{ {
overlay = final: prev: overlay = final: prev: rec {
let neovim-unwrapped = prev.neovim-unwrapped.override ({
pkgs = nixpkgs.legacyPackages.${prev.system}; libvterm-neovim = prev.libvterm-neovim.overrideAttrs (old: {
in version = "0.3";
rec { src = builtins.fetchTarball {
neovim = pkgs.neovim-unwrapped.overrideAttrs (oa: { url = "https://www.leonerd.org.uk/code/libvterm/libvterm-0.3.tar.gz";
sha256 = "0zg6sn5brwrnqaab883pdj0l2swk5askbbwbdam0zq55ikbrzgar";
};
});
});
neovim = final.neovim-unwrapped.overrideAttrs (oa: {
version = "master"; version = "master";
src = ../.; src = ../.;
buildInputs = oa.buildInputs ++ pkgs.lib.optionals pkgs.stdenv.isDarwin (with pkgs.darwin.apple_sdk.frameworks; [ buildInputs = oa.buildInputs
CoreServices ++ final.lib.optionals final.stdenv.isDarwin
]); (with final.darwin.apple_sdk.frameworks; [ CoreServices ]);
}); });
# a development binary to help debug issues # a development binary to help debug issues
neovim-debug = neovim-debug = let
let stdenv = if final.stdenv.isLinux then
stdenv = if pkgs.stdenv.isLinux then pkgs.llvmPackages_latest.stdenv else pkgs.stdenv; final.llvmPackages_latest.stdenv
in else
((neovim.override { final.stdenv;
lua = pkgs.luajit; in ((neovim.override {
lua = final.luajit;
inherit stdenv; inherit stdenv;
}).overrideAttrs (oa: { }).overrideAttrs (oa: {
@@ -36,33 +43,28 @@
NIX_CFLAGS_COMPILE = " -ggdb -Og"; NIX_CFLAGS_COMPILE = " -ggdb -Og";
cmakeBuildType = "Debug"; cmakeBuildType = "Debug";
cmakeFlags = oa.cmakeFlags ++ [ cmakeFlags = oa.cmakeFlags ++ [ "-DMIN_LOG_LEVEL=0" ];
"-DMIN_LOG_LEVEL=0"
];
disallowedReferences = [ ]; disallowedReferences = [ ];
})); }));
# for neovim developers, beware of the slow binary # for neovim developers, beware of the slow binary
neovim-developer = neovim-developer = let luacheck = final.luaPackages.luacheck;
let in (neovim-debug.override ({
lib = nixpkgs.lib; doCheck = final.stdenv.isLinux;
luacheck = pkgs.luaPackages.luacheck; })).overrideAttrs (oa: {
in
(neovim-debug.override ({ doCheck = pkgs.stdenv.isLinux; })).overrideAttrs (oa: {
cmakeFlags = oa.cmakeFlags ++ [ cmakeFlags = oa.cmakeFlags ++ [
"-DLUACHECK_PRG=${luacheck}/bin/luacheck" "-DLUACHECK_PRG=${luacheck}/bin/luacheck"
"-DMIN_LOG_LEVEL=0" "-DMIN_LOG_LEVEL=0"
"-DENABLE_LTO=OFF" "-DENABLE_LTO=OFF"
] ++ pkgs.lib.optionals pkgs.stdenv.isLinux [ ] ++ final.lib.optionals final.stdenv.isLinux [
# https://github.com/google/sanitizers/wiki/AddressSanitizerFlags # https://github.com/google/sanitizers/wiki/AddressSanitizerFlags
# https://clang.llvm.org/docs/AddressSanitizer.html#symbolizing-the-reports # https://clang.llvm.org/docs/AddressSanitizer.html#symbolizing-the-reports
"-DCLANG_ASAN_UBSAN=ON" "-DCLANG_ASAN_UBSAN=ON"
]; ];
}); });
}; };
} // } // flake-utils.lib.eachDefaultSystem (system:
flake-utils.lib.eachDefaultSystem (system:
let let
pkgs = import nixpkgs { pkgs = import nixpkgs {
overlays = [ self.overlay ]; overlays = [ self.overlay ];
@@ -75,23 +77,19 @@
ps.msgpack ps.msgpack
ps.flake8 # for 'make pylint' ps.flake8 # for 'make pylint'
]); ]);
in in {
rec {
packages = with pkgs; { packages = with pkgs; {
default = neovim; default = neovim;
inherit neovim neovim-debug neovim-developer; inherit neovim neovim-debug neovim-developer;
}; };
checks = { checks = {
pylint = pkgs.runCommandNoCC "pylint" pylint = pkgs.runCommand "pylint" {
{
nativeBuildInputs = [ pythonEnv ]; nativeBuildInputs = [ pythonEnv ];
preferLocalBuild = true; preferLocalBuild = true;
} "make -C ${./..} pylint > $out"; } "make -C ${./..} pylint > $out";
shlint = pkgs.runCommandNoCC "shlint" shlint = pkgs.runCommand "shlint" {
{
nativeBuildInputs = [ pkgs.shellcheck ]; nativeBuildInputs = [ pkgs.shellcheck ];
preferLocalBuild = true; preferLocalBuild = true;
} "make -C ${./..} shlint > $out"; } "make -C ${./..} shlint > $out";
@@ -103,7 +101,8 @@
devShells = { devShells = {
default = pkgs.neovim-developer.overrideAttrs (oa: { default = pkgs.neovim-developer.overrideAttrs (oa: {
buildInputs = with pkgs; oa.buildInputs ++ [ buildInputs = with pkgs;
oa.buildInputs ++ [
cmake cmake
lua.pkgs.luacheck lua.pkgs.luacheck
sumneko-lua-language-server sumneko-lua-language-server