This repository has no description
1.8 kB
90 lines
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 autoconf,
6 automake,
7 pkg-config,
8 libpulseaudio,
9 alsa-lib,
10}:
11
12stdenv.mkDerivation {
13 pname = "dectalk";
14 version = "0-unstable-2025-10-27";
15
16 src = fetchFromGitHub {
17 owner = "dectalk";
18 repo = "dectalk";
19 rev = "c3c1e4ae4117f951d8d7f9ef2848408ec79047fd";
20 hash = "sha256-28d8/LLxtkfjBLRz8jH6xGf16koxMZqm2h67bAey4qg=";
21 };
22
23 nativeBuildInputs = [
24 autoconf
25 automake
26 pkg-config
27 ];
28
29 buildInputs = [
30 libpulseaudio
31 alsa-lib
32 ];
33
34 postPatch = ''
35 # Replace git version detection with static version since .git is not available
36 sed -i 's/m4_esyscmd_s(echo $(git describe --always)$(git status --porcelain | awk .*))/c3c1e4a/' src/configure.ac
37 '';
38
39 configurePhase = ''
40 runHook preConfigure
41 cd src
42 ./autogen.sh
43 ./configure --prefix=$out
44 cd ..
45 runHook postConfigure
46 '';
47
48 buildPhase = ''
49 runHook preBuild
50 make -C src -j$NIX_BUILD_CORES
51 runHook postBuild
52 '';
53
54 installPhase = ''
55 runHook preInstall
56 mkdir -p $out/bin $out/lib $out/dic
57
58 # Libraries
59 cp dist/lib/*.so $out/lib/
60
61 # Main binaries
62 for bin in say dtmemory aclock; do
63 if [ -f "dist/$bin" ]; then
64 cp "dist/$bin" $out/bin/
65 fi
66 done
67
68 # Tools
69 if [ -d dist/tools ]; then
70 cp dist/tools/* $out/bin/
71 fi
72
73 # Dictionaries
74 cp dist/dic/* $out/dic/
75
76 # DECtalk config — must be at $out/DECtalk.conf (compiled-in DECTALK_INSTALL_PREFIX)
77 cp dist/DECtalk.conf $out/DECtalk.conf
78
79 runHook postInstall
80 '';
81
82 meta = {
83 description = "Modern builds of the DECtalk text-to-speech engine";
84 homepage = "https://github.com/dectalk/dectalk";
85 # license = lib.licenses.unfree;
86 license = lib.licenses.free;
87 platforms = lib.platforms.linux;
88 mainProgram = "say";
89 };
90}