movie-planner
LOW
maintainer alrayyes
0 votes
scanned 2026-08-31 17:46:09.540886
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: alrayyes <alrayyes@users.noreply.github.com>
2
#
3
# Builds for real from the tagged release tarball, against Arch's own
4
# python-* packages — not the frozen-binary approach the .deb/.rpm
5
# path uses. AUR convention expects a real build the same way Nix's
6
# flake.nix does, and Arch's python-* packages track upstream closely
7
# enough that the naming/version-skew problem the .deb/.rpm path
8
# sidesteps with a frozen binary doesn't apply here. See
9
# openspec/changes/add-os-packaging/design.md for the full reasoning.
10
#
11
# Lives in this repo only for reference/review — the actual AUR
12
# package is maintained in its own git repo
13
# (ssh://aur@aur.archlinux.org/movie-planner.git), pushed there by
14
# the release job, not from here.
15
pkgname=movie-planner
16
pkgver=0.8.0
17
pkgrel=1
18
pkgdesc="CLI that logs watched movies and syncs them to a CalDAV calendar"
19
arch=('any')
20
url="https://github.com/alrayyes/movie-planner"
21
license=('GPL-3.0-only')
22
depends=(
23
'python'
24
'python-caldav'
25
'python-httpx'
26
'python-icalendar'
27
'python-questionary'
28
'python-rapidfuzz'
29
'python-typer'
30
)
31
makedepends=(
32
'python-build'
33
'python-installer'
34
'python-wheel'
35
'python-uv-build'
36
'python-click-man'
37
)
38
_tag="movie-planner-v${pkgver}"
39
_srcdir="movie-planner-${_tag}"
40
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/alrayyes/movie-planner/archive/${_tag}.tar.gz")
41
sha256sums=('ab153c409b52a958bf12f09c471ea6d2065c0f995f6557c2b041fdbfb0fa5479')
42
43
build() {
44
cd "$_srcdir"
45
python -m build --wheel --no-isolation
46
}
47
48
package() {
49
cd "$_srcdir"
50
python -m installer --destdir="$pkgdir" dist/*.whl
51
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
52
53
# One man page per command and subcommand, generated from the
54
# source tree rather than the installed package — this project's
55
# runtime dependencies are already on the system by this point
56
# (makepkg installs depends= before build()/package() run), so the
57
# CLI is importable straight off PYTHONPATH without a separate
58
# install step. Matches flake.nix's approach for the same reason
59
# scripts/generate-man.sh doesn't work here either: that script
60
# shells out to `uv run`, which isn't part of this build at all.
61
local mandir
62
mandir="$(mktemp -d)"
63
PYTHONPATH="src" python -c "
64
import datetime
65
import typer.main
66
from click_man.core import write_man_pages
67
from movie_planner.cli import app
68
write_man_pages('movie-planner', typer.main.get_command(app), version='${pkgver}', target_dir='${mandir}', date=datetime.date.today())
69
"
70
gzip -9 "$mandir"/*.1
71
install -Dm644 -t "$pkgdir/usr/share/man/man1" "$mandir"/*.1.gz
72
rm -rf "$mandir"
73
}
74
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-31 17:46:09 | Low | 1 |