about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/audio/espeak/default.nix
blob: 4693995883d913ef4cf157da047cea4f0bb1bacc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{ lib, stdenv, fetchurl, unzip, portaudio }:

stdenv.mkDerivation rec {
  pname = "espeak";
  version = "1.48.04";

  src = fetchurl {
    url = "mirror://sourceforge/espeak/espeak-${version}-source.zip";
    sha256 = "0n86gwh9pw0jqqpdz7mxggllfr8k0r7pc67ayy7w5z6z79kig6mz";
  };

  nativeBuildInputs = [ unzip ];
  buildInputs = [ portaudio ];

  patches = [
    ./gcc6.patch
  ];

  prePatch = ''
    sed -e s,/bin/ln,ln,g -i src/Makefile
    sed -e 's,^CXXFLAGS=-O2,CXXFLAGS=-O2 -D PATH_ESPEAK_DATA=\\\"$(DATADIR)\\\",' -i src/Makefile
  '' + (lib.optionalString (portaudio.api_version == 19) ''
    cp src/portaudio19.h src/portaudio.h
  '');

  configurePhase = ''
    cd src
    makeFlags="PREFIX=$out DATADIR=$out/share/espeak-data"
  '';

  meta = with lib; {
    description = "Compact open source software speech synthesizer";
    mainProgram = "espeak";
    homepage = "https://espeak.sourceforge.net/";
    license = licenses.gpl3Plus;
    platforms = platforms.linux;
  };
}