From 78442dd34bce38c617e02136fe946139159dcf09 Mon Sep 17 00:00:00 2001 From: embr Date: Fri, 26 Apr 2024 21:44:49 +0200 Subject: [PATCH] nix-web: 0.2.0 -> 0.3.0 This is a hotfix to be compatible with Nix 2.18, as 2.17 is due to be removed: https://github.com/NixOS/nixpkgs/pull/306575 We're pinning 2.18 rather than 2.22 as it's what current stable NixOS uses. This introduced the very funny problem that my unit tests, for perhaps understandable reasons, have store paths in them. It turns out this makes the fetcher very unhappy. I'll fix this by the next release - for now, have some `nuke-refs` bodgery. --- pkgs/by-name/ni/nix-web/package.nix | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ni/nix-web/package.nix b/pkgs/by-name/ni/nix-web/package.nix index bc79ba376e1e..50ef3aed969e 100644 --- a/pkgs/by-name/ni/nix-web/package.nix +++ b/pkgs/by-name/ni/nix-web/package.nix @@ -5,8 +5,9 @@ , pkg-config , openssl , nixVersions -, nixPackage ? nixVersions.nix_2_17 +, nixPackage ? nixVersions.nix_2_18 , darwin +, nukeReferences }: let @@ -14,16 +15,23 @@ let in rustPlatform.buildRustPackage rec { pname = "nix-web"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "gorgon"; repo = "gorgon"; rev = "nix-web-v${version}"; - hash = "sha256-M/0nlD2jUtvdWJ647QHrp8JcUUVYxiLJlGjnZ+cfpYU="; + hash = "sha256-/tjcin3p+nE9Y7bhTCj7D4lpjKEFGM1bRqKE8T6igJE="; + + # Various unit tests contain /nix/store/* paths. This breaks the fetcher in a very funny way: + # error: illegal path references in fixed-output derivation '/nix/store/52nmkc6v9qhdyzszlvbncndxyrcdfjn3-source.drv' + nativeBuildInputs = [ nukeReferences ]; + postFetch = '' + find $out -name "*.rs" -print0 | xargs -0 nuke-refs + ''; }; - cargoHash = "sha256-6kcpP/CFiy571B98Y96/cdcClH50gdyPLZ28Npva7B4="; + cargoHash = "sha256-5pPn6APz0kdxuBdz9pgqvECTk6KhXnW/YTjxKgiuD9Q="; nativeBuildInputs = [ pkg-config ]; buildInputs = lib.optional (!stdenv.isDarwin) openssl @@ -39,6 +47,11 @@ rustPlatform.buildRustPackage rec { cargoBuildFlags = cargoFlags; cargoTestFlags = cargoFlags; + checkFlags = [ + # Skip tests that rely on store paths nuked by `nuke-refs`. + "--skip=test_env_value_to_html_store_path_subpath" + "--skip=test_env_value_to_html_store_path" + ]; NIX_WEB_BUILD_NIX_CLI_PATH = "${nixPackage}/bin/nix";