depot/third_party/nixpkgs/pkgs/development/python-modules/iterfzf/default.nix

63 lines
1.4 KiB
Nix
Raw Normal View History

{
lib,
buildPythonPackage,
fetchFromGitHub,
flit-core,
fzf,
packaging,
pytestCheckHook,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "iterfzf";
version = "1.4.0.54.3";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "dahlia";
repo = "iterfzf";
rev = "refs/tags/${version}";
hash = "sha256-DvEFCHK+1TA/TTXG//hvXXbRclBkelonA3QsB4h7eRM=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'dynamic = ["version"]' 'version = "${version}"' \
--replace-fail 'backend-path = ["."]' '# backend-path = ["."]' \
--replace-fail 'build-backend = "build_dist"' '# build-backend = "build_dist"'
substituteInPlace iterfzf/test_iterfzf.py \
--replace-fail 'executable="fzf"' 'executable="${fzf}/bin/fzf"'
'';
build-system = [
flit-core
setuptools
packaging
];
dependencies = [ fzf ];
nativeCheckInputs = [ pytestCheckHook ];
disabledTests = [
# AttributeError
"test_no_query"
"test_select_one_ambiguous"
];
pythonImportsCheck = [ "iterfzf" ];
meta = with lib; {
description = "Pythonic interface to fzf, a CLI fuzzy finder";
homepage = "https://github.com/dahlia/iterfzf";
changelog = "https://github.com/dahlia/iterfzf/releases/tag/${version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
};
}