2011
12.15

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

1 comment so far

Add Your Comment
  1. 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’