diff options
-rw-r--r-- | .SRCINFO | 31 | ||||
-rw-r--r-- | PKGBUILD | 90 | ||||
-rw-r--r-- | nuclear-player.install | 23 | ||||
-rw-r--r-- | nuclear-player.sh | 16 | ||||
-rw-r--r-- | nuclear.desktop | 9 |
5 files changed, 98 insertions, 71 deletions
@@ -1,20 +1,21 @@ pkgbase = nuclear-player pkgdesc = A free, multiplatform music player app that streams from multiple sources. - pkgver = 0.4.3 - pkgrel = 1 + pkgver = 0.6.30 + pkgrel = 6 url = http://nuclear.gumblert.tech/ - install = nuclear-player.install - arch = x86_64 - license = GPL3 - depends = gconf - depends = libnotify - depends = libappindicator-gtk3 - depends = libxtst - depends = nss - source = https://github.com/nukeop/nuclear/releases/download/v0.4.3/nuclear_0.4.3_amd64.deb - source = nuclear.desktop - md5sums = 96806f286f8613042e2b860d7e8e22d9 - md5sums = 02328fb5995b2e92b3ee11dca5c6b262 + arch = any + license = AGPL-3.0-only + makedepends = gendesk + makedepends = npm + makedepends = nvm + makedepends = base-devel + makedepends = gcc + makedepends = git + makedepends = python>=3 + depends = electron12-bin + source = nuclear-player.git::git+https://github.com/nukeop/nuclear#tag=v0.6.30 + source = nuclear-player.sh + sha256sums = SKIP + sha256sums = dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8 pkgname = nuclear-player - @@ -1,30 +1,72 @@ -# Maintainer: Mikel Pintado <mikelaitornube2010@gmail.com> - +# Maintainer: zxp19821005 <zxp19821005 at 163 dot com> +# Contributor: Mikel Pintado <mikelaitornube2010@gmail.com> pkgname=nuclear-player -pkgver=0.4.3 -pkgrel=1 +_pkgname="Nuclear Player" +pkgver=0.6.30 +_electronversion=12 +_nodeversion=18 +pkgrel=6 pkgdesc="A free, multiplatform music player app that streams from multiple sources." -arch=('x86_64') +arch=('any') url="http://nuclear.gumblert.tech/" -install=nuclear-player.install -license=('GPL3') -depends=('gconf' 'libnotify' 'libappindicator-gtk3' 'libxtst' 'nss') -source=( - https://github.com/nukeop/nuclear/releases/download/v${pkgver}/nuclear_${pkgver}_amd64.deb - nuclear.desktop +_ghurl="https://github.com/nukeop/nuclear" +license=('AGPL-3.0-only') +depends=( + "electron${_electronversion}-bin" +) +makedepends=( + 'gendesk' + 'npm' + 'nvm' + 'base-devel' + 'gcc' + 'git' + 'python>=3' ) -md5sums=( - '96806f286f8613042e2b860d7e8e22d9' - '02328fb5995b2e92b3ee11dca5c6b262' +source=( + "${pkgname}.git::git+${_ghurl}#tag=v${pkgver}" + "${pkgname}.sh" ) - -package() { - tar xf data.tar.xz - - cp --preserve=mode -r usr "${pkgdir}" - cp --preserve=mode -r opt "${pkgdir}" - - find "${pkgdir}" -type d -exec chmod 755 {} + - - cp --preserve=mode ${srcdir}/nuclear.desktop ${pkgdir}/usr/share/applications +sha256sums=('SKIP' + 'dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8') +_ensure_local_nvm() { + export NVM_DIR="${srcdir}/.nvm" + source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]] + nvm install "${_nodeversion}" + nvm use "${_nodeversion}" +} +build() { + sed -e "s|@electronversion@|${_electronversion}|" \ + -e "s|@appname@|${pkgname}|g" \ + -e "s|@runname@|app.asar|g" \ + -e "s|@options@||g" \ + -i "${srcdir}/${pkgname}.sh" + _ensure_local_nvm + gendesk -q -f -n --categories="AudioVideo" --name="${_pkgname}" --exec="${pkgname} %U" + cd "${srcdir}/${pkgname}.git" + export npm_config_build_from_source=true + export npm_config_cache="${srcdir}/.npm_cache" + export ELECTRON_SKIP_BINARY_DOWNLOAD=1 + export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" + export npm_config_target="${SYSTEM_ELECTRON_VERSION}" + export ELECTRONVERSION="${_electronversion}" + export npm_config_disturl=https://electronjs.org/headers + HOME="${srcdir}/.electron-gyp" + if [ `curl ifconfig.co/country` = "China" ];then + echo 'registry="https://registry.npmmirror.com/"' >> .npmrc + echo 'electron_mirror="https://registry.npmmirror.com/-/binary/electron/"' >> .npmrc + echo 'electron_builder_binaries_mirror="https://registry.npmmirror.com/-/binary/electron-builder-binaries/"' >> .npmrc + else + echo "Your network is OK." + fi + sed "s|--linux --publish onTag|build --dir|g;s|env.VERSION|version|g" -i package.json + npm install --legacy-peer-deps + npm run build:linux } +package() { + install -Dm755 "${srcdir}/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}" + install -Dm755 "${srcdir}/${pkgname}.git/release/linux-"*/resources/app.asar -t "${pkgdir}/usr/lib/${pkgname}" + cp -r "${srcdir}/${pkgname}.git/release/linux-"*/resources/{bin,media,musicgenresicons} "${pkgdir}/usr/lib/${pkgname}" + install -Dm644 "${srcdir}/${pkgname}.git/build/icons/512x512.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png" + install -Dm644 "${srcdir}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications" +}
\ No newline at end of file diff --git a/nuclear-player.install b/nuclear-player.install deleted file mode 100644 index e61c3ac88813..000000000000 --- a/nuclear-player.install +++ /dev/null @@ -1,23 +0,0 @@ -post_install () { - ln -sf '/opt/nuclear/nuclear' '/usr/local/bin/nuclear' -} - -pre_upgrade () { - rm -rf /opt/nuclear - rm -rf /usr/share/applications/nuclear.desktop - rm -rf /usr/share/doc/nuclear - rm -rf /usr/share/icons/hicolor/*/nuclear.png - rm -rf /usr/local/bin/nuclear -} - -post_upgrade () { - ln -sf '/opt/nuclear/nuclear' '/usr/local/bin/nuclear' -} - -post_remove () { - rm -rf /opt/nuclear - rm -rf /usr/share/applications/nuclear.desktop - rm -rf /usr/share/doc/nuclear - rm -rf /usr/share/icons/hicolor/*/nuclear.png - rm -rf /usr/local/bin/nuclear -} diff --git a/nuclear-player.sh b/nuclear-player.sh new file mode 100644 index 000000000000..7ddcaab8d734 --- /dev/null +++ b/nuclear-player.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e +_APPDIR="/usr/lib/@appname@" +_RUNNAME="${_APPDIR}/@runname@" +_OPTIONS="@options@" +export PATH="${_APPDIR}:${PATH}" +export LD_LIBRARY_PATH="${_APPDIR}/swiftshader:${_APPDIR}/lib:${LD_LIBRARY_PATH}" +export ELECTRON_IS_DEV=0 +export ELECTRON_FORCE_IS_PACKAGED=true +export NODE_ENV=production +cd "${_APPDIR}" +if [[ $EUID -ne 0 ]] || [[ $ELECTRON_RUN_AS_NODE ]]; then + exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" "$@" || exit $? +else + exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" --no-sandbox "$@" || exit $? +fi
\ No newline at end of file diff --git a/nuclear.desktop b/nuclear.desktop deleted file mode 100644 index af30331ef6ef..000000000000 --- a/nuclear.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=Nuclear -Comment=Streaming music player that finds music sources automatically. -Comment[es]=Reproductor que retransmite música desde fuentes encontradas automáticamente. -Exec="/opt/nuclear/nuclear" %U -Terminal=false -Type=Application -Icon=/usr/share/icons/hicolor/0x0/apps/nuclear.png -Categories=Audio;AudioVideo;Network;Player;Music; |