Package Details: musicfree-desktop 0.0.8-5

Git Clone URL: https://aur.archlinux.org/musicfree-desktop.git (read-only, click to copy)
Package Base: musicfree-desktop
Description: Plug-in, customized, ad-free music player.插件化、定制化、无广告的免费音乐播放器
Upstream URL: https://musicfree.catcat.work/
Keywords: electron free music music-player react typescript
Licenses: GPL-3.0-only
Conflicts: musicfree-desktop
Submitter: zxp19821005
Maintainer: zxp19821005
Last Packager: zxp19821005
Votes: 1
Popularity: 0.000986
First Submitted: 2023-08-01 10:46 (UTC)
Last Updated: 2026-10-14 01:13 (UTC)

Latest Comments

1 2 Next › Last »

zxp19821005 commented on 2026-10-14 01:14 (UTC)

@taotieren 感谢反馈,根据你的建议做了相应的修改。

taotieren commented on 2026-10-13 10:21 (UTC)

zip权限文件,是 devtools 里面的 extra 环境读写的文件碰到 root 权限的文件。extra 环境是非 root 权限执行的。

taotieren commented on 2026-10-13 10:17 (UTC)

这是本地修复后通过 devtools 的 extra 干净环境测试

_get_app_dir() {
    local d

    while IFS= read -r d; do
        [[ -d "${d}/resources" ]] && { echo "${d}"; return 0; }
    done < <(find "${srcdir}" -type d \( -name '*-linux-x64' -o -name '*-linux-arm64' \) \
        -not -path '*/node_modules/*' 2>/dev/null)

    while IFS= read -r d; do
        [[ -d "${d}/resources" ]] && { echo "${d}"; return 0; }
    done < <(find "${srcdir}" -type d -name resources -not -path '*/node_modules/*' \
        -printf '%h\n' 2>/dev/null | sort -u)

    return 1
}
_use_local_electron_for_forge() {
    local _v="${SYSTEM_ELECTRON_VERSION}"
    local _zd="${srcdir}/electron-zips"
    local _copy="${srcdir}/electron-dist-copy"
    case "${CARCH}" in
        aarch64)    _arch=arm64 ;;
        x86_64)     _arch=x64   ;;
    esac
    local _zf="${_zd}/electron-v${_v}-linux-${_arch}.zip"

    install -dm755 "${_zd}"
    rm -f "${_zf}"

    ( cd "${ELECTRON_DIST}" \
        && find . \( -type f -o -type l \) -readable -print \
        | zip -@ -0 -q -y "${_zf}" )

    [[ -s "${_zf}" ]] || { echo "ERROR: electron zip 生成失败(目录不可读?)"; return 1; }

    find . -name "forge.config.*" ! -path "*/node_modules/*" -print0 | while IFS= read -r -d '' _cfg; do
        sed -i "/packagerConfig:[[:space:]]*{/a\\    electronZipDir: '${_zd}'," "${_cfg}"
    done
}
build() {
    cd "$(_get_project_dir)"
    _ensure_local_nvm
    _set_build_env
    export NODE_ENV=production
    bun run package
    local _src="$(_get_project_dir)"
    case "${CARCH}" in
        aarch64)    _archrem=x64    ;;
        x86_64)     _archrem=arm    ;;
    esac
    local _app_dir; _app_dir="$(_get_app_dir)"
    if [[ -z "${_app_dir}" ]]; then
        echo "警告:未定位到 forge 输出目录,跳过架构清理"
        return 0
    fi
    echo "app dir: ${_app_dir}"
    local _app="${_app_dir}/resources/app"
    [[ -d "${_app}" ]] || { echo "无 app 目录,无需清理"; return 0; }

    find "${_app}" -type d \
        \( -name 'darwin*' -o -name '*android*' -o -name 'win32*' -o -name "*${_archrem}*" \) \
        -prune -exec rm -rf {} +
}
package() {
    install -Dm755 "${srcdir}/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}"
    install -Dm755 -d "${pkgdir}/usr/lib/${pkgname}"

    local _app_dir; _app_dir="$(_get_app_dir)"
    if [[ -z "${_app_dir}" || ! -d "${_app_dir}/resources" ]]; then
        error "无法定位 forge 输出目录(resources 不存在)"
        return 1
    fi
    cp -a "${_app_dir}/resources/." "${pkgdir}/usr/lib/${pkgname}/"

    local _src; _src="$(_get_project_dir)"
    install -Dm644 "${_src}/res/logo.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
    install -Dm644 "${_src}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
}

zxp19821005 commented on 2026-09-30 02:19 (UTC)

@taotieren 你说的编译依赖我已经添加,但是zip权限问题我确实是没有遇到。要不你看看你的环境变量先?

taotieren commented on 2026-09-24 03:38 (UTC)

还缺少这些编译依赖

