1{
2 lib,
3 beets,
4 buildPythonPackage,
5 fetchFromGitHub,
6 httpx,
7 packaging,
8 poetry-core,
9 pycountry,
10 pytest-cov-stub,
11 pytestCheckHook,
12 rich-tables,
13 filelock,
14 writableTmpDirAsHomeHook,
15 nix-update-script,
16}:
17
18let
19 version = "0.22.0";
20in
21buildPythonPackage {
22 pname = "beetcamp";
23 inherit version;
24 pyproject = true;
25
26 src = fetchFromGitHub {
27 owner = "snejus";
28 repo = "beetcamp";
29 tag = version;
30 hash = "sha256-5tcQtvYmXT213mZnzKz2kwE5K22rro++lRF65PjC5X0=";
31 };
32
33 patches = [
34 ./remove-git-pytest-option.diff
35 ];
36
37 build-system = [
38 poetry-core
39 ];
40
41 dependencies = [
42 beets
43 httpx
44 packaging
45 pycountry
46 ];
47
48 nativeCheckInputs = [
49 writableTmpDirAsHomeHook
50 pytestCheckHook
51 pytest-cov-stub
52 rich-tables
53 filelock
54 ];
55
56 disabledTests = [
57 # AssertionError: assert ''
58 "test_get_html"
59 ];
60
61 passthru.updateScript = nix-update-script { };
62
63 meta = {
64 description = "Bandcamp autotagger source for beets (http://beets.io)";
65 homepage = "https://github.com/snejus/beetcamp";
66 license = lib.licenses.gpl2Only;
67 maintainers = [
68 lib.maintainers._9999years
69 ];
70 mainProgram = "beetcamp";
71 };
72}