[packages/mixxx] - updated to 2.3.3; build switched to cmake - removed obsolete vamp patch (vamp support has been dro

qboosh qboosh at pld-linux.org
Sat Jul 9 21:56:53 CEST 2022


commit 96cf171024f426019b65ffcb6d26cd39d294a55c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Jul 9 21:58:37 2022 +0200

    - updated to 2.3.3; build switched to cmake
    - removed obsolete vamp patch (vamp support has been dropped upstream)
    - added build-type patch (allow PLD cmake build type)

 mixxx-build-type.patch |  11 +++
 mixxx-vamp.patch       |  11 ---
 mixxx.spec             | 193 +++++++++++++++++++------------------------------
 3 files changed, 86 insertions(+), 129 deletions(-)
---
diff --git a/mixxx.spec b/mixxx.spec
index 3d678d8..95e99c4 100644
--- a/mixxx.spec
+++ b/mixxx.spec
@@ -3,46 +3,27 @@
 %bcond_without	faad		# FAAD AAC audio decoder
 %bcond_without	ffmpeg		# FFmpeg support
 %bcond_without	hidapi		# HID controller support
-%bcond_with	ipod		# iPod support via libgpod [NOT-WORKING, src/wipodtracksmodel.cpp is missing]
 %bcond_without	lv2		# LV2 support
-%bcond_with	qt4		# Qt 4 instead of Qt 5
 %bcond_without	qtkeychain	# secure credentials storage for Live Broadcasting profiles (qt5 only, see below)
 %bcond_without	upower		# UPower battery state support
 %bcond_without	wavpack		# WavPack audio decoder
 
-%define		qt4_ver		4.6
 %define		qt5_ver		5.0
 
-%if %{with qt4}
-# as of 2.2.1, qt5keychain is always checked, see build/depends.py
-%undefine	with_qtkeychain
-%endif
 Summary:	Mixxx - DJ tool
 Summary(hu.UTF-8):	Mixxx - DJ program
 Summary(pl.UTF-8):	Mixxx - narzędzie dla DJ-ów
 Name:		mixxx
-Version:	2.2.1
-Release:	7
+Version:	2.3.3
+Release:	1
 License:	GPL v2+ (code), Apache v2.0 (OpenSans font), Ubuntu Font License v1.0 (Ubuntu fonts)
 Group:		X11/Applications/Multimedia
-Source0:	https://github.com/mixxxdj/mixxx/archive/release-%{version}/%{name}-release-%{version}.tar.gz
-# Source0-md5:	ef72d4b594f9f3dbafd1e264be89fbdc
-Patch0:		%{name}-vamp.patch
+Source0:	https://github.com/mixxxdj/mixxx/archive/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5:	486d370480980fa59613dd992bab312c
+Patch0:		%{name}-build-type.patch
 URL:		https://mixxx.org/
-BuildRequires:	OpenGL-GLU-devel
-%if %{with qt4}
-BuildRequires:	QtCore-devel >= %{qt4_ver}
-BuildRequires:	QtDBus-devel >= %{qt4_ver}
-BuildRequires:	QtGui-devel >= %{qt4_ver}
-BuildRequires:	QtNetwork-devel >= %{qt4_ver}
-BuildRequires:	QtOpenGL-devel >= %{qt4_ver}
-BuildRequires:	QtScript-devel >= %{qt4_ver}
-BuildRequires:	QtScriptTools-devel >= %{qt4_ver}
-BuildRequires:	QtSql-devel >= %{qt4_ver}
-BuildRequires:	QtSvg-devel >= %{qt4_ver}
-BuildRequires:	QtTest-devel >= %{qt4_ver}
-BuildRequires:	QtXml-devel >= %{qt4_ver}
-%else
+# Could NOT find Shoutidjc (missing: Shoutidjc_LIBRARY Shoutidjc_INCLUDE_DIR) / Using internal libshout-idjc
+BuildRequires:	OpenGL-devel
 BuildRequires:	Qt5Concurrent-devel >= %{qt5_ver}
 BuildRequires:	Qt5Core-devel >= %{qt5_ver}
 BuildRequires:	Qt5DBus-devel >= %{qt5_ver}
@@ -58,70 +39,52 @@ BuildRequires:	Qt5Test-devel >= %{qt5_ver}
 BuildRequires:	Qt5Widgets-devel >= %{qt5_ver}
 BuildRequires:	Qt5X11Extras-devel >= %{qt5_ver}
 BuildRequires:	Qt5Xml-devel >= %{qt5_ver}
-%endif
-BuildRequires:	audiofile-devel
-%{?with_faad:BuildRequires:	faad2-devel >= 2.7}
-# libavcodec >= 53.35.0 libavformat >= 53.21.0 libavutil
-%{?with_ffmpeg:BuildRequires:	ffmpeg-devel >= 0.11}
-BuildRequires:	fftw3-devel >= 3
+BuildRequires:	cmake >= 3.16
+# libavcodec >= 58 libavformat >= 58 libavutil >= 56 libswresample >= 3.1
+%{?with_ffmpeg:BuildRequires:	ffmpeg-devel >= 4.0}
 BuildRequires:	flac-devel
-%{?with_ipod:BuildRequires:	glib2-devel >= 2.0}
-%{?with_hidapi:BuildRequires:	hidapi-devel >= 0.8.0}
-BuildRequires:	jack-audio-connection-kit-devel
+%{?with_upower:BuildRequires:	glib2-devel >= 2.0}
+%{?with_hidapi:BuildRequires:	hidapi-devel >= 0.10.1}
+BuildRequires:	lame-libs-devel
 BuildRequires:	libchromaprint-devel
 BuildRequires:	libebur128-devel
-%{?with_ipod:BuildRequires:	libgpod-devel}
 BuildRequires:	libid3tag-devel
 BuildRequires:	libmad-devel
 BuildRequires:	libmodplug-devel
 BuildRequires:	libogg-devel
-BuildRequires:	libshout-devel >= 2
+BuildRequires:	libkeyfinder-devel >= 2.2.6
 BuildRequires:	libsndfile-devel
 BuildRequires:	libstdc++-devel >= 6:4.7
 BuildRequires:	libusb-devel >= 1.0
 BuildRequires:	libvorbis-devel
 %{?with_lv2:BuildRequires:	lilv-devel >= 0.5}
+# or mpeg4ip (libmp4), but mp4v2 is preferred
 %{?with_faad:BuildRequires:	mp4v2-devel}
+BuildRequires:	openssl-devel
+BuildRequires:	pkgconfig >= 1:0.15.0
 BuildRequires:	opus-devel >= 1.0
 BuildRequires:	opusfile-devel >= 0.2
-BuildRequires:	pkgconfig >= 1:0.15.0
 BuildRequires:	portaudio-devel >= 19
 BuildRequires:	portmidi-devel >= 217
 BuildRequires:	protobuf-devel
-%if %{with qt4}
-BuildRequires:	qt4-build >= %{qt4_ver}
-BuildRequires:	qt4-linguist >= %{qt4_ver}
-%else
+BuildRequires:	python3 >= 1:3
+BuildRequires:	rubberband-devel
 BuildRequires:	qt5-build >= %{qt5_ver}
 BuildRequires:	qt5-linguist >= %{qt5_ver}
-%endif
-BuildRequires:	rpmbuild(macros) >= 1.566
-BuildRequires:	rubberband-devel
-BuildRequires:	scons
+BuildRequires:	rpmbuild(macros) >= 1.605
 BuildRequires:	sed >= 4.0
-BuildRequires:	soundtouch-devel >= 2.0.0
+BuildRequires:	soundtouch-devel >= 2.1.2
 BuildRequires:	sqlite3-devel >= 3
 BuildRequires:	taglib-devel
+BuildRequires:	udev-devel
 %{?with_upower:BuildRequires:	upower-devel}
-BuildRequires:	vamp-devel >= 2.7.1
 %{?with_wavpack:BuildRequires:	wavpack-devel}
 BuildRequires:	xorg-lib-libX11-devel
-%if %{with qt4}
-Requires:	QtSql-sqlite3 >= %{qt4_ver}
-%else
 Requires:	Qt5Sql-sqldriver-sqlite3 >= %{qt5_ver}
-%endif
-%{?with_faad:Requires:	faad2 >= 2.7}
-%{?with_hidapi:Requires:	hidapi >= 0.8.0}
-Obsoletes:	mixxx-translations
+%{?with_hidapi:Requires:	hidapi >= 0.10.1}
+Obsoletes:	mixxx-translations < 1.11.0-5
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%if %{with qt4}
-%define		qtsuf	%{nil}
-%else
-%define		qtsuf	qt5
-%endif
-
 %description
 Mixxx is an open source DJ tool designed for both professional and
 amateur DJs alike.
@@ -149,87 +112,78 @@ Alap skinek a Mixxx-hez.
 Podstawowe skórki dla programu Mixxx.
 
 %prep
-%setup -q -n %{name}-release-%{version}
+%setup -q
 %patch0 -p1
 
-%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+node(\s|$),#!%{_bindir}/node\1,' \
+%{__sed} -i -e '1s,/usr/bin/env node,%{_bindir}/node,' \
       res/controllers/novation-launchpad/scripts/*.js
 
 %build
-export CXXFLAGS="%{rpmcxxflags}"
-export CCFLAGS="%{rpmcflags}"
-export CXX="%{__cxx}"
-export QMAKE_CXX="%{__cxx}"
-export LIBDIR=%{_libdir}
-%scons \
-	prefix=%{_prefix} \
-	%{!?with_upower:battery=0} \
-	%{?with_faad:faad=1} \
-	%{?with_ffmpeg:ffmpeg=1} \
-	%{!?with_hidapi:hid=0} \
-	%{?with_ipod:ipod=1} \
-	%{?with_lv2:lilv=1} \
-	modplug=1 \
-	%{?with_qt4:qt5=0} \
-	%{?with_qtkeychain:qtkeychain=1} \
-	vinylcontrol=1 \
-	%{?with_wavpack:wv=1}
+#export QMAKE_CXX="%{__cxx}"
+%cmake -B build \
+	%{!?with_upower:-DBATTERY=OFF} \
+	%{!?with_faad:-DFAAD=OFF} \
+	%{!?with_ffmpeg:-DFFMPEG=OFF} \
+	%{!?with_hidapi:-DHID=OFF} \
+	%{!?with_lv2:-DLILV=OFF} \
+	-DOPTIMIZE=off \
+	%{!?with_qtkeychain:-DQTKEYCHAIN=OFF} \
+	%{!?with_wavpack:-DWAVPACK=OFF}
+
+%{__make} -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-export CXXFLAGS="%{rpmcxxflags}"
-export CCFLAGS="%{rpmcflags}"
-export CXX="%{__cxx}"
-export QMAKE_CXX="%{__cxx}"
-export LIBDIR=%{_libdir}
-%scons install \
-	install_root=$RPM_BUILD_ROOT%{_prefix}
+%{__make} -C build install \
+	DESTDIR=$RPM_BUILD_ROOT
 
 # packaged as %doc
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/mixxx
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/fonts/Ubuntu.LICENCE.txt
-# generic Apache v2.0 license
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/fonts/OpenSans.LICENSE.txt
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/{COPYING,LICENSE,Mixxx-Keyboard-Shortcuts.pdf,README.md}
 
 # what a mess...
 # both ca and ca-ES exist, both up to date, with few differences... keep ca
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_ca-ES.qm
-# en is en_US in fact
-%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{en,en_US}.qm
-# both es and es-ES exist, the first is outdated
-%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{es-ES,es}.qm
-# both fr and fr-FR exist, the latter is outdated
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_fr-FR.qm
-# both pt and pt-PT exist, the first is outdated
-%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{pt-PT,pt}.qm
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_ca_ES.qm
+# both el and el_GR exist, the first is more complete
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_el_GR.qm
+# both es and es_ES exist, the first is outdated
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{es_ES,es}.qm
+# both fr and fr_FR exist, the latter is outdated
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_fr_FR.qm
+# both he and he_IL exist, both look complete, the latter is more fresh(?)
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{he_IL,he}.qm
+# both it and it_IT exist, the first is unfinished
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{it_IT,it}.qm
+# both mi and mi_NZ exist, both are unfinished, the latter has outdated line pointers
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_mi_NZ.qm
+# both nl and nl_NL exist, the latter seems little better ("Quick Links" untrnaslated in the first)
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{nl_NL,nl}.qm
+# both pt and pt_PT exist, the first is outdated
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{pt_PT,pt}.qm
+# both ru and ru_RU exist, the first seem more complete ("M3U Playlist...")
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_ru_RU.qm
 # both zh_TW and zh_TW.Big5 exist, thr latter is outdated
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_zh_TW.Big5.qm
 # unify using short code
-%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{sq-AL,sq}.qm
-# underscore (not dash) should be used as delimiter
-%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{es-MX,es_MX}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{hi_IN,hi}.qm
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/mixxx/translations/mixxx_{sq_AL,sq}.qm
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc README Mixxx-Manual.pdf res/fonts/Ubuntu.LICENCE.txt
+%doc CHANGELOG.md COPYING README.md res/Mixxx-Keyboard-Shortcuts.pdf res/fonts/Ubuntu.LICENCE.txt
 %attr(755,root,root) %{_bindir}/mixxx
-%dir %{_libdir}/mixxx
-%dir %{_libdir}/mixxx/plugins
-%dir %{_libdir}/mixxx/plugins/soundsource%{qtsuf}
-%attr(755,root,root) %{_libdir}/mixxx/plugins/soundsource%{qtsuf}/libsoundsourcem4a.so
-%attr(755,root,root) %{_libdir}/mixxx/plugins/soundsource%{qtsuf}/libsoundsourcewv.so
-%dir %{_libdir}/mixxx/plugins/vamp%{qtsuf}
-%attr(755,root,root) %{_libdir}/mixxx/plugins/vamp%{qtsuf}/libmixxxminimal.so
-%{_datadir}/appdata/mixxx.appdata.xml
+/lib/udev/rules.d/69-mixxx-usb-uaccess.rules
+%{_datadir}/metainfo/org.mixxx.Mixxx.metainfo.xml
 %dir %{_datadir}/mixxx
 %{_datadir}/mixxx/controllers
-%{_datadir}/mixxx/fonts
+#%{_datadir}/mixxx/fonts
 %{_datadir}/mixxx/keyboard
+%{_datadir}/mixxx/script
 %dir %{_datadir}/mixxx/skins
+%{_datadir}/mixxx/skins/*.qss
 # This is the default skin
 %{_datadir}/mixxx/skins/Deere
 %dir %{_datadir}/mixxx/translations
@@ -239,13 +193,11 @@ rm -rf $RPM_BUILD_ROOT
 %lang(br) %{_datadir}/mixxx/translations/mixxx_br.qm
 %lang(bs) %{_datadir}/mixxx/translations/mixxx_bs.qm
 %lang(ca) %{_datadir}/mixxx/translations/mixxx_ca.qm
-%lang(ceb) %{_datadir}/mixxx/translations/mixxx_ceb.qm
 %lang(cs) %{_datadir}/mixxx/translations/mixxx_cs.qm
 %lang(da) %{_datadir}/mixxx/translations/mixxx_da.qm
 %lang(de) %{_datadir}/mixxx/translations/mixxx_de.qm
 %lang(el) %{_datadir}/mixxx/translations/mixxx_el.qm
 %lang(en) %{_datadir}/mixxx/translations/mixxx_en_GB.qm
-%lang(en) %{_datadir}/mixxx/translations/mixxx_en_US.qm
 %lang(eo) %{_datadir}/mixxx/translations/mixxx_eo.qm
 %lang(es) %{_datadir}/mixxx/translations/mixxx_es.qm
 %lang(es_MX) %{_datadir}/mixxx/translations/mixxx_es_MX.qm
@@ -257,6 +209,7 @@ rm -rf $RPM_BUILD_ROOT
 %lang(ga) %{_datadir}/mixxx/translations/mixxx_ga.qm
 %lang(gl) %{_datadir}/mixxx/translations/mixxx_gl.qm
 %lang(he) %{_datadir}/mixxx/translations/mixxx_he.qm
+%lang(hi) %{_datadir}/mixxx/translations/mixxx_hi.qm
 %lang(hr) %{_datadir}/mixxx/translations/mixxx_hr.qm
 %lang(hu) %{_datadir}/mixxx/translations/mixxx_hu.qm
 %lang(hy) %{_datadir}/mixxx/translations/mixxx_hy.qm
@@ -270,6 +223,7 @@ rm -rf $RPM_BUILD_ROOT
 %lang(lb) %{_datadir}/mixxx/translations/mixxx_lb.qm
 %lang(lt) %{_datadir}/mixxx/translations/mixxx_lt.qm
 %lang(lv) %{_datadir}/mixxx/translations/mixxx_lv.qm
+%lang(mi) %{_datadir}/mixxx/translations/mixxx_mi.qm
 %lang(mk) %{_datadir}/mixxx/translations/mixxx_mk.qm
 %lang(ml) %{_datadir}/mixxx/translations/mixxx_ml.qm
 %lang(mn) %{_datadir}/mixxx/translations/mixxx_mn.qm
@@ -278,6 +232,7 @@ rm -rf $RPM_BUILD_ROOT
 %lang(my) %{_datadir}/mixxx/translations/mixxx_my.qm
 %lang(nb) %{_datadir}/mixxx/translations/mixxx_nb.qm
 %lang(nl) %{_datadir}/mixxx/translations/mixxx_nl.qm
+%lang(nl_BE) %{_datadir}/mixxx/translations/mixxx_nl_BE.qm
 %lang(nn) %{_datadir}/mixxx/translations/mixxx_nn.qm
 %lang(oc) %{_datadir}/mixxx/translations/mixxx_oc.qm
 %lang(pl) %{_datadir}/mixxx/translations/mixxx_pl.qm
@@ -299,9 +254,11 @@ rm -rf $RPM_BUILD_ROOT
 %lang(uz) %{_datadir}/mixxx/translations/mixxx_uz.qm
 %lang(vi) %{_datadir}/mixxx/translations/mixxx_vi.qm
 %lang(zh_CN) %{_datadir}/mixxx/translations/mixxx_zh_CN.qm
+%lang(zh_HK) %{_datadir}/mixxx/translations/mixxx_zh_HK.qm
 %lang(zh_TW) %{_datadir}/mixxx/translations/mixxx_zh_TW.qm
-%{_desktopdir}/mixxx.desktop
-%{_pixmapsdir}/mixxx_icon.svg
+%{_desktopdir}/org.mixxx.Mixxx.desktop
+%{_iconsdir}/hicolor/*x*/apps/mixxx.png
+%{_iconsdir}/hicolor/scalable/apps/mixxx.svg
 
 %files skins-core
 %defattr(644,root,root,755)
diff --git a/mixxx-build-type.patch b/mixxx-build-type.patch
new file mode 100644
index 0000000..755c06a
--- /dev/null
+++ b/mixxx-build-type.patch
@@ -0,0 +1,11 @@
+--- mixxx-2.3.3/CMakeLists.txt.orig	2022-07-09 08:53:29.480632015 +0200
++++ mixxx-2.3.3/CMakeLists.txt	2022-07-09 08:53:31.937285373 +0200
+@@ -53,8 +53,6 @@ if(NOT CMAKE_CONFIGURATION_TYPES)
+     set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE STRING "Choose the type of build." FORCE)
+     # Set the possible values of build type for cmake-gui
+     set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "RelWithDebInfo")
+-  elseif(NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo)$")
+-    message(FATAL_ERROR "CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} is not supported, use one of Debug, Release or RelWithDebInfo.")
+   endif()
+ endif()
+ 
diff --git a/mixxx-vamp.patch b/mixxx-vamp.patch
deleted file mode 100644
index 726b71d..0000000
--- a/mixxx-vamp.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- mixxx-release-2.2.1/build/features.py.orig	2019-04-22 09:50:04.000000000 +0200
-+++ mixxx-release-2.2.1/build/features.py	2019-08-02 05:28:58.529310596 +0200
-@@ -396,7 +396,7 @@
-         # If there is no system vamp-hostsdk is installed or if the version
-         # of the installed vamp-hostsdk is less than the bundled version,
-         # then we'll directly link the bundled vamp-hostsdk
--        if not conf.CheckLib('vamp-hostsdk') or not conf.CheckForPKG('vamp-plugin-sdk', '2.7.1'):
-+        if not conf.CheckLib('vamp-hostsdk') or not conf.CheckForPKG('vamp-sdk', '2.7.1'):
-             # For header includes
-             build.env.Append(CPPPATH=[self.INTERNAL_VAMP_PATH])
-             self.INTERNAL_LINK = True
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mixxx.git/commitdiff/96cf171024f426019b65ffcb6d26cd39d294a55c



More information about the pld-cvs-commit mailing list