diff options
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | PKGBUILD | 54 | ||||
-rw-r--r-- | deezer-enhanced.desktop | 9 | ||||
-rw-r--r-- | deezer-enhanced.js | 29 |
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); |