summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSibren Vasse2021-05-05 22:29:59 +0200
committerSibren Vasse2021-05-05 22:29:59 +0200
commit7c2f393e6cc8dc7ee8ec116a47a4a1696564ee12 (patch)
treec228a56b2c77715441c6ba7673cd0bf140323de9
parent9349bd863372ce1ee7c086daf168d9095ad9ec6c (diff)
downloadaur-7c2f393e6cc8dc7ee8ec116a47a4a1696564ee12.tar.gz
v5.0.1-a.0
-rw-r--r--.SRCINFO19
-rw-r--r--0001-MPRIS-interface.patch138
-rw-r--r--PKGBUILD47
-rw-r--r--deezer3
-rw-r--r--menu-bar.patch4
-rw-r--r--quit.patch18
-rw-r--r--systray.patch12
7 files changed, 48 insertions, 193 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f89c59db2195..6ac1a85b708b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = deezer
pkgdesc = A proprietary music streaming service
- pkgver = 4.34.0
+ pkgver = 5.0.1
pkgrel = 1
url = https://www.deezer.com/
arch = any
@@ -11,19 +11,20 @@ pkgbase = deezer
makedepends = imagemagick
makedepends = npm
makedepends = nodejs
- depends = electron6
+ depends = electron
provides = deezer
- source = deezer-4.34.0-setup.exe::https://www.deezer.com/desktop/download/artifact/win32/x86/4.34.0
+ source = deezer-5.0.1-setup.exe::https://www.deezer.com/desktop/download/artifact/win32/x86/5.0.1-a.0
source = deezer.desktop
source = deezer
+ source = systray.patch
source = menu-bar.patch
source = quit.patch
- source = 0001-MPRIS-interface.patch
- sha256sums = fe8b6f16b39385272f009a6e58fadee92f030456805851d5537442990ff9a6bc
+ sha256sums = ecf331e8bba03016f50e92359014f87bd6a37deeebb8935d727f71aceec2a9c4
sha256sums = f8a5279239b56082a5c85487b0c261fb332623f27dac3ec8093458b8c55d8d99
- sha256sums = 441ab8532eac991eb5315a8ab39242aae1aa6fd633e8af4b0ab2a247fe1239cc
- sha256sums = 778830ee8c3337ea25ae55c4843df33e218739c8883c1985609d5a2b4ad1da48
- sha256sums = 75c7edd8714393579e29842a8e15aabccfd0a9b5130ff7501890e7c1c1931b46
- sha256sums = e82cd8d8da62bed9cd154b5b58477f205ea90ad91353b466679414adc2736414
+ sha256sums = 8717ba2de9cabc5c0a35780315871329c15bde5ff46c4f0bf859a87e42aa96f5
+ sha256sums = 82fa9d6dbfea95dec625675fa6af0bbaa95b1d41b68728302260373a2d659b3f
+ sha256sums = 191c139553332e624463a31ef6cb435bcd83ab343c6cdc5bcab3152386c0a3e6
+ sha256sums = a3476917a031dc2b989b12008e6ecf564acf9fcfe6cfde4eb4f912711da74662
pkgname = deezer
+
diff --git a/0001-MPRIS-interface.patch b/0001-MPRIS-interface.patch
deleted file mode 100644
index 4820e4823893..000000000000
--- a/0001-MPRIS-interface.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-diff --git a/build/main.js b/build/main.js
-index 6f97abb..aaf62f5 100644
---- a/build/main.js
-+++ b/build/main.js
-@@ -2108,6 +2108,7 @@ module.exports = (function(modules) {
- this.ipc.send(constants.c, control);
- }
- isSupportedSMTC() {
-+ return true;
- if (void 0 !== this.isSupported) return this.isSupported;
- if (Object(utils.h)(constants.n))
- return (this.isSupported = !1), this.isSupported;
-@@ -4428,6 +4428,7 @@ module.exports = (function(modules) {
- event.preventDefault(),
- this.deepLink.handlePath(this.deepLink.getPathFromUrl(url));
- }),
-+ external_electron_.app.commandLine.appendSwitch('disable-features', 'MediaSessionService'),
- external_electron_.app.on("ready", () =>
- application_awaiter(this, void 0, void 0, function*() {
- external_electron_log_default.a.debug("App is ready"),
-diff --git a/node_modules/electron-media-service/src/index.js b/node_modules/electron-media-service/src/index.js
-index 301db0d..9677e7c 100644
---- a/node_modules/electron-media-service/src/index.js
-+++ b/node_modules/electron-media-service/src/index.js
-@@ -5,7 +5,8 @@ if (process.platform === 'darwin' && semver.satisfies(os.release(), '>=18.0.0'))
- module.exports = require('./darwin');
- } else if (process.platform === 'win32' && semver.satisfies(os.release(), '>=10.0.0')) { // WIN 10 or supp
- module.exports = require('./win32');
--}
--else {
-+} else if (process.platform === 'linux') {
-+ module.exports = require('./linux');
-+} else {
- module.exports = require('./NullService');
- }
-diff --git a/node_modules/electron-media-service/src/linux/index.js b/node_modules/electron-media-service/src/linux/index.js
-new file mode 100644
-index 0000000..23c6ff5
---- /dev/null
-+++ b/node_modules/electron-media-service/src/linux/index.js
-@@ -0,0 +1,97 @@
-+const { EventEmitter } = require('events');
-+const mpris = require('mpris-service');
-+
-+class MediaService extends EventEmitter {
-+ constructor() {
-+ super();
-+ this.player = mpris({
-+ name: 'deezer',
-+ desktopEntry: 'deezer',
-+ identity: 'Deezer desktop client',
-+ supportedInterfaces: ['player']
-+ });
-+ this.player.canRaise = false;
-+ this.player.canQuit = false;
-+ this.player.canSeek = false;
-+ this.player.canEditTracks = false;
-+ this.player.playbackStatus = 'Stopped';
-+ this._started = false;
-+ }
-+
-+ _requireStart() {
-+ if (!this.isStarted()) {
-+ throw new Error('This method requires the media service be started before calling');
-+ }
-+ }
-+
-+ startService() {
-+ this._started = true;
-+ var _this = this;
-+ var events = ['next', 'previous', 'pause', 'play'];
-+ events.forEach(function (eventName) {
-+ _this.player.on(eventName, (arg) => {
-+ if (arg === -1) {
-+ _this.emit(eventName);
-+ } else {
-+ _this.emit(eventName, arg * 1000);
-+ }
-+ });
-+ });
-+ this.player.on('playpause', (arg) => {
-+ if (arg === -1) {
-+ _this.emit('playPause');
-+ } else {
-+ _this.emit('playPause', arg * 1000);
-+ }
-+ });
-+ }
-+
-+ stopService() {
-+ this._requireStart();
-+ this._started = false;
-+ }
-+
-+ isStarted() {
-+ return this._started;
-+ }
-+
-+ setMetaData(metaData) {
-+ this._requireStart();
-+
-+ const {
-+ title,
-+ artist,
-+ album,
-+ albumArt,
-+ state,
-+ hasPrev,
-+ hasNext
-+ } = metaData;
-+
-+ if (typeof title !== 'undefined' &&
-+ typeof album !== 'undefined' &&
-+ typeof artist !== 'undefined') {
-+ this.player.metadata = {
-+ 'mpris:trackid': this.player.objectPath('track/0'),
-+ 'xesam:title': title ,
-+ 'xesam:album': album,
-+ 'xesam:artist': [ artist ],
-+ 'mpris:artUrl': albumArt
-+ }
-+ }
-+
-+ if (typeof hasPrev !== 'undefined') {
-+ this.player.canGoPrevious = hasPrev;
-+ }
-+
-+ if (typeof hasNext !== 'undefined') {
-+ this.player.canGoNext = hasNext
-+ }
-+
-+ if (typeof state !== 'undefined') {
-+ this.player.playbackStatus = state === 'playing' ? 'Playing' : 'Paused';
-+ }
-+ }
-+}
-+
-+module.exports = MediaService;
diff --git a/PKGBUILD b/PKGBUILD
index 2d14d5585aa2..568d49827237 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,27 +1,27 @@
# Maintainer: Sibren Vasse <arch@sibrenvasse.nl>
# Contributor: Ilya Gulya <ilyagulya@gmail.com>
pkgname="deezer"
-pkgver=4.34.0
+pkgver=5.0.1
pkgrel=1
pkgdesc="A proprietary music streaming service"
arch=('any')
url="https://www.deezer.com/"
license=('custom:"Copyright (c) 2006-2018 Deezer S.A."')
-depends=('electron6')
+depends=('electron')
provides=('deezer')
makedepends=('p7zip' 'asar' 'prettier' 'imagemagick' 'npm' 'nodejs')
-source=("$pkgname-$pkgver-setup.exe::https://www.deezer.com/desktop/download/artifact/win32/x86/$pkgver"
+source=("$pkgname-$pkgver-setup.exe::https://www.deezer.com/desktop/download/artifact/win32/x86/$pkgver-a.0"
"$pkgname.desktop"
deezer
+ systray.patch
menu-bar.patch
- quit.patch
- 0001-MPRIS-interface.patch)
-sha256sums=('fe8b6f16b39385272f009a6e58fadee92f030456805851d5537442990ff9a6bc'
+ quit.patch)
+sha256sums=('ecf331e8bba03016f50e92359014f87bd6a37deeebb8935d727f71aceec2a9c4'
'f8a5279239b56082a5c85487b0c261fb332623f27dac3ec8093458b8c55d8d99'
- '441ab8532eac991eb5315a8ab39242aae1aa6fd633e8af4b0ab2a247fe1239cc'
- '778830ee8c3337ea25ae55c4843df33e218739c8883c1985609d5a2b4ad1da48'
- '75c7edd8714393579e29842a8e15aabccfd0a9b5130ff7501890e7c1c1931b46'
- 'e82cd8d8da62bed9cd154b5b58477f205ea90ad91353b466679414adc2736414')
+ '8717ba2de9cabc5c0a35780315871329c15bde5ff46c4f0bf859a87e42aa96f5'
+ '82fa9d6dbfea95dec625675fa6af0bbaa95b1d41b68728302260373a2d659b3f'
+ '191c139553332e624463a31ef6cb435bcd83ab343c6cdc5bcab3152386c0a3e6'
+ 'a3476917a031dc2b989b12008e6ecf564acf9fcfe6cfde4eb4f912711da74662')
prepare() {
# Extract app from installer
@@ -33,37 +33,17 @@ prepare() {
convert resources/win/app.ico resources/win/deezer.png
cd resources/
- rm -r app "$srcdir/npm_temp" || true
asar extract app.asar app
- mkdir -p app/resources/linux/
- cp win/systray.png app/resources/linux/systray.png
-
- # Remove NodeRT from package (-205.72 MiB)
- rm -r app/node_modules/@nodert
-
- # Install extra node modules for mpris-service
- mkdir "$srcdir/npm_temp"
- cd "$srcdir/npm_temp"
- npm install --prefix ./ mpris-service
-
- for d in node_modules/*; do
- if [ ! -d "$srcdir/resources/app/node_modules/$(basename $d)" ]; then
- mv "$d" "$srcdir/resources/app/node_modules/"
- fi
- done
-
- cd "$srcdir/resources/app"
-
+ cd "$srcdir/resources/app"
prettier --write "build/*.js"
+ # Ugly systray icon fix
+ patch -p1 <"$srcdir/systray.patch"
# Disable menu bar
patch -p1 <"$srcdir/menu-bar.patch"
# Hide to tray (https://github.com/SibrenVasse/deezer/issues/4)
patch -p1 <"$srcdir/quit.patch"
- # Monkeypatch MPRIS D-Bus interface
- patch -p1 <"$srcdir/0001-MPRIS-interface.patch"
-
cd "$srcdir/resources/"
asar pack app app.asar
}
@@ -83,6 +63,7 @@ package() {
install -Dm644 resources/win/deezer-3.png "$pkgdir/usr/share/icons/hicolor/64x64/apps/deezer.png"
install -Dm644 resources/win/deezer-4.png "$pkgdir/usr/share/icons/hicolor/128x128/apps/deezer.png"
install -Dm644 resources/win/deezer-5.png "$pkgdir/usr/share/icons/hicolor/256x256/apps/deezer.png"
+ install -Dm644 resources/win/systray.png "$pkgdir/usr/share/deezer/systray.png"
install -Dm644 "$pkgname.desktop" "$pkgdir/usr/share/applications/"
install -Dm755 deezer "$pkgdir/usr/bin/"
}
diff --git a/deezer b/deezer
index 3be8bccc3b68..d5733412a9d5 100644
--- a/deezer
+++ b/deezer
@@ -1,3 +1,2 @@
#!/bin/sh
-export DZ_DISABLE_UPDATE="yes"
-exec electron6 /usr/share/deezer/app.asar "$@"
+exec electron /usr/share/deezer/app.asar "$@"
diff --git a/menu-bar.patch b/menu-bar.patch
index 75b0286e78a4..702156bfc738 100644
--- a/menu-bar.patch
+++ b/menu-bar.patch
@@ -1,8 +1,8 @@
diff --git a/build/main.js b/build/main.js
-index 188b186..21b0b54 100644
+index ff2a38b..823a767 100644
--- a/build/main.js
+++ b/build/main.js
-@@ -4537,6 +4537,8 @@ module.exports = (function (modules) {
+@@ -3062,6 +3062,8 @@
mainView.setAutoResize({ width: !0, height: !0 });
} else this.appService.setWindow(this.window, void 0);
this.appService.setUserAgent(),
diff --git a/quit.patch b/quit.patch
index 880a1311b050..3f53ce7cb53a 100644
--- a/quit.patch
+++ b/quit.patch
@@ -1,26 +1,26 @@
diff --git a/build/main.js b/build/main.js
-index 6934bbd..a150316 100644
+index 823a767..3e67094 100644
--- a/build/main.js
+++ b/build/main.js
-@@ -3123,7 +3123,7 @@ module.exports = (function(modules) {
+@@ -1650,7 +1650,7 @@
};
}
getQuitOptions() {
-- return { label: i18n.t("menu_quit-deezer_label"), role: "quit" };
-+ return { label: i18n.t("menu_quit-deezer_label"), click: () => { external_electron_.app.isQuiting = true; external_electron_.app.quit(); } };
+- return { label: i18n_t("menu_quit-deezer_label"), role: "quit" };
++ return { label: i18n_t("menu_quit-deezer_label"), click: () => { external_electron_namespaceObject.app.isQuiting = true; external_electron_namespaceObject.app.quit(); } };
}
getReloadOptions() {
return {
-@@ -4714,6 +4714,12 @@ module.exports = (function(modules) {
- this.window.on("resize", () => {
- this.windowState.save();
+@@ -3075,6 +3075,12 @@
+ this.isFrameless && this._adjustViewToContentSize(),
+ this.windowState.save();
}),
+ this.window.on('close', function(event) {
-+ if(!external_electron_.app.isQuiting){
++ if(!external_electron_namespaceObject.app.isQuiting){
+ event.preventDefault();
+ this.hide();
+ }
+ }),
this.window.once("ready-to-show", () => {
if (windowState.isMaximized) this.window.maximize();
- else if (isPlatform(PLATFORM_WINDOWS)) {
+ else if (isPlatform(PLATFORM.WINDOWS)) {
diff --git a/systray.patch b/systray.patch
new file mode 100644
index 000000000000..3fef02a4ee3c
--- /dev/null
+++ b/systray.patch
@@ -0,0 +1,12 @@
+diff --git a/build/main.js b/build/main.js
+index 18ff27d..ff2a38b 100644
+--- a/build/main.js
++++ b/build/main.js
+@@ -104,6 +104,7 @@
+ : PLATFORM.UNKNOWN;
+ }
+ function getAppIcon() {
++ return "/usr/share/deezer/systray.png";
+ let appIcon = "";
+ switch (getPlatformName()) {
+ case PLATFORM.WINDOWS: