diff options
author | Matthieu Coudron <teto@users.noreply.github.com> | 2021-05-17 01:17:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-17 01:17:22 +0200 |
commit | 9d4a851c679ba493e1e91c467614b53b404e3666 (patch) | |
tree | 77c79729724d5a904c9a2ab1ad8f2da053cde561 | |
parent | 921c3806cc3810b227743d219d7003e1dd227865 (diff) | |
parent | f269c57097d4b2b56556d5393d8248659dc40fc3 (diff) |
Merge pull request #83809 from teto/vimPlugins_rework
vimPlugins: generated.nix as an overlay
-rw-r--r-- | maintainers/scripts/pluginupdate.py | 18 | ||||
-rw-r--r-- | pkgs/misc/vim-plugins/aliases.nix | 11 | ||||
-rw-r--r-- | pkgs/misc/vim-plugins/default.nix | 17 | ||||
-rw-r--r-- | pkgs/misc/vim-plugins/generated.nix | 59 | ||||
-rwxr-xr-x | pkgs/misc/vim-plugins/update.py | 9 |
5 files changed, 69 insertions, 45 deletions
diff --git a/maintainers/scripts/pluginupdate.py b/maintainers/scripts/pluginupdate.py index e7a183952b085..91c5214d15394 100644 --- a/maintainers/scripts/pluginupdate.py +++ b/maintainers/scripts/pluginupdate.py @@ -13,6 +13,7 @@ import http import json import os import subprocess +import logging import sys import time import traceback @@ -34,6 +35,14 @@ ATOM_ENTRY = "{http://www.w3.org/2005/Atom}entry" # " vim gets confused here ATOM_LINK = "{http://www.w3.org/2005/Atom}link" # " ATOM_UPDATED = "{http://www.w3.org/2005/Atom}updated" # " +LOG_LEVELS = { + logging.getLevelName(level): level for level in [ + logging.DEBUG, logging.INFO, logging.WARN, logging.ERROR ] +} + +log = logging.getLogger() +log.addHandler(logging.StreamHandler()) + def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: float = 2): """Retry calling the decorated function using an exponential backoff. @@ -235,6 +244,7 @@ def prefetch_plugin( alias: Optional[str], cache: "Optional[Cache]" = None, ) -> Tuple[Plugin, Dict[str, str]]: + log.info("Prefetching plugin %s", repo_name) repo = Repo(user, repo_name, branch, alias) commit, date = repo.latest_commit() has_submodules = repo.has_submodules() @@ -464,6 +474,11 @@ def parse_args(editor: Editor): "--no-commit", "-n", action="store_true", default=False, help="Whether to autocommit changes" ) + parser.add_argument( + "--debug", "-d", choices=LOG_LEVELS.keys(), + default=logging.getLevelName(logging.WARN), + help="Adjust log level" + ) return parser.parse_args() @@ -503,6 +518,9 @@ def update_plugins(editor: Editor): """The main entry function of this module. All input arguments are grouped in the `Editor`.""" args = parse_args(editor) + log.setLevel(LOG_LEVELS[args.debug]) + + log.info("Start updating plugins") nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True) update = get_update(args.input_file, args.outfile, args.proc, editor) diff --git a/pkgs/misc/vim-plugins/aliases.nix b/pkgs/misc/vim-plugins/aliases.nix index 4cfb6ccd372fe..4e08e5fe05e14 100644 --- a/pkgs/misc/vim-plugins/aliases.nix +++ b/pkgs/misc/vim-plugins/aliases.nix @@ -1,8 +1,7 @@ # Deprecated aliases - for backward compatibility +lib: -lib: overriden: - -with overriden; +final: prev: let # Removing recurseForDerivation prevents derivations of aliased attribute @@ -21,12 +20,12 @@ let # Make sure that we are not shadowing something from # all-packages.nix. - checkInPkgs = n: alias: if builtins.hasAttr n overriden + checkInPkgs = n: alias: if builtins.hasAttr n prev then throw "Alias ${n} is still in vim-plugins" else alias; mapAliases = aliases: - lib.mapAttrs (n: alias: removeDistribute + lib.mapAttrs (n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))) aliases; @@ -36,7 +35,7 @@ let ) (builtins.fromJSON (builtins.readFile ./deprecated.json)); in -mapAliases ({ +mapAliases (with prev; { airline = vim-airline; alternative = a-vim; # backwards compat, added 2014-10-21 bats = bats-vim; diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index e6bca9484a260..00637f6fb00d3 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -5,8 +5,12 @@ let inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix; + inherit (lib) extends; + + initialPackages = self: {}; + plugins = callPackage ./generated.nix { - inherit buildVimPluginFrom2Nix overrides; + inherit buildVimPluginFrom2Nix; }; # TL;DR @@ -21,8 +25,13 @@ let inherit llvmPackages; }; - aliases = lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib plugins); + aliases = if (config.allowAliases or true) then final: prev: {} else (import ./aliases.nix lib); + extensible-self = lib.makeExtensible + (extends aliases + (extends overrides + (extends plugins initialPackages) + ) + ); in - -plugins // aliases + extensible-self diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index d085d989728d9..3f39433ec6840 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -1,7 +1,7 @@ # This file has been generated by ./pkgs/misc/vim-plugins/update.py. Do not edit! -{ lib, buildVimPluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }: -let - packages = ( self: +{ lib, buildVimPluginFrom2Nix, fetchFromGitHub }: + +final: prev: { a-vim = buildVimPluginFrom2Nix { pname = "a-vim"; @@ -1631,12 +1631,12 @@ let ghcid = buildVimPluginFrom2Nix { pname = "ghcid"; - version = "2021-02-14"; + version = "2021-05-16"; src = fetchFromGitHub { owner = "ndmitchell"; repo = "ghcid"; - rev = "abbb157ac9d06fdfba537f97ab96e197b3bb36cb"; - sha256 = "008alqgqbrjh9sqgazqq1kk5hnpikd8afnia5lx9rv8c2am1d2fv"; + rev = "dec6adb151cc5514f8ea99b8568e7a4c94db6318"; + sha256 = "14k0crk6lvj6qp1rpfmldmw5w9axy7336aacpvfsh7d4a93xdjzv"; }; meta.homepage = "https://github.com/ndmitchell/ghcid/"; }; @@ -3132,12 +3132,12 @@ let nnn-vim = buildVimPluginFrom2Nix { pname = "nnn-vim"; - version = "2021-04-27"; + version = "2021-05-16"; src = fetchFromGitHub { owner = "mcchrish"; repo = "nnn.vim"; - rev = "422cd80e35c81a303d16a600f549dc4d319cecf6"; - sha256 = "187q3m0llrwmrqskf14cqy9ndvvj8nfnyrw46f8mdkrslkfs9vf2"; + rev = "a997a8fc9739d1bf1900c66f056e1b11a9f61443"; + sha256 = "1rdcjnfgk1yi2ick7m7xh07daarfjvxgf3w656hzarbqshpamy2a"; }; meta.homepage = "https://github.com/mcchrish/nnn.vim/"; }; @@ -3300,12 +3300,12 @@ let nvim-dap-virtual-text = buildVimPluginFrom2Nix { pname = "nvim-dap-virtual-text"; - version = "2021-04-26"; + version = "2021-05-16"; src = fetchFromGitHub { owner = "theHamsta"; repo = "nvim-dap-virtual-text"; - rev = "96b8e0423609a23cb971edb1d10c757d7930787b"; - sha256 = "0z84xisjj4a0blfy7ds5hlwvvr6yc7nwiqglli1h6lp7abxs5xx0"; + rev = "29a79b7c15e7e15a416bcaa0efddfe67928b7bdd"; + sha256 = "0wl9dl83cx2hlik7yx6kknb7spsaqlzri2kybf3xcna44mqfq688"; }; meta.homepage = "https://github.com/theHamsta/nvim-dap-virtual-text/"; }; @@ -3388,8 +3388,8 @@ let src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "68806113013a5debf382cc069adcf8ff786cefb2"; - sha256 = "1klvvvyd936gh9ax7a91v750k7a2asq8zwk8fbbha57s8kmca252"; + rev = "0699e6c16c37c08418339675d142af0e00ccbeaa"; + sha256 = "0rdqxcrcybvdspl22xzyrvv4rqikhq2liqja0jkf2xavc42j7fxx"; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; }; @@ -3456,12 +3456,12 @@ let nvim-toggleterm-lua = buildVimPluginFrom2Nix { pname = "nvim-toggleterm-lua"; - version = "2021-05-15"; + version = "2021-05-16"; src = fetchFromGitHub { owner = "akinsho"; repo = "nvim-toggleterm.lua"; - rev = "63acbaf2dba462de3501b37efb96f57ec00ed952"; - sha256 = "0pr9qggp3zdzgj6qgfm9fwqjwi54lvdxicmyfzq0xgqsdn1bdsya"; + rev = "46ffb283c490f96b31d699b766471f83da0bc0cf"; + sha256 = "0pimi8hm213n17lkiyz7ib4d804grzv3pzv060nh3qagdvi5rvnx"; }; meta.homepage = "https://github.com/akinsho/nvim-toggleterm.lua/"; }; @@ -3480,12 +3480,12 @@ let nvim-treesitter = buildVimPluginFrom2Nix { pname = "nvim-treesitter"; - version = "2021-05-11"; + version = "2021-05-16"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter"; - rev = "efbb1c66d27eb5b4bfbcc1f59d3384e0641c8214"; - sha256 = "1sfc7890v4lgc7r4a5k922qbnc1lpjp3i8sj1jqqxd4a73x1nsvm"; + rev = "71247a4a658a7678328fa6224ede103dcf1268fc"; + sha256 = "05f90s36nzk13s2rdyrzalwv4psz9pjccw89ihxbik1ndg8iwz18"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; }; @@ -4093,12 +4093,12 @@ let rust-tools-nvim = buildVimPluginFrom2Nix { pname = "rust-tools-nvim"; - version = "2021-05-10"; + version = "2021-05-16"; src = fetchFromGitHub { owner = "simrat39"; repo = "rust-tools.nvim"; - rev = "2de94fc88d6382e5f0b61f1c619c8919fd45aea3"; - sha256 = "14fg0qs1y2xszpdsnp8gcynqj9fx5c47ckbpgr48hv5df8xncasf"; + rev = "6f92ba636c06069592c64f85888b452da7e81cfd"; + sha256 = "1ng259hs6l6q17hc3y2iyd7v9xm6mkfg0jbpwgrbk4pf2clpn2aa"; }; meta.homepage = "https://github.com/simrat39/rust-tools.nvim/"; }; @@ -4683,12 +4683,12 @@ let telescope-nvim = buildVimPluginFrom2Nix { pname = "telescope-nvim"; - version = "2021-05-15"; + version = "2021-05-16"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope.nvim"; - rev = "4da66dab44f37d0de4b88cedf9e114c5b0855c20"; - sha256 = "1xpns9dxik239ipzic2kih4zkb5wwvzgbc8pxd60wgqi2021n7vn"; + rev = "69eb5eacff421e05aeb1e02ff97ef64bfd955c53"; + sha256 = "1yn5hzv57lld6zpxd7cqnjhj3qb5l9ngnnrb9kfp6c6gy137wlj8"; }; meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/"; }; @@ -7871,8 +7871,8 @@ let src = fetchFromGitHub { owner = "thinca"; repo = "vim-quickrun"; - rev = "aea6538c8ddd15e5df368911341f7989ecc49615"; - sha256 = "0pbi884fcnigb7wwr9w0sjs7w6713wsp01d3v7njnph70bfs1mx5"; + rev = "7685488adfbd2950a8ef4ecaedafef8a036f9275"; + sha256 = "1jsdxm2cgd5aqir3g7jbyq17xsslc8a5xmpmlsyci5hprrhnnv2c"; }; meta.homepage = "https://github.com/thinca/vim-quickrun/"; }; @@ -9405,5 +9405,4 @@ let meta.homepage = "https://github.com/troydm/zoomwintab.vim/"; }; -}); -in lib.fix' (lib.extends overrides packages) +} diff --git a/pkgs/misc/vim-plugins/update.py b/pkgs/misc/vim-plugins/update.py index 1180b4572d228..df948cc0e55de 100755 --- a/pkgs/misc/vim-plugins/update.py +++ b/pkgs/misc/vim-plugins/update.py @@ -47,9 +47,9 @@ def generate_nix(plugins: List[Tuple[str, str, pluginupdate.Plugin]], outfile: s f.write(HEADER) f.write( """ -{ lib, buildVimPluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }: -let - packages = ( self: +{ lib, buildVimPluginFrom2Nix, fetchFromGitHub }: + +final: prev: {""" ) for owner, repo, plugin in sorted_plugins: @@ -75,8 +75,7 @@ let ) f.write( """ -}); -in lib.fix' (lib.extends overrides packages) +} """ ) print(f"updated {outfile}") |