diff options
author | Sibren Vasse | 2021-05-05 22:29:59 +0200 |
---|---|---|
committer | Sibren Vasse | 2021-05-05 22:29:59 +0200 |
commit | 7c2f393e6cc8dc7ee8ec116a47a4a1696564ee12 (patch) | |
tree | c228a56b2c77715441c6ba7673cd0bf140323de9 | |
parent | 9349bd863372ce1ee7c086daf168d9095ad9ec6c (diff) | |
download | aur-7c2f393e6cc8dc7ee8ec116a47a4a1696564ee12.tar.gz |
v5.0.1-a.0
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | 0001-MPRIS-interface.patch | 138 | ||||
-rw-r--r-- | PKGBUILD | 47 | ||||
-rw-r--r-- | deezer | 3 | ||||
-rw-r--r-- | menu-bar.patch | 4 | ||||
-rw-r--r-- | quit.patch | 18 | ||||
-rw-r--r-- | systray.patch | 12 |
7 files changed, 48 insertions, 193 deletions
@@ -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; @@ -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/" } @@ -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: |