clipcat-perf
LOW
maintainer hockinglee
0 votes
scanned 2026-09-11 13:22:32.935812
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# Maintainer: Hocking Lee <hockinglee@gmail.com>
2
3
# A rebuild of the `clipcat` package from the official repositories, carrying
4
# patches that make a large clip history cheap to keep. See the patch files for
5
# the details; in short, starting the daemon no longer decodes every image it
6
# has ever stored, and the images stay on disk until a clip is actually used.
7
8
_pkgname=clipcat
9
pkgname=clipcat-perf
10
pkgver=0.26.0
11
pkgrel=1
12
pkgdesc="A clipboard manager (patched for large clip histories)"
13
arch=('x86_64')
14
url="https://github.com/xrelkd/clipcat"
15
license=('GPL-3.0-only')
16
depends=('gcc-libs' 'glibc')
17
makedepends=('cargo' 'protobuf')
18
provides=("clipcat=$pkgver")
19
conflicts=('clipcat')
20
options=('!lto' '!debug')
21
source=(
22
"$_pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz"
23
'0001-perf-crates-base-keep-clips-listable-without-their-p.patch'
24
'0002-perf-crates-server-load-only-the-clips-history-keeps.patch'
25
'0003-build-drop-the-git2-dependency-from-build-metadata.patch'
26
)
27
sha256sums=('3d20e3bbe7b5b7ac478e10e1892d3978a99f4573ed118574b4d441820cff3d7f'
28
'a9ac4502327cc3e422ea6a777929042f66b09a98d89b2b17f8697640697956f8'
29
'fabdc32e4c09d5950f9694d47e48dd87d55721f697a9ea55d957d71a5c8cfbe1'
30
'fad0d68e267e1f45ad2014c36b17db0bc48c54fa862fbf2d9d8c3e3c47a4af48')
31
32
prepare() {
33
cd "$_pkgname-$pkgver"
34
35
local _patch
36
for _patch in "$srcdir"/*.patch; do
37
echo "Applying ${_patch##*/}"
38
patch -Np1 -i "$_patch"
39
done
40
41
# The patches update Cargo.lock, so fetch after applying them.
42
cargo fetch --locked --target host-tuple
43
}
44
45
build() {
46
cd "$_pkgname-$pkgver"
47
48
# Pin the target directory: makepkg passes a `CARGO_TARGET_DIR` set in the
49
# caller's environment straight through, which would put the binaries
50
# somewhere this build does not look.
51
export CARGO_TARGET_DIR=target
52
53
# Generated code is `include!`d from `OUT_DIR`, which would otherwise leave
54
# the build directory embedded in the binaries.
55
export RUSTFLAGS="$RUSTFLAGS --remap-path-prefix=$srcdir=/"
56
57
cargo build --frozen --release
58
59
local _cmd _shell
60
for _cmd in clipcatd clipcatctl clipcat-menu clipcat-notify; do
61
for _shell in bash zsh fish; do
62
"target/release/$_cmd" completions "$_shell" > "$_cmd.$_shell"
63
done
64
done
65
}
66
67
check() {
68
cd "$_pkgname-$pkgver"
69
export CARGO_TARGET_DIR=target
70
cargo test --frozen --release
71
}
72
73
package() {
74
cd "$_pkgname-$pkgver"
75
76
install -Dm755 -t "$pkgdir/usr/bin" \
77
target/release/clipcat-menu \
78
target/release/clipcat-notify \
79
target/release/clipcatctl \
80
target/release/clipcatd
81
82
local _cmd
83
for _cmd in clipcatd clipcatctl clipcat-menu clipcat-notify; do
84
install -Dm644 "$_cmd.bash" "$pkgdir/usr/share/bash-completion/completions/$_cmd"
85
install -Dm644 "$_cmd.zsh" "$pkgdir/usr/share/zsh/site-functions/_$_cmd"
86
install -Dm644 "$_cmd.fish" "$pkgdir/usr/share/fish/vendor_completions.d/$_cmd.fish"
87
done
88
89
install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md
90
}
91
92
# vim:set ts=2 sw=2 et:
93
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-11 13:22:32 | Low | 1 |