summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO31
-rw-r--r--PKGBUILD90
-rw-r--r--nuclear-player.install23
-rw-r--r--nuclear-player.sh16
-rw-r--r--nuclear.desktop9
5 files changed, 98 insertions, 71 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2d34cbaeb274..48087103e358 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
-
diff --git a/PKGBUILD b/PKGBUILD
index 1cdaad83c1c4..135e507abfc0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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;