# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/media-sound/spotify/spotify-0.8.8.323.ebuild,v 1.3 2013/01/09 00:52:09 prometheanfire Exp $ EAPI=4 inherit pax-utils DESCRIPTION="Spotify is a social music platform" HOMEPAGE="https://www.spotify.com/ch-de/download/previews/" MY_PV="${PV}.gd143501.250-1" MY_P="${PN}-client_${MY_PV}" SRC_BASE="http://repository.spotify.com/pool/non-free/${PN:0:1}/${PN}/" #SRC_BASE="http://download.spotify.com/preview/" SRC_URI=" x86? ( ${SRC_BASE}${MY_P}_i386.deb ) amd64? ( ${SRC_BASE}${MY_P}_amd64.deb ) " LICENSE="Spotify" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="gnome pax_kernel pulseaudio" 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 x11-libs/qt-core:4 x11-libs/qt-dbus:4 x11-libs/qt-gui:4 x11-libs/qt-webkit:4 x11-misc/xdg-utils media-libs/alsa-lib media-libs/fontconfig media-libs/freetype dev-libs/openssl:0 dev-libs/glib:2 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 pulseaudio? ( >=media-sound/pulseaudio-0.9.21 ) gnome? ( gnome-extra/gnome-integration-spotify )" RESTRICT="mirror strip" QA_PREBUILT="/opt/spotify/spotify /opt/spotify/libcef.so" src_unpack() { mkdir "${P}" cd "${P}" unpack ${A} unpack ./data.tar.gz } 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" # different NSPR / NSS library names for some reason sed -i \ -e 's/\(lib\(nss3\|nssutil3\|smime3\).so\).1d/\1.12/g' \ -e 's/\(lib\(plc4\|nspr4\).so\).0d\(.\)/\1.9\3\3/g' \ opt/spotify/spotify-client/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 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 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 z "${ED}"/opt/${PN}/spotify-client/${PN} || die pax-mark m "${ED}"/opt/${PN}/spotify-client/${PN} || 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 } pkg_postinst() { #register icons and stuff sh /opt/spotify/spotify-client/register.sh ewarn "If Spotify crashes after an upgrade its cache may be corrupt." ewarn "To remove the cache:" ewarn "rm -rf ~/.cache/spotify" } pkg_prerm() { #unregister icons and stuff sh /opt/spotify/spotify-client/unregister.sh }