{ lib, beets, buildPythonPackage, fetchFromGitHub, httpx, packaging, poetry-core, pycountry, pytest-cov-stub, pytestCheckHook, rich-tables, filelock, writableTmpDirAsHomeHook, nix-update-script, beetcamp ? null, # For `passthru.tests`. }: let version = "0.23.0"; in buildPythonPackage { pname = "beetcamp"; inherit version; pyproject = true; src = fetchFromGitHub { owner = "snejus"; repo = "beetcamp"; tag = version; hash = "sha256-8FEDpobEGZ0Lw1+JRoFIEe3AuiuX7dwsRab+P3hC3W0="; }; patches = [ ./remove-git-pytest-option.diff ]; build-system = [ poetry-core ]; dependencies = [ httpx packaging pycountry ]; nativeBuildInputs = [ beets ]; nativeCheckInputs = [ writableTmpDirAsHomeHook pytestCheckHook pytest-cov-stub rich-tables filelock ]; disabledTests = [ # AssertionError: assert '' "test_get_html" ]; passthru = { updateScript = nix-update-script { }; tests = { beets-with-beetcamp = beets.override { pluginOverrides = { beetcamp = { enable = true; propagatedBuildInputs = [ beetcamp ]; }; }; }; }; }; meta = { description = "Bandcamp autotagger source for beets (http://beets.io)"; homepage = "https://github.com/snejus/beetcamp"; license = lib.licenses.gpl2Only; maintainers = [ lib.maintainers._9999years ]; mainProgram = "beetcamp"; }; }