diff --git a/pkgs/tools/audio/beets/alternatives-plugin.nix b/pkgs/tools/audio/beets/alternatives-plugin.nix new file mode 100644 index 00000000000..1b0c9b3992b --- /dev/null +++ b/pkgs/tools/audio/beets/alternatives-plugin.nix @@ -0,0 +1,25 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub, pythonPackages }: + +buildPythonPackage rec { + name = "beets-alternatives-${version}"; + version = "0.8.2"; + + src = fetchFromGitHub { + repo = "beets-alternatives"; + owner = "geigerzaehler"; + rev = "v${version}"; + sha256 = "10za6h59pxa13y8i4amqhc6392csml0dl771lssv6b6a98kamsy7"; + }; + + postPatch = '' + sed -i -e '/install_requires/,/\]/{/beets/d}' setup.py + ''; + + propagatedBuildInputs = with pythonPackages; [ futures ]; + + meta = { + description = "Beets plugin to manage external files"; + homepage = "https://github.com/geigerzaehler/beets-alternatives"; + license = stdenv.lib.licenses.mit; + }; +} diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix index 7a678148944..35a69262acd 100644 --- a/pkgs/tools/audio/beets/default.nix +++ b/pkgs/tools/audio/beets/default.nix @@ -12,6 +12,9 @@ , enableThumbnails ? true , enableWeb ? true +# External plugins +, enableAlternatives ? false + , bashInteractive, bashCompletion }: @@ -91,7 +94,10 @@ in buildPythonPackage rec { ++ optional enableLastfm pythonPackages.pylast ++ optional enableMpd pythonPackages.mpd ++ optional enableThumbnails pythonPackages.pyxdg - ++ optional enableWeb pythonPackages.flask; + ++ optional enableWeb pythonPackages.flask + ++ optional enableAlternatives (import ./alternatives-plugin.nix { + inherit stdenv buildPythonPackage pythonPackages fetchFromGitHub; + }); buildInputs = with pythonPackages; [ beautifulsoup4