nixpkgs/pkgs/tools/audio/beets/alternatives-plugin.nix
aszlig 2e4aded366
beets-alternatives: Fix tests against beets 1.4.6
Since the bump of beets to version 1.4.6 in e5fab33efd
the tests no longer run successfully because beets 1.4.6 introduces a
breaking API change for the Item.move() method which now instead of just
passing copy=True the operation is now passed using a different
"operation" keyword argument.

Unfortunately the original repository of beets-alternatives is
unmaintained since 3 years and thus there is no upstream fix available
at the moment.

However, there is a fork maintained by @wisp3rwind, which addresses this
problem (wisp3rwind/beets-alternatives@33c6525ed4)
and a bunch of other fixes.

The reason why I'm not using the patch from @wisp3rwind is that it
simply doesn't apply against beets-alternatives 0.8.2, but my patch here
essentially does the same.

Signed-off-by: aszlig <aszlig@nix.build>
Upstream issue: geigerzaehler/beets-alternatives#13
Cc: @Profpatsch
2018-01-31 04:39:21 +01:00

33 lines
850 B
Nix

{ stdenv, fetchFromGitHub, beets, pythonPackages }:
pythonPackages.buildPythonApplication rec {
name = "beets-alternatives-${version}";
version = "0.8.2";
src = fetchFromGitHub {
repo = "beets-alternatives";
owner = "geigerzaehler";
rev = "v${version}";
sha256 = "10za6h59pxa13y8i4amqhc6392csml0dl771lssv6b6a98kamsy7";
};
patches = [ ./alternatives-beets-1.4.6.patch ];
postPatch = ''
sed -i -e '/install_requires/,/\]/{/beets/d}' setup.py
sed -i -e '/test_suite/d' setup.py
'';
nativeBuildInputs = [ beets pythonPackages.nose ];
checkPhase = "nosetests";
propagatedBuildInputs = with pythonPackages; [ futures ];
meta = {
description = "Beets plugin to manage external files";
homepage = https://github.com/geigerzaehler/beets-alternatives;
license = stdenv.lib.licenses.mit;
};
}