anima-engine
LOW
maintainer swordreforge
0 votes
scanned 2026-11-05 16:09:47.219016
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
2
pkgname=anima-engine
3
pkgver=0.1.1
4
pkgrel=1
5
pkgdesc="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."
8
arch=('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.
12
options=(!lto)
13
license=('MIT')
14
url="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.
19
depends=('glibc' 'vulkan-icd-loader' 'wayland')
20
makedepends=('rust' 'gcc') # gcc is for the vendored bc7enc_rdo, which the bc7 feature compiles
21
optdepends=(
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
30
source=("$pkgname-$pkgver.tar.gz::https://github.com/swordreforge/linux_animeengine_git/archive/v$pkgver.tar.gz")
31
sha256sums=('95f0b31ea4c123e1e757951c75240c7adcb3a87745d26f8eebd7a55cddd6f10f')
32
33
build() {
34
cd "$_archive-$pkgver"
35
cargo build --release --all-features --locked
36
}
37
38
package() {
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
51
check() {
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) | Severity | Rules |
|---|---|---|
| 2026-11-05 16:09:47 | Low | 1 |