Bypassing pythonMetadataCheckPhase

is there a way to bypass new pythonMetadataCheckPhase from current unstable nixpkgs?

im unable to find any documentation about this check and cant figure out how to either disable it, or make my package comply

heres the package definition

{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  cargo,
  rustPlatform,
  rustc,
  packaging,
  pillow,
  cmake,
  nix-update-script,
}:

buildPythonPackage (finalAttrs: {
  pname = "pillow-jpegxl-plugin";
  version = "1.3.8";
  pyproject = true;
  __structuredAttrs = true;

  src = fetchFromGitHub {
    owner = "Isotr0py";
    repo = "pillow-jpegxl-plugin";
    tag = "v${finalAttrs.version}";
    hash = "sha256-S9Im6b8zHeGi5TWpInUngKbjs/QA4bdgp1vc21B33ss=";
  };

  cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; };

  postPatch = ''
    ln -s '${./Cargo.lock}' Cargo.lock
  '';

  build-system = [
    cargo
    rustPlatform.cargoSetupHook
    rustPlatform.maturinBuildHook
    rustc
  ];

  nativeBuildInputs = [ cmake ];

  dontUseCmakeConfigure = true;

  dependencies = [
    packaging
    pillow
  ];

  pythonImportsCheck = [
    "pillow_jxl"
  ];

  passthru.updateScript = nix-update-script { };

  meta = {
    description = "Pillow plugin for JPEG-XL, using Rust for bindings";
    homepage = "https://github.com/Isotr0py/pillow-jpegxl-plugin";
    changelog = "https://github.com/Isotr0py/pillow-jpegxl-plugin/releases/tag/${finalAttrs.src.tag}";
    license = with lib.licenses; [
      gpl3Only
      gpl3Plus
    ];
  };
})
1 Like

PR introducing this:

The library you are trying to package has dynamic = ["version"]

think you should just add

  nativeBuildInputs = [
    python3Packages.pyprojectVersionPatchHook
  ];

to that package.

the pname is off

1 Like

yep, it was the pname… thanks