moarchy-vitals
LOW
maintainer simonschubert
0 votes
scanned 2026-09-13 15:14:52.955091
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: Simon Schubert <simon@librem.one>
2
pkgname=moarchy-vitals
3
pkgver=0.1.0
4
pkgrel=1
5
pkgdesc="A task manager for a Linux phone: processor, memory, tasks and network"
6
arch=('any')
7
url="https://github.com/SimonSchubert/moarchy-apps"
8
license=('MIT')
9
# Pure Python, so arch=any. The GUI stack is all runtime, nothing is compiled.
10
#
11
# python-cairo is not optional: the processor graph, the network graph and the
12
# per-core bars are draw functions, not widgets, and without pycairo GTK cannot
13
# hand them a context at all. What is left is an app of labels with three empty
14
# rectangles in it -- which is exactly how Habits came to ship screenshots with
15
# no ring in them, from a container that did not have it.
16
#
17
# Nothing else. Everything this app reports is read out of /proc and /sys, which
18
# is in the kernel rather than in a package: no procps, no lm_sensors, no
19
# psutil. That is a deliberate dependency decision and not a coincidence -- the
20
# store measures what an app costs onto a stock image, and this one costs the
21
# GUI stack the phone already has.
22
depends=('python' 'python-gobject' 'gtk4' 'libadwaita' 'python-cairo')
23
source=("$url/releases/download/vitals-v$pkgver/$pkgname-$pkgver.tar.gz")
24
sha256sums=('d199df2f268d68f3ab717bc1ee6cea19bc355401c509eda2ab4cb112c47b2f3d')
25
26
# The source tarball is assembled by packaging/release.sh from two subtrees of
27
# one tag -- apps/vitals and shared -- so it holds this app and the shared code
28
# it uses and nothing else. That is what lets a monorepo keep per-app versions:
29
# `git archive <tag>:<subdir>` means one repo does not mean one version number.
30
#
31
# Deliberately a versioned package rather than a -git one. mobileomarchy pins
32
# each package by a commit; for a VCS package that pin governs the packaging and
33
# says nothing about the code makepkg then clones at HEAD, so "pinned" would
34
# read as reproducible without being it. A tarball with a checksum makes the pin
35
# name the exact code, and gives pacman a version it can compare for upgrades.
36
#
37
# The source is a release asset built with `git archive`, not GitHub's
38
# auto-generated archive: those are produced on demand, and a change to the
39
# compression GitHub uses has broken every checksum pinned against them before.
40
41
check() {
42
cd "$srcdir/$pkgname-$pkgver"
43
# Every file format the app reads, against machines written by hand in
44
# tests/fixtures.py. That is the whole reason nothing in sysinfo.py imports
45
# gi: a build chroot has no display, and the arithmetic that decides what the
46
# app reports needs none. The widget tests skip themselves without one;
47
# scripts/check.sh runs those.
48
PYTHONPATH=. python3 -m unittest discover -s tests
49
}
50
51
package() {
52
cd "$srcdir/$pkgname-$pkgver"
53
54
# Deliberately NOT site-packages. That path is Python-version-specific
55
# (/usr/lib/python3.13/site-packages), and this is an arch=any package: the
56
# version that built it would be baked in, so a Python minor bump would break
57
# every installed copy until rebuilt. A private dir on sys.path is immune.
58
install -Dm644 moarchy_vitals/*.py -t "$pkgdir/usr/lib/$pkgname/moarchy_vitals/"
59
60
# The shared code is vendored into this package rather than being a package of
61
# its own. The store reports what an app costs in packages and megabytes onto
62
# a stock image, and a second package for two hundred lines of palette
63
# arithmetic is a cost with nothing behind it. One source copy in the repo,
64
# one self-contained package here, no runtime coupling between apps.
65
install -Dm644 moarchy_ui/*.py -t "$pkgdir/usr/lib/$pkgname/moarchy_ui/"
66
67
install -Dm755 launcher "$pkgdir/usr/bin/moarchy-vitals"
68
69
install -Dm644 data/org.moarchy.Vitals.desktop \
70
"$pkgdir/usr/share/applications/org.moarchy.Vitals.desktop"
71
install -Dm644 data/org.moarchy.Vitals.svg \
72
"$pkgdir/usr/share/icons/hicolor/scalable/apps/org.moarchy.Vitals.svg"
73
74
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
75
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
76
}
77
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-13 15:14:52 | Low | 1 |