Merge staging-next into staging
This commit is contained in:
commit
47ced4f28d
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -5,13 +5,13 @@
|
|||
.idea/
|
||||
.vscode/
|
||||
outputs/
|
||||
result
|
||||
result-*
|
||||
source/
|
||||
/doc/NEWS.html
|
||||
/doc/NEWS.txt
|
||||
/doc/manual.html
|
||||
/doc/manual.pdf
|
||||
/result
|
||||
/source/
|
||||
.version-suffix
|
||||
|
||||
.DS_Store
|
||||
|
|
|
@ -12709,6 +12709,12 @@
|
|||
githubId = 139251;
|
||||
name = "Tom Hunger";
|
||||
};
|
||||
tejasag = {
|
||||
name = "Tejas Agarwal";
|
||||
email = "tejasagarwalbly@gmail.com";
|
||||
github = "tejasag";
|
||||
githubId = 67542663;
|
||||
};
|
||||
telotortium = {
|
||||
email = "rirelan@gmail.com";
|
||||
github = "telotortium";
|
||||
|
|
35
pkgs/applications/editors/neovim/build-neovim-plugin.nix
Normal file
35
pkgs/applications/editors/neovim/build-neovim-plugin.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, buildVimPluginFrom2Nix
|
||||
, buildLuarocksPackage
|
||||
, lua51Packages
|
||||
, toVimPlugin
|
||||
}:
|
||||
let
|
||||
# sanitizeDerivationName
|
||||
normalizeName = lib.replaceStrings [ "." ] [ "-" ];
|
||||
in
|
||||
|
||||
# function to create vim plugin from lua packages that are already packaged in
|
||||
# luaPackages
|
||||
{
|
||||
# the lua attribute name that matches this vim plugin. Both should be equal
|
||||
# in the majority of cases but we make it possible to have different attribute names
|
||||
luaAttr ? (normalizeName attrs.pname)
|
||||
, ...
|
||||
}@attrs:
|
||||
let
|
||||
originalLuaDrv = lua51Packages.${luaAttr};
|
||||
luaDrv = lua51Packages.lib.overrideLuarocks originalLuaDrv (drv: {
|
||||
extraConfig = ''
|
||||
-- to create a flat hierarchy
|
||||
lua_modules_path = "lua"
|
||||
'';
|
||||
});
|
||||
finalDrv = toVimPlugin (luaDrv.overrideAttrs(oa: {
|
||||
nativeBuildInputs = oa.nativeBuildInputs or [] ++ [
|
||||
lua51Packages.luarocksMoveDataFolder
|
||||
];
|
||||
}));
|
||||
in
|
||||
finalDrv
|
|
@ -1,4 +1,6 @@
|
|||
{ lib
|
||||
, buildLuarocksPackage
|
||||
, callPackage
|
||||
, vimUtils
|
||||
, nodejs
|
||||
, neovim-unwrapped
|
||||
|
@ -184,4 +186,9 @@ in
|
|||
{
|
||||
inherit makeNeovimConfig;
|
||||
inherit legacyWrapper;
|
||||
|
||||
buildNeovimPluginFrom2Nix = callPackage ./build-neovim-plugin.nix {
|
||||
inherit (vimUtils) buildVimPluginFrom2Nix toVimPlugin;
|
||||
inherit buildLuarocksPackage;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
, vimCommandCheckHook
|
||||
, vimGenDocHook
|
||||
, neovimRequireCheckHook
|
||||
, toVimPlugin
|
||||
}:
|
||||
|
||||
rec {
|
||||
|
@ -23,11 +24,6 @@ rec {
|
|||
let drv = stdenv.mkDerivation (attrs // {
|
||||
name = namePrefix + name;
|
||||
|
||||
# dont move the doc folder since vim expects it
|
||||
forceShare= [ "man" "info" ];
|
||||
|
||||
nativeBuildInputs = attrs.nativeBuildInputs or []
|
||||
++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ vimCommandCheckHook vimGenDocHook ];
|
||||
inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
|
||||
|
||||
installPhase = ''
|
||||
|
@ -40,9 +36,9 @@ rec {
|
|||
runHook postInstall
|
||||
'';
|
||||
});
|
||||
in drv.overrideAttrs(oa: {
|
||||
in toVimPlugin(drv.overrideAttrs(oa: {
|
||||
rtp = "${drv}";
|
||||
});
|
||||
}));
|
||||
|
||||
buildVimPluginFrom2Nix = attrs: buildVimPlugin ({
|
||||
# vim plugins may override this
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# TODO check that no license information gets lost
|
||||
{ callPackage, config, lib, vimUtils, vim, darwin, llvmPackages, luaPackages }:
|
||||
{ callPackage, config, lib, vimUtils, vim, darwin, llvmPackages
|
||||
, neovimUtils
|
||||
, luaPackages
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
|
@ -8,24 +11,11 @@ let
|
|||
|
||||
inherit (lib) extends;
|
||||
|
||||
initialPackages = self: {
|
||||
# Convert derivation to a vim plugin.
|
||||
toVimPlugin = drv:
|
||||
drv.overrideAttrs(oldAttrs: {
|
||||
|
||||
nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [
|
||||
vimGenDocHook
|
||||
vimCommandCheckHook
|
||||
];
|
||||
passthru = (oldAttrs.passthru or {}) // {
|
||||
vimPlugin = true;
|
||||
};
|
||||
});
|
||||
};
|
||||
initialPackages = self: { };
|
||||
|
||||
plugins = callPackage ./generated.nix {
|
||||
inherit buildVimPluginFrom2Nix;
|
||||
inherit (vimUtils) buildNeovimPluginFrom2Nix;
|
||||
inherit (neovimUtils) buildNeovimPluginFrom2Nix;
|
||||
};
|
||||
|
||||
# TL;DR
|
||||
|
|
|
@ -2527,7 +2527,7 @@ final: prev:
|
|||
meta.homepage = "https://github.com/nvim-lua/diagnostic-nvim/";
|
||||
};
|
||||
|
||||
diffview-nvim = buildNeovimPluginFrom2Nix {
|
||||
diffview-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "diffview.nvim";
|
||||
version = "2022-06-09";
|
||||
src = fetchFromGitHub {
|
||||
|
@ -3154,7 +3154,7 @@ final: prev:
|
|||
meta.homepage = "https://github.com/ruifm/gitlinker.nvim/";
|
||||
};
|
||||
|
||||
gitsigns-nvim = buildNeovimPluginFrom2Nix {
|
||||
gitsigns-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "gitsigns.nvim";
|
||||
version = "2022-05-26";
|
||||
src = fetchFromGitHub {
|
||||
|
@ -4282,7 +4282,7 @@ final: prev:
|
|||
meta.homepage = "https://github.com/iamcco/markdown-preview.nvim/";
|
||||
};
|
||||
|
||||
marks-nvim = buildNeovimPluginFrom2Nix {
|
||||
marks-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "marks.nvim";
|
||||
version = "2022-05-13";
|
||||
src = fetchFromGitHub {
|
||||
|
@ -5110,7 +5110,7 @@ final: prev:
|
|||
meta.homepage = "https://github.com/RRethy/nvim-base16/";
|
||||
};
|
||||
|
||||
nvim-biscuits = buildNeovimPluginFrom2Nix {
|
||||
nvim-biscuits = buildVimPluginFrom2Nix {
|
||||
pname = "nvim-biscuits";
|
||||
version = "2022-05-31";
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -205,9 +205,6 @@ let
|
|||
ln -sf ${plugin}/${rtpPath} $out/pack/${packageName}/${dir}/${lib.getName plugin}
|
||||
'';
|
||||
|
||||
link = pluginPath: if hasLuaModule pluginPath
|
||||
then linkLuaPlugin pluginPath
|
||||
else linkVimlPlugin pluginPath;
|
||||
|
||||
packageLinks = packageName: {start ? [], opt ? []}:
|
||||
let
|
||||
|
@ -225,9 +222,9 @@ let
|
|||
[ "mkdir -p $out/pack/${packageName}/start" ]
|
||||
# To avoid confusion, even dependencies of optional plugins are added
|
||||
# to `start` (except if they are explicitly listed as optional plugins).
|
||||
++ (builtins.map (x: link x packageName "start") allPlugins)
|
||||
++ (builtins.map (x: linkVimlPlugin x packageName "start") allPlugins)
|
||||
++ ["mkdir -p $out/pack/${packageName}/opt"]
|
||||
++ (builtins.map (x: link x packageName "opt") opt)
|
||||
++ (builtins.map (x: linkVimlPlugin x packageName "opt") opt)
|
||||
# Assemble all python3 dependencies into a single `site-packages` to avoid doing recursive dependency collection
|
||||
# for each plugin.
|
||||
# This directory is only for python import search path, and will not slow down the startup time.
|
||||
|
@ -290,14 +287,14 @@ let
|
|||
/* vim-plug is an extremely popular vim plugin manager.
|
||||
*/
|
||||
plugImpl =
|
||||
(''
|
||||
''
|
||||
source ${vimPlugins.vim-plug.rtp}/plug.vim
|
||||
silent! call plug#begin('/dev/null')
|
||||
|
||||
'' + (lib.concatMapStringsSep "\n" (pkg: "Plug '${pkg.rtp}'") plug.plugins) + ''
|
||||
|
||||
call plug#end()
|
||||
'');
|
||||
'';
|
||||
|
||||
/*
|
||||
vim-addon-manager = VAM
|
||||
|
@ -533,16 +530,11 @@ rec {
|
|||
} ./neovim-require-check-hook.sh) {};
|
||||
|
||||
inherit (import ./build-vim-plugin.nix {
|
||||
inherit lib stdenv rtpPath vim vimGenDocHook vimCommandCheckHook neovimRequireCheckHook;
|
||||
inherit lib stdenv rtpPath vim vimGenDocHook
|
||||
toVimPlugin vimCommandCheckHook neovimRequireCheckHook;
|
||||
}) buildVimPlugin buildVimPluginFrom2Nix;
|
||||
|
||||
|
||||
# TODO placeholder to ease working on automatic plugin detection
|
||||
# this should be a luarocks "flat" install with appropriate vim hooks
|
||||
buildNeovimPluginFrom2Nix = attrs: let drv = (buildVimPluginFrom2Nix attrs); in drv.overrideAttrs(oa: {
|
||||
nativeBuildInputs = oa.nativeBuildInputs ++ [ neovimRequireCheckHook ];
|
||||
});
|
||||
|
||||
# used to figure out which python dependencies etc. neovim needs
|
||||
requiredPlugins = {
|
||||
packages ? {},
|
||||
|
@ -566,4 +558,21 @@ rec {
|
|||
nativePlugins = lib.concatMap ({start?[], opt?[], knownPlugins?vimPlugins}: start++opt) nativePluginsConfigs;
|
||||
in
|
||||
nativePlugins ++ nonNativePlugins;
|
||||
|
||||
toVimPlugin = drv:
|
||||
drv.overrideAttrs(oldAttrs: {
|
||||
# dont move the "doc" folder since vim expects it
|
||||
forceShare = [ "man" "info" ];
|
||||
|
||||
nativeBuildInputs = oldAttrs.nativeBuildInputs or []
|
||||
++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
|
||||
vimCommandCheckHook vimGenDocHook
|
||||
# many neovim plugins keep using buildVimPlugin
|
||||
neovimRequireCheckHook
|
||||
];
|
||||
|
||||
passthru = (oldAttrs.passthru or {}) // {
|
||||
vimPlugin = true;
|
||||
};
|
||||
});
|
||||
}
|
||||
|
|
|
@ -29,4 +29,12 @@ in {
|
|||
name = "luarocks-check-hook";
|
||||
deps = [ luarocks ];
|
||||
} ./luarocks-check-hook.sh) {};
|
||||
|
||||
# luarocks installs data in a non-overridable location. Until a proper luarocks patch,
|
||||
# we move the files around ourselves
|
||||
luarocksMoveDataFolder = callPackage ({ }:
|
||||
makeSetupHook {
|
||||
name = "luarocks-move-rock";
|
||||
deps = [ ];
|
||||
} ./luarocks-move-data.sh) {};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
# luarocks installs data in a non-overridable location. Until a proper luarocks patch,
|
||||
# we move the files around ourselves
|
||||
echo "Sourcing luarocks-move-data-hook.sh"
|
||||
|
||||
luarocksMoveDataHook () {
|
||||
echo "Executing luarocksMoveDataHook"
|
||||
if [ -d "$out/$rocksSubdir" ]; then
|
||||
cp -rfv "$out/$rocksSubdir/$pname/$version/." "$out"
|
||||
fi
|
||||
|
||||
echo "Finished executing luarocksMoveDataHook"
|
||||
}
|
||||
|
||||
echo "Using luarocksMoveDataHook"
|
||||
preDistPhases+=" luarocksMoveDataHook"
|
25
pkgs/development/interpreters/oak/default.nix
Normal file
25
pkgs/development/interpreters/oak/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "oak";
|
||||
version = "0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "thesephist";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-00UanINtrFyjQWiAw1ucB4eEODMr9+wT+99Zy2Oc1j4=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-iQtb3zNa57nB6x4InVPw7FCmW7XPw5yuz0OcfASXPD8=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Expressive, simple, dynamic programming language";
|
||||
homepage = "https://oaklang.org/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ tejasag ];
|
||||
};
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildDunePackage rec {
|
||||
pname = "ppx_yojson_conv_lib";
|
||||
version = "0.14.0";
|
||||
version = "0.15.0";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
|
@ -12,7 +12,7 @@ buildDunePackage rec {
|
|||
owner = "janestreet";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "12s3xshayy1f8cp9lk6zqwnw60n7cdap55gkksz5w65gdd8bfxmf";
|
||||
sha256 = "sha256-Hpg4AKAe7Q5P5UkBpH+5l1nZbIVA2Dr1Q30D4zkrjGo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ yojson ];
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiomusiccast";
|
||||
version = "0.14.3";
|
||||
version = "0.14.4";
|
||||
|
||||
format = "pyproject";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -16,8 +16,8 @@ buildPythonPackage rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "vigonotion";
|
||||
repo = "aiomusiccast";
|
||||
rev = version;
|
||||
hash = "sha256-ELdNxeU9dajWr4VeOyuvNrSi7B+ImVJM/BlZsw3tcKE=";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-vSf4Fcioz+ZrXCaFQQbHzhz7vOknCOEFJXduXJlO/wE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyspark";
|
||||
version = "3.2.1";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-C4E1kmLsbprHjDUzROfeAmAn0UDG3vlJ/w2Aq3D4mlQ=";
|
||||
sha256 = "sha256-fr6OlQVke00STVqC/KYN/TiRAhz4rWxeyId37uzpLPc=";
|
||||
};
|
||||
|
||||
# pypandoc is broken with pandoc2, so we just lose docs.
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "weconnect-mqtt";
|
||||
version = "0.34.0";
|
||||
version = "0.35.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -18,8 +18,8 @@ buildPythonPackage rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "tillsteinbach";
|
||||
repo = "WeConnect-mqtt";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Gj+hXgGkOqKnZ4W2iZ9P6JN3lYMoREMSF/wfGwLL/tc=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-3WFD99ujaQzJrsKCc9i0zwNEzRjgkGCwUXSip+6/158=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nixos-shell";
|
||||
version = "0.2.2";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Mic92";
|
||||
repo = "nixos-shell";
|
||||
rev = version;
|
||||
sha256 = "sha256-a3NJJv7MscAXhIdr07gEAQDYX0Qgb6ax5E8zSdCIgE8=";
|
||||
sha256 = "sha256-whHBBcthLhEIy2VTaioRZOSZoZR7pk4Qr4DVxwU0r9Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -14486,6 +14486,8 @@ with pkgs;
|
|||
|
||||
ngn-k = callPackage ../development/interpreters/ngn-k { };
|
||||
|
||||
oak = callPackage ../development/interpreters/oak { };
|
||||
|
||||
obb = callPackage ../development/interpreters/clojure/obb.nix { };
|
||||
|
||||
octave = callPackage ../development/interpreters/octave {
|
||||
|
@ -30484,7 +30486,9 @@ with pkgs;
|
|||
lua = luajit;
|
||||
};
|
||||
|
||||
neovimUtils = callPackage ../applications/editors/neovim/utils.nix { };
|
||||
neovimUtils = callPackage ../applications/editors/neovim/utils.nix {
|
||||
inherit (lua51Packages) buildLuarocksPackage;
|
||||
};
|
||||
neovim = wrapNeovim neovim-unwrapped { };
|
||||
|
||||
neovim-qt-unwrapped = libsForQt5.callPackage ../applications/editors/neovim/neovim-qt.nix { };
|
||||
|
|
|
@ -50,7 +50,7 @@ in
|
|||
getLuaCPath = drv: getPath drv luaLib.luaCPathList;
|
||||
|
||||
inherit (callPackage ../development/interpreters/lua-5/hooks { inherit (args) lib;})
|
||||
luarocksCheckHook lua-setup-hook;
|
||||
luarocksMoveDataFolder luarocksCheckHook lua-setup-hook;
|
||||
|
||||
inherit lua callPackage;
|
||||
inherit buildLuaPackage buildLuarocksPackage buildLuaApplication;
|
||||
|
|
Loading…
Reference in a new issue