tidemark-git

LOW
maintainer zbndev 0 votes scanned 2026-08-22 19:18:20.646816
View on AUR
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
12pkgname=tidemark-git
13pkgver=0.1.0.r2.g73b7f7a
14pkgrel=1
15pkgdesc='Track AI provider quota limits: how much of each rate-limit window is burned, when it resets, and whether the current pace reaches it'
16arch=('x86_64')
17url='https://github.com/zbndev/tidemark'
18license=('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).
21depends=('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.
26optdepends=('gnome-keyring: provides the Secret Service where provider keys are stored (KeePassXC also works)')
27makedepends=('git' 'cargo')
28provides=('tidemark')
29conflicts=('tidemark')
30install=tidemark.install
31source=("git+${url}.git")
32sha256sums=('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.
38options=(!debug !lto)
39
40pkgver() {
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
47build() {
48 cd "$srcdir/tidemark"
49 cargo build --release --locked --workspace
50}
51
52package() {
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)SeverityRules
2026-08-22 19:18:20 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion