]> git.pld-linux.org Git - packages/clementine.git/blame - clementine.spec
require sqlite3 built with -DSQLITE_ENABLE_FTS3_TOKENIZER
[packages/clementine.git] / clementine.spec
CommitLineData
2c687024 1# TODO:
f2d911f2 2# - Gstreamer error: "A text/uri-list decoder plugin is required to play this stream, but not installed."
f2d911f2 3# - apply patches to libprojectM.spec and use
ce2dc7f3 4# - sub-package for kde4 stuff (or nuke them):
6b78beb2
ER
5# /usr/share/kde4/services/clementine-feed.protocol
6# /usr/share/kde4/services/clementine-itms.protocol
7# /usr/share/kde4/services/clementine-itpc.protocol
8# /usr/share/kde4/services/clementine-zune.protocol
2c687024 9#
10# Conditional build:
c6f8dd12 11%bcond_without static_sqlite # with static sqlite3
3834eb29 12%bcond_with static_projectm # with static projectM
aa506418 13%bcond_with libspotify # build with system libspotify instead of downloading blob
58fa3d37 14%bcond_without tests # build without tests
0b056df0 15
064e709c 16%define qtver %(pkg-config --silence-errors --modversion QtCore 2>/dev/null || echo ERROR)
70af747a 17%define sqlitever 3.14.0-2
bf1e6952 18Summary: A music player and library organiser
df3c0ac1 19Summary(hu.UTF-8): Egy zenelejátszó és gyűjtemény-kezelő
bf1e6952 20Name: clementine
19313dac 21Version: 1.3.1
70af747a 22Release: 2
bf1e6952
ER
23License: GPL v3 and GPL v2+
24Group: Applications/Multimedia
19313dac
ER
25Source0: https://github.com/clementine-player/Clementine/releases/download/%{version}/%{name}-%{version}.tar.xz
26# Source0-md5: 18cc5f66aa5fbb2781198a65439bd38a
10ecf727 27Patch1: unbundle-po.patch
5fe14c9e 28Patch4: %{name}-mygpo.patch
9d35d08c 29Patch6: %{name}-udisks-headers.patch
1aea93ea 30URL: http://www.clementine-player.org/
64d9867e
ER
31BuildRequires: QtCore-devel >= %{qtver}
32BuildRequires: QtDBus-devel >= %{qtver}
33BuildRequires: QtGui-devel >= %{qtver}
f2d911f2 34BuildRequires: QtIOCompressor-devel
64d9867e
ER
35BuildRequires: QtNetwork-devel >= %{qtver}
36BuildRequires: QtOpenGL-devel >= %{qtver}
acb98f48 37BuildRequires: QtSingleApplication-devel >= 2.6-4
64d9867e
ER
38BuildRequires: QtSql-devel >= %{qtver}
39%{?with_tests:BuildRequires: QtTest-devel >= %{qtver}}
40BuildRequires: QtXml-devel >= %{qtver}
7dce7848 41BuildRequires: QtXmlPatterns-devel >= %{qtver}
bf1e6952 42BuildRequires: boost-devel
7279ad3f 43BuildRequires: cmake >= 2.6
b401e3aa 44BuildRequires: cryptopp-devel >= 5.6.1-4
58fa3d37 45BuildRequires: desktop-file-utils
608ae6ac 46BuildRequires: gettext-tools
f823a794 47%{?with_static_projectm:BuildRequires: glew-devel}
8f83a8c0 48BuildRequires: glib2-devel
dbbdd85a
JK
49BuildRequires: gstreamer0.10-devel
50BuildRequires: gstreamer0.10-plugins-base-devel
bf1e6952 51BuildRequires: gtest-devel
aa506418
ER
52BuildRequires: libcdio-devel
53BuildRequires: libchromaprint-devel
9feefe74 54BuildRequires: libechonest-devel
8f83a8c0 55BuildRequires: libgpod-devel >= 0.7.92
fbe6cce5 56BuildRequires: libimobiledevice-devel >= 1.1.5
2eedc3b1 57BuildRequires: libindicate-qt-devel
e0ba0da9 58BuildRequires: liblastfm-devel >= 0.3.3
257df204 59BuildRequires: libmtp-devel >= 1.0
1aea93ea 60BuildRequires: libmygpo-qt-devel >= 1.0.7
8f83a8c0 61BuildRequires: libplist-devel
f823a794 62%{!?with_static_projectm:BuildRequires: libprojectM-devel >= 1:2.0.1-4}
bf1e6952 63BuildRequires: libqxt-devel
aa506418 64%{?with_libspotify:BuildRequires: libspotify-devel >= 12.1.45}
11d9e7ee 65BuildRequires: libusbmuxd-devel
8f83a8c0 66BuildRequires: libxml2-devel
75ec0859 67BuildRequires: pkgconfig
2eedc3b1 68BuildRequires: pkgconfig
e0ba0da9 69BuildRequires: protobuf-devel
49968d1b 70BuildRequires: qca-devel
e0ba0da9 71BuildRequires: qjson-devel
64d9867e 72BuildRequires: qt4-build >= %{qtver}
b6199a83 73BuildRequires: qt4-linguist
74BuildRequires: qt4-qmake
0b414294 75BuildRequires: rpmbuild(find_lang) >= 1.38
2eedc3b1 76BuildRequires: rpmbuild(macros) >= 1.596
bf1e6952 77BuildRequires: sed >= 4.0
6f798db9 78BuildRequires: sparsehash-devel
70af747a 79%{!?with_static_sqlite:BuildRequires: sqlite3-devel >= %{sqlitever}}
257df204 80BuildRequires: taglib-devel >= 1.8
ce2dc7f3
ER
81BuildRequires: tar >= 1:1.22
82BuildRequires: xz
726826ed 83Requires(post,postun): desktop-file-utils
23941661
AF
84Requires(post,postun): gtk-update-icon-cache
85Requires(post,postun): hicolor-icon-theme
70af747a 86%{!?with_static_sqlite:BuildRequires: sqlite3 >= %{sqlitever}}
acb98f48 87Requires: QtSingleApplication >= 2.6-4
64d9867e 88%{!?with_static_sqlite:Requires: QtSql-sqlite3 >= %{qtver}}
dbbdd85a 89Requires: gstreamer0.10-audio-effects-base
862961b4 90Requires: gstreamer0.10-mad
cb052d79 91Suggests: gstreamer0.10-flac
1bc4a891
ER
92# if we do not link, we use datafiles
93%{!?with_static_projectm:Requires: libprojectM}
bf1e6952
ER
94BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
95
f2d911f2
ER
96# see libprojectM.spec for explanation
97%define filterout_ld -Wl,--as-needed -Wl,--no-copy-dt-needed-entries
98
bf1e6952
ER
99%description
100Clementine is a modern music player and library organiser. It is
101largely a port of Amarok 1.4, with some features rewritten to take
102advantage of Qt4.
103
df3c0ac1
ZU
104%description -l hu.UTF-8
105Clementine egy modern zenelejátszó és gyűjtemény kezelő. Túlnyomórészt
106az Amarok 1.4 port-ja, néhány funkciója újraírva, hogy kihasználhassa
107a Qt4 előnyeit.
108
bf1e6952 109%prep
19313dac 110%setup -q
10ecf727 111%patch1 -p1
ce2dc7f3 112#%patch4 -p1
04b41b7e 113%patch6 -p1
bf1e6952 114
8e4b706b 115# cleanup vendor. keep only needed libraries.
8e4b706b
ER
116mv 3rdparty 3rdparty.dist
117vendor() {
118 local path dir
119 for path; do
120 dir=$(dirname $path)
121 test -d 3rdparty/$dir || mkdir -p 3rdparty/$dir
122 mv 3rdparty.dist/$path 3rdparty/$path
123 done
124}
125vendor sha2 qocoa
126%{?with_static_sqlite:vendor qsqlite}
127%{?with_static_projectm:vendor libprojectm}
5bd3313b
ER
128# missing in pld
129vendor vreen
257df204 130# requires 1.0.9, but only 1.0.8 is released
5bd3313b 131vendor libmygpo-qt
bf1e6952 132
7279ad3f 133# Don't build tests. They require gmock
f2d911f2 134sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt
ea86e9d9
BZ
135# remove -Wall
136sed -i -e 's/-Wall//' src/CMakeLists.txt
bf1e6952
ER
137
138%build
139install -d build
7aaa97de 140install -d build/src/translations
bf1e6952 141cd build
257df204 142# as our buildtype is not Release, need to pass these manually. see CMakeLists.txt ~135
6b78beb2 143CXXFLAGS="%{rpmcxxflags} -DNDEBUG -DQT_NO_DEBUG_OUTPUT"
88ca6f4b 144%cmake \
ce2dc7f3 145 -DBUILD_WERROR:BOOL=OFF \
19313dac 146 -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
dc08053f 147 -DCMAKE_INCLUDE_PATH=%{_includedir}/qt4 \
f2d911f2 148 -DBUNDLE_PROJECTM_PRESETS=OFF \
f823a794
ER
149 -DUSE_SYSTEM_QTSINGLEAPPLICATION=ON \
150 -DUSE_SYSTEM_QXT=ON \
151 -DUSE_SYSTEM_PROJECTM=ON \
742e4e0a 152 -DSTATIC_SQLITE=%{?with_static_sqlite:ON}%{!?with_static_sqlite:OFF} \
dc08053f 153 -DQTSINGLEAPPLICATION_INCLUDE_DIRS=%{_includedir}/qt4/QtSolutions \
88ca6f4b 154 ..
bf1e6952
ER
155%{__make}
156
58fa3d37
ER
157%if %{with tests}
158desktop-file-validate ../dist/%{name}.desktop
159%endif
160
bf1e6952
ER
161%install
162rm -rf $RPM_BUILD_ROOT
163%{__make} -C build install \
164 DESTDIR=$RPM_BUILD_ROOT
165
9de89a56 166%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/kde4/services
f823a794 167
dbbdd85a
JK
168# not in our glibc?
169rm -r $RPM_BUILD_ROOT%{_localedir}/tr_TR
21bb3051
ER
170rm -r $RPM_BUILD_ROOT%{_localedir}/he_IL
171rm -r $RPM_BUILD_ROOT%{_localedir}/mk_MK
172rm -r $RPM_BUILD_ROOT%{_localedir}/si_LK
dbbdd85a 173
10ecf727
ER
174%find_lang %{name} --with-qm
175
23f69c7b 176install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/24x24/apps
58fa3d37
ER
177cp -p dist/icons/ubuntu-mono-light/clementine-panel-grey.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/24x24/apps/clementine-panel-grey.png
178cp -p dist/icons/ubuntu-mono-light/clementine-panel.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/24x24/apps/clementine-panel.png
23f69c7b 179
bf1e6952
ER
180%clean
181rm -rf $RPM_BUILD_ROOT
182
726826ed
ER
183%post
184%update_desktop_database_post
2eedc3b1 185%update_icon_cache hicolor
726826ed
ER
186
187%postun
188%update_desktop_database_postun
2eedc3b1 189%update_icon_cache hicolor
726826ed 190
10ecf727 191%files -f %{name}.lang
bf1e6952 192%defattr(644,root,root,755)
e0ba0da9 193%doc Changelog
bf1e6952 194%attr(755,root,root) %{_bindir}/clementine
dbbdd85a 195%attr(755,root,root) %{_bindir}/clementine-tagreader
bf1e6952 196%{_desktopdir}/clementine.desktop
23f69c7b
BZ
197%{_iconsdir}/hicolor/*/apps/clementine-panel-grey.png
198%{_iconsdir}/hicolor/*/apps/clementine-panel.png
9de89a56
ER
199%{_iconsdir}/hicolor/*/apps/clementine.png
200%{_iconsdir}/hicolor/*/apps/clementine.svg
201%{_datadir}/appdata/clementine.appdata.xml
This page took 0.0900570000000001 seconds and 4 git commands to generate.