summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO41
-rw-r--r--PKGBUILD106
-rw-r--r--[-rwxr-xr-x]spotify.protocol0
-rw-r--r--spotify.sh13
4 files changed, 87 insertions, 73 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f0e58b232853..1735812d95c3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,40 +1,39 @@
pkgbase = spotify
pkgdesc = A proprietary music streaming service
- pkgver = 1.0.98.78
+ pkgver = 1.2.31.1205
pkgrel = 2
+ epoch = 1
url = https://www.spotify.com
arch = x86_64
license = custom
depends = alsa-lib>=1.0.14
- depends = gconf
- depends = gtk2
- depends = glib2
- depends = nss
- depends = libsystemd
- depends = libxtst
- depends = libx11
+ depends = gtk3
depends = libxss
depends = desktop-file-utils
- depends = rtmpdump
- depends = openssl-1.0
- optdepends = ffmpeg-compat-57: Adds support for playback of local files
+ depends = openssl
+ depends = nss
+ depends = at-spi2-atk
+ depends = libcurl-gnutls
+ depends = libsm
+ depends = libayatana-appindicator
+ optdepends = ffmpeg4.4: Adds support for playback of local files
optdepends = zenity: Adds support for importing local files
optdepends = libnotify: Desktop notifications
options = !strip
+ source = spotify-1.2.31.1205-g4d59ad7c-x86_64.deb::http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_1.2.31.1205.g4d59ad7c_amd64.deb
+ source = spotify.sh
source = spotify.protocol
source = LICENSE
- source = spotify-1.0.98.78-Release::http://repository.spotify.com/dists/stable/Release
- source = spotify-1.0.98.78-Release.sig::http://repository.spotify.com/dists/stable/Release.gpg
- validpgpkeys = 931FF8E79F0876134EDDBDCCA87FF9DF48BF1C90
+ source = spotify-1.2.31.1205-2-Release::http://repository.spotify.com/dists/testing/Release
+ source = spotify-1.2.31.1205-2-Release.sig::http://repository.spotify.com/dists/testing/Release.gpg
+ source = spotify-1.2.31.1205-2-x86_64-Packages::http://repository.spotify.com/dists/testing/non-free/binary-amd64/Packages
+ validpgpkeys = 63CBEEC9006602088F9B19326224F9941A8AA6D1
+ sha512sums = 76babfbe40ab7b7c82d83a3ae40ab3dbc85e73b4a412aeaa8aa758c01c7cf69bd78df4ee222c4c5add84668f552212bed15049a8f8cd1025dc04a87f84c79f88
+ sha512sums = da48b628a4ea925dd8521133ebf364b261b11aed252d264dde6605d915cdb631919ffe672c58534bcdb60869e5d87a49a60a8198780b99517123f0031e83fdb1
sha512sums = 999abe46766a4101e27477f5c9f69394a4bb5c097e2e048ec2c6cb93dfa1743eb436bde3768af6ba1b90eaac78ea8589d82e621f9cbe7d9ab3f41acee6e8ca20
sha512sums = 2e16f7c7b09e9ecefaa11ab38eb7a792c62ae6f33d95ab1ff46d68995316324d8c5287b0d9ce142d1cf15158e61f594e930260abb8155467af8bc25779960615
- sha512sums = 235795bf313113b228dac4f6b2ec3a8d06c5c0d7a5cb12618407a389f8cdd83a94e2c6d0ca48989e18a5d90437f9c629d6d666181b6b8929f1a27c37249120a8
sha512sums = SKIP
- source_x86_64 = spotify-1.0.98.78-x86_64.deb::https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_1.0.98.78.gb45d2a6b-10_amd64.deb
- source_x86_64 = spotify-1.0.98.78-x86_64-Packages::http://repository.spotify.com/dists/stable/non-free/binary-amd64/Packages
- depends_x86_64 = libcurl-gnutls
- sha512sums_x86_64 = f20f2c998a205f189a19f332b2e738a0ec98a34520765c0e1d27d95d92f7c9c2f78da32f9edcc61146be87e8d8df7d3521d2e84b427cd25586b9fe6bec8d1602
- sha512sums_x86_64 = 7f69b6a5b8647002be50210cf894b35fe0d2bc04e6b43321047e2229cd0ddae32c5684ea6befd9195c5fed730cfdaaecbdda14a1a8037c2be9e3d536d98a61a3
+ sha512sums = SKIP
+ sha512sums = SKIP
pkgname = spotify
-
diff --git a/PKGBUILD b/PKGBUILD
index d81575ab0d99..5d0986d02fb9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,89 +1,91 @@
-# Maintainer: Ashley Whetter <(firstname) @ awhetter.co.uk>
-# Co-Maintainer: NicoHood <archlinux {cat} nicohood {dog} de>
-# PGP ID: 97312D5EB9D7AE7D0BD4307351DAE9B7C1AE9161
+# Maintainer: Christian Heusel <christian@heusel.eu>
+# Maintainer: Robin Candau <antiz@archlinux.org>
+# Contributor: NicoHood <archlinux {cat} nicohood {dog} de>
+# Contributor: TobFromme < TobFromme {hat} pm {dont} me >
+# Contributor: Ashley Whetter <(firstname) @ awhetter.co.uk>
# Contributor: Eothred <yngve.levinsen@gmail.com>
pkgname=spotify
-pkgver=1.0.98.78
-_commit=gb45d2a6b
-_ver_x86_64=10
-#_ver_i686=10
+pkgver='1.2.31.1205'
+epoch=1
+_commit=g4d59ad7c
pkgrel=2
pkgdesc='A proprietary music streaming service'
arch=('x86_64')
license=('custom')
url='https://www.spotify.com'
-depends=('alsa-lib>=1.0.14' 'gconf' 'gtk2' 'glib2' 'nss' 'libsystemd' 'libxtst'
- 'libx11' 'libxss' 'desktop-file-utils' 'rtmpdump' 'openssl-1.0')
-depends_x86_64=('libcurl-gnutls')
-depends_i686=('libcurl-compat')
-optdepends=('ffmpeg-compat-57: Adds support for playback of local files'
+depends=('alsa-lib>=1.0.14' 'gtk3' 'libxss' 'desktop-file-utils' 'openssl' 'nss' 'at-spi2-atk' 'libcurl-gnutls' 'libsm' 'libayatana-appindicator')
+optdepends=('ffmpeg4.4: Adds support for playback of local files'
'zenity: Adds support for importing local files'
'libnotify: Desktop notifications')
options=('!strip')
-# http://repository.spotify.com/dists/stable/Release
-# http://repository.spotify.com/dists/stable/non-free/binary-amd64/Packages
-# http://repository.spotify.com/dists/stable/non-free/binary-i386/Packages
-# http://repository.spotify.com/dists/stable/Release.gpg
-source=('spotify.protocol'
- 'LICENSE'
- "${pkgname}-${pkgver}-Release::http://repository.spotify.com/dists/stable/Release"
- "${pkgname}-${pkgver}-Release.sig::http://repository.spotify.com/dists/stable/Release.gpg")
-source_x86_64=("${pkgname}-${pkgver}-x86_64.deb::https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${pkgver}.${_commit}-${_ver_x86_64}_amd64.deb"
- "${pkgname}-${pkgver}-x86_64-Packages::http://repository.spotify.com/dists/stable/non-free/binary-amd64/Packages")
-# source_i686=("${pkgname}-${pkgver}-i686.deb::https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${pkgver}.${_commit}-${_ver_i686}_i386.deb"
-# "${pkgname}-${pkgver}-i686-Packages::http://repository.spotify.com/dists/stable/non-free/binary-i386/Packages")
-sha512sums=('999abe46766a4101e27477f5c9f69394a4bb5c097e2e048ec2c6cb93dfa1743eb436bde3768af6ba1b90eaac78ea8589d82e621f9cbe7d9ab3f41acee6e8ca20'
+# NOTE: We switched from stable to testing on 18th march, as the spotify
+# stable repository is always outdated. Testing seems to be in sync with snap:
+# https://snapcraft.io/spotify
+# http://repository.spotify.com/dists/testing/Release
+# http://repository.spotify.com/dists/testing/non-free/binary-amd64/Packages
+# http://repository.spotify.com/dists/testing/Release.gpg
+source=("${pkgname}-${pkgver}-${_commit}-x86_64.deb::http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_${pkgver}.${_commit}_amd64.deb"
+ "spotify.sh"
+ "spotify.protocol"
+ "LICENSE"
+ # GPG signature check
+ "${pkgname}-${pkgver}-${pkgrel}-Release::http://repository.spotify.com/dists/testing/Release"
+ "${pkgname}-${pkgver}-${pkgrel}-Release.sig::http://repository.spotify.com/dists/testing/Release.gpg"
+ "${pkgname}-${pkgver}-${pkgrel}-x86_64-Packages::http://repository.spotify.com/dists/testing/non-free/binary-amd64/Packages")
+sha512sums=('76babfbe40ab7b7c82d83a3ae40ab3dbc85e73b4a412aeaa8aa758c01c7cf69bd78df4ee222c4c5add84668f552212bed15049a8f8cd1025dc04a87f84c79f88'
+ 'da48b628a4ea925dd8521133ebf364b261b11aed252d264dde6605d915cdb631919ffe672c58534bcdb60869e5d87a49a60a8198780b99517123f0031e83fdb1'
+ '999abe46766a4101e27477f5c9f69394a4bb5c097e2e048ec2c6cb93dfa1743eb436bde3768af6ba1b90eaac78ea8589d82e621f9cbe7d9ab3f41acee6e8ca20'
'2e16f7c7b09e9ecefaa11ab38eb7a792c62ae6f33d95ab1ff46d68995316324d8c5287b0d9ce142d1cf15158e61f594e930260abb8155467af8bc25779960615'
- '235795bf313113b228dac4f6b2ec3a8d06c5c0d7a5cb12618407a389f8cdd83a94e2c6d0ca48989e18a5d90437f9c629d6d666181b6b8929f1a27c37249120a8'
+ 'SKIP'
+ 'SKIP'
'SKIP')
-sha512sums_x86_64=('f20f2c998a205f189a19f332b2e738a0ec98a34520765c0e1d27d95d92f7c9c2f78da32f9edcc61146be87e8d8df7d3521d2e84b427cd25586b9fe6bec8d1602'
- '7f69b6a5b8647002be50210cf894b35fe0d2bc04e6b43321047e2229cd0ddae32c5684ea6befd9195c5fed730cfdaaecbdda14a1a8037c2be9e3d536d98a61a3')
-# Old key: 0DF731E45CE24F27EEEB1450EFDC8610341D9410
-# Old key (17.12.2018): 931FF8E79F0876134EDDBDCCA87FF9DF48BF1C90
-validpgpkeys=('931FF8E79F0876134EDDBDCCA87FF9DF48BF1C90') # Spotify <tux@spotify.com>
-# Spotify uses different names for the arch
-if [ "${CARCH}" = "i686" ]; then
- _SPOTIFY_ARCH=i386
-else
- _SPOTIFY_ARCH=amd64
-fi
+# Import key with:
+# curl -sS https://download.spotify.com/debian/pubkey_6224F9941A8AA6D1.gpg | gpg --import -
+validpgpkeys=('63CBEEC9006602088F9B19326224F9941A8AA6D1') # Spotify Public Repository Signing Key <tux@spotify.com>
+# Old Keys:
+# E27409F51D1B66337F2D2F417A3A762FAFD4A51F
+# F9A211976ED662F00E59361E5E3C45D7B312C643
+# 8FD3D9A8D3800305A9FFF259D1742AD60D811D58
+# 931FF8E79F0876134EDDBDCCA87FF9DF48BF1C90
+# 2EBF997C15BDA244B6EBF5D84773BD5E130D1D45
prepare() {
# Validate hashes from the PGP signed "Release" file
- echo "$(grep non-free/binary-${_SPOTIFY_ARCH}/Packages ${pkgname}-${pkgver}-Release | tail -n 2 | head -n 1 | awk '{print $1}') ${pkgname}-${pkgver}-${CARCH}-Packages" \
- > "${pkgname}-${pkgver}-${CARCH}-Packages.sha256"
- sha256sum -c "${pkgname}-${pkgver}-${CARCH}-Packages.sha256"
+ echo "$(grep non-free/binary-amd64/Packages ${pkgname}-${pkgver}-${pkgrel}-Release | tail -n 2 | head -n 1 | awk '{print $1}') ${pkgname}-${pkgver}-${pkgrel}-x86_64-Packages" \
+ > "${pkgname}-${pkgver}-x86_64-Packages.sha256"
+ sha256sum -c "${pkgname}-${pkgver}-x86_64-Packages.sha256"
- echo "$(grep SHA512 ${pkgname}-${pkgver}-${CARCH}-Packages | head -n 1 | awk '{print $2}') ${pkgname}-${pkgver}-${CARCH}.deb" \
- > "${pkgname}-${pkgver}-${CARCH}.deb.sha512"
- sha512sum -c "${pkgname}-${pkgver}-${CARCH}.deb.sha512"
+ echo "$(grep SHA512 ${pkgname}-${pkgver}-${pkgrel}-x86_64-Packages | head -n 1 | awk '{print $2}') ${pkgname}-${pkgver}-${_commit}-x86_64.deb" \
+ > "${pkgname}-${pkgver}-x86_64.deb.sha512"
+ sha512sum -c "${pkgname}-${pkgver}-x86_64.deb.sha512"
}
package() {
- cd "${srcdir}"
+ tar -xzf data.tar.gz --no-same-owner -C "${pkgdir}"
- tar -xzf data.tar.gz -C "${pkgdir}"
+ # Enable spotify to open URLs from the webapp
+ sed -i 's/^Exec=.*/Exec=spotify --uri=%U/' "${pkgdir}/usr/share/spotify/spotify.desktop"
- install -Dm644 "${pkgdir}"/usr/share/spotify/spotify.desktop "${pkgdir}"/usr/share/applications/spotify.desktop
- install -Dm644 "${pkgdir}"/usr/share/spotify/icons/spotify-linux-512.png "${pkgdir}"/usr/share/pixmaps/spotify-client.png
+ install -Dm 644 "${pkgdir}/usr/share/spotify/spotify.desktop" "${pkgdir}/usr/share/applications/spotify.desktop"
+ install -Dm 644 "${pkgdir}/usr/share/spotify/icons/spotify-linux-512.png" "${pkgdir}/usr/share/pixmaps/spotify-client.png"
for size in 22 24 32 48 64 128 256 512; do
- install -Dm644 "${pkgdir}/usr/share/spotify/icons/spotify-linux-$size.png" \
+ install -Dm 644 "${pkgdir}/usr/share/spotify/icons/spotify-linux-${size}.png" \
"${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/spotify.png"
done
# Move spotify binary to its proper location
- mkdir -p "${pkgdir}"/opt/spotify
+ mkdir -p "${pkgdir}/opt/spotify"
mv "${pkgdir}/usr/share/spotify" "${pkgdir}/opt/"
- # Symlink spotify binary which is located in /opt
- ln -sf /opt/spotify/spotify "${pkgdir}/usr/bin/spotify"
+ # Copy launch script which allows the use of custom flags
+ install -Dm 755 spotify.sh "${pkgdir}/usr/bin/spotify"
# Copy protocol file for KDE
- install -Dm644 "${srcdir}/spotify.protocol" "${pkgdir}/usr/share/kservices5/spotify.protocol"
+ install -Dm 644 spotify.protocol "${pkgdir}/usr/share/kservices5/spotify.protocol"
# Install license
# https://www.spotify.com/legal/end-user-agreement
diff --git a/spotify.protocol b/spotify.protocol
index 423a5fc2e7dc..423a5fc2e7dc 100755..100644
--- a/spotify.protocol
+++ b/spotify.protocol
diff --git a/spotify.sh b/spotify.sh
new file mode 100644
index 000000000000..c8938acbd8af
--- /dev/null
+++ b/spotify.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+# Substitute XDG_CONFIG_HOME by ~/.config if the env var is unset or empty
+XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-~/.config}
+
+# Allow users to override command-line options
+if [[ -f "${XDG_CONFIG_HOME}/spotify-flags.conf" ]]; then
+ mapfile -t SPOTIFY_USER_FLAGS <<< "$(grep -v '^#' "${XDG_CONFIG_HOME}/spotify-flags.conf")"
+ echo "User flags:" "${SPOTIFY_USER_FLAGS[@]}"
+fi
+
+# Launch Spotify with the given flags
+exec /opt/spotify/spotify "${SPOTIFY_USER_FLAGS[@]}" "$@"