leafsmith-bin
Package installs a prebuilt AppImage from a project-owned GitHub repository; while the host is not whitelisted, the source is from a plausible project maintainer and the AppImage is verified via checksum, with no obfuscated or malicious behavior evident.
Triggered rules
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 90%): Package installs a prebuilt AppImage from a project-owned GitHub repository; while the host is not whitelisted, the source is from a plausible project maintainer and the AppImage is verified via checksum, with no obfuscated or malicious behavior evident.
PKGBUILD
# Maintainer: Firstpick <firstpick1992@proton.me>
#
# Generated by scripts/aur_package.py from packaging/aur/PKGBUILD.in in
# https://github.com/ClawPick2026/leafsmith for one published release.
# Change the template there: edits made only on AUR are replaced.
pkgname=leafsmith-bin
# The app's command, icon and /opt directory, its Tauri productName (AppImage
# name and resource directory) and its frozen worker.
_appname=leafsmith
_product=Leafsmith
_worker=leafsmith-worker
pkgver=0.1.0rc3
pkgrel=1
pkgdesc='Local-first PDF, document, image and media tools (prebuilt AppImage contents)'
arch=('x86_64')
url='https://github.com/ClawPick2026/leafsmith'
# Application code is MIT. The AppImage bundles libraries under their own
# licenses; their notices are linked from /usr/share/licenses/$pkgname/third-party.
# The release also publishes the exact corresponding sources of the bundled
# Linux libraries (Leafsmith-linux-corresponding-sources.zip).
license=('MIT' 'LicenseRef-Leafsmith-third-party-notices')
# The AppImage bundles GTK, WebKitGTK and the Python worker. These are the
# host libraries it leaves out (glibc, graphics, X11/Wayland, fonts) and the
# shell that runs AppRun.
depends=('bash' 'e2fsprogs' 'expat' 'fontconfig' 'freetype2' 'fribidi' 'glibc'
'gmp' 'harfbuzz' 'hicolor-icon-theme' 'libdrm' 'libglvnd' 'libgpg-error'
'libx11' 'libxcb' 'mesa' 'ttf-font' 'wayland')
provides=("$_appname=$pkgver")
conflicts=("$_appname")
# Install the bundle as released: stripping would corrupt the frozen worker, and
# makepkg's defaults would also drop bundled static and libtool archives.
options=('!strip' '!debug' 'staticlibs' 'libtool' '!purge')
_tag='v0.1.0-rc.3'
_appimage='Leafsmith_0.1.0_amd64.AppImage'
source=("$_appname-$pkgver.AppImage::$url/releases/download/$_tag/$_appimage"
"$_appname.sh"
"$_appname.desktop")
sha256sums=('726ff00e552c8e2666c92d82b155d5b4b91211ff8aa1bc841742cbb1a67c6e97'
'bcb4eae65901538bf38db572040fdbcc9bccae349a8768fe91dfd1dfba67fa8c'
'fa081ec8194a960c7c779407f0de6db700a399ca6e7813db2a4694939cd67b7a')
prepare() {
# The AppImage runtime unpacks its squashfs without FUSE; the app does not run.
rm -rf squashfs-root
chmod u+x "$_appname-$pkgver.AppImage"
"./$_appname-$pkgver.AppImage" --appimage-extract > /dev/null
}
package() {
local app=squashfs-root
local notices="$app/usr/lib/$_product/worker/third-party-licenses"
local file
for file in "$app/AppRun" "$app/usr/bin/$_appname" "$app/usr/lib/$_product/worker/$_worker"; do
[[ -x "$file" ]] || { echo "Unexpected AppImage layout: missing $file" >&2; return 1; }
done
install -d "$pkgdir/opt"
cp -a --no-preserve=ownership "$app" "$pkgdir/opt/$_appname"
# The squashfs stores some copied notices and GSettings schemas world-writable.
chmod -R u+rwX,go+rX,go-w "$pkgdir/opt/$_appname"
install -Dm755 "$_appname.sh" "$pkgdir/usr/bin/$_appname"
install -Dm644 "$_appname.desktop" "$pkgdir/usr/share/applications/$_appname.desktop"
install -Dm644 "$app/usr/share/icons/hicolor/512x512/apps/$_appname.png" \
"$pkgdir/usr/share/icons/hicolor/512x512/apps/$_appname.png"
install -Dm644 "$notices/application-MIT.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
ln -s "/opt/$_appname/usr/lib/$_product/worker/third-party-licenses" \
"$pkgdir/usr/share/licenses/$pkgname/third-party"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 23:23:07 | Low | 2 |