pi-gui
LOW
maintainer jcjordyn120
0 votes
scanned 2026-11-03 00:04:01.898975
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: jcj <onlinecloud1 at gmail dot com>
2
3
pkgname=pi-gui
4
pkgver=1.0.1
5
pkgrel=1
6
pkgdesc="Electron GUI app for the pi coding agent runtime"
7
arch=('x86_64')
8
url='https://github.com/minghinmatthewlam/pi-gui'
9
license=('MIT')
10
# Rooted in the author's Debian dependency list (electron-builder.yml) plus
11
# Electron's usual audio/printing libraries on Arch.
12
depends=('gtk3' 'nss' 'libnotify' 'libxss' 'libxtst' 'at-spi2-core' \
13
'e2fsprogs' 'libsecret' 'mesa' 'xdg-utils' 'alsa-lib' 'libcups')
14
makedepends=('nodejs>=22' 'pnpm' 'make' 'gcc' 'g++' 'python')
15
provides=('pi-gui')
16
conflicts=('pi-gui-bin')
17
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/minghinmatthewlam/pi-gui/archive/refs/tags/v${pkgver}.tar.gz")
18
sha256sums=('920e110e7876821458fcc2ec3c3cfcaca0486acd5d8bf97c6093860b2b65edb2')
19
20
build() {
21
cd "${pkgname}-${pkgver}"
22
23
# Keep all package manager / Electron caches inside the build dir so the
24
# build never writes to the user's home during makepkg.
25
export PNPM_HOME="${srcdir}/.pnpm-home"
26
export PNPM_STORE_DIR="${srcdir}/.pnpm-store"
27
export ELECTRON_CACHE="${srcdir}/.cache/electron"
28
export ELECTRON_BUILDER_CACHE="${srcdir}/.cache/electron-builder"
29
30
# Install dependencies using the lockfile (compiles native deps, e.g. node-pty).
31
pnpm install --frozen-lockfile
32
33
# Run the desktop workspace's own Linux packaging script: builds the
34
# shared workspaces + electron-vite bundles, then runs
35
# electron-builder --linux --dir --publish never. The unpacked Electron
36
# app is written to apps/desktop/release/linux-unpacked (see
37
# apps/desktop/electron-builder.yml: directories.output=release).
38
# Do not use 'pnpm build' at the repo root: it only produces the JS
39
# bundles (and the website) and never runs electron-builder, so no
40
# compiled Electron binary would exist for package().
41
cd apps/desktop
42
pnpm run package:linux:dir
43
}
44
45
package() {
46
cd "${pkgname}-${pkgver}/apps/desktop/release/linux-unpacked"
47
48
install -dm755 "$pkgdir/opt/pi-gui"
49
cp -a . "$pkgdir/opt/pi-gui/"
50
51
# Chrome Sandbox needs the setuid bit for Chromium's sandbox to run
52
# without --no-sandbox (extraction drops it).
53
install -m4755 chrome-sandbox "$pkgdir/opt/pi-gui/chrome-sandbox"
54
55
install -dm755 "$pkgdir/usr/bin"
56
ln -sf /opt/pi-gui/pi-gui "$pkgdir/usr/bin/pi-gui"
57
58
# Icon (also shipped as extraResources in the unpacked app)
59
install -dm755 "$pkgdir/usr/share/pixmaps"
60
install -Dm644 "$srcdir/${pkgname}-${pkgver}/apps/desktop/resources/icon.png" \
61
"$pkgdir/usr/share/pixmaps/pi-gui.png"
62
63
# Desktop Entry
64
install -dm755 "$pkgdir/usr/share/applications"
65
install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/pi-gui.desktop" << 'DESKTOP'
66
[Desktop Entry]
67
Name=pi-gui
68
Comment=Desktop shell for pi
69
Exec=pi-gui
70
Icon=pi-gui
71
Terminal=false
72
Type=Application
73
Categories=Development;
74
# Verify with: xprop WM_CLASS (Electron derives it from app name "pi")
75
StartupWMClass=Pi
76
DESKTOP
77
78
# License
79
install -Dm644 "$srcdir/${pkgname}-${pkgver}/LICENSE" \
80
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
81
}
82
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-03 00:04:01 | Low | 1 |