toonflow

LOW
maintainer lucas007 0 votes scanned 2026-10-21 13:31:17.016028
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: lucaszhou007@163.com
2pkgname=toonflow
3pkgver=2.0.7
4pkgrel=1
5pkgdesc="AI 驱动的短剧 / 漫剧创作平台(Web 界面 + 本地服务端)"
6arch=('x86_64')
7url="https://github.com/HBAI-Ltd/Toonflow-app"
8license=('MIT')
9depends=('bun')
10optdepends=(
11 'ffmpeg: 在设置中选择“系统”模式以复用系统 FFmpeg'
12)
13# 上游标签 v2.0.7 对应提交 30139c931e80476caa718b31684b86383c6e83ce。
14# 使用标签归档而非 git 仓库:下载量小一个数量级(约 11 MB 对 209 MB),
15# 且内容固定、可校验,不受上游强制移动标签的影响。
16source=("$pkgname-$pkgver.tar.gz::https://github.com/HBAI-Ltd/Toonflow-app/archive/refs/tags/v$pkgver.tar.gz"
17 'toonflow' 'toonflow.service' 'toonflow.sysusers' 'toonflow.conf')
18sha256sums=('855cab916ac0163c3d39b944b52c3729605d36493a00a3ec7391ca34d00acccb'
19 'c8c2a793076815c041c6e48d46da6a2c58d086dd1fb7240286ae7a4ded423f27'
20 '68eae09d3142f626cde943801fa2d1499bb23ec0bd2d87d7667d4ad63d28b9b0'
21 '807edaa2f8fdc12d64efea06a59d49a4e9ada7a27eb95dd761a246de67a3ebb2'
22 '8d9bf4cd8ddf67b9e9f6f35f825e1162eb42b876a4b237692722dc4f87447194')
23# /etc 下的可修改配置,升级时保留用户改动(生成 .pacnew)
24backup=('etc/conf.d/toonflow')
25
26prepare() {
27 cd "Toonflow-app-$pkgver"
28
29 # 上游 bun.lock 固化了已停止服务的 registry.npm.taobao.org 以及国内镜像
30 # registry.npmmirror.com 的下载地址,统一改写为官方 npm registry。
31 # 仅替换下载地址,不影响版本号与 sha512 完整性校验,--frozen-lockfile 仍可正常解析。
32 sed -i \
33 -e 's|http://registry\.npm\.taobao\.org|https://registry.npmjs.org|g' \
34 -e 's|https://registry\.npmmirror\.com|https://registry.npmjs.org|g' \
35 bun.lock
36}
37
38build() {
39 cd "Toonflow-app-$pkgver"
40
41 # electrobun.config.ts 通过 process.env.appVersion 注入版本号,缺省会回落到 2.0.0。
42 export appVersion="${pkgver}"
43
44 # 注意:构建需要访问 npm registry 下载依赖。
45 bun install --frozen-lockfile
46 bun run build:server
47}
48
49check() {
50 cd "Toonflow-app-$pkgver"
51
52 # 验证服务端入口与关键产物已生成(任一缺失则 check 失败,makepkg 中止)。
53 if [[ ! -f build/server/index.js ]]; then
54 printf 'build/server/index.js 缺失\n' >&2
55 return 1
56 fi
57 if [[ ! -d build/web ]]; then
58 printf 'build/web 缺失\n' >&2
59 return 1
60 fi
61
62 # 产物中不应残留构建机的绝对路径(上游曾因此导致运行时找不到 WASM / 原生文件)。
63 if grep -qF "$srcdir" build/server/index.js; then
64 printf 'build/server/index.js 中残留构建路径:%s\n' "$srcdir" >&2
65 return 1
66 fi
67}
68
69package() {
70 cd "Toonflow-app-$pkgver"
71
72 # 运行时产物整体安装到 /usr/lib/toonflow
73 install -d "${pkgdir}/usr/lib/${pkgname}"
74 cp -r build "${pkgdir}/usr/lib/${pkgname}/build"
75
76 # 上游产物中 MCP stdio 与 anydoc CLI 声明的是 node 解释器,但本包运行时为 bun
77 # (MCP stdio 由 bun 启动,anydoc CLI 亦可用 bun 执行),改写 shebang 保持一致。
78 sed -i 's|^#!/usr/bin/env node$|#!/usr/bin/env bun|' \
79 "${pkgdir}/usr/lib/${pkgname}/build/mcp/stdio.js" \
80 "${pkgdir}/usr/lib/${pkgname}/build/server/node_modules/@firecrawl/anydoc/cli.js"
81
82 # 启动脚本
83 install -Dm755 "${srcdir}/toonflow" "${pkgdir}/usr/bin/toonflow"
84
85 # systemd 服务(专用账户 + 状态目录)
86 install -Dm644 "${srcdir}/toonflow.service" "${pkgdir}/usr/lib/systemd/system/toonflow.service"
87
88 # 服务专用系统账户(pacman 的 systemd 钩子会自动调用 systemd-sysusers)
89 install -Dm644 "${srcdir}/toonflow.sysusers" "${pkgdir}/usr/lib/sysusers.d/toonflow.conf"
90
91 # 可在 /etc/conf.d/toonflow 中修改端口、数据目录等(已列入 backup)
92 install -Dm644 "${srcdir}/toonflow.conf" "${pkgdir}/etc/conf.d/toonflow"
93
94 # 许可证
95 install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
96}
97

Scan history

Scanned at (UTC)SeverityRules
2026-10-21 13:31:17 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