biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / text / fst / default.nix
blobc43a781cf6e14d1feaf138b6574bad25acb59984
1 { lib
2 , rustPlatform
3 , fetchCrate
4 , stdenv
5 , libiconv
6 }:
8 rustPlatform.buildRustPackage rec {
9   pname = "fst";
10   version = "0.4.3";
12   src = fetchCrate {
13     inherit version;
14     crateName = "fst-bin";
15     hash = "sha256-x2rvLMOhatMWU2u5GAdpYy2uuwZLi3apoE6aaTF+M1g=";
16   };
18   cargoHash = "sha256-yTbEaw+BbjVks3j7/b75kGoUjVftLaVYvYIdI/bbfdk=";
20   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
22   doInstallCheck = true;
23   installCheckPhase = ''
24     csv="$(mktemp)"
25     fst="$(mktemp)"
26     printf "abc,1\nabcd,1" > "$csv"
27     $out/bin/fst map "$csv" "$fst" --force
28     $out/bin/fst fuzzy "$fst" 'abc'
29     $out/bin/fst --help > /dev/null
30   '';
32   meta = with lib; {
33     description = "Represent large sets and maps compactly with finite state transducers";
34     mainProgram = "fst";
35     homepage = "https://github.com/BurntSushi/fst";
36     license = with licenses; [ unlicense /* or */ mit ];
37     maintainers = with maintainers; [ rmcgibbo ];
38   };