{ lib, buildPythonPackage, rustPlatform, fetchFromGitHub, pythonOlder, pytestCheckHook, pkgs, }: buildPythonPackage rec { pname = "yara-x"; version = "1.5.0"; pyproject = true; disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "VirusTotal"; repo = "yara-x"; tag = "v${version}"; hash = "sha256-YZmhwHA6PnQb3QXhbWK8cbV0CScbiD5k+HceDcV6iCI="; }; buildAndTestSubdir = "py"; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname src version; hash = "sha256-8LofNTLa3a2dDH72T54HJR/+qArXt+X6OMJIQwmjQIQ="; }; nativeBuildInputs = [ rustPlatform.cargoSetupHook rustPlatform.maturinBuildHook ]; buildInputs = [ pkgs.yara-x ]; pythonImportsCheck = [ "yara_x" ]; nativeCheckInputs = [ pytestCheckHook ]; meta = { description = "Official Python library for YARA-X"; homepage = "https://github.com/VirusTotal/yara-x/tree/main/py"; changelog = "https://github.com/VirusTotal/yara-x/tree/v${version}/py"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ ivyfanchiang ]; }; }