From 231170aa16b03d8f26ffe05322cf84f4df400e25 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Thu, 16 Apr 2026 08:13:05 -0500 Subject: [PATCH] nixpkgs-plugin-update: use nix-prefetch-github --- .../editors/vim/plugins/utils/updater.nix | 2 ++ .../src/nixpkgs_plugin_update/__init__.py | 13 +++---------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/utils/updater.nix b/pkgs/applications/editors/vim/plugins/utils/updater.nix index 82cbb7a923ba..2ed61a25c83a 100644 --- a/pkgs/applications/editors/vim/plugins/utils/updater.nix +++ b/pkgs/applications/editors/vim/plugins/utils/updater.nix @@ -3,6 +3,7 @@ buildPythonApplication, makeWrapper, nix, + nix-prefetch-github, nix-prefetch-git, nurl, python3Packages, @@ -37,6 +38,7 @@ buildPythonApplication { makeWrapperArgs+=( --prefix PATH : "${ lib.makeBinPath [ nix + nix-prefetch-github nix-prefetch-git neovim-unwrapped nurl diff --git a/pkgs/development/python-modules/nixpkgs-plugin-update/nixpkgs-plugin-update/src/nixpkgs_plugin_update/__init__.py b/pkgs/development/python-modules/nixpkgs-plugin-update/nixpkgs-plugin-update/src/nixpkgs_plugin_update/__init__.py index c7988515bf7b..154c0190455f 100644 --- a/pkgs/development/python-modules/nixpkgs-plugin-update/nixpkgs-plugin-update/src/nixpkgs_plugin_update/__init__.py +++ b/pkgs/development/python-modules/nixpkgs-plugin-update/nixpkgs-plugin-update/src/nixpkgs_plugin_update/__init__.py @@ -420,18 +420,11 @@ class RepoGitHub(Repo): return sha256 def prefetch_github(self, ref: str) -> str: - quoted_ref = quote(ref, safe="") - safe_name = re.sub(r"[^A-Za-z0-9._+-]", "-", f"{self.repo}-{ref}.tar.gz") - cmd = [ - "nix-prefetch-url", - "--unpack", - "--name", - safe_name, - self.url(f"archive/{quoted_ref}.tar.gz"), - ] + cmd = ["nix-prefetch-github", self.owner, self.repo, "--rev", ref, "--json"] log.debug("Running %s", cmd) data = subprocess.check_output(cmd) - return data.strip().decode("utf-8") + loaded = json.loads(data) + return loaded["hash"] def as_nix(self, plugin: "Plugin") -> str: if plugin.has_submodules: