diff --git a/pkgs/tools/audio/audiowaveform/default.nix b/pkgs/tools/audio/audiowaveform/default.nix new file mode 100644 index 000000000000..9d674dcfe436 --- /dev/null +++ b/pkgs/tools/audio/audiowaveform/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, cmake, gtest, boost, gd, libsndfile, libmad, libid3tag }: + +stdenv.mkDerivation rec { + pname = "audiowaveform"; + version = "1.4.2"; + + src = fetchFromGitHub { + owner = "bbc"; + repo = "audiowaveform"; + rev = version; + sha256 = "0k2s2f2hgq4pnjzfkgvjwgsflihmzdq7shicfjn0z2mzw4d1bvp2"; + }; + + nativeBuildInputs = [ cmake gtest ]; + + buildInputs = [ boost gd libsndfile libmad libid3tag ]; + + preConfigure = '' + ln -s ${gtest.src}/googletest googletest + ln -s ${gtest.src}/googlemock googlemock + ''; + + # One test is failing, see PR #101947 + doCheck = false; + + meta = with stdenv.lib; { + description = "C++ program to generate waveform data and render waveform images from audio files"; + longDescription = '' + audiowaveform is a C++ command-line application that generates waveform data from either MP3, WAV, FLAC, or Ogg Vorbis format audio files. + Waveform data can be used to produce a visual rendering of the audio, similar in appearance to audio editing applications. + ''; + homepage = "https://github.com/bbc/audiowaveform"; + changelog = "https://github.com/bbc/audiowaveform/blob/${version}/ChangeLog"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = with maintainers; [ edbentley ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1a81c1fcf146..9272a34f6e0c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -794,6 +794,8 @@ in inherit (darwin.apple_sdk.frameworks) Cocoa; }; + audiowaveform = callPackage ../tools/audio/audiowaveform { }; + autoflake = callPackage ../development/tools/analysis/autoflake { }; autospotting = callPackage ../applications/misc/autospotting { };