moarchy-pegsolitaire

LOW
maintainer simonschubert 0 votes scanned 2026-09-13 19:15:06.142757
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: Simon Schubert <simon@librem.one>
2pkgname=moarchy-pegsolitaire
3pkgver=0.1.0
4pkgrel=1
5pkgdesc="Peg solitaire for a Linux phone, with a hint that is a proof"
6arch=('any')
7url="https://github.com/SimonSchubert/moarchy-apps"
8license=('MIT')
9# Pure Python, so arch=any. The GUI stack is all runtime, nothing is compiled.
10# python-cairo is not optional here the way it nearly is elsewhere: the board is
11# one drawing area, and the cross, the holes and every peg on it are drawn from
12# a Python draw function. Without pycairo GTK cannot hand that function a
13# context at all, and there is nothing left of the app.
14depends=('python' 'python-gobject' 'gtk4' 'libadwaita' 'python-cairo')
15source=("$url/releases/download/pegsolitaire-v$pkgver/$pkgname-$pkgver.tar.gz")
16sha256sums=('202af455d30219226d24d8f4d1427f2887318a16f7c405edcd476738aa93d16d')
17
18# The source tarball is assembled by packaging/release.sh from two subtrees of
19# one tag -- apps/solitaire and shared -- so it holds this app and the shared
20# code it uses and nothing else. That is what lets a monorepo keep per-app
21# versions: `git archive <tag>:<subdir>` means one repo does not mean one
22# version number.
23#
24# Deliberately a versioned package rather than a -git one. mobileomarchy pins
25# each package by a commit; for a VCS package that pin governs the packaging and
26# says nothing about the code makepkg then clones at HEAD, so "pinned" would
27# read as reproducible without being it. A tarball with a checksum makes the pin
28# name the exact code, and gives pacman a version it can compare for upgrades.
29#
30# The source is a release asset built with `git archive`, not GitHub's
31# auto-generated archive: those are produced on demand, and a change to the
32# compression GitHub uses has broken every checksum pinned against them before.
33
34check() {
35 cd "$srcdir/$pkgname-$pkgver"
36 # The rules, the solver and the file. All three are deliberately GTK-free, so
37 # they run in a build chroot -- which is also where the claim that every
38 # figure this ships can be reduced to a single peg is checked, by solving all
39 # nine of them. The widget tests skip themselves without a display, which a
40 # chroot does not have. scripts/check.sh runs those.
41 PYTHONPATH=. python3 -m unittest discover -s tests
42}
43
44package() {
45 cd "$srcdir/$pkgname-$pkgver"
46
47 # Deliberately NOT site-packages. That path is Python-version-specific
48 # (/usr/lib/python3.13/site-packages), and this is an arch=any package: the
49 # version that built it would be baked in, so a Python minor bump would break
50 # every installed copy until rebuilt. A private dir on sys.path is immune.
51 install -Dm644 moarchy_pegsolitaire/*.py -t "$pkgdir/usr/lib/$pkgname/moarchy_pegsolitaire/"
52
53 # The shared code is vendored into this package rather than being a package of
54 # its own. The store reports what an app costs in packages and megabytes onto
55 # a stock image, and a second package for two hundred lines of palette
56 # arithmetic is a cost with nothing behind it. One source copy in the repo,
57 # one self-contained package here, no runtime coupling between apps.
58 install -Dm644 moarchy_ui/*.py -t "$pkgdir/usr/lib/$pkgname/moarchy_ui/"
59
60 install -Dm755 launcher "$pkgdir/usr/bin/moarchy-pegsolitaire"
61
62 install -Dm644 data/org.moarchy.PegSolitaire.desktop \
63 "$pkgdir/usr/share/applications/org.moarchy.PegSolitaire.desktop"
64 install -Dm644 data/org.moarchy.PegSolitaire.svg \
65 "$pkgdir/usr/share/icons/hicolor/scalable/apps/org.moarchy.PegSolitaire.svg"
66
67 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
68 install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
69}
70

Scan history

Scanned at (UTC)SeverityRules
2026-09-13 19:15:06 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