cpplayer-bin

LOW
maintainer AuroraNasa 0 votes scanned 2026-10-07 14:05:47.471701
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: 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
15pkgname=cpplayer-bin
16pkgver=1.4.8
17pkgrel=1
18pkgdesc="Cross-platform music player (Material 3 Expressive) - prebuilt binaries"
19arch=('x86_64')
20url="https://github.com/Aurora-Nasa-1/CPPlayer-KMP"
21# 仓库目前没有 LICENSE 文件:先用 LicenseRef-UNLICENSED 占位。
22# 上游加了 LICENSE 后,把这里改成对应 SPDX 标识(MIT / GPL-3.0-or-later ...)。
23license=('LicenseRef-UNLICENSED')
24# 应用自带 JBR 运行时,不需要 java-runtime;这些是运行时镜像动态链接的系统库:
25# alsa-lib —— rodio/CPAL 播放走 ALSA;fontconfig/X11 组 —— AWT/Skiko 窗口与字体。
26depends=('alsa-lib' 'fontconfig' 'libx11' 'libxext' 'libxrender' 'libxtst' 'libxi')
27provides=('cpplayer')
28conflicts=('cpplayer')
29# ⚠️ 下面这行被 CI 的 sed 整行重写(url、下载地址、真实 sha256);
30# 手工构建时先跑 `updpkgsums`(或 `makepkg -g`)把 SKIP 换成真实哈希。
31source=("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")
32sha256sums=('46eabdfbb20b4f7cadac7c2b46eec7dae0c2684e0a1b07ea961b926201c453ec')
33
34package() {
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]
61Type=Application
62Name=CPPlayer
63GenericName=Music Player
64Comment=Cross-platform music player (Material 3 Expressive)
65Exec=/usr/bin/cpplayer %U
66Icon=cpplayer
67Categories=AudioVideo;Audio;Music;Player;
68Terminal=false
69DESKTOP
70}
71

Scan history

Scanned at (UTC)SeverityRules
2026-10-07 14:05: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