/[packages]/cauldron/lastfm-player/current/SPECS/lastfm-player.spec
ViewVC logotype

Annotation of /cauldron/lastfm-player/current/SPECS/lastfm-player.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 389213 - (hide annotations) (download)
Thu Jan 17 21:29:26 2013 UTC (11 years, 3 months ago) by pterjan
Original Path: obsolete/cauldron/lastfm-player/current/SPECS/lastfm-player.spec
File size: 5781 byte(s)
Drop 
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

  ViewVC Help
Powered by ViewVC 1.1.30