toonflow
LOW
maintainer lucas007
0 votes
scanned 2026-10-21 13:31:17.016028
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
2
pkgname=toonflow
3
pkgver=2.0.7
4
pkgrel=1
5
pkgdesc="AI 驱动的短剧 / 漫剧创作平台(Web 界面 + 本地服务端)"
6
arch=('x86_64')
7
url="https://github.com/HBAI-Ltd/Toonflow-app"
8
license=('MIT')
9
depends=('bun')
10
optdepends=(
11
'ffmpeg: 在设置中选择“系统”模式以复用系统 FFmpeg'
12
)
13
# 上游标签 v2.0.7 对应提交 30139c931e80476caa718b31684b86383c6e83ce。
14
# 使用标签归档而非 git 仓库:下载量小一个数量级(约 11 MB 对 209 MB),
15
# 且内容固定、可校验,不受上游强制移动标签的影响。
16
source=("$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')
18
sha256sums=('855cab916ac0163c3d39b944b52c3729605d36493a00a3ec7391ca34d00acccb'
19
'c8c2a793076815c041c6e48d46da6a2c58d086dd1fb7240286ae7a4ded423f27'
20
'68eae09d3142f626cde943801fa2d1499bb23ec0bd2d87d7667d4ad63d28b9b0'
21
'807edaa2f8fdc12d64efea06a59d49a4e9ada7a27eb95dd761a246de67a3ebb2'
22
'8d9bf4cd8ddf67b9e9f6f35f825e1162eb42b876a4b237692722dc4f87447194')
23
# /etc 下的可修改配置,升级时保留用户改动(生成 .pacnew)
24
backup=('etc/conf.d/toonflow')
25
26
prepare() {
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
38
build() {
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
49
check() {
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
69
package() {
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) | Severity | Rules |
|---|---|---|
| 2026-10-21 13:31:17 | Low | 1 |