From c9a8d756d53d415a4ce031a8311225fd098e4f30 Mon Sep 17 00:00:00 2001 From: Tom van Dijk <18gatenmaker6@gmail.com> Date: Wed, 30 Apr 2025 17:08:56 +0200 Subject: [PATCH] ninja: refactor version,src This patch fixes a problem with nix-prefetch (and thus a number of update scripts) where it would throw the following error when run in nixpkgs: ``` error: attribute 'rev' missing at pkgs/by-name/ni/ninja/package.nix:19:34: 18| pname = "ninja"; 19| version = lib.removePrefix "v" finalAttrs.src.rev; | ^ ``` This seems to be caused by an oversight where nix-prefetch overrides fetchFromGitHub in a weird way, where rev is not returned, but so far this is the only package that is triggering this bug. The related issue in nix-prefetch is still unhandled, hence this change. See: msteen/nix-prefetch#54 #403032 --- pkgs/by-name/ni/ninja/package.nix | 35 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/ni/ninja/package.nix b/pkgs/by-name/ni/ninja/package.nix index d776c546f1e4..fe89a9c1e670 100644 --- a/pkgs/by-name/ni/ninja/package.nix +++ b/pkgs/by-name/ni/ninja/package.nix @@ -17,26 +17,25 @@ stdenv.mkDerivation (finalAttrs: { pname = "ninja"; - version = lib.removePrefix "v" finalAttrs.src.rev; - - src = + version = { - # TODO: Remove Ninja 1.11 as soon as possible. - "1.11" = fetchFromGitHub { - owner = "ninja-build"; - repo = "ninja"; - rev = "v1.11.1"; - hash = "sha256-LvV/Fi2ARXBkfyA1paCRmLUwCh/rTyz+tGMg2/qEepI="; - }; - - latest = fetchFromGitHub { - owner = "ninja-build"; - repo = "ninja"; - rev = "v1.12.1"; - hash = "sha256-RT5u+TDvWxG5EVQEYj931EZyrHUSAqK73OKDAascAwA="; - }; + "1.11" = "1.11.1"; + latest = "1.12.1"; } - .${ninjaRelease} or (throw "Unsupported Ninja release: ${ninjaRelease}"); + .${ninjaRelease}; + + src = fetchFromGitHub { + owner = "ninja-build"; + repo = "ninja"; + rev = "v${finalAttrs.version}"; + hash = + { + # TODO: Remove Ninja 1.11 as soon as possible. + "1.11" = "sha256-LvV/Fi2ARXBkfyA1paCRmLUwCh/rTyz+tGMg2/qEepI="; + latest = "sha256-RT5u+TDvWxG5EVQEYj931EZyrHUSAqK73OKDAascAwA="; + } + .${ninjaRelease} or (throw "Unsupported Ninja release: ${ninjaRelease}"); + }; depsBuildBuild = [ buildPackages.stdenv.cc ];