From 0ef73ffdbdcde491f5c665f279361d2d32be8b71 Mon Sep 17 00:00:00 2001 From: Philipp Volguine Date: Wed, 13 Mar 2019 12:24:34 -0400 Subject: [PATCH] paulstretch: init at version 2.2-2 This is a neat little program for extreme sound stretching and it was not in the repo yet. (cherry picked from commit e0c3c2ed520af23827847e6466b05de46145c63d) cc #57589 #58191 --- .../audio/paulstretch/default.nix | 63 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/applications/audio/paulstretch/default.nix diff --git a/pkgs/applications/audio/paulstretch/default.nix b/pkgs/applications/audio/paulstretch/default.nix new file mode 100644 index 000000000000..ccfc6fdfc4a4 --- /dev/null +++ b/pkgs/applications/audio/paulstretch/default.nix @@ -0,0 +1,63 @@ +{ stdenv +, fetchFromGitHub +, audiofile +, libvorbis +, fltk +, fftw +, fftwFloat +, minixml +, pkgconfig +, libmad +, libjack2 +, portaudio +, libsamplerate +}: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "paulstretch"; + version = "2.2-2"; + + meta = with stdenv.lib; + { description = "Produces high quality extreme sound stretching"; + longDescription = '' + This is a program for stretching the audio. It is suitable only for + extreme sound stretching of the audio (like 50x) and for applying + special effects by "spectral smoothing" the sounds. + It can transform any sound/music to a texture. + ''; + homepage = http://hypermammut.sourceforge.net/paulstretch/; + platforms = platforms.linux; + license = licenses.gpl2; + }; + + src = fetchFromGitHub { + owner = "paulnasca"; + repo = "paulstretch_cpp"; + rev = "7f5c3993abe420661ea0b808304b0e2b4b0048c5"; + sha256 = "06dy03dbz1yznhsn0xvsnkpc5drzwrgxbxdx0hfpsjn2xcg0jrnc"; + }; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ + audiofile + libvorbis + fltk + fftw + fftwFloat + minixml + libmad + libjack2 + portaudio + libsamplerate + ]; + + buildPhase = '' + bash compile_linux_fftw_jack.sh + ''; + + installPhase = '' + install -Dm555 ./paulstretch $out/bin/paulstretch + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8f3b0a6947bb..fc52524088b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4766,6 +4766,8 @@ in parted = callPackage ../tools/misc/parted { }; + paulstretch = callPackage ../applications/audio/paulstretch { }; + pell = callPackage ../applications/misc/pell { }; pepper = callPackage ../tools/admin/salt/pepper { };