diff options
-rw-r--r-- | media-sound/spotify/Manifest | 1 | ||||
-rw-r--r-- | media-sound/spotify/files/spotify-wrapper | 38 | ||||
-rw-r--r-- | media-sound/spotify/spotify-1.2.20-r2.ebuild | 132 | ||||
-rw-r--r-- | metadata/md5-cache/media-sound/spotify-1.2.20-r2 | 16 | ||||
-rw-r--r-- | metadata/pkg_desc_index | 1 |
5 files changed, 188 insertions, 0 deletions
diff --git a/media-sound/spotify/Manifest b/media-sound/spotify/Manifest new file mode 100644 index 00000000..26cf5284 --- /dev/null +++ b/media-sound/spotify/Manifest @@ -0,0 +1 @@ +DIST spotify-client_1.2.20.1210.g2a8a8a57_amd64.deb 124183006 BLAKE2B 32f48b06311d25ced25516e8a521dd87ebd44179fdb93b6f5ba53636eb4b53b5be97092d227968846188f0d51d9a8f6f2e350d009b797519d1cb0f252783076d SHA512 a527d6fecec9fa925d8c60e0ba8764ec8f53d3f5268d0b968d3bdeca7d367081f7faa0bcd1fe016491f15e37a1238ad40dbca1fc93b2533e0238e7a7a07f352b diff --git a/media-sound/spotify/files/spotify-wrapper b/media-sound/spotify/files/spotify-wrapper new file mode 100644 index 00000000..862fa4c6 --- /dev/null +++ b/media-sound/spotify/files/spotify-wrapper @@ -0,0 +1,38 @@ +#!/bin/sh + +export LD_LIBRARY_PATH="/usr/$LIBDIR/apulse" + +if command -v spotify-dbus.py > /dev/null; then + echo "Launching spotify with Gnome systray integration." + spotify-dbus.py "$@" +elif [ -e "$SPOTIFY_HOME/spotify-tray" ] > /dev/null; then + echo "Launching spotify with generic systray integration." + minimized= + for arg; do + if [ "$arg" = --minimized ]; then + minimized=$arg + break + fi + done + GDK_BACKEND="x11" "$SPOTIFY_HOME/spotify-tray" \ + --client-path="$SPOTIFY_HOME/spotify" --toggle $minimized -- "$@" +else + if pgrep -f "Spotify/[0-9].[0-9].[0-9]" > /dev/null; then + busline="org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.OpenUri ${1}" + echo "Spotify is already running" + echo "Sending ${busline} to dbus" + if command -v qdbus &> /dev/null; then + qdbus $busline + exit + fi + if command -v dbus-send &> /dev/null; then + dbus-send $busline + exit + fi + echo "No bus dispatcher found." + else + echo "Neither gnome-integration-spotify nor spotify-tray are installed." + echo "Launching spotify without systray integration." + exec "$SPOTIFY_HOME/spotify" "$@" + fi +fi diff --git a/media-sound/spotify/spotify-1.2.20-r2.ebuild b/media-sound/spotify/spotify-1.2.20-r2.ebuild new file mode 100644 index 00000000..51e94fef --- /dev/null +++ b/media-sound/spotify/spotify-1.2.20-r2.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2023 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="1210.g2a8a8a57" +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 + sys-devel/gettext +" +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + dev-libs/openssl:0= + dev-python/dbus-python + media-libs/alsa-lib + media-libs/fontconfig + media-libs/harfbuzz + media-libs/mesa[X(+)] + net-misc/curl[ssl] + net-print/cups + sys-apps/dbus + sys-libs/zlib + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libdrm + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/pango + !gnome-extra/gnome-integration-spotify + libnotify? ( x11-libs/libnotify ) + dev-libs/libayatana-appindicator + local-playback? ( media-video/ffmpeg:0/56.58.58 ) + pulseaudio? ( media-libs/libpulse ) + !pulseaudio? ( media-sound/apulse ) +" + #gnome-integration-spotify causes spotify to fail to launch + #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 + SPOTIFY_HOME=${SPOTIFY_HOME} LIBDIR=$(get_libdir) \ + envsubst '$SPOTIFY_HOME $LIBDIR' \ + < "${FILESDIR}/spotify-wrapper" > "${D}/usr/bin/spotify" || die + 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 "systray integration on non-Gnome DEs" media-sound/spotify-tray +} diff --git a/metadata/md5-cache/media-sound/spotify-1.2.20-r2 b/metadata/md5-cache/media-sound/spotify-1.2.20-r2 new file mode 100644 index 00000000..1b33b298 --- /dev/null +++ b/metadata/md5-cache/media-sound/spotify-1.2.20-r2 @@ -0,0 +1,16 @@ +BDEPEND=>=dev-util/patchelf-0.10 sys-devel/gettext +DEFINED_PHASES=install postinst postrm preinst prepare unpack +DESCRIPTION=Spotify is a social music platform +EAPI=8 +HOMEPAGE=https://www.spotify.com/download/linux/ +IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info +INHERIT=desktop optfeature pax-utils unpacker xdg +IUSE=libnotify local-playback pax-kernel pulseaudio +KEYWORDS=amd64 +LICENSE=Spotify +RDEPEND=>=app-accessibility/at-spi2-core-2.46.0:2 dev-libs/expat dev-libs/glib:2 dev-libs/nspr dev-libs/nss dev-libs/openssl:0= dev-python/dbus-python media-libs/alsa-lib media-libs/fontconfig media-libs/harfbuzz media-libs/mesa[X(+)] net-misc/curl[ssl] net-print/cups sys-apps/dbus sys-libs/zlib x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3 x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libdrm x11-libs/libxcb x11-libs/libxkbcommon x11-libs/pango !gnome-extra/gnome-integration-spotify libnotify? ( x11-libs/libnotify ) dev-libs/libayatana-appindicator local-playback? ( media-video/ffmpeg:0/56.58.58 ) pulseaudio? ( media-libs/libpulse ) !pulseaudio? ( media-sound/apulse ) +RESTRICT=mirror strip +SLOT=0 +SRC_URI=http://repository.spotify.com/pool/non-free/s/spotify-client/spotify-client_1.2.20.1210.g2a8a8a57_amd64.deb +_eclasses_=desktop 021728fdc1b03b36357dbc89489e0f0d multilib c19072c3cd7ac5cb21de013f7e9832e0 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 optfeature 222cb475c5a4f7ae7cfb0bf510a6fe54 pax-utils 91d47e5d20627c717aa878b9167c62a8 toolchain-funcs fbbbc99d10168de2926e06da7169b8dc unpacker aa6a4e924009232d8b78b31e932c30b5 xdg 4a14c5c24f121e7da66e5aab4a168c6e xdg-utils baea6080dd821f5562d715887954c9d3 +_md5_=9fc70a932b29cb1ee83ec033cfc980c3 diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index index 5b6beaee..2e789bd9 100644 --- a/metadata/pkg_desc_index +++ b/metadata/pkg_desc_index @@ -32,6 +32,7 @@ lxqt-base/lxqt-session 1.3.0-r1: LXQt Session Manager mail-client/mailspring 1.9.2-r1: A beautiful fast and maintained fork of Nylas Mail media-libs/portsmf 239-r1: The Tenacity fork of PortSMF, a Standard MIDI File library media-sound/cantata 2.5.0-r10: Featureful and configurable Qt client for the music player daemon (MPD) +media-sound/spotify 1.2.20-r2: Spotify is a social music platform media-tv/sopcast 3.2.6-r4: SopCast free P2P Internet TV binary media-video/guvcview 2.0.6-r10: Simple Qt5 or GTK+3 interface for capturing and viewing video from v4l2 devices net-dialup/rp-pppoe 4.0-r5: A user-mode PPPoE client and server suite for Linux |