public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Matthew Thode" <prometheanfire@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/spotify/
Date: Wed,  5 Jan 2022 16:42:40 +0000 (UTC)	[thread overview]
Message-ID: <1641400954.ffaf6180e1a5919724511fb7c896b45443910bab.prometheanfire@gentoo> (raw)

commit:     ffaf6180e1a5919724511fb7c896b45443910bab
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 28 12:49:39 2021 +0000
Commit:     Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
CommitDate: Wed Jan  5 16:42:34 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ffaf6180

media-sound/spotify: rework systray support

- drop systray flag
- expand launch script to detect and use systray application if present
- add optfeature
- bump to EAPI 8

Closes: https://bugs.gentoo.org/825406
Closes: https://bugs.gentoo.org/825410
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Signed-off-by: Matthew Thode <prometheanfire <AT> gentoo.org>

 media-sound/spotify/spotify-1.1.72-r1.ebuild | 133 +++++++++++++++++++++++++++
 1 file changed, 133 insertions(+)

diff --git a/media-sound/spotify/spotify-1.1.72-r1.ebuild b/media-sound/spotify/spotify-1.1.72-r1.ebuild
new file mode 100644
index 000000000000..b36208e04b8c
--- /dev/null
+++ b/media-sound/spotify/spotify-1.1.72-r1.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop optfeature pax-utils unpacker xdg
+
+DESCRIPTION="Spotify is a social music platform"
+HOMEPAGE="https://www.spotify.com/download/linux/"
+SRC_BASE="http://repository.spotify.com/pool/non-free/s/${PN}-client/"
+BUILD_ID_AMD64="439.gc253025e"
+SRC_URI="${SRC_BASE}${PN}-client_${PV}.${BUILD_ID_AMD64}_amd64.deb"
+
+LICENSE="Spotify"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="libnotify local-playback pax-kernel pulseaudio"
+RESTRICT="mirror strip"
+
+BDEPEND=">=dev-util/patchelf-0.10"
+RDEPEND="
+	dev-libs/nss
+	dev-python/dbus-python
+	libnotify? ( x11-libs/libnotify )
+	dev-libs/openssl:0=
+	media-libs/alsa-lib
+	media-libs/fontconfig
+	media-libs/harfbuzz
+	media-libs/mesa[X(+)]
+	net-misc/curl[ssl]
+	net-print/cups[ssl]
+	pulseaudio? ( media-sound/pulseaudio )
+	!pulseaudio? ( media-sound/apulse )
+	local-playback? ( media-video/ffmpeg:0/56.58.58 )
+	x11-libs/gtk+:3
+	app-accessibility/at-spi2-atk
+	x11-libs/libxkbcommon
+	x11-libs/libXScrnSaver
+	x11-libs/libXtst
+	x11-libs/libSM
+	x11-libs/libICE
+"
+	#sys-libs/glibc
+
+S="${WORKDIR}/"
+
+QA_PREBUILT="
+	opt/spotify/spotify-client/spotify
+	opt/spotify/spotify-client/libEGL.so
+	opt/spotify/spotify-client/libGLESv2.so
+	opt/spotify/spotify-client/libcef.so
+	opt/spotify/spotify-client/libvk_swiftshader.so
+	opt/spotify/spotify-client/libvulkan.so.1
+	opt/spotify/spotify-client/swiftshader/libEGL.so
+	opt/spotify/spotify-client/swiftshader/libGLESv2.so
+"
+
+src_prepare() {
+	default
+	# Spotify links against libcurl-gnutls.so.4, which does not exist in Gentoo.
+	patchelf --replace-needed libcurl-gnutls.so.4 libcurl.so.4 usr/bin/spotify \
+		|| die "failed to patch libcurl library dependency"
+}
+
+src_install() {
+	gunzip usr/share/doc/spotify-client/changelog.gz || die
+	dodoc usr/share/doc/spotify-client/changelog
+
+	SPOTIFY_PKG_HOME=usr/share/spotify
+	insinto /usr/share/pixmaps
+	doins ${SPOTIFY_PKG_HOME}/icons/*.png
+
+	# install in /opt/spotify
+	SPOTIFY_HOME=/opt/spotify/spotify-client
+	insinto ${SPOTIFY_HOME}
+	doins -r ${SPOTIFY_PKG_HOME}/*
+	fperms +x ${SPOTIFY_HOME}/spotify
+
+	dodir /usr/bin
+	cat <<EOF >"${D}"/usr/bin/spotify || die
+#! /bin/sh
+if command -v spotify-dbus.py &> /dev/null; then
+	echo "Launching spotify with Gnome systray integration"
+	LD_LIBRARY_PATH="/usr/$(get_libdir)/apulse" \\
+	spotify-dbus.py "\$@"
+elif command -v spotify-tray &> /dev/null; then
+	echo "Launching spotify with generic systray integration"
+	TRAY_ARGS=" --client-path=${SPOTIFY_HOME}/spotify --toggle "
+	# seperate out the --minimized argument, parse it to spotify-tray
+	# propagate the rest to the spotify client itself
+	if [[ "\$@" == *"--minimized"* ]]; then
+		TRAY_ARGS+=" --minimized "
+	fi
+	LD_LIBRARY_PATH="/usr/$(get_libdir)/apulse" \\
+	spotify-tray \${TRAY_ARGS} -- "\$@"
+else
+	echo "Neither gnome-integration-spotify or spotify-tray installed"
+	echo "Launching spotify without systray integration"
+	LD_LIBRARY_PATH="/usr/$(get_libdir)/apulse" \\
+	exec ${SPOTIFY_HOME}/spotify "\$@"
+fi
+EOF
+	fperms +x /usr/bin/spotify
+
+	local size
+	for size in 16 22 24 32 48 64 128 256 512; do
+		newicon -s ${size} "${S}${SPOTIFY_PKG_HOME}/icons/spotify-linux-${size}.png" \
+			"spotify-client.png"
+	done
+	domenu "${S}${SPOTIFY_PKG_HOME}/spotify.desktop"
+	if use pax-kernel; then
+		#create the headers, reset them to default, then paxmark -m them
+		pax-mark C "${ED}${SPOTIFY_HOME}/${PN}" || die
+		pax-mark z "${ED}${SPOTIFY_HOME}/${PN}" || die
+		pax-mark m "${ED}${SPOTIFY_HOME}/${PN}" || die
+		eqawarn "You have set USE=pax-kernel meaning that you intend to run"
+		eqawarn "${PN} under a PaX enabled kernel.	To do so, we must modify"
+		eqawarn "the ${PN} binary itself and this *may* lead to breakage!  If"
+		eqawarn "you suspect that ${PN} is being broken by this modification,"
+		eqawarn "please open a bug."
+	fi
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+
+	ewarn "If Spotify crashes after an upgrade its cache may be corrupt."
+	ewarn "To remove the cache:"
+	ewarn "rm -rf ~/.cache/spotify"
+
+	optfeature "Gnome specific systray integration" gnome-extra/gnome-integration-spotify
+	optfeature "systray integration on non-Gnome DEs" media-sound/spotify-tray
+}


             reply	other threads:[~2022-01-05 16:42 UTC|newest]

Thread overview: 166+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-05 16:42 Matthew Thode [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-10-02  1:02 [gentoo-commits] repo/gentoo:master commit in: media-sound/spotify/ Matthew Thode
2024-10-01 15:53 Matthew Thode
2024-10-01 15:53 Matthew Thode
2024-07-31 16:52 Matthew Thode
2024-07-04  5:25 Matthew Thode
2024-07-04  5:25 Matthew Thode
2024-06-05  5:05 Matthew Thode
2024-06-05  5:05 Matthew Thode
2024-02-26 21:55 Matthew Thode
2024-02-26 21:42 Matthew Thode
2023-12-08 23:11 Matthew Thode
2023-12-08 23:11 Matthew Thode
2023-12-08 22:09 Matthew Thode
2023-12-01 14:26 Andrew Ammerlaan
2023-10-11  8:30 Sam James
2023-10-11  8:30 Sam James
2023-10-04 17:18 Sam James
2023-09-22 22:10 Matthew Thode
2023-09-22 20:43 Matthew Thode
2023-09-22 20:43 Matthew Thode
2023-06-25  2:34 Matthew Thode
2023-06-25  2:19 Matthew Thode
2023-04-06  7:20 Joonas Niilola
2023-04-06  7:20 Joonas Niilola
2023-04-06  7:20 Joonas Niilola
2022-11-24 16:38 Matthew Thode
2022-10-04  3:06 Sam James
2022-10-03  2:15 Matthew Thode
2022-07-29 21:39 David Seifert
2022-05-20  2:22 Matthew Thode
2022-05-13 23:21 Matthew Thode
2022-05-13 14:25 Matthew Thode
2021-11-21  1:31 Matthew Thode
2021-09-22 22:34 Matthew Thode
2021-09-22 22:34 Matthew Thode
2021-09-09 18:23 Matthew Thode
2021-09-07 19:03 Matthew Thode
2021-08-06 15:13 Matthew Thode
2021-07-05 20:02 Matthew Thode
2021-07-01  6:55 Matthew Thode
2021-06-27 21:45 Matthew Thode
2021-06-08  2:56 Matthew Thode
2021-05-03  8:45 Mikle Kolyada
2021-04-18 17:16 Matthew Thode
2021-03-29 14:24 Matthew Thode
2020-09-17 21:37 Matthew Thode
2020-09-05 19:35 Matthew Thode
2020-09-05 19:35 Matthew Thode
2020-07-06  3:50 Matthew Thode
2020-06-27 21:05 Matthew Thode
2020-03-18 21:51 Matthew Thode
2020-02-16 20:24 David Seifert
2020-01-03 19:39 Matthew Thode
2019-11-30 18:41 Aaron Bauman
2019-08-08 22:30 Matthew Thode
2019-07-22 14:25 Matthew Thode
2019-07-22 14:25 Matthew Thode
2019-07-17 15:15 Matthew Thode
2019-06-08 15:50 Matthew Thode
2019-06-03 15:18 Stefan Strogin
2019-05-02 17:30 Matthew Thode
2019-05-01  9:21 Matthew Thode
2019-05-01  9:21 Matthew Thode
2019-02-15  1:35 Matthew Thode
2019-02-08  0:22 Matthew Thode
2019-01-29  6:49 Matthew Thode
2019-01-18 17:19 Matthew Thode
2019-01-10 16:41 Matthew Thode
2018-12-14 22:42 Matthew Thode
2018-12-07  3:51 Matthew Thode
2018-12-07  3:51 Matthew Thode
2018-11-01 17:20 Matthew Thode
2018-10-29  2:02 Matthew Thode
2018-10-29  2:02 Matthew Thode
2018-10-29  2:02 Matthew Thode
2018-09-13 20:00 Matt Thode
2018-09-13 20:00 Matt Thode
2018-08-22 22:40 Matt Thode
2018-08-18 20:22 Matt Thode
2018-08-18 20:22 Matt Thode
2018-06-11 18:26 Matt Thode
2018-06-01 16:05 Matt Thode
2018-06-01 16:05 Matt Thode
2018-04-25  2:18 Matt Thode
2018-04-25  2:18 Matt Thode
2018-04-14  6:46 Matt Thode
2018-04-13 16:07 Matt Thode
2018-02-28  9:26 Matt Thode
2018-02-22 18:12 Matt Thode
2018-01-26  0:56 Matt Thode
2018-01-22 16:07 Matt Thode
2017-12-20 23:44 Matt Thode
2017-12-15 15:59 Matt Thode
2017-12-15 15:59 Matt Thode
2017-12-11  0:34 Ulrich Müller
2017-12-10 21:41 Michał Górny
2017-12-10 17:38 Matt Thode
2017-11-22 15:38 Sebastian Pipping
2017-10-26 21:08 Matt Thode
2017-10-14 19:42 Matt Thode
2017-10-01 14:20 Johannes Huber
2017-09-29 21:53 Matt Thode
2017-07-23  2:36 Matt Thode
2017-06-23 16:14 Matt Thode
2017-05-30 16:16 Matt Thode
2017-05-04 15:15 Matt Thode
2017-02-24 16:08 Matt Thode
2017-02-12 14:48 Matt Thode
2017-02-12 14:48 Matt Thode
2017-02-01 21:55 Matt Thode
2017-02-01 21:55 Matt Thode
2017-01-14  5:42 Matt Thode
2017-01-14  5:42 Matt Thode
2016-12-21 21:35 Matt Thode
2016-12-19 11:45 Matt Thode
2016-12-19 11:45 Matt Thode
2016-12-02 16:50 Matt Thode
2016-12-02 16:50 Matt Thode
2016-12-02 16:50 Matt Thode
2016-11-27  2:55 Matt Thode
2016-11-10 14:38 Matt Thode
2016-11-10 14:38 Matt Thode
2016-11-10 14:38 Matt Thode
2016-11-05  0:07 Matt Thode
2016-09-28 16:19 Matt Thode
2016-09-28 16:19 Matt Thode
2016-09-03 18:48 Matt Thode
2016-09-03 18:48 Matt Thode
2016-08-15 20:13 Matt Thode
2016-08-15 20:13 Matt Thode
2016-08-12 20:08 Matt Thode
2016-08-12 20:08 Matt Thode
2016-08-07 20:31 Matt Thode
2016-08-07 20:31 Matt Thode
2016-08-03 21:08 Matt Thode
2016-08-03 21:08 Matt Thode
2016-08-03 21:04 Jorge Manuel B. S. Vicetto
2016-08-03 20:30 Jorge Manuel B. S. Vicetto
2016-06-29 16:24 Matt Thode
2016-06-29 16:22 Matt Thode
2016-06-04 15:36 Matt Thode
2016-06-04 15:36 Matt Thode
2016-05-19 15:43 Matt Thode
2016-05-01  1:50 Matt Thode
2016-05-01  1:49 Matt Thode
2016-04-12  5:02 Matt Thode
2016-04-12  5:02 Matt Thode
2016-04-02 22:47 Matt Thode
2016-04-02 22:44 Matt Thode
2016-03-10 20:30 Matt Thode
2016-02-20  4:36 Matt Thode
2016-02-15  1:31 Matt Thode
2015-12-09 19:26 Matt Thode
2015-12-05  1:35 Matt Thode
2015-10-29  0:06 Matt Thode
2015-10-14 22:44 Matt Thode
2015-10-08  2:03 Matt Thode
2015-09-23 14:19 Matt Thode
2015-09-21 19:20 Matt Thode
2015-09-21  7:20 Matt Thode
2015-09-20 23:53 Matt Thode
2015-09-20 22:10 Matt Thode
2015-09-19  4:31 Matt Thode
2015-08-25 18:58 Michał Górny
2015-08-23  3:58 Matt Thode

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1641400954.ffaf6180e1a5919724511fb7c896b45443910bab.prometheanfire@gentoo \
    --to=prometheanfire@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox