nixpkgs/pkgs/applications/audio/sndpeek/default.nix
Emily fbda1dbfd6 treewide: replace freeglut with libglut
Allow the macOS GLUT framework to be used automatically in many
cases. Packages that specifically search for freeglut or require its
additional APIs should still explicitly depend on it.

Deliberately skip the Haskell package set, which is mostly
automatically generated, and mupdf, which has its own fork of freeglut.
2024-06-22 18:06:51 +01:00

58 lines
1.7 KiB
Nix

{ lib, stdenv, fetchurl, libsndfile, libglut, alsa-lib, mesa, libGLU, libX11, libXmu
, libXext, libXi }:
stdenv.mkDerivation rec {
pname = "sndpeek";
version = "1.4";
src = fetchurl {
url = "https://soundlab.cs.princeton.edu/software/sndpeek/files/sndpeek-${version}.tgz";
sha256 = "2d86cf74854fa00dcdc05a35dd92bc4cf6115e87102b17023be5cba9ead8eedf";
};
sourceRoot = "sndpeek-${version}/src/sndpeek";
# this patch adds -lpthread to the list of libraries, without it a
# symbol-not-found-error is thrown
patches = [ ./pthread.patch ];
buildInputs = [
libglut
alsa-lib
mesa
libGLU
libsndfile
libX11
libXmu
libXext
libXi
];
buildFlags = [ "linux-alsa" ];
installPhase = ''
mkdir -p $out/bin
mv sndpeek $out/bin
'';
meta = with lib; {
description = "Real-time 3D animated audio display/playback";
longDescription = ''
sndpeek is just what it sounds (and looks) like:
* real-time 3D animated display/playback
* can use mic-input or wav/aiff/snd/raw/mat file (with playback)
* time-domain waveform
* FFT magnitude spectrum
* 3D waterfall plot
* lissajous! (interchannel correlation)
* rotatable and scalable display
* freeze frame! (for didactic purposes)
* real-time spectral feature extraction (centroid, rms, flux, rolloff)
* available on MacOS X, Linux, and Windows under GPL
* part of the sndtools distribution.
'';
homepage = "https://soundlab.cs.princeton.edu/software/sndpeek/";
license = licenses.gpl2;
maintainers = [ maintainers.laikq ];
mainProgram = "sndpeek";
};
}