beets: 1.4.9 -> unstable-2020-12-22

The maintainer has stopped cutting releases[1]. Since the last release,
1.4.9, includes a dependency that is filled with hate speech[2] it's all
the more reason to package the unstable version and eliminate that
requirement.

Moreover a number of fixes, improvements, and features have landed
since.

[1]: https://github.com/beetbox/beets/issues/3625
[2]: https://github.com/NixOS/nixpkgs/pull/90504

Co-authored-by: Doron Behar <doron.behar@gmail.com>
This commit is contained in:
Bernardo Meurer
2021-01-03 14:36:53 +02:00
committed by Doron Behar
co-authored by Doron Behar
parent 52a4a170b9
commit 0faf72a557
14 changed files with 233 additions and 207 deletions
@@ -0,0 +1,25 @@
{ stdenv, fetchFromGitHub, beets, pythonPackages }:
pythonPackages.buildPythonApplication rec {
pname = "beets-alternatives";
version = "0.9.0";
src = fetchFromGitHub {
repo = "beets-alternatives";
owner = "geigerzaehler";
# This is 0.8.2 with fixes against Beets 1.4.6 and Python 3 compatibility.
rev = "v${version}";
sha256 = "19160gwg5j6asy8mc21g2kf87mx4zs9x2gbk8q4r6330z4kpl5pm";
};
nativeBuildInputs = [ beets pythonPackages.nose ];
checkPhase = "nosetests";
meta = {
description = "Beets plugin to manage external files";
homepage = "https://github.com/geigerzaehler/beets-alternatives";
maintainers = [ stdenv.lib.maintainers.aszlig ];
license = stdenv.lib.licenses.mit;
};
}
@@ -0,0 +1,17 @@
diff --git a/test/cli_test.py b/test/cli_test.py
index 26df140..2eb913c 100644
--- a/test/cli_test.py
+++ b/test/cli_test.py
@@ -372,12 +372,6 @@ class ToolListTest(TestHelper, TestCase):
self.assertIn('flac', stdout.getvalue())
self.assertIn('oggz-validate', stdout.getvalue())
- def test_found_mp3val(self):
- shutil.copy('/bin/echo', os.path.join(self.temp_dir, 'mp3val'))
- with captureStdout() as stdout:
- beets.ui._raw_main(['check', '--list-tools'])
- self.assertRegexpMatches(stdout.getvalue(), r'mp3val *found')
-
def test_oggz_validate_not_found(self):
with captureStdout() as stdout:
beets.ui._raw_main(['check', '--list-tools'])
+35
View File
@@ -0,0 +1,35 @@
{ stdenv, fetchFromGitHub, beets, pythonPackages, flac, liboggz, mp3val }:
pythonPackages.buildPythonApplication rec {
name = "beets-check";
version = "0.12.0";
src = fetchFromGitHub {
repo = "beets-check";
owner = "geigerzaehler";
rev = "v${version}";
sha256 = "0b2ijjf0gycs6b40sm33ida3sjygjiv4spb5mba52vysc7iwmnjn";
};
nativeBuildInputs = [ beets ];
checkInputs = [ pythonPackages.nose flac liboggz mp3val ];
propagatedBuildInputs = [ flac liboggz mp3val ];
# patch out broken tests
patches = [ ./beet-check-tests.patch ];
# patch out futures dependency, it is only needed for Python2 which we don't
# support.
prePatch = ''
sed -i "/futures/d" setup.py
'';
checkPhase = "nosetests";
meta = with stdenv.lib; {
description = "Beets plugin to Verify and store checksums in your library";
homepage = "https://github.com/geigerzaehler/beets-check";
license = licenses.mit;
maintainers = with maintainers; [ lovesegfault ];
};
}
@@ -0,0 +1,33 @@
{ stdenv, fetchFromGitHub, beets, pythonPackages, glibcLocales }:
pythonPackages.buildPythonApplication {
name = "beets-copyartifacts";
src = fetchFromGitHub {
repo = "beets-copyartifacts";
owner = "sbarakat";
rev = "d0bb75c8fc8fe125e8191d73de7ade6212aec0fd";
sha256 = "19b4lqq1p45n348ssmql60jylw2fw7vfj9j22nly5qj5qx51j3g5";
};
postPatch = ''
sed -i -e '/install_requires/,/\]/{/beets/d}' setup.py
sed -i -e '/namespace_packages/d' setup.py
printf 'from pkgutil import extend_path\n__path__ = extend_path(__path__, __name__)\n' >beetsplug/__init__.py
# Skip test which is already failing upstream.
sed -i -e '1i import unittest' \
-e 's/\(^ *\)# failing/\1@unittest.skip/' \
tests/test_reimport.py
'';
nativeBuildInputs = [ beets pythonPackages.nose glibcLocales ];
checkPhase = "LANG=en_US.UTF-8 nosetests";
meta = {
description = "Beets plugin to move non-music files during the import process";
homepage = "https://github.com/sbarakat/beets-copyartifacts";
license = stdenv.lib.licenses.mit;
};
}
@@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, beets, pythonPackages }:
pythonPackages.buildPythonApplication rec {
pname = "beets-extrafiles";
version = "0.0.7";
src = fetchFromGitHub {
repo = "beets-extrafiles";
owner = "Holzhaus";
rev = "v${version}";
sha256 = "0ah7mgax9zrhvvd5scf2z0v0bhd6xmmv5sdb6av840ixpl6vlvm6";
};
postPatch = ''
sed -i -e '/install_requires/,/\]/{/beets/d}' setup.py
sed -i -e '/namespace_packages/d' setup.py
'';
nativeBuildInputs = [ beets ];
preCheck = ''
HOME=$TEMPDIR
'';
meta = {
homepage = "https://github.com/Holzhaus/beets-extrafiles";
description = "A plugin for beets that copies additional files and directories during the import process";
license = stdenv.lib.licenses.mit;
};
}