diff options
-rw-r--r-- | .SRCINFO | 41 | ||||
-rw-r--r-- | PKGBUILD | 106 | ||||
-rw-r--r--[-rwxr-xr-x] | spotify.protocol | 0 | ||||
-rw-r--r-- | spotify.sh | 13 |
4 files changed, 87 insertions, 73 deletions
@@ -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 - @@ -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[@]}" "$@" |