summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD54
-rw-r--r--deezer-enhanced.desktop9
-rw-r--r--deezer-enhanced.js29
4 files changed, 109 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..3fe6e513a18e
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,17 @@
+pkgbase = deezer-enhanced
+ pkgdesc = An unofficial application for Deezer with enhanced features
+ pkgver = 0.1.0
+ pkgrel = 1
+ url = https://github.com/duzda/deezer-enhanced
+ arch = any
+ license = MIT
+ makedepends = yarn
+ depends = electron14
+ source = https://github.com/duzda/deezer-enhanced/archive/v0.1.0.tar.gz
+ source = deezer-enhanced.js
+ source = deezer-enhanced.desktop
+ sha512sums = 03a099bfc0fe9f0404be864b18fd137d957b3a2ef8fa92312fed11ac142b07a5acfdfa19a269d36c42ae6b33e7b1b1f991026ae31e1f24929d7e5a61a49a2579
+ sha512sums = 11275cdfdd6d6224fb4eeadb231edd762317b0c47e99f8858a9eeaa61726a01fb3ae5ae852e15e1b9e7a4dfe08b0bc4466c1d9b659941f87f1508b9dc4fca16a
+ sha512sums = 02deef321066e1b2decce7d35d483a8e88df52d032ddfef9a6b28f8a5fd006d1316dff54f70d8f6b53499e51fc4b4f3d231482b70cdbf6bfc3c57dbfedfe4f22
+
+pkgname = deezer-enhanced
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..85d91d9d4055
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Dušan Simić <dusan.simic1810@gmail.com>
+
+_electron=electron14
+pkgname=deezer-enhanced
+pkgver=0.1.0
+pkgrel=1
+pkgdesc='An unofficial application for Deezer with enhanced features'
+arch=(any)
+url=https://github.com/duzda/deezer-enhanced
+license=(MIT)
+depends=("$_electron")
+makedepends=(yarn)
+source=("$url/archive/v$pkgver.tar.gz"
+ "$pkgname.js"
+ "$pkgname.desktop")
+sha512sums=('03a099bfc0fe9f0404be864b18fd137d957b3a2ef8fa92312fed11ac142b07a5acfdfa19a269d36c42ae6b33e7b1b1f991026ae31e1f24929d7e5a61a49a2579'
+ '11275cdfdd6d6224fb4eeadb231edd762317b0c47e99f8858a9eeaa61726a01fb3ae5ae852e15e1b9e7a4dfe08b0bc4466c1d9b659941f87f1508b9dc4fca16a'
+ '02deef321066e1b2decce7d35d483a8e88df52d032ddfef9a6b28f8a5fd006d1316dff54f70d8f6b53499e51fc4b4f3d231482b70cdbf6bfc3c57dbfedfe4f22')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ yarn --ignore-scripts --production
+ sed -i "s~@ELECTRON@~$_electron~" "$srcdir/$pkgname.js"
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ _appdir="/usr/lib/$pkgname"
+ install -d "$pkgdir$_appdir"
+ cp -r * "$pkgdir$_appdir"
+
+ install -Dm644 build/icon.png "$pkgdir/usr/share/pixmaps/$pkgname.png"
+
+ install -Dm755 "$srcdir/$pkgname.js" "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 "$srcdir/$pkgname.desktop" -t "$pkgdir/usr/share/applications"
+
+ install -d "$pkgdir/usr/share/licenses/$pkgname"
+ ln -s "$(realpath -m --relative-to=/usr/share/licenses/$pkgname $_appdir/LICENSE)" "$pkgdir/usr/share/licenses/$pkgname"
+
+ rm -r "$pkgdir$_appdir/build"
+ find "$pkgdir$_appdir" \
+ -name "package.json" \
+ -exec sed -e "s|${srcdir}/${pkgname}|${appdir}|" \
+ -i {} \; \
+ -or -name ".*" -prune -exec rm -r '{}' \; \
+ -or -name "bin" -prune -exec rm -r '{}' \; \
+ -or -name "example" -prune -exec rm -r '{}' \; \
+ -or -name "examples" -prune -exec rm -r '{}' \; \
+ -or -name "man" -prune -exec rm -r '{}' \; \
+ -or -name "scripts" -prune -exec rm -r '{}' \; \
+ -or -name "test" -prune -exec rm -r '{}' \;
+}
diff --git a/deezer-enhanced.desktop b/deezer-enhanced.desktop
new file mode 100644
index 000000000000..373bf708c2bf
--- /dev/null
+++ b/deezer-enhanced.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Deezer Enhanced
+GenericName=Music Player
+Comment=An unofficial application for Deezer with enhanced features
+Icon=deezer-enhanced
+Exec=deezer-enhanced
+Categories=GTK;Music;Player;
+StartupNotify=true
diff --git a/deezer-enhanced.js b/deezer-enhanced.js
new file mode 100644
index 000000000000..a0f717a4d121
--- /dev/null
+++ b/deezer-enhanced.js
@@ -0,0 +1,29 @@
+#!/usr/bin/@ELECTRON@
+
+const name = 'deezer-enhanced';
+
+const {app} = require('electron');
+const fs = require('fs');
+const path = require('path');
+
+// Change command name
+const fd = fs.openSync('/proc/self/comm', fs.constants.O_WRONLY);
+fs.writeSync(fd, name);
+fs.closeSync(fd);
+
+// Remove first command line argument (/usr/bin/@ELECTRON@)
+process.argv.splice(0, 1);
+
+// Set application paths
+const appPath = path.join(path.dirname(__dirname), 'lib', name);
+const packageJson = require(path.join(appPath, 'package.json'));
+const productName = packageJson.build.productName;
+app.setAppPath(appPath);
+app.setDesktopName(name + '.desktop');
+app.setName(productName);
+app.setPath('userCache', path.join(app.getPath('cache'), productName));
+app.setPath('userData', path.join(app.getPath('appData'), productName));
+app.setVersion(packageJson.version);
+
+// Run the application
+require('module')._load(appPath, module, true);