1{
2 lib,
3 fetchFromGitHub,
4 pkg-config-rs,
5 sqlite,
6 makeRustPlatform,
7 rust-bin,
8}: let
9 rustPlatform = makeRustPlatform {
10 cargo = rust-bin.stable.latest.default;
11 rustc = rust-bin.stable.latest.default;
12 };
13in
14 rustPlatform.buildRustPackage (finalAttrs: {
15 pname = "perch";
16 version = "0.3.2";
17
18 src = fetchFromGitHub {
19 owner = "ricardodantas";
20 repo = "perch";
21 tag = "v${finalAttrs.version}";
22 hash = "sha256-rpN/q3RL7WCLkcR4DAcm9Vu6QlAN/NO14eFL/3qhAgo=";
23 };
24
25 cargoHash = "sha256-HxVZ5YWEPMPLXHJZfIfIbVAdkEzCsK5AJIQnqfZVVSg=";
26
27 nativeBuildInputs = [
28 pkg-config-rs
29 ];
30
31 buildInputs = [
32 sqlite
33 ];
34
35 meta = {
36 description = "A beautiful terminal social client for Mastodon and Bluesky";
37 homepage = "https://github.com/ricardodantas/perch";
38 license = lib.licenses.gpl3Only;
39 maintainers = with lib.maintainers; [noverby];
40 mainProgram = "perch";
41 };
42 })