diff options
-rw-r--r-- | media-sound/spotify/ChangeLog | 10 | ||||
-rw-r--r-- | media-sound/spotify/spotify-0.9.4.183-r4.ebuild | 183 |
2 files changed, 191 insertions, 2 deletions
diff --git a/media-sound/spotify/ChangeLog b/media-sound/spotify/ChangeLog index 0c58ec96a79f..7d86d97853d0 100644 --- a/media-sound/spotify/ChangeLog +++ b/media-sound/spotify/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-sound/spotify -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/spotify/ChangeLog,v 1.24 2013/12/11 03:01:05 prometheanfire Exp $ +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/spotify/ChangeLog,v 1.25 2014/01/15 19:44:27 prometheanfire Exp $ + +*spotify-0.9.4.183-r4 (15 Jan 2014) + + 15 Jan 2014; Matthew Thode <prometheanfire@gentoo.org> + +spotify-0.9.4.183-r4.ebuild: + add gcrypt dep for bug 498054 *spotify-0.9.4.183-r3 (11 Dec 2013) diff --git a/media-sound/spotify/spotify-0.9.4.183-r4.ebuild b/media-sound/spotify/spotify-0.9.4.183-r4.ebuild new file mode 100644 index 000000000000..93f1d7c74b9b --- /dev/null +++ b/media-sound/spotify/spotify-0.9.4.183-r4.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/spotify/spotify-0.9.4.183-r4.ebuild,v 1.1 2014/01/15 19:44:27 prometheanfire Exp $ + +EAPI=5 +inherit eutils fdo-mime gnome2-utils pax-utils unpacker + +DESCRIPTION="Spotify is a social music platform" +HOMEPAGE="https://www.spotify.com/ch-de/download/previews/" +MY_PV="${PV}.g644e24e.428-1" +MY_P="${PN}-client_${MY_PV}" +SRC_BASE="http://repository.spotify.com/pool/non-free/${PN:0:1}/${PN}/" +SRC_URI=" + x86? ( ${SRC_BASE}${MY_P}_i386.deb ) + amd64? ( ${SRC_BASE}${MY_P}_amd64.deb ) + " +LICENSE="Spotify" +SLOT="0" +#amd64 and x86 keywords removed due to security concerns, see bug 474010 +KEYWORDS="~amd64 ~x86" +IUSE="gnome pax_kernel pulseaudio" +RESTRICT="mirror strip" + +DEPEND="" +RDEPEND="${DEPEND} + x11-libs/libxcb + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXau + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXdmcp + x11-libs/libXScrnSaver + x11-libs/libXrandr + x11-libs/libXrender + dev-qt/qtcore:4[qt3support] + dev-qt/qtdbus:4 + dev-qt/qtgui:4[qt3support] + dev-qt/qtwebkit:4 + x11-misc/xdg-utils + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + dev-libs/openssl:0 + dev-libs/glib:2 + dev-libs/libgcrypt:0/11 + media-libs/libpng:1.2 + dev-db/sqlite:3 + sys-libs/zlib + app-arch/bzip2 + sys-apps/dbus + sys-apps/util-linux + dev-libs/expat + >=dev-libs/nspr-4.9 + gnome-base/gconf:2 + x11-libs/gtk+:2 + dev-libs/nss + dev-libs/glib:2 + net-print/cups + virtual/udev + pulseaudio? ( >=media-sound/pulseaudio-0.9.21 ) + gnome? ( gnome-extra/gnome-integration-spotify )" + +S=${WORKDIR} + +QA_PREBUILT="/opt/spotify/spotify-client/spotify + /opt/spotify/spotify-client/Data/SpotifyHelper + /opt/spotify/spotify-client/libcef.so" + +src_prepare() { + # link against openssl-1.0.0 as it crashes with 0.9.8 + sed -i \ + -e 's/\(lib\(ssl\|crypto\).so\).0.9.8/\1.1.0.0/g' \ + opt/spotify/spotify-client/spotify || die "sed failed" + sed -i \ + -e 's/\(lib\(ssl\|crypto\).so\).0.9.8/\1.1.0.0/g' \ + opt/spotify/spotify-client/Data/SpotifyHelper || die "sed failed" + # different NSPR / NSS library names for some reason + sed -i \ + -e 's/\(lib\(plc4\|nspr4\).so\).9\(.\)/\1.0d\3\3/g' \ + opt/spotify/spotify-client/Data/SpotifyHelper || die "sed failed" + sed -i \ + -e 's/\(lib\(nss3\|nssutil3\|smime3\).so\).1d/\1\x00\x00\x00/g' \ + -e 's/\(lib\(plc4\|nspr4\).so\).0d\(.\)/\1\x00\x00\3\3/g' \ + opt/spotify/spotify-client/Data/libcef.so || die "sed failed" + # Fix desktop entry to launch spotify-dbus.py for GNOME integration + if use gnome ; then + sed -i \ + -e 's/spotify \%U/spotify-dbus.py \%U/g' \ + opt/spotify/spotify-client/spotify.desktop || die "sed failed" + fi + #and fix other stuff in the desktop file as well + sed -i \ + -e 's/x-scheme-handler\/spotify$/x-scheme-handler\/spotify\;/g' \ + -e 's/AudioVideo$/AudioVideo\;/g' \ + opt/spotify/spotify-client/spotify.desktop || die "sed failed" +} + +src_install() { + dodoc opt/spotify/spotify-client/changelog + dodoc usr/share/doc/spotify-client/changelog.Debian.gz + dodoc usr/share/doc/spotify-client/copyright + + insinto /usr/share/pixmaps + doins opt/spotify/spotify-client/Icons/*.png + + # install in /opt/spotify + SPOTIFY_HOME=/opt/spotify/spotify-client + insinto ${SPOTIFY_HOME} + doins -r opt/spotify/spotify-client/* + fperms +x ${SPOTIFY_HOME}/spotify + fperms +x ${SPOTIFY_HOME}/Data/SpotifyHelper + + dodir /usr/bin + cat <<-EOF >"${D}"/usr/bin/spotify + #! /bin/sh + LD_PRELOAD="\${LD_PRELOAD} ${SPOTIFY_HOME}/libcef.so" + export LD_PRELOAD + exec ${SPOTIFY_HOME}/spotify "\$@" + EOF + fperms +x /usr/bin/spotify + + # revdep-rebuild produces a false positive because of symbol versioning + dodir /etc/revdep-rebuild + cat <<-EOF >"${D}"/etc/revdep-rebuild/10${PN} + SEARCH_DIRS_MASK="${SPOTIFY_HOME}" + EOF + + for size in 16 22 24 32 48 64 128 256; do + newicon -s ${size} "${S}${SPOTIFY_HOME}/Icons/spotify-linux-${size}.png" \ + "spotify-client.png" + done + domenu "${S}${SPOTIFY_HOME}/spotify.desktop" + + if use pax_kernel; then + #create the headers, reset them to default, then paxmark -m them + pax-mark C "${ED}"/opt/${PN}/spotify-client/${PN} || die + pax-mark C "${ED}"/opt/${PN}/spotify-client/Data/SpotifyHelper || die + pax-mark z "${ED}"/opt/${PN}/spotify-client/${PN} || die + pax-mark z "${ED}"/opt/${PN}/spotify-client/Data/SpotifyHelper || die + pax-mark m "${ED}"/opt/${PN}/spotify-client/${PN} || die + pax-mark m "${ED}"/opt/${PN}/spotify-client/Data/SpotifyHelper || die + eqawarn "You have set USE=pax_kernel meaning that you intendto 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 + + #hack to fix the nspr linking in spotify + dosym /usr/lib/libnspr4.so /opt/spotify/spotify-client/libnspr4.so.9 + dosym /usr/lib/libplc4.so /opt/spotify/spotify-client/libplc4.so.9 + sed -i 's/libcef\.so/libcef\.so\ \/opt\/spotify\/spotify\-client\/libnspr4\.so\.9\ \/opt\/spotify\/spotify\-client\/libplc4\.so\.9/g' "${ED}/usr/bin/spotify" + + #TODO maybe this symlink is not needed and could be fixed with previous sed + dosym /opt/${PN}/spotify-client/Data/libcef.so /opt/${PN}/spotify-client/ + + #TODO fix for x86 + dosym /usr/lib/libudev.so /opt/${PN}/spotify-client/Data/libudev.so.0 +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update + fdo-mime_mime_database_update + fdo-mime_desktop_database_update + + ewarn "If Spotify crashes after an upgrade its cache may be corrupt." + ewarn "To remove the cache:" + ewarn "rm -rf ~/.cache/spotify" + ewarn + ewarn "you need to use the ld.bfd linker with openssl" +} + +pkg_postrm() { + gnome2_icon_cache_update + fdo-mime_mime_database_update + fdo-mime_desktop_database_update +} |