blob: 0092d61cc35a3c6ff1b8e31e5bf1bde413f380ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-sound/lastfmplayer/lastfmplayer-1.5.4.27091-r3.ebuild,v 1.1 2012/07/14 17:10:48 hwoarang Exp $
EAPI=2
inherit eutils multilib toolchain-funcs qt4-r2
MY_P="${P/lastfmplayer/lastfm}+dfsg"
DESCRIPTION="A player for last.fm radio streams"
HOMEPAGE="http://www.last.fm/help/player
http://www.mehercule.net/staticpages/index.php/lastfm"
SRC_URI="http://dev.gentoo.org/~hwoarang/distfiles/lastfm-${PV}+dfsg.tar.gz
http://dev.gentoo.org/~hwoarang/distfiles/lastfm_${PV}+dfsg-2.debian.tar.gz
dbus? ( http://glue.umd.edu/~rossatok/dbusextension-2.0.tar.bz2 )"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
IUSE="dbus ipod"
RDEPEND="x11-libs/qt-gui:4
x11-libs/qt-sql:4
media-libs/libsamplerate
sci-libs/fftw
media-libs/libmad
ipod? ( >=media-libs/libgpod-0.5.2 )
media-libs/alsa-lib"
DEPEND="${RDEPEND}
app-arch/sharutils"
S=${WORKDIR}/${MY_P}
src_prepare() {
qt4-r2_src_prepare
# Use a different extensions path
epatch "${FILESDIR}"/${PN}-extensions-path.patch
einfo "Applying Debian patchset"
sed -i "/^tray-icon-size.diff/d" "${WORKDIR}"/debian/patches/series
cd "${S}"
for i in $( < "${WORKDIR}"/debian/patches/series); do
epatch "${WORKDIR}"/debian/patches/$i
done
if ! use ipod ; then
sed -i '/src\/mediadevices\/ipod/d' LastFM.pro || die "sed failed"
fi
#fix plugin search path for multilib support
sed -i -e "s:/usr/lib/:/usr/$(get_libdir)/:g" \
"${S}"/src/libMoose/MooseCommon.cpp
if use dbus; then
mv "${WORKDIR}"/dbus "${S}"/src/dbus
sed -i -e "/include/s:../definitions.pro.in:definitions.pro.in:" \
-e "/TARGET/s:dbusextension:LastFmDbusExtension:" \
"${S}"/src/dbus/dbusextension.pro
fi
# only glib.h can be included directly in >glib-2.32
epatch "${FILESDIR}"/${P}-glib.h.patch
# Gcc 4.7 definitions. Bug #423221
epatch "${FILESDIR}"/${P}-gcc47.patch
}
src_configure() {
if use dbus; then
pushd "${S}"/src/dbus
eqmake4 dbusextension.pro
popd >> /dev/null
fi
qt4-r2_src_configure
}
src_compile() {
emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" || die "emake failed"
if use dbus; then
einfo "Building DBUS plugin"
emake -C "${S}"/src/dbus || die "failed to build dbus extension"
fi
cd i18n; lrelease *.ts
}
src_install() {
cd "${WORKDIR}"
# Docs
dodoc "${S}"/ChangeLog.txt "${S}"/README debian/README.source \
|| die "dodoc failed"
doman debian/lastfm.1 || die "doman failed"
# Copied from debian/rules
insinto /usr/share
doins -r debian/package-files/share/icons || die "failed to install icons"
insinto /usr/share/lastfm/icons
doins "${S}"/bin/data/icons/*.png \
|| die "failed to install application icons"
insinto /usr/share/lastfm
doins "${S}"/bin/data/*.png || die "failed to install icons"
dodir /usr/$(get_libdir)/lastfm_services/
insinto /usr/$(get_libdir)/lastfm_services/
insopts -m0755
doins -r "${S}"/bin/lastfm_services/*.so || die "failed to install plugins"
if use dbus; then
insinto /usr/$(get_libdir)/lastfm_services/extensions/
insopts -m0755
doins "${S}"/bin/lastfm_services/extensions/*.so || die
fi
insinto /usr/$(get_libdir)
insopts -m0755
doins "${S}"/bin/libLastFmTools.so.1* || die "failed to install library"
doins "${S}"/bin/libMoose.so.1* || die "failed to install library"
#fix symlinks
cd "${D}"/usr/$(get_libdir)/
ln -sfn libLastFmTools.so.1.0.0 libLastFmTools.so.1
ln -sfn libLastFmTools.so.1.0.0 libLastFmTools.so.1.0
ln -sfn libMoose.so.1.0.0 libMoose.so.1
ln -sfn libMoose.so.1.0.0 libMoose.so.1.0
cd "${WORKDIR}"
newbin "${S}"/bin/last.fm lastfm || die "newbin failed"
insinto /usr/share/lastfm/i18n
doins "${S}"/i18n/*.qm || die "failed to install translations"
fperms 755 /usr/bin/lastfm
rm -f "${D}"/usr/share/lastfm/icons/{*profile24,systray_mac}.png
# create desktop entry
doicon "${WORKDIR}"/debian/package-files/share/icons/hicolor/48x48/apps/lastfm.png
# Allow arguments when launching application. Bug #395277
make_desktop_entry lastfm "Last.fm Player" lastfm
sed -i -e "/^Exec/s:lastfm:& %U:" \
"${D}"/usr/share/applications/lastfm-${PN}.desktop || die
}
pkg_postinst() {
elog "To use the Last.fm player with a mozilla based browser:"
elog " 1. Install gnome-base/gconf"
elog " 2. gconftool-2 -t string -s \
/desktop/gnome/url-handlers/lastfm/command \"/usr/bin/lastfm %s\""
elog " 3. gconftool-2 -s \
/desktop/gnome/url-handlers/lastfm/needs_terminal false -t bool"
elog " 4. gconftool-2 -t bool -s \
/desktop/gnome/url-handlers/lastfm/enabled true"
elog
elog "If you experience awkward fonts or widgets, try running qtconfig."
}
|