1 { lib, fetchFromGitHub, python3Packages, essentia-extractor }:
3 python3Packages.buildPythonApplication rec {
4 pname = "acousticbrainz-client";
7 src = fetchFromGitHub {
9 repo = "acousticbrainz-client";
11 sha256 = "1g1nxh58939vysfxplrgdz366dlqnic05pkzbqh75m79brg4yrv1";
14 propagatedBuildInputs = [ essentia-extractor python3Packages.requests ];
17 # The installer needs the streaming_extractor_music binary in the source directoy,
18 # so we provide a symlink to it.
19 ln -s ${essentia-extractor}/bin/streaming_extractor_music streaming_extractor_music
23 # The installer includes a copy of the streaming_extractor_music binary (not a symlink),
24 # which we don't need, because the wrapper adds essentia-extractor/binary to PATH.
25 rm $out/bin/streaming_extractor_music
28 # Tests seem to be broken, but the tool works
31 pythonImportsCheck = [ "abz" ];
34 description = "A client to upload data to an AcousticBrainz server";
35 license = licenses.gpl3Plus;
36 homepage = "https://github.com/MTG/acousticbrainz-client";
37 # essentia-extractor is only available for those platforms
38 platforms = [ "x86_64-linux" "i686-linux" ];
39 maintainers = with maintainers; [ ];