Commit 78442dd3 authored by embr's avatar embr
Browse files

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.
parent 7bb2ccd8
Loading
Loading
Loading
Loading
+17 −4
Original line number Diff line number Diff line
@@ -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";