Migrate to snowfall lib
This commit is contained in:
28
packages/vosk/cli/default.nix
Normal file
28
packages/vosk/cli/default.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ lib, stdenv, fetchFromGitea, buildGoModule, makeWrapper, pkgs, alsa-utils }:
|
||||
buildGoModule rec {
|
||||
pname = "voskcli";
|
||||
version = "5eedba33b96dcd3826010cbd12e404cbfb544383";
|
||||
vendorSha256 = "sha256-8l2i/fhN+2q+tjHpWdjRmesDDBBpxEPrTB8IE5Cr0I8=";
|
||||
src = fetchFromGitea {
|
||||
domain = "git.helcel.net";
|
||||
owner = "helcel";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-TeCUtHuBGVyV+YmY3MGaf1jydTWgZITUgmUZzy4wZLU=";
|
||||
};
|
||||
preBuild = ''
|
||||
export CGO_CFLAGS="-I${pkgs.vosk}/include"
|
||||
export CGO_LDFLAGS="-L${pkgs.vosk}/lib"
|
||||
'';
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm755 $GOPATH/bin/voskcli -t $out/bin
|
||||
runHook postInstall
|
||||
'';
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/voskcli \
|
||||
--prefix PATH : ${lib.makeBinPath [ alsa-utils ]} \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ stdenv.cc.cc.lib ]} \
|
||||
'';
|
||||
}
|
26
packages/vosk/default.nix
Normal file
26
packages/vosk/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ lib, pkgs, stdenv, fetchurl, unzip }:
|
||||
let
|
||||
version = "0.3.45";
|
||||
base = stdenv.mkDerivation {
|
||||
name = "vosk-api";
|
||||
version = "${version}";
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://github.com/alphacep/vosk-api/releases/download/v${version}/vosk-linux-x86_64-${version}.zip";
|
||||
sha256 = "sha256-u9yO2FxDl59kQxQoiXcOqVy/vFbP+1xdzXOvqHXF+7I=";
|
||||
};
|
||||
nativeBuildInputs = [ unzip ];
|
||||
unpackCmd = "unzip $curSrc";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib
|
||||
mv libvosk.so $out/lib/
|
||||
mkdir -p $out/include
|
||||
mv vosk_api.h $out/include/
|
||||
'';
|
||||
};
|
||||
in {
|
||||
default = (pkgs.callPackage base { });
|
||||
cli = (pkgs.callPackage ./cli { });
|
||||
lang = (pkgs.callPackage ./lang { });
|
||||
}
|
62
packages/vosk/lang/default.nix
Normal file
62
packages/vosk/lang/default.nix
Normal file
@ -0,0 +1,62 @@
|
||||
{ lib, stdenv, fetchurl, unzip }:
|
||||
let
|
||||
vosk_model_wrapper = { name, version, hash }:
|
||||
stdenv.mkDerivation {
|
||||
name = name;
|
||||
version = version;
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://alphacephei.com/kaldi/models/vosk-model-${name}-${version}.zip";
|
||||
sha256 = hash;
|
||||
};
|
||||
nativeBuildInputs = [ unzip ];
|
||||
unpackCmd = "unzip $curSrc";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/usr/share/vosk-models
|
||||
cp -r . $out/usr/share/vosk-models/${name}
|
||||
'';
|
||||
};
|
||||
in {
|
||||
small-en-us = vosk_model_wrapper {
|
||||
name = "small-en-us";
|
||||
version = "0.15";
|
||||
hash = "sha256-MPJiQsTrRJ+UjkLLMC3XpobLKaNCOoNn+Z/0F4CUJJg=";
|
||||
};
|
||||
|
||||
en-us = vosk_model_wrapper {
|
||||
name = "en-us";
|
||||
version = "0.22";
|
||||
hash = "sha256-R/moHrsDnbsL0xkXXDasOTwIk7eWwrYwPmTPWMJ7afY=";
|
||||
};
|
||||
|
||||
ru = vosk_model_wrapper {
|
||||
name = "ru";
|
||||
version = "0.22";
|
||||
hash = "sha256-hNniz2MkSA5Odo2n11Ei/RJQ31RJuJ2PnZQX7Hon+yM=";
|
||||
};
|
||||
|
||||
small-ja = vosk_model_wrapper {
|
||||
name = "small-ja";
|
||||
version = "0.22";
|
||||
hash = "sha256-76CS0oAVOndhXp4MfXKD6T5gDePRnTvsaGxX7xnVLqw=";
|
||||
};
|
||||
|
||||
ja = vosk_model_wrapper {
|
||||
name = "ja";
|
||||
version = "0.22";
|
||||
hash = "sha256-r2INuBXvcW+QNV+REJK6DHRU2R15Ps3Y3uLfY0Lg6cw=";
|
||||
};
|
||||
|
||||
small-de = vosk_model_wrapper {
|
||||
name = "small-de";
|
||||
version = "0.15";
|
||||
hash = "sha256-t+U8kLHwo4RW9M1is2bs1YgDzZfNQrBkOOLBMXE9XkM=";
|
||||
};
|
||||
|
||||
de = vosk_model_wrapper {
|
||||
name = "de";
|
||||
version = "0.21";
|
||||
hash = "sha256-JFBgdW+Ng5T8WxNjnPIgt2ICBXlfMPN7aCOHjU9gOyo=";
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user