nixos/uptime-kuma: Add additional lockdown settings to systemd unit (#361452)
[NixPkgs.git] / pkgs / by-name / pa / paulstretch / package.nix
blobc539521f11679d84548f42f3b6eca33a28cbc3b1
1 { lib, stdenv, fetchFromGitHub, fetchpatch
2 , audiofile, libvorbis, fltk, fftw, fftwFloat
3 , minixml, pkg-config, libmad, libjack2, portaudio, libsamplerate
4 }:
6 stdenv.mkDerivation {
7   pname = "paulstretch";
8   version = "2.2-2";
10   src = fetchFromGitHub {
11     owner = "paulnasca";
12     repo = "paulstretch_cpp";
13     rev = "7f5c3993abe420661ea0b808304b0e2b4b0048c5";
14     sha256 = "06dy03dbz1yznhsn0xvsnkpc5drzwrgxbxdx0hfpsjn2xcg0jrnc";
15   };
17   nativeBuildInputs = [ pkg-config ];
19   buildInputs = [
20     audiofile
21     libvorbis
22     fltk
23     fftw
24     fftwFloat
25     minixml
26     libmad
27     libjack2
28     portaudio
29     libsamplerate
30   ];
32   patches = [
33     # https://github.com/paulnasca/paulstretch_cpp/pull/12
34     (fetchpatch {
35       url = "https://github.com/paulnasca/paulstretch_cpp/commit/d8671b36135fe66839b11eadcacb474cc8dae0d1.patch";
36       sha256 = "0lx1rfrs53afkiz1drp456asqgj5yv6hx3lkc01165cv1jsbw6q4";
37     })
38   ];
40   buildPhase = ''
41     bash compile_linux_fftw_jack.sh
42   '';
44   installPhase = ''
45     install -Dm555 ./paulstretch $out/bin/paulstretch
46   '';
48   meta = with lib; {
49     description = "Produces high quality extreme sound stretching";
50     longDescription = ''
51       This is a program for stretching the audio. It is suitable only for
52       extreme sound stretching of the audio (like 50x) and for applying
53       special effects by "spectral smoothing" the sounds.
54       It can transform any sound/music to a texture.
55     '';
56     homepage = "https://hypermammut.sourceforge.net/paulstretch/";
57     platforms = platforms.linux;
58     license = licenses.gpl2;
59     mainProgram = "paulstretch";
60   };