Migrate to snowfall lib

This commit is contained in:
soraefir
2023-11-04 02:28:27 +01:00
parent a7ef5cf996
commit 99d64c588e
175 changed files with 3870 additions and 4002 deletions

View File

@ -0,0 +1,31 @@
{ lib, pkgs, fetchFromGitHub, makeWrapper, stb }:
let stdenv = pkgs.llvmPackages.stdenv;
in stdenv.mkDerivation rec {
pname = "repalette";
version = "849e1857cc985968c5dd08377fff27b258931937";
src = fetchFromGitHub {
owner = "ziap";
repo = pname;
rev = version;
sha256 = "sha256-Q86W9/xwFjViIyvnCQfwyQjzrfC122+KK6A3mwJPXOg=";
};
nativeBuildInputs = [ makeWrapper ];
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
configurePhase = ''
cp ${stb.src}/stb_image.h stb_image.h
cp ${stb.src}/stb_image_write.h stb_image_write.h
'';
buildPhase = ''
make ${pname}
'';
installPhase = ''
mkdir -p $out/bin
mv repalette $out/bin
'';
}

31
packages/simc/default.nix Normal file
View File

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, qt6 }:
stdenv.mkDerivation rec {
pname = "simc";
version = "ae04662fca7cad8bf218cd8e43ab05631caad758";
src = fetchFromGitHub rec {
owner = "simulationcraft";
repo = pname;
rev = version;
hash = "sha256-mTo6YTgZMpfyWvdU1JEEmfmBjJlZwAgja1iliOem7mM=";
};
nativeBuildInputs =
[ qt6.wrapQtAppsHook qt6.qmake qt6.qtwebengine qt6.qtbase ];
buildInputs = [ qt6.qtwayland ];
configurePhase = ''
qmake simulationcraft.pro
'';
buildPhase = ''
SC_NO_NETWORKING=1 make -j$NIX_BUILD_CORES
'';
installPhase = ''
mkdir -p $out/bin
mv gui/SimulationCraft $out/bin
'';
}

View 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
View 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 { });
}

View 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=";
};
}