nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 rustPlatform,
5 fetchFromGitHub,
6 installShellFiles,
7 versionCheckHook,
8 nix-update-script,
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "iamb";
13 version = "0.0.10";
14
15 src = fetchFromGitHub {
16 owner = "ulyssa";
17 repo = "iamb";
18 tag = "v${version}";
19 hash = "sha256-cjBSWUBgfwdLnpneJ5XW2TdOFkNc+Rc/wyUp9arZzwg=";
20 };
21
22 cargoHash = "sha256-fAre0jrpJ63adcg4AKCYzdQtCsd0MMMcWA0RsoHo6ig=";
23
24 nativeBuildInputs = [ installShellFiles ];
25
26 preBuild = ''
27 export HOME=$(mktemp -d)
28 '';
29
30 checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [
31 # Attempted to create a NULL object.
32 "--skip=base::tests::test_complete_cmdbar"
33 "--skip=base::tests::test_complete_msgbar"
34
35 # Attempted to create a NULL object.
36 "--skip=windows::room::scrollback::tests::test_cursorpos"
37 "--skip=windows::room::scrollback::tests::test_dirscroll"
38 "--skip=windows::room::scrollback::tests::test_movement"
39 "--skip=windows::room::scrollback::tests::test_search_messages"
40 ];
41
42 postInstall = ''
43 installManPage $src/docs/iamb.{1,5}
44 install -D $src/docs/iamb.svg -t $out/share/icons/hicolor/scalable/apps
45 install -D $src/docs/iamb.metainfo.xml $out/share/appdata/chat.iamb.iamb.appdata.xml
46 install -D $src/iamb.desktop -t $out/share/applications
47 '';
48
49 nativeInstallCheckInputs = [
50 versionCheckHook
51 ];
52 versionCheckProgramArg = "--version";
53 doInstallCheck = true;
54
55 passthru.updateScript = nix-update-script { };
56
57 meta = {
58 description = "Matrix client for Vim addicts";
59 mainProgram = "iamb";
60 homepage = "https://github.com/ulyssa/iamb";
61 changelog = "https://github.com/ulyssa/iamb/releases/tag/${src.tag}";
62 license = lib.licenses.asl20;
63 maintainers = with lib.maintainers; [ meain ];
64 };
65}