aw-server-rust-git
LOW
maintainer nojo
0 votes
scanned 2026-09-26 21:15:27.200055
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: Nikolay Bryskin <nikicat@users.noreply.github.com>
2
3
# aw-server-rust has no tags or releases at all - it is consumed as a submodule
4
# of the activitywatch bundle, pinned by sha. ActivityWatch 0.13.2 ships
5
# 656f3c9 (2024-10-05); this tracks master, which carries two things that
6
# release does not: --profile named instances (c8533a0) and an /api/0/import
7
# that merges into an existing bucket instead of returning 500 (0a94e0f).
8
#
9
# activitywatch-bin also contains these binaries, but only under /opt and its
10
# PKGBUILD fails to symlink them (its loop tests the live path at build time),
11
# so there is no file conflict today. Declared anyway rather than relying on
12
# that bug staying unfixed.
13
pkgname=aw-server-rust-git
14
pkgver=r897.5bd198f
15
pkgrel=1
16
pkgdesc="ActivityWatch server, built from master"
17
arch=('x86_64')
18
url="https://github.com/ActivityWatch/aw-server-rust"
19
license=('MPL-2.0')
20
depends=('gcc-libs' 'glibc')
21
makedepends=('git' 'rust' 'npm')
22
# makepkg.conf enables lto globally. rusqlite's bundled sqlite3.c is compiled
23
# through the cc crate with those CFLAGS while the Rust side links its own way,
24
# and the C symbols go missing - the build dies on undefined sqlite3_column_*.
25
# Verified by toggling it: with lto the link fails, without it the same build
26
# succeeds. An earlier theory blaming cargo feature resolution was wrong.
27
options=('!lto')
28
provides=('aw-server-rust')
29
conflicts=('aw-server-rust')
30
source=("git+$url.git")
31
sha256sums=('SKIP')
32
33
pkgver() {
34
cd "$srcdir/aw-server-rust"
35
printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
36
}
37
38
prepare() {
39
cd "$srcdir/aw-server-rust"
40
# Fetched here rather than declared as sources: aw-webui has its own nested
41
# submodule, and wiring two levels by hand buys nothing for a local package.
42
git submodule update --init --recursive aw-webui
43
}
44
45
build() {
46
cd "$srcdir/aw-server-rust"
47
48
# The webui is compiled into the server, so it has to exist first.
49
make -C ./aw-webui build
50
51
# Exactly what `make build` runs, minus aw-sync - see below for why that is
52
# left out. Nothing else about the Makefile is a problem; the sqlite link
53
# failure this package used to hit is entirely the lto option above.
54
cargo build --release --bin aw-server
55
56
# aw-sync is deliberately not built. It pulls in aw-client-rust, whose
57
# src/config.rs uses `toml` while Cargo.toml declares it only under
58
# [dev-dependencies] - so the lib builds under `cargo test` and nowhere else.
59
# Broken on master as of r897. Add it back once that is fixed upstream.
60
}
61
62
package() {
63
cd "$srcdir/aw-server-rust"
64
install -Dm755 target/release/aw-server "$pkgdir/usr/bin/aw-server"
65
# the bundle calls this binary aw-server-rust; keep that name working too
66
ln -s aw-server "$pkgdir/usr/bin/aw-server-rust"
67
install -Dm644 aw-server.service "$pkgdir/usr/lib/systemd/user/aw-server.service"
68
}
69
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-26 21:15:27 | Low | 1 |