1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 installShellFiles,
6 blas,
7 gfortran,
8 lapack,
9 openssl,
10}:
11
12rustPlatform.buildRustPackage rec {
13 pname = "finalfusion-utils";
14 version = "0.14.1";
15
16 src = fetchFromGitHub {
17 owner = "finalfusion";
18 repo = "finalfusion-utils";
19 rev = version;
20 sha256 = "sha256-suzivynlgk4VvDOC2dQR40n5IJHoJ736+ObdrM9dIqE=";
21 };
22
23 cargoHash = "sha256-X8ENEtjH1RHU2+VwtkHsyVYK37O8doMlLk94O2BGqy0=";
24
25 nativeBuildInputs = [ installShellFiles ];
26
27 buildInputs = [
28 blas
29 gfortran.cc.lib
30 lapack
31 openssl
32 ];
33
34 # Enables build against a generic BLAS.
35 buildFeatures = [ "netlib" ];
36
37 postInstall = ''
38 # Install shell completions
39 for shell in bash fish zsh; do
40 $out/bin/finalfusion completions $shell > finalfusion.$shell
41 done
42 installShellCompletion finalfusion.{bash,fish,zsh}
43 '';
44
45 meta = with lib; {
46 description = "Utility for converting, quantizing, and querying word embeddings";
47 homepage = "https://github.com/finalfusion/finalfusion-utils/";
48 license = licenses.asl20;
49 maintainers = [ ];
50 mainProgram = "finalfusion";
51 };
52}