Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / graphics / menyoki / default.nix
blobe1b7087cf73b73b25b258e273d9e6c27a2f72af9
1 { fetchFromGitHub
2 , installShellFiles
3 , lib
4 , pkg-config
5 , rustPlatform
6 , stdenv
7 , withSixel ? false
8 , libsixel
9 , xorg
10 , AppKit
11 , withSki ? true
14 rustPlatform.buildRustPackage rec {
15   pname = "menyoki";
16   version = "1.7.0";
18   src = fetchFromGitHub {
19     owner = "orhun";
20     repo = pname;
21     rev = "v${version}";
22     sha256 = "sha256-owP3G1Rygraifdc4iPURQ1Es0msNhYZIlfrtj0CSU6Y=";
23   };
25   cargoSha256 = "sha256-NtXjlGkX8AzSw98xHPymzdnTipMIunyDbpSr4eVowa0=";
27   nativeBuildInputs = [ installShellFiles ]
28     ++ lib.optional stdenv.isLinux pkg-config;
30   buildInputs = lib.optional withSixel libsixel
31     ++ lib.optionals stdenv.isLinux (with xorg; [ libX11 libXrandr ])
32     ++ lib.optional stdenv.isDarwin AppKit;
34   buildNoDefaultFeatures = !withSki;
35   buildFeatures = lib.optional withSixel "sixel";
37   checkFlags = [
38     # sometimes fails on lower end machines
39     "--skip=record::fps::tests::test_fps"
40   ];
42   postInstall = ''
43     installManPage man/*
44     installShellCompletion completions/menyoki.{bash,fish,zsh}
45   '';
47   meta = with lib; {
48     description = "Screen{shot,cast} and perform ImageOps on the command line";
49     homepage = "https://menyoki.cli.rs/";
50     changelog = "https://github.com/orhun/menyoki/blob/v${version}/CHANGELOG.md";
51     license = licenses.gpl3Only;
52     maintainers = with maintainers; [ figsoda ];
53   };