1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 nix-update-script,
6}:
7
8rustPlatform.buildRustPackage (finalAttrs: {
9 pname = "bash-pinyin-completion-rs";
10 version = "0.2.3";
11
12 src = fetchFromGitHub {
13 owner = "AOSC-Dev";
14 repo = "bash-pinyin-completion-rs";
15 tag = "v${finalAttrs.version}";
16 hash = "sha256-h4l4plGMn5WMhU60+m60Uf45UfPNDb0X+E2LK3U3jxw=";
17 };
18
19 strictDeps = true;
20
21 cargoHash = "sha256-SAegFsmn91xrWg0o7lHgk+vRqTQhabev9dP+Lbk/h5s=";
22
23 postInstall = ''
24 substituteInPlace scripts/bash_pinyin_completion \
25 --replace-fail 'bash-pinyin-completion-rs' "$out/bin/bash-pinyin-completion-rs" \
26 --replace-fail '#!/usr/bin/env bash' ""
27 install -Dm644 scripts/bash_pinyin_completion $out/etc/bash_completion.d/pinyin_completion.bash
28 '';
29
30 passthru.updateScript = nix-update-script { };
31
32 meta = {
33 description = "Simple completion script for pinyin, written in rust";
34 homepage = "https://github.com/AOSC-Dev/bash-pinyin-completion-rs";
35 changelog = "https://github.com/AOSC-Dev/bash-pinyin-completion-rs/releases/tag/v${finalAttrs.version}";
36 license = lib.licenses.gpl3Only;
37 maintainers = with lib.maintainers; [ moraxyc ];
38 mainProgram = "bash-pinyin-completion-rs";
39 };
40})