beetsPackages.filetote: init at 1.0.1

Co-Authored-By: Doron Behar <doron.behar@gmail.com>

authored by dansbandit Doron Behar and committed by Doron Behar 592a9e90 b42b3495

+84
+1
pkgs/tools/audio/beets/default.nix
··· 56 56 alternatives = callPackage ./plugins/alternatives.nix { beets = self.beets-minimal; }; 57 57 audible = callPackage ./plugins/audible.nix { beets = self.beets-minimal; }; 58 58 copyartifacts = callPackage ./plugins/copyartifacts.nix { beets = self.beets-minimal; }; 59 + filetote = callPackage ./plugins/filetote.nix { beets = self.beets-minimal; }; 59 60 } 60 61 // lib.optionalAttrs config.allowAliases { 61 62 extrafiles = throw "extrafiles is unmaintained since 2020 and broken since beets 2.0.0";
+83
pkgs/tools/audio/beets/plugins/filetote.nix
··· 1 + { 2 + lib, 3 + fetchFromGitHub, 4 + python3Packages, 5 + beets, 6 + beetsPackages, 7 + writableTmpDirAsHomeHook, 8 + }: 9 + 10 + python3Packages.buildPythonApplication rec { 11 + pname = "beets-filetote"; 12 + version = "1.0.1"; 13 + pyproject = true; 14 + 15 + src = fetchFromGitHub { 16 + owner = "gtronset"; 17 + repo = "beets-filetote"; 18 + tag = "v${version}"; 19 + hash = "sha256-LTJwZI/kQc+Iv0y8jAi5Xdh4wLEwbTA9hV76ndQsQzU="; 20 + }; 21 + 22 + postPatch = '' 23 + substituteInPlace pyproject.toml --replace-fail "poetry-core<2.0.0" "poetry-core" 24 + ''; 25 + 26 + nativeBuildInputs = [ 27 + beets 28 + ]; 29 + 30 + build-system = [ python3Packages.poetry-core ]; 31 + 32 + dependencies = with python3Packages; [ 33 + mediafile 34 + reflink 35 + toml 36 + typeguard 37 + ]; 38 + 39 + optional-dependencies = { 40 + lint = with python3Packages; [ 41 + black 42 + check-manifest 43 + flake8 44 + flake8-bugbear 45 + flake8-bugbear-pyi 46 + isort 47 + mypy 48 + pylint 49 + typing_extensions 50 + ]; 51 + test = with python3Packages; [ 52 + beetsPackages.audible 53 + mediafile 54 + pytest 55 + reflink 56 + toml 57 + typeguard 58 + ]; 59 + dev = optional-dependencies.lint ++ optional-dependencies.test ++ [ python3Packages.tox ]; 60 + }; 61 + 62 + pytestFlagsArray = [ "-r fEs" ]; 63 + 64 + disabledTestPaths = [ 65 + "tests/test_cli_operation.py" 66 + "tests/test_pruning.py" 67 + "tests/test_version.py" 68 + ]; 69 + 70 + nativeCheckInputs = [ 71 + python3Packages.pytestCheckHook 72 + writableTmpDirAsHomeHook 73 + ] ++ optional-dependencies.test; 74 + 75 + meta = with lib; { 76 + description = "Beets plugin to move non-music files during the import process"; 77 + homepage = "https://github.com/gtronset/beets-filetote"; 78 + changelog = "https://github.com/gtronset/beets-filetote/blob/${src.rev}/CHANGELOG.md"; 79 + maintainers = with maintainers; [ dansbandit ]; 80 + license = licenses.mit; 81 + inherit (beets.meta) platforms; 82 + }; 83 + }