python-build
python-installer
python-wheel
python-setuptools

补充后还提示 zip 权限问题

[SUCCESS] Preparing native dependencies: 1 / 1
[STARTED] Finalizing package
[SUCCESS] Finalizing package
[SUCCESS] Packaging for x64 on linux
[SUCCESS] Packaging application
[STARTED] Running postPackage hook
[SUCCESS] Running postPackage hook
zip warning: Permission denied
==> ERROR: A failure occurred in build().
    Aborting...

zxp19821005 commented on 2026-09-23 07:24 (UTC)

@taotieren 感谢反馈,已添加.

taotieren commented on 2026-09-22 06:06 (UTC)

用 extra 环境测试发现还缺少 zip 编译依赖

[SUCCESS] Preparing native dependencies: 1 / 1
[STARTED] Finalizing package
[SUCCESS] Finalizing package
[SUCCESS] Packaging for x64 on linux
[SUCCESS] Packaging application
[STARTED] Running postPackage hook
[SUCCESS] Running postPackage hook
/startdir/PKGBUILD: line 80: zip: command not found
==> ERROR: A failure occurred in build().
    Aborting...

zxp19821005 commented on 2026-09-22 05:45 (UTC)

@taotieren 感谢反馈, 我改用了bun,编译打包运行之后正常,你可以试试看。

taotieren commented on 2026-09-22 02:55 (UTC)

使用 arch devtools 里面的 extra 环境进行编译,有如下报错,npm 12 更新后对包下载有限制会不会和这个有关。

❯ yay -Qo /usr/bin/extra-x86_64-build
/usr/bin/extra-x86_64-build 由 devtools 1:1.5.1-3 所拥有
> musicfree-desktop@0.0.8 prepare
> husky install

install command is deprecated

added 1483 packages, and audited 1484 packages in 36s

113 packages are looking for funding
  run `npm fund` for details

101 vulnerabilities (10 low, 17 moderate, 67 high, 7 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
npm notice
npm notice New major version of npm available! 10.8.2 -> 12.0.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.0.2
npm notice To update run: npm install -g npm@12.0.2
npm notice
npm warn skipping integrity check for git dependency ssh://git@github.com/electron/node-gyp.git
npm warn deprecated glob@8.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm warn deprecated tar@6.2.1: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me

added 41 packages, removed 14 packages, changed 13 packages, and audited 1511 packages in 18s

126 packages are looking for funding
  run `npm fund` for details

97 vulnerabilities (9 low, 17 moderate, 64 high, 7 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
==> Starting build()...
v20.20.2 is already installed.
Now using node v20.20.2 (npm v10.8.2)
Now using node v20.20.2 (npm v10.8.2)

> musicfree-desktop@0.0.8 package
> electron-forge package

[STARTED] Checking your system
[STARTED] Checking git exists
[STARTED] Checking node version
[STARTED] Checking packageManager version
[TITLE] Found git@2.55.0
[SUCCESS] Found git@2.55.0
[TITLE] Found node@20.20.2
[SUCCESS] Found node@20.20.2
[TITLE] Found npm@10.8.2
[SUCCESS] Found npm@10.8.2
[SUCCESS] Checking your system
[STARTED] Preparing to package application
[SUCCESS] Preparing to package application
[STARTED] Running packaging hooks
[STARTED] Running generateAssets hook
[SUCCESS] Running generateAssets hook
[STARTED] Running prePackage hook
[STARTED] [plugin-webpack] Preparing native dependencies
[TITLE] [plugin-webpack] Preparing native dependencies
[TITLE] [plugin-webpack] Preparing native dependencies: 0 / 1
[TITLE] [plugin-webpack] Preparing native dependencies: 1 / 1
[TITLE] [plugin-webpack] Preparing native dependencies: 1 / 2
[TITLE] [plugin-webpack] Preparing native dependencies: 2 / 2
[SUCCESS] [plugin-webpack] Preparing native dependencies: 2 / 2
[STARTED] [plugin-webpack] Building webpack bundles
[BABEL] Note: The code generator has deoptimised the styling of /build/musicfree-desktop/src/musicfree-desktop-0.0.8/node_modules/hls.js/dist/hls.js as it exceeds the max of 500KB.
[SUCCESS] [plugin-webpack] Building webpack bundles
[SUCCESS] Running prePackage hook
[SUCCESS] Running packaging hooks
[STARTED] Packaging application
[DATA] Determining targets...
[STARTED] Packaging for x64 on linux
[STARTED] Copying files

An unhandled rejection has occurred inside Forge:
Error: EACCES: permission denied, copyfile '/usr/lib/electron25/chromedriver.debug.gdb-index' -> '/tmp/electron-packager/linux-x64-template-nMzFkS/chromedriver.debug.gdb-index'

==> ERROR: A failure occurred in build().
    Aborting...