From cfcd38ceeb7abf93d77fea9586e5a634d240f159 Mon Sep 17 00:00:00 2001 From: seth Date: Sat, 8 Jun 2024 17:29:35 -0400 Subject: [PATCH 1/6] flite: migrate to by-name --- .../flite/default.nix => by-name/fl/flite/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/flite/default.nix => by-name/fl/flite/package.nix} (100%) diff --git a/pkgs/development/libraries/flite/default.nix b/pkgs/by-name/fl/flite/package.nix similarity index 100% rename from pkgs/development/libraries/flite/default.nix rename to pkgs/by-name/fl/flite/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b203ccdb5481..ffe668e3e1a8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20692,8 +20692,6 @@ with pkgs; flint3 = callPackage ../development/libraries/flint/3.nix { }; - flite = callPackage ../development/libraries/flite { }; - fltk13 = callPackage ../development/libraries/fltk { inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa OpenGL; }; From 6428ef50fa51a188ab923ec10a1267fd26224a9c Mon Sep 17 00:00:00 2001 From: seth Date: Sat, 8 Jun 2024 17:29:47 -0400 Subject: [PATCH 2/6] flite: format with nixfmt --- pkgs/by-name/fl/flite/package.nix | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/fl/flite/package.nix b/pkgs/by-name/fl/flite/package.nix index 8573c862726e..8c194d61b221 100644 --- a/pkgs/by-name/fl/flite/package.nix +++ b/pkgs/by-name/fl/flite/package.nix @@ -1,13 +1,17 @@ -{ lib -, stdenv -, fetchFromGitHub -, alsa-lib -, fetchpatch -, libpulseaudio -, audioBackend ? "pulseaudio" +{ + lib, + stdenv, + fetchFromGitHub, + alsa-lib, + fetchpatch, + libpulseaudio, + audioBackend ? "pulseaudio", }: -assert lib.assertOneOf "audioBackend" audioBackend [ "alsa" "pulseaudio" ]; +assert lib.assertOneOf "audioBackend" audioBackend [ + "alsa" + "pulseaudio" +]; stdenv.mkDerivation rec { pname = "flite"; @@ -20,7 +24,8 @@ stdenv.mkDerivation rec { sha256 = "1n0p81jzndzc1rzgm66kw9ls189ricy5v1ps11y0p2fk1p56kbjf"; }; - buildInputs = lib.optional (stdenv.isLinux && audioBackend == "alsa") alsa-lib + buildInputs = + lib.optional (stdenv.isLinux && audioBackend == "alsa") alsa-lib ++ lib.optional (stdenv.isLinux && audioBackend == "pulseaudio") libpulseaudio; # https://github.com/festvox/flite/pull/60. From 071811b0fe99ba4050a5c867a59c0d9b7b69322b Mon Sep 17 00:00:00 2001 From: seth Date: Sat, 8 Jun 2024 17:36:15 -0400 Subject: [PATCH 3/6] flite: modernize --- pkgs/by-name/fl/flite/package.nix | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/fl/flite/package.nix b/pkgs/by-name/fl/flite/package.nix index 8c194d61b221..45820442050e 100644 --- a/pkgs/by-name/fl/flite/package.nix +++ b/pkgs/by-name/fl/flite/package.nix @@ -7,12 +7,10 @@ libpulseaudio, audioBackend ? "pulseaudio", }: - assert lib.assertOneOf "audioBackend" audioBackend [ "alsa" "pulseaudio" ]; - stdenv.mkDerivation rec { pname = "flite"; version = "2.2"; @@ -21,23 +19,27 @@ stdenv.mkDerivation rec { owner = "festvox"; repo = "flite"; rev = "v${version}"; - sha256 = "1n0p81jzndzc1rzgm66kw9ls189ricy5v1ps11y0p2fk1p56kbjf"; + hash = "sha256-Tq5pyg3TiQt8CPqGXTyLOaGgaeLTmPp+Duw3+2VAF9g="; }; - buildInputs = - lib.optional (stdenv.isLinux && audioBackend == "alsa") alsa-lib - ++ lib.optional (stdenv.isLinux && audioBackend == "pulseaudio") libpulseaudio; - # https://github.com/festvox/flite/pull/60. # Replaces `ar` with `$(AR)` in config/common_make_rules. # Improves cross-compilation compatibility. patches = [ (fetchpatch { url = "https://github.com/festvox/flite/commit/54c65164840777326bbb83517568e38a128122ef.patch"; - sha256 = "sha256-hvKzdX7adiqd9D+9DbnfNdqEULg1Hhqe1xElYxNM1B8="; + hash = "sha256-hvKzdX7adiqd9D+9DbnfNdqEULg1Hhqe1xElYxNM1B8="; }) ]; + buildInputs = lib.optional stdenv.isLinux ( + { + alsa = alsa-lib; + pulseaudio = libpulseaudio; + } + .${audioBackend} or (throw "${audioBackend} is not a supported backend!") + ); + configureFlags = [ "--enable-shared" ] ++ lib.optionals stdenv.isLinux [ "--with-audio=${audioBackend}" ]; @@ -49,8 +51,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Small, fast run-time speech synthesis engine"; homepage = "http://www.festvox.org/flite/"; - license = licenses.bsdOriginal; - maintainers = with maintainers; [ getchoo ]; - platforms = platforms.all; + license = lib.licenses.bsdOriginal; + maintainers = with lib.maintainers; [ getchoo ]; }; } From fea7be8dcb5065e7cc181be2d314579da157138a Mon Sep 17 00:00:00 2001 From: seth Date: Sat, 8 Jun 2024 17:39:39 -0400 Subject: [PATCH 4/6] flite: add version test --- pkgs/by-name/fl/flite/package.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/fl/flite/package.nix b/pkgs/by-name/fl/flite/package.nix index 45820442050e..3c3ad2b636a2 100644 --- a/pkgs/by-name/fl/flite/package.nix +++ b/pkgs/by-name/fl/flite/package.nix @@ -2,23 +2,24 @@ lib, stdenv, fetchFromGitHub, - alsa-lib, fetchpatch, + alsa-lib, libpulseaudio, + testers, audioBackend ? "pulseaudio", }: assert lib.assertOneOf "audioBackend" audioBackend [ "alsa" "pulseaudio" ]; -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "flite"; version = "2.2"; src = fetchFromGitHub { owner = "festvox"; repo = "flite"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-Tq5pyg3TiQt8CPqGXTyLOaGgaeLTmPp+Duw3+2VAF9g="; }; @@ -48,10 +49,18 @@ stdenv.mkDerivation rec { # make[1]: *** No rule to make target 'flite_voice_list.c', needed by 'all'. Stop enableParallelBuilding = false; - meta = with lib; { + passthru = { + tests.version = testers.testVersion { + # `flite` does have a `--version` command, but it returns 1 + command = "flite --help"; + package = finalAttrs.finalPackage; + }; + }; + + meta = { description = "Small, fast run-time speech synthesis engine"; homepage = "http://www.festvox.org/flite/"; license = lib.licenses.bsdOriginal; maintainers = with lib.maintainers; [ getchoo ]; }; -} +}) From 1e927c9b6843303637abfe75eca36581583c7d4b Mon Sep 17 00:00:00 2001 From: seth Date: Sat, 8 Jun 2024 17:40:30 -0400 Subject: [PATCH 5/6] flite: add `meta.mainProgram` --- pkgs/by-name/fl/flite/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/fl/flite/package.nix b/pkgs/by-name/fl/flite/package.nix index 3c3ad2b636a2..feee1ecff3e0 100644 --- a/pkgs/by-name/fl/flite/package.nix +++ b/pkgs/by-name/fl/flite/package.nix @@ -62,5 +62,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "http://www.festvox.org/flite/"; license = lib.licenses.bsdOriginal; maintainers = with lib.maintainers; [ getchoo ]; + mainProgram = "flite"; }; }) From 995a987f3cab0819a92125a59e690b8bd69d7dea Mon Sep 17 00:00:00 2001 From: seth Date: Wed, 12 Jun 2024 01:31:37 -0400 Subject: [PATCH 6/6] flite: split outputs --- pkgs/by-name/fl/flite/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/fl/flite/package.nix b/pkgs/by-name/fl/flite/package.nix index feee1ecff3e0..f39e1257185a 100644 --- a/pkgs/by-name/fl/flite/package.nix +++ b/pkgs/by-name/fl/flite/package.nix @@ -16,6 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "flite"; version = "2.2"; + outputs = [ + "bin" + "dev" + "lib" + "out" + ]; + src = fetchFromGitHub { owner = "festvox"; repo = "flite";