gentoo temporary ebuild fix for spotify
at time of writing, spotify (in this particular repo) was at version spotify-client-qt_0.6.2.291.gcccc1f5.116-1_amd64.deb & i386.deb
so after installing the piczu overlay to install spotify on my machine i noticed that it was not finding the appropriate file in the proper repo uri (http://repository.spotify.com/pool/non-free/s/spotify).
it was searching for $REPO_URI/spotify-client-qt-ver.ga662380-1_i386.deb
here is the ebuild (spotify-0.4.6.73.ebuild) as provided by piczu’s overlay:
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="3"
inherit eutils
MY_PN="spotify-client-qt"
MY_PV="${PV}.ga662380"
MY_P="${MY_PN}_${MY_PV}"
DESCRIPTION="A proprietary peer-to-peer music streaming desktop application"
HOMEPAGE="http://www.spotify.com"
REPO_URI="http://repository.spotify.com/pool/non-free/s/spotify"
SRC_URI="amd64? ( ${REPO_URI}/${MY_P}-1_amd64.deb )
x86? ( ${REPO_URI}/${MY_P}-1_i386.deb )"
LICENSE="Spotify"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
# media-sound/asoundconf left
DEPEND=""
RDEPEND="${RDEPEND}
>=x11-libs/qt-dbus-4.5.0
>=x11-libs/qt-webkit-4.5.0
>=x11-libs/qt-core-4.5.0
>=x11-libs/qt-gui-4.5.0"
src_unpack() {
unpack ${A} ./data.tar.gz
}
src_install() {
insinto /opt/${PN}
into /opt/${PN}
dobin usr/bin/spotify
dosym /opt/${PN}/bin/spotify /usr/bin/spotify
newdoc usr/share/doc/spotify-client-qt/changelog.Debian.gz changelog.gz
doins -r usr/share/spotify/theme
# hardcoded path fix
dodir /usr/share/spotify
dosym /opt/${PN}/theme /usr/share/spotify/theme
}
here are the changes i made to it :
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="3"
inherit eutils
MY_PN="spotify-client-qt"
#MY_PV="${PV}.ga662380"
MY_PV="${PV}.gcccc1f5.116-1"
MY_P="${MY_PN}_${MY_PV}"
DESCRIPTION="A proprietary peer-to-peer music streaming desktop application"
HOMEPAGE="http://www.spotify.com"
REPO_URI="http://repository.spotify.com/pool/non-free/s/spotify"
SRC_URI="amd64? ( ${REPO_URI}/${MY_P}_amd64.deb )
x86? ( ${REPO_URI}/${MY_P}_i386.deb )"
LICENSE="Spotify"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
# media-sound/asoundconf left
DEPEND=""
RDEPEND="${RDEPEND}
>=x11-libs/qt-dbus-4.5.0
>=x11-libs/qt-webkit-4.5.0
>=x11-libs/qt-core-4.5.0
>=x11-libs/qt-gui-4.5.0"
src_unpack() {
unpack ${A} ./data.tar.gz
}
src_install() {
insinto /opt/${PN}
into /opt/${PN}
dobin usr/bin/spotify
dosym /opt/${PN}/bin/spotify /usr/bin/spotify
newdoc usr/share/doc/spotify-client-qt/changelog.Debian.gz changelog.gz
doins -r usr/share/spotify/theme
# hardcoded path fix
dodir /usr/share/spotify
dosym /opt/${PN}/theme /usr/share/spotify/theme
}
I also removed the existing manifest and the old ebuilds and just generated a new one from this ebuild file.
this ebuild file was named spotify-0.6.2.291.ebuild
to match the version that is in the repo.
the manifest file was created by running ebuild spotify-0.6.2.291.ebuild manifest
I also tried to write my own ebuild file but both mine and your version fails when trying to unpack the .deb file with the message:
>>> ‘/var/tmp/portage/media-sound/spotify-0.6.2.291/temp/build.log’
* Messages for package media-sound/spotify-0.6.2.291:
* ERROR: media-sound/spotify-0.6.2.291 failed (unpack phase):
* failure unpacking spotify-client-qt_0.6.2.291.gcccc1f5.116-1_amd64.deb
*
* Call stack:
* ebuild.sh, line 75: Called src_unpack
* environment, line 2096: Called unpack ‘spotify-client-qt_0.6.2.291.gc ccc1f5.116-1_amd64.deb’ ‘./data.tar.gz’
* phase-helpers.sh, line 355: Called die
* The specific snippet of code:
* ar x “$srcdir$x” || die “$myfail”
*
* If you need support, post the output of ’emerge –info =media-sound/spotify-0 .6.2.291′,
* the complete build log and the output of ’emerge -pqv =media-sound/spotify-0. 6.2.291′.
* This ebuild is from an overlay named ‘piczu’: ‘/var/lib/layman/piczu/’
* The complete build log is located at ‘/var/tmp/portage/media-sound/spotify-0. 6.2.291/temp/build.log’.
* The ebuild environment file is located at ‘/var/tmp/portage/media-sound/spoti fy-0.6.2.291/temp/environment’.
* S: ‘/var/tmp/portage/media-sound/spotify-0.6.2.291/work/spotify-0.6.2.291’