From 142418d94118ea7431f9d8ea4116f3be1845adfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20S=C3=A1nchez=20Mu=C3=B1oz?= Date: Sat, 3 Apr 2021 04:40:29 +0200 Subject: [PATCH] acousticbrainz-client: init at 0.1 (#115780) Co-authored-by: Sandro --- .../audio/acousticbrainz-client/default.nix | 41 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/tools/audio/acousticbrainz-client/default.nix diff --git a/pkgs/tools/audio/acousticbrainz-client/default.nix b/pkgs/tools/audio/acousticbrainz-client/default.nix new file mode 100644 index 00000000000..a08710fe121 --- /dev/null +++ b/pkgs/tools/audio/acousticbrainz-client/default.nix @@ -0,0 +1,41 @@ +{ 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; [ eduardosm ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 620b22db4cc..533a133d4ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -670,6 +670,8 @@ in acme-sh = callPackage ../tools/admin/acme.sh { }; + acousticbrainz-client = callPackage ../tools/audio/acousticbrainz-client { }; + acoustidFingerprinter = callPackage ../tools/audio/acoustid-fingerprinter { ffmpeg = ffmpeg_2; };