1{
2 lib,
3 stdenv,
4 fetchurl,
5 unzip,
6 portaudio,
7}:
8
9stdenv.mkDerivation rec {
10 pname = "espeak";
11 version = "1.48.04";
12
13 src = fetchurl {
14 url = "mirror://sourceforge/espeak/espeak-${version}-source.zip";
15 sha256 = "0n86gwh9pw0jqqpdz7mxggllfr8k0r7pc67ayy7w5z6z79kig6mz";
16 };
17
18 nativeBuildInputs = [ unzip ];
19 buildInputs = [ portaudio ];
20
21 patches = [
22 ./gcc6.patch
23 ];
24
25 prePatch = ''
26 sed -e s,/bin/ln,ln,g -i src/Makefile
27 sed -e 's,^CXXFLAGS=-O2,CXXFLAGS=-O2 -D PATH_ESPEAK_DATA=\\\"$(DATADIR)\\\",' -i src/Makefile
28 ''
29 + (lib.optionalString (portaudio.api_version == 19) ''
30 cp src/portaudio19.h src/portaudio.h
31 '');
32
33 configurePhase = ''
34 cd src
35 makeFlags="PREFIX=$out DATADIR=$out/share/espeak-data"
36 '';
37
38 meta = with lib; {
39 description = "Compact open source software speech synthesizer";
40 mainProgram = "espeak";
41 homepage = "https://espeak.sourceforge.net/";
42 license = licenses.gpl3Plus;
43 platforms = platforms.linux;
44 };
45}