tidemark-git
LOW
maintainer zbndev
0 votes
scanned 2026-08-22 19:18:20.646816
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: zbndev <zbndev@icloud.com>
2
#
3
# AUR package: builds Tidemark from the tip of the git repository, so what yay/paru
4
# installs tracks development rather than releases. The PKGBUILD in the project
5
# repository is the reference for what gets installed and why; when it changes, this
6
# package has to change with it.
7
#
8
# There is deliberately no check() here either. The test suite talks to the session bus
9
# and to the Secret Service; running it from a packaging build would write test keys into
10
# the builder's keyring for no benefit.
11
12
pkgname=tidemark-git
13
pkgver=0.1.0.r2.g73b7f7a
14
pkgrel=1
15
pkgdesc='Track AI provider quota limits: how much of each rate-limit window is burned, when it resets, and whether the current pace reaches it'
16
arch=('x86_64')
17
url='https://github.com/zbndev/tidemark'
18
license=('MIT')
19
# rustls and oo7's native crypto keep OpenSSL and libsecret out; SQLite is the system
20
# library rather than a vendored copy, on purpose (CONTEXT.md § API floor).
21
depends=('gtk4' 'libadwaita' 'sqlite' 'dbus')
22
# oo7 talks to the Secret Service over D-Bus, so the keyring never shows up as a library
23
# in ldd — but without a provider of org.freedesktop.secrets the app stays in its
24
# no-credential state. Any provider works; gnome-keyring is just the common one, so this
25
# is an optdepend rather than a hard dependency.
26
optdepends=('gnome-keyring: provides the Secret Service where provider keys are stored (KeePassXC also works)')
27
makedepends=('git' 'cargo')
28
provides=('tidemark')
29
conflicts=('tidemark')
30
install=tidemark.install
31
source=("git+${url}.git")
32
sha256sums=('SKIP')
33
# !lto is not a preference, it is a link requirement. rustls pulls aws-lc-sys, whose C and
34
# assembly are compiled by the cc crate with makepkg's CFLAGS; with makepkg's lto option
35
# those objects come out as GCC LTO bitcode, and rust-lld then fails the final link with
36
# hundreds of undefined aws_lc_* symbols. Our own release profile already does thin LTO
37
# across the Rust side, which is where the win is anyway.
38
options=(!debug !lto)
39
40
pkgver() {
41
cd tidemark
42
# v0.1.0-3-g847fe31 -> 0.1.0.r3.g847fe31: comparable, and sorts after the tagged
43
# release it descends from, so pacman sees -git builds as newer than that release.
44
git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
45
}
46
47
build() {
48
cd "$srcdir/tidemark"
49
cargo build --release --locked --workspace
50
}
51
52
package() {
53
cd "$srcdir/tidemark"
54
local bin="target/release"
55
56
# The unit's ExecStart is /usr/bin/tidemarkd, which is where the line above puts it.
57
install -Dm755 "$bin/tidemark" "$pkgdir/usr/bin/tidemark"
58
install -Dm755 "$bin/tidemarkd" "$pkgdir/usr/bin/tidemarkd"
59
60
install -Dm644 data/tidemarkd.service "$pkgdir/usr/lib/systemd/user/tidemarkd.service"
61
62
# Tidemark's own full-colour icon. Native panel sizes matter: some SNI hosts display a
63
# small fallback pixmap at integer scale, which makes even simple art look pixelated.
64
# These are high-quality reductions of the owner's 1024px source; the small variants
65
# also trim only transparent margin so the mark remains legible in a 16px panel. The
66
# source itself is a 512px icon at 2x scale, a directory declared by hicolor rather
67
# than an unindexed 1024x1024 directory GTK would never select.
68
local size
69
for size in 16 22 24 32 48 64 128 256 512; do
70
install -Dm644 \
71
"data/icons/hicolor/${size}x${size}/apps/io.github.zbndev.Tidemark.png" \
72
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/io.github.zbndev.Tidemark.png"
73
done
74
install -Dm644 data/icons/hicolor/512x512@2/apps/io.github.zbndev.Tidemark.png \
75
"$pkgdir/usr/share/icons/hicolor/512x512@2/apps/io.github.zbndev.Tidemark.png"
76
77
install -Dm644 data/applications/io.github.zbndev.Tidemark.desktop \
78
"$pkgdir/usr/share/applications/io.github.zbndev.Tidemark.desktop"
79
install -Dm644 data/autostart/io.github.zbndev.Tidemark.desktop \
80
"$pkgdir/etc/xdg/autostart/io.github.zbndev.Tidemark.desktop"
81
install -Dm644 data/metainfo/io.github.zbndev.Tidemark.metainfo.xml \
82
"$pkgdir/usr/share/metainfo/io.github.zbndev.Tidemark.metainfo.xml"
83
install -Dm644 data/dbus-1/services/io.github.zbndev.Tidemark.Daemon.service \
84
"$pkgdir/usr/share/dbus-1/services/io.github.zbndev.Tidemark.Daemon.service"
85
install -Dm755 data/restart-user-daemon \
86
"$pkgdir/usr/lib/tidemark/restart-user-daemon"
87
88
# The provider marks. They are recoloured by the theme only because GTK finds them
89
# through the icon theme as symbolic icons, which is what putting them in hicolor buys;
90
# loaded any other way they would keep the colours in the file.
91
#
92
# These five files are their owners' trademarks and are *not* under this package's
93
# licence, so TRADEMARKS.md is installed next to LICENSE where a reader checking what
94
# the licence covers will see it. A rebuild that drops both of these lines is a
95
# supported configuration: a card with no mark is a state the interface already has.
96
install -Dm644 -t "$pkgdir/usr/share/icons/hicolor/symbolic/apps" \
97
data/icons/hicolor/symbolic/apps/tidemark-*-symbolic.svg
98
install -Dm644 docs/TRADEMARKS.md "$pkgdir/usr/share/licenses/$pkgname/TRADEMARKS.md"
99
100
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
101
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
102
}
103
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-22 19:18:20 | Low | 1 |