cpplayer-bin
LOW
maintainer AuroraNasa
0 votes
scanned 2026-10-07 14:05:47.471701
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: CPPlayer <在此填你的 AUR 用户名 / 邮箱>
2
#
3
# 由 CI 自动更新:`.github/workflows/desktop-release.yml` 的 aur job 在每次 stable
4
# 发布后 clone AUR 仓库、重写本文件的 pkgver / pkgrel / url / source / sha256sums
5
# 五行、重新生成 .SRCINFO 并 push。**其余内容**(依赖、package()、desktop 条目等)
6
# 改本仓库里的这份模板即可,CI 会原样带上去。
7
#
8
# 产物布局:自包含应用(内置 JBR 运行时)整体装进 /opt/CPPlayer,
9
# /usr/bin/cpplayer 是跳板脚本(exec /opt/CPPlayer/bin/CPPlayer "$@")。
10
# 与 app/build.gradle.kts 的 packageLinuxTarGz 产出的 tar.gz 布局对应:
11
# CPPlayer/bin/CPPlayer 启动器
12
# CPPlayer/lib/runtime/... jlink 裁剪的 JBR 运行时
13
# CPPlayer/lib/CPPlayer.png 等 图标(jpackage 放置)
14
15
pkgname=cpplayer-bin
16
pkgver=1.4.8
17
pkgrel=1
18
pkgdesc="Cross-platform music player (Material 3 Expressive) - prebuilt binaries"
19
arch=('x86_64')
20
url="https://github.com/Aurora-Nasa-1/CPPlayer-KMP"
21
# 仓库目前没有 LICENSE 文件:先用 LicenseRef-UNLICENSED 占位。
22
# 上游加了 LICENSE 后,把这里改成对应 SPDX 标识(MIT / GPL-3.0-or-later ...)。
23
license=('LicenseRef-UNLICENSED')
24
# 应用自带 JBR 运行时,不需要 java-runtime;这些是运行时镜像动态链接的系统库:
25
# alsa-lib —— rodio/CPAL 播放走 ALSA;fontconfig/X11 组 —— AWT/Skiko 窗口与字体。
26
depends=('alsa-lib' 'fontconfig' 'libx11' 'libxext' 'libxrender' 'libxtst' 'libxi')
27
provides=('cpplayer')
28
conflicts=('cpplayer')
29
# ⚠️ 下面这行被 CI 的 sed 整行重写(url、下载地址、真实 sha256);
30
# 手工构建时先跑 `updpkgsums`(或 `makepkg -g`)把 SKIP 换成真实哈希。
31
source=("CPPlayer-${pkgver}-linux-x64.tar.gz::https://github.com/Aurora-Nasa-1/CPPlayer-KMP/releases/download/v1.4.8/CPPlayer-1.4.8-linux-x64.tar.gz")
32
sha256sums=('46eabdfbb20b4f7cadac7c2b46eec7dae0c2684e0a1b07ea961b926201c453ec')
33
34
package() {
35
# 自包含应用整体进 /opt(与 google-chrome / jetbrains-toolbox 同一做法)。
36
install -dm755 "${pkgdir}/opt"
37
cp -a "${srcdir}/CPPlayer" "${pkgdir}/opt/CPPlayer"
38
39
# tar.gz 正常情况下已带 755;这里是最后一道保险,防止权限位在传输中丢失。
40
chmod 755 "${pkgdir}/opt/CPPlayer/bin/CPPlayer"
41
find "${pkgdir}/opt/CPPlayer/lib/runtime/bin" -maxdepth 1 -type f -exec chmod 755 {} +
42
if [ -f "${pkgdir}/opt/CPPlayer/lib/runtime/lib/jspawnhelper" ]; then
43
chmod 755 "${pkgdir}/opt/CPPlayer/lib/runtime/lib/jspawnhelper"
44
fi
45
46
# 跳板脚本而不是软链:jpackage 启动器按自身真实路径找 ../lib/<名>.cfg,
47
# 经 sh -c exec 调用不受 /usr/bin 下符号链接解析的影响。
48
install -dm755 "${pkgdir}/usr/bin"
49
printf '#!/bin/sh\nexec /opt/CPPlayer/bin/CPPlayer "$@"\n' > "${pkgdir}/usr/bin/cpplayer"
50
chmod 755 "${pkgdir}/usr/bin/cpplayer"
51
52
# 桌面图标:jpackage 的 Linux 应用镜像把图标放在 lib/<应用名>.png,
53
# 这里不猜死文件名,取 lib 下第一张 png(找不到就跳过,不影响启动)。
54
_icon="$(find "${pkgdir}/opt/CPPlayer/lib" -maxdepth 1 -name '*.png' -print -quit 2>/dev/null || true)"
55
if [ -n "${_icon}" ]; then
56
install -Dm644 "${_icon}" "${pkgdir}/usr/share/pixmaps/cpplayer.png"
57
fi
58
59
install -Dm644 /dev/stdin "${pkgdir}/usr/share/applications/cpplayer.desktop" <<'DESKTOP'
60
[Desktop Entry]
61
Type=Application
62
Name=CPPlayer
63
GenericName=Music Player
64
Comment=Cross-platform music player (Material 3 Expressive)
65
Exec=/usr/bin/cpplayer %U
66
Icon=cpplayer
67
Categories=AudioVideo;Audio;Music;Player;
68
Terminal=false
69
DESKTOP
70
}
71
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-07 14:05:47 | Low | 1 |