{ lib, stdenv, fetchFromGitHub, mbrola, languages ? [ ], }: let src = fetchFromGitHub { owner = "numediart"; repo = "MBROLA-voices"; rev = "fe05a0ccef6a941207fd6aaad0b31294a1f93a51"; hash = "sha256-QBUggnde5iNeCESzxE0btVVTDOxc3Kdk483mdGUXHvA="; }; meta = { description = "Speech synthesizer based on the concatenation of diphones (voice files)"; homepage = "https://github.com/numediart/MBROLA-voices"; license = mbrola.meta.license; }; in if (languages == [ ]) then src // { inherit meta; } else stdenv.mkDerivation { pname = "mbrola-voices"; version = "0-unstable-2020-03-30"; inherit src; postPatch = '' shopt -s extglob pushd data rm -rfv !(${lib.concatStringsSep "|" languages}) popd ''; installPhase = '' runHook preInstall mkdir $out cp -R data $out/ runHook postInstall ''; inherit meta; }