]> git.pld-linux.org Git - packages/mixxx.git/blame - mixxx.spec
- release 6 (protobuf 3.13)
[packages/mixxx.git] / mixxx.spec
CommitLineData
2b46b242
JB
1#
2# Conditional build:
3%bcond_without faad # FAAD AAC audio decoder
4%bcond_without ffmpeg # FFmpeg support
5%bcond_without hidapi # HID controller support
6%bcond_with ipod # iPod support via libgpod [NOT-WORKING, src/wipodtracksmodel.cpp is missing]
7%bcond_without lv2 # LV2 support
8%bcond_with qt4 # Qt 4 instead of Qt 5
9%bcond_without qtkeychain # secure credentials storage for Live Broadcasting profiles (qt5 only, see below)
10%bcond_without upower # UPower battery state support
11%bcond_without wavpack # WavPack audio decoder
12
13%define qt4_ver 4.6
14%define qt5_ver 5.0
15
16%if %{with qt4}
17# as of 2.2.1, qt5keychain is always checked, see build/depends.py
18%undefine with_qtkeychain
19%endif
6e52a8d4 20Summary: Mixxx - DJ tool
9d3aa6b7 21Summary(hu.UTF-8): Mixxx - DJ program
6e52a8d4 22Summary(pl.UTF-8): Mixxx - narzędzie dla DJ-ów
dab252a8 23Name: mixxx
2b46b242 24Version: 2.2.1
eefb44f4 25Release: 6
2b46b242 26License: GPL v2+ (code), Apache v2.0 (OpenSans font), Ubuntu Font License v1.0 (Ubuntu fonts)
91288879 27Group: X11/Applications/Multimedia
2b46b242
JB
28Source0: https://github.com/mixxxdj/mixxx/archive/release-%{version}/%{name}-release-%{version}.tar.gz
29# Source0-md5: ef72d4b594f9f3dbafd1e264be89fbdc
30Patch0: %{name}-vamp.patch
31URL: https://mixxx.org/
0a70bda1 32BuildRequires: OpenGL-GLU-devel
2b46b242
JB
33%if %{with qt4}
34BuildRequires: QtCore-devel >= %{qt4_ver}
35BuildRequires: QtDBus-devel >= %{qt4_ver}
36BuildRequires: QtGui-devel >= %{qt4_ver}
37BuildRequires: QtNetwork-devel >= %{qt4_ver}
38BuildRequires: QtOpenGL-devel >= %{qt4_ver}
39BuildRequires: QtScript-devel >= %{qt4_ver}
40BuildRequires: QtScriptTools-devel >= %{qt4_ver}
41BuildRequires: QtSql-devel >= %{qt4_ver}
42BuildRequires: QtSvg-devel >= %{qt4_ver}
43BuildRequires: QtTest-devel >= %{qt4_ver}
44BuildRequires: QtXml-devel >= %{qt4_ver}
45%else
46BuildRequires: Qt5Concurrent-devel >= %{qt5_ver}
47BuildRequires: Qt5Core-devel >= %{qt5_ver}
48BuildRequires: Qt5DBus-devel >= %{qt5_ver}
49BuildRequires: Qt5Gui-devel >= %{qt5_ver}
50%{?with_qtkeychain:BuildRequires: Qt5Keychain-devel}
51BuildRequires: Qt5Network-devel >= %{qt5_ver}
52BuildRequires: Qt5OpenGL-devel >= %{qt5_ver}
53BuildRequires: Qt5Script-devel >= %{qt5_ver}
54BuildRequires: Qt5ScriptTools-devel >= %{qt5_ver}
55BuildRequires: Qt5Sql-devel >= %{qt5_ver}
56BuildRequires: Qt5Svg-devel >= %{qt5_ver}
57BuildRequires: Qt5Test-devel >= %{qt5_ver}
58BuildRequires: Qt5Widgets-devel >= %{qt5_ver}
59BuildRequires: Qt5X11Extras-devel >= %{qt5_ver}
60BuildRequires: Qt5Xml-devel >= %{qt5_ver}
61%endif
73237277 62BuildRequires: audiofile-devel
2b46b242
JB
63%{?with_faad:BuildRequires: faad2-devel >= 2.7}
64# libavcodec >= 53.35.0 libavformat >= 53.21.0 libavutil
65%{?with_ffmpeg:BuildRequires: ffmpeg-devel >= 0.11}
e1f1ccba
JB
66BuildRequires: fftw3-devel >= 3
67BuildRequires: flac-devel
2b46b242
JB
68%{?with_ipod:BuildRequires: glib2-devel >= 2.0}
69%{?with_hidapi:BuildRequires: hidapi-devel >= 0.8.0}
dab252a8 70BuildRequires: jack-audio-connection-kit-devel
2b46b242
JB
71BuildRequires: libchromaprint-devel
72BuildRequires: libebur128-devel
73%{?with_ipod:BuildRequires: libgpod-devel}
dab252a8 74BuildRequires: libid3tag-devel
75BuildRequires: libmad-devel
2b46b242 76BuildRequires: libmodplug-devel
e1f1ccba
JB
77BuildRequires: libogg-devel
78BuildRequires: libshout-devel >= 2
73237277 79BuildRequires: libsndfile-devel
2b46b242 80BuildRequires: libstdc++-devel >= 6:4.7
e1f1ccba 81BuildRequires: libusb-devel >= 1.0
dab252a8 82BuildRequires: libvorbis-devel
2b46b242
JB
83%{?with_lv2:BuildRequires: lilv-devel >= 0.5}
84%{?with_faad:BuildRequires: mp4v2-devel}
85BuildRequires: opus-devel >= 1.0
86BuildRequires: opusfile-devel >= 0.2
e1f1ccba
JB
87BuildRequires: pkgconfig >= 1:0.15.0
88BuildRequires: portaudio-devel >= 19
90e9d3da 89BuildRequires: portmidi-devel >= 217
e1f1ccba 90BuildRequires: protobuf-devel
2b46b242
JB
91%if %{with qt4}
92BuildRequires: qt4-build >= %{qt4_ver}
93BuildRequires: qt4-linguist >= %{qt4_ver}
94%else
95BuildRequires: qt5-build >= %{qt5_ver}
96BuildRequires: qt5-linguist >= %{qt5_ver}
97%endif
8b5a4687 98BuildRequires: rpmbuild(macros) >= 1.566
2b46b242 99BuildRequires: rubberband-devel
c6558f8d 100BuildRequires: scons
8dfba9ba 101BuildRequires: sed >= 4.0
2b46b242
JB
102BuildRequires: soundtouch-devel >= 2.0.0
103BuildRequires: sqlite3-devel >= 3
e1f1ccba 104BuildRequires: taglib-devel
2b46b242
JB
105%{?with_upower:BuildRequires: upower-devel}
106BuildRequires: vamp-devel >= 2.7.1
107%{?with_wavpack:BuildRequires: wavpack-devel}
e1f1ccba 108BuildRequires: xorg-lib-libX11-devel
2b46b242
JB
109%if %{with qt4}
110Requires: QtSql-sqlite3 >= %{qt4_ver}
111%else
4f464adb 112Requires: Qt5Sql-sqldriver-sqlite3 >= %{qt5_ver}
2b46b242
JB
113%endif
114%{?with_faad:Requires: faad2 >= 2.7}
115%{?with_hidapi:Requires: hidapi >= 0.8.0}
e1f1ccba 116Obsoletes: mixxx-translations
dab252a8 117BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
118
2b46b242
JB
119%if %{with qt4}
120%define qtsuf %{nil}
121%else
122%define qtsuf qt5
123%endif
124
dab252a8 125%description
126Mixxx is an open source DJ tool designed for both professional and
127amateur DJs alike.
128
9d3aa6b7
ZU
129%description -l hu.UTF-8
130Mixxx egy nyílt forrású DJ eszköz profi és amatőr DJ-knek egyaránt.
131
6e52a8d4
JB
132%description -l pl.UTF-8
133Mixxx to mające otwarte źródła narzędzie dla DJ-ów zaprojektowane
134zarówno dla profesjonalistów jak i amatorów.
dab252a8 135
91288879
ZU
136%package skins-core
137Summary: The core skins for Mixxx
97383405 138Summary(hu.UTF-8): Alap skinek a Mixxx-hez
e1f1ccba 139Summary(pl.UTF-8): Podstawowe skórki dla programu Mixxx
91288879
ZU
140Group: X11/Applications/Multimedia
141
142%description skins-core
143The core skins for Mixxx.
144
97383405
ZU
145%description skins-core -l hu.UTF-8
146Alap skinek a Mixxx-hez.
147
e1f1ccba
JB
148%description skins-core -l pl.UTF-8
149Podstawowe skórki dla programu Mixxx.
388c0902 150
dab252a8 151%prep
2b46b242 152%setup -q -n %{name}-release-%{version}
190ee94d 153%patch0 -p1
dab252a8 154
30e7d43e
JR
155%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+node(\s|$),#!%{_bindir}/node\1,' \
156 res/controllers/novation-launchpad/scripts/*.js
157
dab252a8 158%build
0a70bda1
ZU
159export CXXFLAGS="%{rpmcxxflags}"
160export CCFLAGS="%{rpmcflags}"
161export CXX="%{__cxx}"
162export QMAKE_CXX="%{__cxx}"
da4e7f12 163export LIBDIR=%{_libdir}
e1f1ccba 164%scons \
2b46b242 165 prefix=%{_prefix} \
2b46b242
JB
166 %{!?with_upower:battery=0} \
167 %{?with_faad:faad=1} \
168 %{?with_ffmpeg:ffmpeg=1} \
169 %{!?with_hidapi:hid=0} \
170 %{?with_ipod:ipod=1} \
171 %{?with_lv2:lilv=1} \
172 modplug=1 \
173 %{?with_qt4:qt5=0} \
174 %{?with_qtkeychain:qtkeychain=1} \
175 vinylcontrol=1 \
176 %{?with_wavpack:wv=1}
dab252a8 177
178%install
179rm -rf $RPM_BUILD_ROOT
2b46b242 180
0a70bda1
ZU
181export CXXFLAGS="%{rpmcxxflags}"
182export CCFLAGS="%{rpmcflags}"
183export CXX="%{__cxx}"
184export QMAKE_CXX="%{__cxx}"
da4e7f12 185export LIBDIR=%{_libdir}
e1f1ccba 186%scons install \
2b46b242 187 install_root=$RPM_BUILD_ROOT%{_prefix}
dab252a8 188
2b46b242 189# packaged as %doc
90e9d3da 190%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/mixxx
2b46b242
JB
191%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/fonts/Ubuntu.LICENCE.txt
192# generic Apache v2.0 license
193%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/fonts/OpenSans.LICENSE.txt
194
195# what a mess...
196# both ca and ca-ES exist, both up to date, with few differences... keep ca
197%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_ca-ES.qm
198# en is en_US in fact
199%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{en,en_US}.qm
200# both es and es-ES exist, the first is outdated
201%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{es-ES,es}.qm
202# both fr and fr-FR exist, the latter is outdated
203%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_fr-FR.qm
204# both pt and pt-PT exist, the first is outdated
205%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{pt-PT,pt}.qm
206# both zh_TW and zh_TW.Big5 exist, thr latter is outdated
207%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_zh_TW.Big5.qm
208# unify using short code
209%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{sq-AL,sq}.qm
210# underscore (not dash) should be used as delimiter
211%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{es-MX,es_MX}.qm
dab252a8 212
213%clean
214rm -rf $RPM_BUILD_ROOT
215
216%files
217%defattr(644,root,root,755)
2b46b242 218%doc README Mixxx-Manual.pdf res/fonts/Ubuntu.LICENCE.txt
dab252a8 219%attr(755,root,root) %{_bindir}/mixxx
e1f1ccba
JB
220%dir %{_libdir}/mixxx
221%dir %{_libdir}/mixxx/plugins
2b46b242
JB
222%dir %{_libdir}/mixxx/plugins/soundsource%{qtsuf}
223%attr(755,root,root) %{_libdir}/mixxx/plugins/soundsource%{qtsuf}/libsoundsourcem4a.so
224%attr(755,root,root) %{_libdir}/mixxx/plugins/soundsource%{qtsuf}/libsoundsourcewv.so
225%dir %{_libdir}/mixxx/plugins/vamp%{qtsuf}
226%attr(755,root,root) %{_libdir}/mixxx/plugins/vamp%{qtsuf}/libmixxxminimal.so
227%{_datadir}/appdata/mixxx.appdata.xml
6e52a8d4 228%dir %{_datadir}/mixxx
2b46b242
JB
229%{_datadir}/mixxx/controllers
230%{_datadir}/mixxx/fonts
231%{_datadir}/mixxx/keyboard
91288879 232%dir %{_datadir}/mixxx/skins
2b46b242
JB
233# This is the default skin
234%{_datadir}/mixxx/skins/Deere
388c0902 235%dir %{_datadir}/mixxx/translations
e1f1ccba
JB
236%lang(ar) %{_datadir}/mixxx/translations/mixxx_ar.qm
237%lang(ast) %{_datadir}/mixxx/translations/mixxx_ast.qm
238%lang(bg) %{_datadir}/mixxx/translations/mixxx_bg.qm
239%lang(br) %{_datadir}/mixxx/translations/mixxx_br.qm
240%lang(bs) %{_datadir}/mixxx/translations/mixxx_bs.qm
241%lang(ca) %{_datadir}/mixxx/translations/mixxx_ca.qm
242%lang(ceb) %{_datadir}/mixxx/translations/mixxx_ceb.qm
243%lang(cs) %{_datadir}/mixxx/translations/mixxx_cs.qm
244%lang(da) %{_datadir}/mixxx/translations/mixxx_da.qm
245%lang(de) %{_datadir}/mixxx/translations/mixxx_de.qm
246%lang(el) %{_datadir}/mixxx/translations/mixxx_el.qm
247%lang(en) %{_datadir}/mixxx/translations/mixxx_en_GB.qm
2b46b242 248%lang(en) %{_datadir}/mixxx/translations/mixxx_en_US.qm
e1f1ccba
JB
249%lang(eo) %{_datadir}/mixxx/translations/mixxx_eo.qm
250%lang(es) %{_datadir}/mixxx/translations/mixxx_es.qm
2b46b242 251%lang(es_MX) %{_datadir}/mixxx/translations/mixxx_es_MX.qm
e1f1ccba
JB
252%lang(et) %{_datadir}/mixxx/translations/mixxx_et.qm
253%lang(eu) %{_datadir}/mixxx/translations/mixxx_eu.qm
2b46b242 254%lang(fa) %{_datadir}/mixxx/translations/mixxx_fa.qm
e1f1ccba
JB
255%lang(fi) %{_datadir}/mixxx/translations/mixxx_fi.qm
256%lang(fr) %{_datadir}/mixxx/translations/mixxx_fr.qm
257%lang(ga) %{_datadir}/mixxx/translations/mixxx_ga.qm
258%lang(gl) %{_datadir}/mixxx/translations/mixxx_gl.qm
259%lang(he) %{_datadir}/mixxx/translations/mixxx_he.qm
260%lang(hr) %{_datadir}/mixxx/translations/mixxx_hr.qm
261%lang(hu) %{_datadir}/mixxx/translations/mixxx_hu.qm
262%lang(hy) %{_datadir}/mixxx/translations/mixxx_hy.qm
263%lang(ia) %{_datadir}/mixxx/translations/mixxx_ia.qm
264%lang(id) %{_datadir}/mixxx/translations/mixxx_id.qm
265%lang(is) %{_datadir}/mixxx/translations/mixxx_is.qm
266%lang(it) %{_datadir}/mixxx/translations/mixxx_it.qm
267%lang(ja) %{_datadir}/mixxx/translations/mixxx_ja.qm
2b46b242 268%lang(ko) %{_datadir}/mixxx/translations/mixxx_ko.qm
e1f1ccba
JB
269%lang(ky) %{_datadir}/mixxx/translations/mixxx_ky.qm
270%lang(lb) %{_datadir}/mixxx/translations/mixxx_lb.qm
271%lang(lt) %{_datadir}/mixxx/translations/mixxx_lt.qm
272%lang(lv) %{_datadir}/mixxx/translations/mixxx_lv.qm
273%lang(mk) %{_datadir}/mixxx/translations/mixxx_mk.qm
274%lang(ml) %{_datadir}/mixxx/translations/mixxx_ml.qm
275%lang(mn) %{_datadir}/mixxx/translations/mixxx_mn.qm
276%lang(mr) %{_datadir}/mixxx/translations/mixxx_mr.qm
277%lang(ms) %{_datadir}/mixxx/translations/mixxx_ms.qm
278%lang(my) %{_datadir}/mixxx/translations/mixxx_my.qm
279%lang(nb) %{_datadir}/mixxx/translations/mixxx_nb.qm
280%lang(nl) %{_datadir}/mixxx/translations/mixxx_nl.qm
281%lang(nn) %{_datadir}/mixxx/translations/mixxx_nn.qm
282%lang(oc) %{_datadir}/mixxx/translations/mixxx_oc.qm
283%lang(pl) %{_datadir}/mixxx/translations/mixxx_pl.qm
284%lang(pt) %{_datadir}/mixxx/translations/mixxx_pt.qm
285%lang(pt_BR) %{_datadir}/mixxx/translations/mixxx_pt_BR.qm
286%lang(ro) %{_datadir}/mixxx/translations/mixxx_ro.qm
287%lang(ru) %{_datadir}/mixxx/translations/mixxx_ru.qm
2b46b242
JB
288%lang(si) %{_datadir}/mixxx/translations/mixxx_si.qm
289%lang(sk) %{_datadir}/mixxx/translations/mixxx_sk.qm
e1f1ccba 290%lang(sl) %{_datadir}/mixxx/translations/mixxx_sl.qm
2b46b242
JB
291%lang(sn) %{_datadir}/mixxx/translations/mixxx_sn.qm
292%lang(sq) %{_datadir}/mixxx/translations/mixxx_sq.qm
e1f1ccba
JB
293%lang(sr) %{_datadir}/mixxx/translations/mixxx_sr.qm
294%lang(sv) %{_datadir}/mixxx/translations/mixxx_sv.qm
2b46b242 295%lang(ta) %{_datadir}/mixxx/translations/mixxx_ta.qm
e1f1ccba
JB
296%lang(te) %{_datadir}/mixxx/translations/mixxx_te.qm
297%lang(tr) %{_datadir}/mixxx/translations/mixxx_tr.qm
298%lang(uk) %{_datadir}/mixxx/translations/mixxx_uk.qm
299%lang(uz) %{_datadir}/mixxx/translations/mixxx_uz.qm
2b46b242 300%lang(vi) %{_datadir}/mixxx/translations/mixxx_vi.qm
e1f1ccba
JB
301%lang(zh_CN) %{_datadir}/mixxx/translations/mixxx_zh_CN.qm
302%lang(zh_TW) %{_datadir}/mixxx/translations/mixxx_zh_TW.qm
2b46b242
JB
303%{_desktopdir}/mixxx.desktop
304%{_pixmapsdir}/mixxx_icon.svg
91288879
ZU
305
306%files skins-core
307%defattr(644,root,root,755)
2b46b242
JB
308# note: "?" is used to catch spaces (I can't see any way to match space explicitly in rpm)
309%{_datadir}/mixxx/skins/Deere?(64?Samplers)
310%{_datadir}/mixxx/skins/LateNight
311%{_datadir}/mixxx/skins/Shade
312%{_datadir}/mixxx/skins/Tango
313%{_datadir}/mixxx/skins/Tango?(64?Samplers)
This page took 0.075754 seconds and 4 git commands to generate.