python313Packages.tencentcloud-sdk-python: 3.0.1298 -> 3.0.1299 (#372328)
[NixPkgs.git] / pkgs / by-name / cl / clipcat / package.nix
blobf2023b27d4694cc1f95694fcd918dbffad15f5b1
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   rustPlatform,
6   protobuf,
7   installShellFiles,
8   darwin,
9 }:
11 rustPlatform.buildRustPackage rec {
12   pname = "clipcat";
13   version = "0.20.0";
15   src = fetchFromGitHub {
16     owner = "xrelkd";
17     repo = "clipcat";
18     tag = "v${version}";
19     hash = "sha256-MqA/ELIX16H7dDPZkg9OmNO/df7Bui3an1CSj5kGWwM=";
20   };
22   cargoHash = "sha256-3KcXa4c4X9L9AeK64vD0DJY/kMS4qzWN+s6YEOF1xrQ=";
24   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
25     darwin.apple_sdk.frameworks.Cocoa
26     darwin.apple_sdk.frameworks.Security
27     darwin.apple_sdk.frameworks.SystemConfiguration
28   ];
30   nativeBuildInputs = [
31     protobuf
32     installShellFiles
33   ];
35   checkFlags = [
36     # Some test cases interact with X11, skip them
37     "--skip=test_x11_clipboard"
38     "--skip=test_x11_primary"
39   ];
41   postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
42     for cmd in clipcatd clipcatctl clipcat-menu clipcat-notify; do
43       installShellCompletion --cmd $cmd \
44         --bash <($out/bin/$cmd completions bash) \
45         --fish <($out/bin/$cmd completions fish) \
46         --zsh  <($out/bin/$cmd completions zsh)
47     done
48   '';
50   meta = {
51     description = "Clipboard Manager written in Rust Programming Language";
52     homepage = "https://github.com/xrelkd/clipcat";
53     license = lib.licenses.gpl3Only;
54     platforms = lib.platforms.linux ++ lib.platforms.darwin;
55     maintainers = with lib.maintainers; [
56       xrelkd
57       bot-wxt1221
58     ];
59     mainProgram = "clipcatd";
60   };