diff options
author | Bert Moens <bert.moens@gmail.com> | 2017-12-20 23:52:42 +0100 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2017-12-22 22:40:16 +0100 |
commit | 857a71cbc51017ad660316f860a6fccf1a700c67 (patch) | |
tree | 0c19b937846941aa5eb99ef904c88fdaf8d11c7c /pkgs/development/libraries/speechd | |
parent | e0a356d1c79fa811ec493e3ac408c00c324d75d7 (diff) | |
download | nixpkgs-857a71cbc51017ad660316f860a6fccf1a700c67.tar nixpkgs-857a71cbc51017ad660316f860a6fccf1a700c67.tar.gz nixpkgs-857a71cbc51017ad660316f860a6fccf1a700c67.tar.bz2 nixpkgs-857a71cbc51017ad660316f860a6fccf1a700c67.tar.lz nixpkgs-857a71cbc51017ad660316f860a6fccf1a700c67.tar.xz nixpkgs-857a71cbc51017ad660316f860a6fccf1a700c67.tar.zst nixpkgs-857a71cbc51017ad660316f860a6fccf1a700c67.zip |
speechd: 0.8.5 -> 0.8.8, refactored
Diffstat (limited to 'pkgs/development/libraries/speechd')
-rw-r--r-- | pkgs/development/libraries/speechd/default.nix | 72 |
1 files changed, 57 insertions, 15 deletions
diff --git a/pkgs/development/libraries/speechd/default.nix b/pkgs/development/libraries/speechd/default.nix index ee45c0d1c65..b27fd0843bc 100644 --- a/pkgs/development/libraries/speechd/default.nix +++ b/pkgs/development/libraries/speechd/default.nix @@ -1,29 +1,70 @@ -{ fetchurl, lib, stdenv, intltool, libtool, pkgconfig, glib, dotconf, libsndfile -, libao, python3Packages -, withEspeak ? false, espeak +{ stdenv, pkgconfig, fetchurl, python3Packages +, intltool, itstool, libtool, texinfo, autoreconfHook +, glib, dotconf, libsndfile +, withLibao ? true, libao +, withPulse ? false, libpulseaudio +, withAlsa ? false, alsaLib +, withOss ? false +, withFlite ? true, flite +# , withFestival ? false, festival-freebsoft-utils +, withEspeak ? true, espeak, sonic, pcaudiolib , withPico ? true, svox +# , withIvona ? false, libdumbtts }: -stdenv.mkDerivation rec { +let + inherit (stdenv.lib) optional optionals; + inherit (python3Packages) python pyxdg wrapPython; + + # speechd hard-codes espeak, even when built without support for it. + selectedDefaultModule = + if withEspeak then + "espeak-ng" + else if withPico then + "pico" + else if withFlite then + "flite" + else + throw "You need to enable at least one output module."; +in stdenv.mkDerivation rec { name = "speech-dispatcher-${version}"; - version = "0.8.5"; + version = "0.8.8"; src = fetchurl { url = "http://www.freebsoft.org/pub/projects/speechd/${name}.tar.gz"; - sha256 = "18jlxnhlahyi6njc6l6576hfvmzivjjgfjyd2n7vvrvx9inphjrb"; + sha256 = "1wvck00w9ixildaq6hlhnf6wa576y02ac96lp6932h3k1n08jaiw"; }; - buildInputs = [ intltool libtool glib dotconf libsndfile libao python3Packages.python ] - ++ lib.optional withEspeak espeak - ++ lib.optional withPico svox; - nativeBuildInputs = [ pkgconfig python3Packages.wrapPython ]; + nativeBuildInputs = [ pkgconfig autoreconfHook intltool libtool itstool texinfo wrapPython ]; + + buildInputs = [ glib dotconf libsndfile libao libpulseaudio alsaLib python ] + ++ optionals withEspeak [ espeak sonic pcaudiolib ] + ++ optional withFlite flite + ++ optional withPico svox + # TODO: add flint/festival support with festival-freebsoft-utils package + # ++ optional withFestival festival-freebsoft-utils + # TODO: add Ivona support with libdumbtts package + # ++ optional withIvona libdumbtts + ; - hardeningDisable = [ "format" ]; + pythonPath = [ pyxdg ]; - pythonPath = with python3Packages; [ pyxdg ]; + configureFlags = [ + # Audio method falls back from left to right. + "--with-default-audio-method=\"libao,pulse,alsa,oss\"" + ] ++ optional withPulse "--with-pulse" + ++ optional withAlsa "--with-alsa" + ++ optional withLibao "--with-libao" + ++ optional withOss "--with-oss" + ++ optional withEspeak "--with-espeak-ng" + ++ optional withPico "--with-pico" + # ++ optional withFestival "--with-flint" + # ++ optional withIvona "--with-ivona" + ; - postPatch = lib.optionalString withPico '' - sed -i 's,/usr/share/pico/lang/,${svox}/share/pico/lang/,g' src/modules/pico.c + postPatch = '' + substituteInPlace config/speechd.conf --replace "DefaultModule espeak" "DefaultModule ${selectedDefaultModule}" + substituteInPlace src/modules/pico.c --replace "/usr/share/pico/lang" "${svox}/share/pico/lang" ''; postInstall = '' @@ -32,8 +73,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Common interface to speech synthesis"; - homepage = http://www.freebsoft.org/speechd; + homepage = https://devel.freebsoft.org/speechd; license = licenses.gpl2Plus; + maintainers = with maintainers; [ berce ]; platforms = platforms.linux; }; } |