Files
nixpkgs/pkgs/development/python-modules/beets-filetote/default.nix
T
Doron Behar d871c165c5 beets{,Packages}: rewrite / reform
- Promote all beets packages to 1st class Python packages, defined in
  pkgs/development/python-modules/beets* directories.
- Define top-level beets and beets-minimal using `toPythonApplication`
  instead of using `toPythonModule` for python3Packages.beets attribute.
- Add appropriate top-level aliases, and python-aliases
- Make sure nix-update finds the version and hash strings in the correct
  file (main motivation of this commit).
- Remove the mkPlugin function and simply put its contents inline.
2025-10-27 15:58:11 +02:00

87 lines
1.6 KiB
Nix

{
lib,
fetchFromGitHub,
buildPythonPackage,
# build-system
poetry-core,
# nativeBuildInputs
beets-minimal,
# tests
pytestCheckHook,
beets-audible,
mediafile,
pytest,
reflink,
toml,
typeguard,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "beets-filetote";
version = "1.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "gtronset";
repo = "beets-filetote";
tag = "v${version}";
hash = "sha256-5o0Hif0dNavYRH1pa1ZPTnOvk9VPXCU/Lqpg2rKzU/I=";
};
postPatch = ''
substituteInPlace pyproject.toml --replace-fail "poetry-core<2.0.0" "poetry-core"
'';
build-system = [
poetry-core
];
nativeBuildInputs = [
beets-minimal
];
dependencies = [
mediafile
reflink
toml
typeguard
];
nativeCheckInputs = [
pytestCheckHook
beets-audible
mediafile
reflink
toml
typeguard
writableTmpDirAsHomeHook
];
pytestFlags = [
# This is the same as:
# -r fEs
"-rfEs"
];
disabledTestPaths = [
"tests/test_cli_operation.py"
"tests/test_pruning.py"
"tests/test_version.py"
];
meta = {
description = "Beets plugin to move non-music files during the import process";
homepage = "https://github.com/gtronset/beets-filetote";
changelog = "https://github.com/gtronset/beets-filetote/blob/${src.tag}/CHANGELOG.md";
maintainers = with lib.maintainers; [ dansbandit ];
license = lib.licenses.mit;
inherit (beets-minimal.meta) platforms;
# https://github.com/gtronset/beets-filetote/issues/211
broken = true;
};
}