diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/audio/acousticbrainz-client/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/audio/acousticbrainz-client/default.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/audio/acousticbrainz-client/default.nix b/nixpkgs/pkgs/tools/audio/acousticbrainz-client/default.nix new file mode 100644 index 000000000000..1d4b59ed2c92 --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/acousticbrainz-client/default.nix @@ -0,0 +1,42 @@ +{ lib, fetchFromGitHub, python3Packages, essentia-extractor }: + +python3Packages.buildPythonApplication rec { + pname = "acousticbrainz-client"; + version = "0.1"; + + src = fetchFromGitHub { + owner = "MTG"; + repo = "acousticbrainz-client"; + rev = version; + sha256 = "1g1nxh58939vysfxplrgdz366dlqnic05pkzbqh75m79brg4yrv1"; + }; + + propagatedBuildInputs = [ essentia-extractor python3Packages.requests ]; + + postPatch = '' + # The installer needs the streaming_extractor_music binary in the source directoy, + # so we provide a symlink to it. + ln -s ${essentia-extractor}/bin/streaming_extractor_music streaming_extractor_music + ''; + + postInstall = '' + # The installer includes a copy of the streaming_extractor_music binary (not a symlink), + # which we don't need, because the wrapper adds essentia-extractor/binary to PATH. + rm $out/bin/streaming_extractor_music + ''; + + # Tests seem to be broken, but the tool works + doCheck = false; + + pythonImportsCheck = [ "abz" ]; + + meta = with lib; { + description = "A client to upload data to an AcousticBrainz server"; + license = licenses.gpl3Plus; + homepage = "https://github.com/MTG/acousticbrainz-client"; + # essentia-extractor is only available for those platforms + platforms = [ "x86_64-linux" "i686-linux" ]; + maintainers = with maintainers; [ ]; + mainProgram = "abzsubmit"; + }; +} |