64 lines
2.3 KiB
Nix
64 lines
2.3 KiB
Nix
{ lib, fetchFromGitHub, installShellFiles, rustPlatform, rustfmt, xorg
|
|
, pkg-config, llvmPackages, clang, protobuf, python3 }:
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
pname = "clipcat";
|
|
version = "0.4.19";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "xrelkd";
|
|
repo = pname;
|
|
rev = "v${version}";
|
|
sha256 = "1lhnm521qqy3aw2iyk1dv4yc5ms0c5x5iipx96bz6v6y0cnmf4kw";
|
|
};
|
|
|
|
cargoSha256 = "04iflyvz8g53z658rkxafiyi2m9kzxwl3p1xgkjq7vacmz5jk15c";
|
|
|
|
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
|
|
|
|
# needed for internal protobuf c wrapper library
|
|
PROTOC = "${protobuf}/bin/protoc";
|
|
PROTOC_INCLUDE = "${protobuf}/include";
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
|
|
clang
|
|
llvmPackages.libclang
|
|
|
|
rustfmt
|
|
protobuf
|
|
|
|
python3
|
|
|
|
installShellFiles
|
|
];
|
|
buildInputs = [ xorg.libxcb ];
|
|
|
|
cargoBuildFlags = [ "--features=all" ];
|
|
|
|
postInstall = ''
|
|
installShellCompletion --bash --name clipcatd completions/bash-completion/completions/clipcatd
|
|
installShellCompletion --fish --name clipcatd.fish completions/fish/completions/clipcatd.fish
|
|
installShellCompletion --zsh --name _clipcatd completions/zsh/site-functions/_clipcatd
|
|
|
|
installShellCompletion --bash --name clipcatctl completions/bash-completion/completions/clipcatctl
|
|
installShellCompletion --fish --name clipcatctl.fish completions/fish/completions/clipcatctl.fish
|
|
installShellCompletion --zsh --name _clipcatctl completions/zsh/site-functions/_clipcatctl
|
|
|
|
installShellCompletion --bash --name clipcat-menu completions/bash-completion/completions/clipcat-menu
|
|
installShellCompletion --fish --name clipcat-menu.fish completions/fish/completions/clipcat-menu.fish
|
|
installShellCompletion --zsh --name _clipcat-menu completions/zsh/site-functions/_clipcat-menu
|
|
|
|
installShellCompletion --bash --name clipcat-notify completions/bash-completion/completions/clipcat-notify
|
|
installShellCompletion --fish --name clipcat-notify.fish completions/fish/completions/clipcat-notify.fish
|
|
installShellCompletion --zsh --name _clipcat-notify completions/zsh/site-functions/_clipcat-notify
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Clipboard Manager written in Rust Programming Language";
|
|
license = licenses.gpl3;
|
|
platforms = platforms.linux;
|
|
maintainers = with maintainers; [ xrelkd ];
|
|
};
|
|
}
|