Unverified Commit 9a3e70e3 authored by Wolfgang Walther's avatar Wolfgang Walther Committed by GitHub
Browse files

python313Packages.nixpkgs-plugin-update: init from maintainer script (#453943)

parents 0518fb88 00c40f10
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@

with pkgs;
let
  pyEnv = python3.withPackages (ps: [ ps.gitpython ]);
  pyEnv = python3.withPackages (ps: [ ps.nixpkgs-plugin-update ]);
in

mkShell {
+5 −8
Original line number Diff line number Diff line
@@ -13,12 +13,9 @@ import os
import sys
from pathlib import Path

# Import plugin update library from maintainers/scripts/pluginupdate.py
import nixpkgs_plugin_update

ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))))  # type: ignore
sys.path.insert(
    0, os.path.join(ROOT.parent.parent.parent.parent.parent, "maintainers", "scripts")
)
import pluginupdate

GET_PLUGINS = f"""with import <localpkgs> {{ }};
let
@@ -53,10 +50,10 @@ lib.mapAttrs parse generated"""
HEADER = "# This file has been @generated by ./pkgs/applications/editors/kakoune/plugins/update.py. Do not edit!"


class KakouneEditor(pluginupdate.Editor):
class KakouneEditor(nixpkgs_plugin_update.Editor):
    def generate_nix(
        self,
        plugins: list[tuple[pluginupdate.PluginDesc, pluginupdate.Plugin]],
        plugins: list[tuple[nixpkgs_plugin_update.PluginDesc, nixpkgs_plugin_update.Plugin]],
        outfile: str,
    ):
        with open(outfile, "w+") as f:
@@ -88,7 +85,7 @@ in lib.fix' (lib.extends overrides packages)
        print(f"updated {outfile}")

    def update(self, args):
        pluginupdate.update_plugins(self, args)
        nixpkgs_plugin_update.update_plugins(self, args)


def main():
+8 −9
Original line number Diff line number Diff line
@@ -27,12 +27,11 @@ from typing import List, Tuple

log = logging.getLogger("vim-updater")

# Import plugin update library from maintainers/scripts/pluginupdate.py
ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))))
import importlib

import pluginupdate
from pluginupdate import PluginDesc, run_nix_expr
import nixpkgs_plugin_update
from nixpkgs_plugin_update import PluginDesc, run_nix_expr

treesitter = importlib.import_module("nvim-treesitter.update")

@@ -44,15 +43,15 @@ HEADER = (
NIXPKGS_NVIMTREESITTER_FOLDER = "pkgs/applications/editors/vim/plugins/nvim-treesitter"


class VimEditor(pluginupdate.Editor):
class VimEditor(nixpkgs_plugin_update.Editor):
    nvim_treesitter_updated = False

    def generate_nix(
        self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str
        self, plugins: List[Tuple[PluginDesc, nixpkgs_plugin_update.Plugin]], outfile: str
    ):
        log.info("Generating nix code")
        log.debug("Loading nvim-treesitter revision from nix...")
        nvim_treesitter_rev = pluginupdate.run_nix_expr(
        nvim_treesitter_rev = nixpkgs_plugin_update.run_nix_expr(
            "(import <localpkgs> { }).vimPlugins.nvim-treesitter.src.rev",
            self.nixpkgs,
            timeout=10,
@@ -64,7 +63,7 @@ class VimEditor(pluginupdate.Editor):
        log.debug("Loading list of lua plugins...")
        luaPlugins = run_nix_expr(GET_PLUGINS_LUA, self.nixpkgs, timeout=30)

        def _isNeovimPlugin(plug: pluginupdate.Plugin) -> bool:
        def _isNeovimPlugin(plug: nixpkgs_plugin_update.Plugin) -> bool:
            """
            Whether it's a neovim-only plugin
            We can check if it's available in lua packages
@@ -103,7 +102,7 @@ class VimEditor(pluginupdate.Editor):
        print(f"updated {outfile}")

    def plugin2nix(
        self, pdesc: PluginDesc, plugin: pluginupdate.Plugin, isNeovim: bool
        self, pdesc: PluginDesc, plugin: nixpkgs_plugin_update.Plugin, isNeovim: bool
    ) -> str:
        if isNeovim:
            raise RuntimeError(f"Plugin {plugin.name} is already packaged in `luaPackages`, please use that")
@@ -129,7 +128,7 @@ class VimEditor(pluginupdate.Editor):
        return content

    def update(self, args):
        pluginupdate.update_plugins(self, args)
        nixpkgs_plugin_update.update_plugins(self, args)

        # TODO this should probably be skipped when running outside a nixpkgs checkout
        if self.nvim_treesitter_updated:
+3 −3
Original line number Diff line number Diff line
@@ -24,8 +24,8 @@ buildPythonApplication {
  ];

  pythonPath = [
    python3Packages.gitpython
    python3Packages.requests
    python3Packages.nixpkgs-plugin-update
  ];

  dontUnpack = true;
@@ -43,12 +43,12 @@ buildPythonApplication {
        neovim-unwrapped
        nurl
      ]
    }" --prefix PYTHONPATH : "${./.}:${../../../../../../maintainers/scripts/pluginupdate-py}" )
    }" --prefix PYTHONPATH : "${./.}" )
    wrapPythonPrograms
  '';

  shellHook = ''
    export PYTHONPATH=pkgs/applications/editors/vim/plugins:maintainers/scripts/pluginupdate-py:$PYTHONPATH
    export PYTHONPATH=pkgs/applications/editors/vim/plugins:$PYTHONPATH
  '';

  passthru.updateScript = writeShellScript "updateScript" ''
+1 −5
Original line number Diff line number Diff line
@@ -5,7 +5,6 @@
  lib,
  nix-prefetch-scripts,
  luarocks-nix,
  pluginupdate,
  lua5_1,
  lua5_2,
  lua5_3,
@@ -41,18 +40,15 @@ python3Packages.buildPythonApplication {
  ];

  dependencies = [
    python3Packages.gitpython
    python3Packages.nixpkgs-plugin-update
  ];

  postFixup = ''
    echo "pluginupdate folder ${pluginupdate}"
    wrapProgram $out/bin/luarocks-packages-updater \
     --prefix PYTHONPATH : "${pluginupdate}" \
     --prefix PATH : "${path}"
  '';

  shellHook = ''
    export PYTHONPATH="maintainers/scripts/pluginupdate-py:$PYTHONPATH"
    export PATH="${path}:$PATH"
  '';

Loading