Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,15 @@ chmod +x ./install.sh

The Deezer Windows installer will then be downloaded, extracted and patched to work for Linux. When prompted for your sudo password, please enter it.

To add an icon to the application:

```bash
sudo nano /usr/share/applications/deezer.desktop

# And edit the Icon line (the path can be found in the install.sh script):
Icon=/usr/share/icons/hicolor/256x256/apps/deezer.png
```

## Uninstalling

You can uninstall Deezer by running `uninstall.sh`:
Expand Down Expand Up @@ -73,3 +82,19 @@ To debug node, you can extract the source files to a directory and inspect the n
asar extract /usr/share/deezer/app.asar $dest
electron --inspect-brk=$port $dest
```

### Electron sandbox not configured properly

In case a similar message is obtained when running `deezer`:

```
[58092:0502/222802.588994:FATAL:sandbox/linux/suid/client/setuid_sandbox_host.cc:163] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /usr/lib/node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755.
/usr/lib/node_modules/electron/dist/electron exited with signal SIGTRAP
```

Update the ownership and permissions with the following commands:

```bash
sudo chown root:root /usr/lib/node_modules/electron/dist/chrome-sandbox
sudo chmod 4755 /usr/lib/node_modules/electron/dist/chrome-sandbox
```
14 changes: 7 additions & 7 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@
# Maintainer: Sibren Vasse <arch@sibrenvasse.nl>
# Contributor: Ilya Gulya <ilyagulya@gmail.com>
pkgname="deezer"
pkgver=5.30.300
pkgver=7.0.70
srcdir="$PWD"

install_dependencies() {
# Manually install Node.js 12 since the version provided in some Ubuntu distros
# is older than 10.13.0 which prettier requires.
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
# Manually install Node.js since the version provided in some Ubuntu distros
# is older than what prettier requires.
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y p7zip-full imagemagick nodejs wget g++ make patch
sudo npm install -g electron@^13 --unsafe-perm=true
sudo npm install -g electron
sudo npm install -g --engine-strict asar
sudo npm install -g prettier
}

prepare() {
# Download installer
wget "https://www.deezer.com/desktop/download/artifact/win32/x86/$pkgver" -O "$pkgname-$pkgver-setup.exe"
wget "https://www.deezer.com/desktop/download/artifact-win32-x86-$pkgver" -O "$pkgname-$pkgver-setup.exe"
# Extract app from installer
7z x -so $pkgname-$pkgver-setup.exe "\$PLUGINSDIR/app-32.7z" > app-32.7z
# Extract app archive
Expand Down Expand Up @@ -80,7 +80,7 @@ package() {
sudo install -Dm644 "$pkgname".desktop "$pkgdir"/usr/share/applications/
sudo install -Dm755 deezer "$pkgdir"/usr/bin/

# Make sure the deezer:// protocol handler is immediately registered as it's needed for login
# Make sure the deezer:// protocol handler is immediately registered as it's needed for login
sudo update-desktop-database --quiet
}

Expand Down