1 |
barjac |
336296 |
%define oname player |
2 |
colin |
68290 |
|
3 |
barjac |
336296 |
Summary: Last.fm web radio player |
4 |
|
|
Name: lastfm-player |
5 |
|
|
Version: 1.5.4.27091 |
6 |
umeabot |
356640 |
Release: %mkrel 6 |
7 |
barjac |
336296 |
Epoch: 1 |
8 |
|
|
License: GPLv2+ |
9 |
|
|
Group: Sound/Players |
10 |
|
|
Url: http://www.last.fm/tools/downloads/ |
11 |
colin |
68290 |
#gw fetched from svn://svn.audioscrobbler.net/clientside/Last.fm/tags/1.5.4 |
12 |
|
|
#with useless binaries and other files removed (just like the Debian folks |
13 |
|
|
#did with their dfsg tarballs): |
14 |
|
|
#rm -rf bin/*dll bin/sqldrivers/ bin/Microsoft* bin/*lib res/libsamplerate/ res/mad/ src/Twiddly/iTunesCOMAPI/ src/breakpad/external/ src/libFingerprint/libs/ src/libUnicorn/z* src/mediadevices/ipod/include/ src/output/RtAudio/dsound/ src/output/portAudio/PortAudio/ |
15 |
barjac |
336296 |
Source0: http://cdn.last.fm/client/src/lastfm-%version.tar.xz |
16 |
|
|
#Source0: http://www.mehercule.net/lastfm/lastfm_%%{version}+dfsg.orig.tar.gz |
17 |
|
|
Source1: icons.tar.gz |
18 |
|
|
Source2: trayicons22.tar.bz2 |
19 |
|
|
|
20 |
|
|
BuildRequires: qt4-devel >= 2:4.3.0 qt4-linguist |
21 |
|
|
BuildRequires: libalsa-devel |
22 |
|
|
#gw ATM not needed on Linux |
23 |
|
|
#BuildRequires: fftw3-devel libsamplerate-devel |
24 |
|
|
BuildRequires: libgpod-devel |
25 |
|
|
BuildRequires: libmad-devel |
26 |
|
|
Provides: player = %{version}-%{release} |
27 |
|
|
Obsoletes: player < %{version}-%{release} |
28 |
|
|
|
29 |
colin |
68290 |
# gw these patches come from the unofficial Debian package at: |
30 |
|
|
# http://mehercule.net/staticpages/index.php/lastfm |
31 |
|
|
#Don't compile portAudio output plugin on Linux. |
32 |
|
|
# And fix build on 64bit Fedora 13 |
33 |
barjac |
336296 |
Patch0: build-fixes.diff |
34 |
colin |
68290 |
# Make sure the binaries only link to the libraries that they need |
35 |
barjac |
336296 |
Patch1: reduce-linkage.diff |
36 |
colin |
68290 |
# The Linux client does not do fingerprinting, so don't build it. This reduces the client's package dependencies. |
37 |
barjac |
336296 |
Patch3: no-fingerprint-lib.diff |
38 |
colin |
68290 |
# With a release build, the ALSA output plugin writes noisy messages to the log file. Only make it noisy in a debug build. |
39 |
barjac |
336296 |
Patch4: alsa-uses-qdebug.diff |
40 |
colin |
68290 |
# Don't segfault: make sure that the audio device is open before we write to it. |
41 |
barjac |
336296 |
Patch5: check-soundcard-errors.diff |
42 |
colin |
68290 |
# Use 22x22 icons for Linux system tray. |
43 |
barjac |
336296 |
Patch6: tray-icon-size.diff |
44 |
colin |
68290 |
# Hide the Scrobble Directories group in the options. It's irrelevant on Linux. |
45 |
barjac |
336296 |
Patch7: hide-scrobbledir-option.diff |
46 |
colin |
68290 |
# Control the volume by spinning the mouse wheel over the system tray icon. |
47 |
barjac |
336296 |
Patch9: tray-volume.diff |
48 |
colin |
68290 |
# Correctly sets the language when there is no Last.fm.conf file. If you need to change the language after that, you can do so in Tools | Options | Account. |
49 |
barjac |
336296 |
Patch10: set-locale.diff |
50 |
colin |
68290 |
# Don't re-run the setup dialog each time the program starts |
51 |
barjac |
336296 |
Patch12: set-firstrun-status.diff |
52 |
colin |
68290 |
# Small style when using Qt >= 4.5 |
53 |
barjac |
336296 |
Patch13: qt45.diff |
54 |
colin |
68290 |
# Fix some text/icon display issues with Qt >= 4.6 |
55 |
barjac |
336296 |
Patch14: qt46.diff |
56 |
colin |
68290 |
# Fix warnings when compiling with Qt >= 4.7 |
57 |
barjac |
336296 |
Patch15: qt47.diff |
58 |
colin |
68290 |
# Fix up icon installation path for Linux packages |
59 |
barjac |
336296 |
Patch16: dirpaths.diff |
60 |
|
|
Patch17: gcc41.diff |
61 |
colin |
68290 |
# loved radio is no longer supported, don't include it in the UI |
62 |
barjac |
336296 |
Patch18: hide-loved-radio.diff |
63 |
colin |
68290 |
# don't scrobble tracks twice |
64 |
barjac |
336296 |
Patch19: ipod-scrobble-fix.diff |
65 |
colin |
68290 |
# Explicitly select which browser to use. Set it in Tools | Options | Connection. |
66 |
barjac |
336296 |
Patch52: browser-select.diff |
67 |
colin |
68290 |
#gw fix linking of the ipod plugin |
68 |
barjac |
336296 |
Patch100: fix-linking.patch |
69 |
colin |
68290 |
#gw official patch to prevent a crash |
70 |
barjac |
336296 |
Patch200: sidebar-crash-fix.diff |
71 |
|
|
Patch201: lastfm-1.5.4-fix-includes.patch |
72 |
|
|
# Fix build |
73 |
|
|
Patch202: lastfm-player-1.5.4-mga-Settings.h.patch |
74 |
|
|
Patch203: lastfm-player-1.5.4-mga-fix_include-playerlistener.cpp.patch |
75 |
|
|
Patch204: lastfm-player-1.5.4-mga-fix_include-lastfmapplication.cpp.patch |
76 |
|
|
Patch205: lastfm-player-1.5.4-mga-fix_include-IpodDevice.cpp.patch |
77 |
colin |
68290 |
|
78 |
|
|
%description |
79 |
|
|
This is the custom radio player program for last.fm, formerly known as |
80 |
|
|
audioscrobbler.com. |
81 |
|
|
|
82 |
|
|
%prep |
83 |
|
|
%setup -q -a 1 -n lastfm-%{version} |
84 |
|
|
%apply_patches |
85 |
|
|
|
86 |
|
|
bzcat %{SOURCE2} | tar -C bin/data/icons -xf - |
87 |
|
|
|
88 |
|
|
chmod -R +r . |
89 |
|
|
perl -pi -e "s|\r\n|\n|" ChangeLog.txt |
90 |
|
|
|
91 |
|
|
%build |
92 |
|
|
%{qt4dir}/bin/qmake -config release |
93 |
colin |
68296 |
%make CXX="g++ -fPIC $(pkg-config --cflags libgpod-1.0)" libdir=%{_libdir} datadir=%{_datadir} |
94 |
colin |
68290 |
|
95 |
|
|
cd i18n |
96 |
|
|
%{qt4dir}/bin/lrelease *.ts |
97 |
|
|
mkdir -p ../bin/data/i18n |
98 |
|
|
cp *.qm ../bin/data/i18n |
99 |
|
|
cd .. |
100 |
|
|
|
101 |
|
|
%install |
102 |
colin |
68296 |
rm -rf %{buildroot} |
103 |
|
|
mkdir -p %{buildroot}{%_bindir,%{_libdir}/} |
104 |
|
|
cp -r bin %{buildroot}%{_libdir}/%{name} |
105 |
|
|
cat << EOF > %{buildroot}%_bindir/%{name} |
106 |
colin |
68290 |
#!/bin/sh |
107 |
colin |
68296 |
RUNDIR="%{_libdir}/%{name}" |
108 |
colin |
68290 |
export LD_LIBRARY_PATH="\${RUNDIR}\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}" |
109 |
|
|
exec "\${RUNDIR}/last.fm" "$@" |
110 |
|
|
EOF |
111 |
colin |
68296 |
install -d -m 755 %{buildroot}%{_datadir}/services |
112 |
|
|
cat > %{buildroot}%{_datadir}/services/lastfm.protocol << EOF |
113 |
colin |
68290 |
[Protocol] |
114 |
colin |
68296 |
exec=%_bindir/%{name} "%u" |
115 |
colin |
68290 |
protocol=lastfm |
116 |
|
|
input=none |
117 |
|
|
output=none |
118 |
|
|
helper=true |
119 |
|
|
listing= |
120 |
|
|
reading=false |
121 |
|
|
writing=false |
122 |
|
|
makedir=false |
123 |
|
|
deleting=false |
124 |
|
|
EOF |
125 |
|
|
|
126 |
colin |
68296 |
mkdir -p %{buildroot}%{_datadir}/applications |
127 |
|
|
# (cg) Ensure the name is last.fm.desktop to match the binary name. |
128 |
|
|
# This allows PulseAudio to parse the .desktop file for extra metadata. |
129 |
|
|
cat > %{buildroot}%{_datadir}/applications/last.fm.desktop << EOF |
130 |
colin |
68290 |
[Desktop Entry] |
131 |
|
|
Name=Last.FM Player |
132 |
|
|
Comment=Play the last.fm internet radio |
133 |
colin |
68296 |
Exec=%{name} %U |
134 |
colin |
68290 |
Icon=lastfm |
135 |
|
|
Terminal=false |
136 |
|
|
Type=Application |
137 |
|
|
StartupNotify=true |
138 |
|
|
Categories=Qt;AudioVideo;Audio;Player;X-MandrivaLinux-CrossDesktop; |
139 |
colin |
68296 |
X-PulseAudio-Properties=media.role=music |
140 |
colin |
68290 |
EOF |
141 |
|
|
|
142 |
colin |
68296 |
mkdir -p %{buildroot}%{_datadir}/icons |
143 |
|
|
cp -r icons/hicolor %{buildroot}%{_datadir}/icons/hicolor |
144 |
|
|
find %{buildroot} -name .svn |xargs rm -rf |
145 |
colin |
68290 |
|
146 |
colin |
68296 |
rm -f %{buildroot}%{_libdir}/%{name}/*.{lib,dylib} |
147 |
colin |
68290 |
#gw the dirpaths patch expects the data files there: |
148 |
colin |
68296 |
mv %{buildroot}%{_libdir}/%{name}/data %{buildroot}%{_datadir}/lastfm |
149 |
colin |
68290 |
|
150 |
|
|
#gw mac icons: |
151 |
colin |
68296 |
rm -f %{buildroot}%{_datadir}/%{name}/{icons/systray,about,install,wizard}_mac.png |
152 |
colin |
68290 |
#gw just for Windows: |
153 |
colin |
68296 |
rm -f %{buildroot}%{_libdir}/%{name}/LastFM.exe.config |
154 |
colin |
68290 |
|
155 |
|
|
%files |
156 |
|
|
%doc ChangeLog.txt README |
157 |
colin |
68296 |
%attr(755,root,root) %_bindir/%{name} |
158 |
|
|
%{_datadir}/applications/*.desktop |
159 |
|
|
%{_datadir}/icons/hicolor/*/apps/lastfm* |
160 |
|
|
%{_libdir}/%{name} |
161 |
|
|
%{_datadir}/lastfm |
162 |
|
|
%{_datadir}/services/lastfm.protocol |