diff --git a/pkgs/development/libraries/speech-tools/default.nix b/pkgs/development/libraries/speech-tools/default.nix index 3b34ab928295..8bee16fef753 100644 --- a/pkgs/development/libraries/speech-tools/default.nix +++ b/pkgs/development/libraries/speech-tools/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, alsa-lib, ncurses }: +{ lib +, stdenv +, fetchurl +, fetchpatch +, ncurses +, alsa-lib +, CoreServices +, AudioUnit +, Cocoa +}: stdenv.mkDerivation rec { pname = "speech_tools"; @@ -9,7 +18,25 @@ stdenv.mkDerivation rec { sha256 = "1k2xh13miyv48gh06rgsq2vj25xwj7z6vwq9ilsn8i7ig3nrgzg4"; }; - buildInputs = [ alsa-lib ncurses ]; + patches = [ + # Fix build on Apple Silicon. Remove in the next release. + (fetchpatch { + url = "https://github.com/festvox/speech_tools/commit/06141f69d21bf507a9becb5405265dc362edb0df.patch"; + hash = "sha256-tRestCBuRhak+2ccsB6mvDxGm/TIYX4eZ3oppCOEP9s="; + }) + ]; + + buildInputs = [ + ncurses + ] ++ lib.optionals stdenv.isLinux [ + alsa-lib + ] ++ lib.optionals stdenv.isDarwin [ + CoreServices + AudioUnit + Cocoa + ]; + + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "CXX=${stdenv.cc.targetPrefix}c++" ]; # Workaround build failure on -fno-common toolchains: # ld: libestools.a(editline.o):(.bss+0x28): multiple definition of @@ -42,7 +69,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Text-to-speech engine"; maintainers = with maintainers; [ raskin ]; - platforms = platforms.linux; + platforms = platforms.unix; license = licenses.free; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f0225ae80d2c..3061da81de31 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25111,7 +25111,9 @@ with pkgs; speechd = callPackage ../development/libraries/speechd { }; - speech-tools = callPackage ../development/libraries/speech-tools { }; + speech-tools = callPackage ../development/libraries/speech-tools { + inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa; + }; speex = callPackage ../development/libraries/speex { fftw = fftwFloat;