about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2020-12-11 07:03:57 +0100
committerGitHub <noreply@github.com>2020-12-11 07:03:57 +0100
commitd33fb82b8cf4cd6ac2e7c689db970efc26024975 (patch)
tree2967dea73ee677c73b39f2257e26d00be7cf14e3
parentf0973747548687c33377e5c6832721baf63e9bae (diff)
parent0823dcedc3d70c5e7aff2af13226859d8b02f761 (diff)
Merge pull request #101947 from edbentley/audiowaveform
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/tools/audio/audiowaveform/default.nix38
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 46 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index d73f02fdc8e0f..f894caaeffd36 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -2477,6 +2477,12 @@
     githubId = 984691;
     name = "Evan Danaher";
   };
+  edbentley = {
+    email = "hello@edbentley.dev";
+    github = "edbentley";
+    githubId = 15923595;
+    name = "Ed Bentley";
+  };
   edcragg = {
     email = "ed.cragg@eipi.xyz";
     github = "nuxeh";
diff --git a/pkgs/tools/audio/audiowaveform/default.nix b/pkgs/tools/audio/audiowaveform/default.nix
new file mode 100644
index 0000000000000..9d674dcfe436b
--- /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 ca464aed337ef..7573e22c91e6b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -930,6 +930,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
+  audiowaveform = callPackage ../tools/audio/audiowaveform { };
+
   autoflake = callPackage ../development/tools/analysis/autoflake { };
 
   autospotting = callPackage ../applications/misc/autospotting { };