anima-engine

LOW
maintainer swordreforge 0 votes scanned 2026-11-05 16:09:47.219016
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: AnimaEngine
2pkgname=anima-engine
3pkgver=0.1.1
4pkgrel=1
5pkgdesc="Animated desktop overlays, a Workshop browser, and AI background removal. Builds from source
6 with every feature: about ten to twenty minutes, because the release profile uses fat LTO and one
7 codegen unit."
8arch=('x86_64')
9# `makepkg` puts -flto in the C flags, which reaches `ring`'s C and assembly but not the Rust that links
10# against it; the result is undefined ring symbols at link time. The LTO this package actually wants is the
11# one in Cargo's release profile, which is unaffected by this.
12options=(!lto)
13license=('MIT')
14url="https://github.com/swordreforge/linux_animeengine_git"
15# `ldd` over the six binaries gives glibc and gcc-libs and nothing else: Vulkan and the Wayland client are
16# opened at run time (the overlay's `wayland-client` uses dlopen; wgpu loads Vulkan through ash), so they are
17# dependencies because the window cannot render without them, not because a linker would have said so.
18# ONNX Runtime is deliberately absent: `ort-sys` links it statically, which `ldd` confirms by not listing it.
19depends=('glibc' 'vulkan-icd-loader' 'wayland')
20makedepends=('rust' 'gcc') # gcc is for the vendored bc7enc_rdo, which the bc7 feature compiles
21optdepends=(
22 'mesa: a Vulkan driver, without which the overlay and the studio cannot render'
23 'ffmpeg: render and probe video for the mp4 tools and the AI removal (ffprobe comes with it)'
24 'steamcmd: download and sync Workshop items'
25 'xdg-desktop-portal: file dialogs in the studio'
26 'libsteam_api: Steam presence, if built with the steamworks feature'
27)
28# The tarball is named after `$pkgname`; its contents carry the repository name, which is a different string.
29_archive=linux_animeengine_git
30source=("$pkgname-$pkgver.tar.gz::https://github.com/swordreforge/linux_animeengine_git/archive/v$pkgver.tar.gz")
31sha256sums=('95f0b31ea4c123e1e757951c75240c7adcb3a87745d26f8eebd7a55cddd6f10f')
32
33build() {
34 cd "$_archive-$pkgver"
35 cargo build --release --all-features --locked
36}
37
38package() {
39 cd "$_archive-$pkgver"
40 # The install script already takes a prefix and already validates what it copies; `--no-validate` keeps
41 # desktop-file-utils and appstream out of the build dependencies, and the validators run in check() instead.
42 # `install.sh` has two destinations, not one: binaries go under `PREFIX`, desktop entries and icons
43 # under `XDG_DATA_HOME`. Setting only the first put those into the packager's own home and left the
44 # package without a menu entry — a real `makepkg` is the only thing that would have shown it.
45 PREFIX="$pkgdir/usr" XDG_DATA_HOME="$pkgdir/usr/share" ./packaging/install.sh --no-validate
46 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
47 install -Dm644 packaging/anima-shepherd.service \
48 "$pkgdir/usr/lib/systemd/user/anima-shepherd.service"
49}
50
51check() {
52 cd "$_archive-$pkgver"
53 desktop-file-validate "$pkgdir/usr/share/applications/"*.desktop 2>/dev/null ||
54 desktop-file-validate packaging/*.desktop
55}
56

Scan history

Scanned at (UTC)SeverityRules
2026-11-05 16:09:47 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