File mixxx.spec of Package mixxx
# vim: set sw=4 ts=4 et:
#
# spec file for package mixxx
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2010-2012 Pascal Bleser <pascal.bleser@opensuse.org>
# Copyright (c) 2005-2010 oc2pus
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if 0%{?sle_version} && 0%{?sle_version} < 160000
%global force_gcc_version 13
%endif
Name: mixxx
Version: 2.4.2
Release: 0
Summary: Open Source DJ tool
License: GPL-2.0-or-later
Group: Productivity/Multimedia/Sound/Players
URL: https://mixxx.org
Source0: https://github.com/mixxxdj/mixxx/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
Patch0: 4e4d4e866ef86bb4d196a1903778697552cca05a.patch
BuildRequires: alsa-devel
BuildRequires: fdupes
BuildRequires: gperftools-devel
BuildRequires: gtest
BuildRequires: gmock
BuildRequires: gcc%{?force_gcc_version}
BuildRequires: gcc%{?force_gcc_version}-c++
BuildRequires: ms-gsl-devel
BuildRequires: libgudev-1_0-devel
BuildRequires: libebur128-devel
BuildRequires: liblilv-0-devel
BuildRequires: libqt5-linguist
BuildRequires: pkgconfig
BuildRequires: portmidi-devel
BuildRequires: libmp3lame-devel
BuildRequires: cmake(Qt5Keychain)
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5OpenGL)
BuildRequires: pkgconfig(Qt5Script)
BuildRequires: pkgconfig(Qt5ScriptTools)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Test)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(Qt5Qml)
BuildRequires: pkgconfig(fftw3)
BuildRequires: pkgconfig(flac)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glut)
BuildRequires: pkgconfig(id3tag)
BuildRequires: pkgconfig(libavcodec) >= 58
BuildRequires: pkgconfig(libavformat) >= 58
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libavfilter)
BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(libchromaprint)
BuildRequires: pkgconfig(libpostproc)
BuildRequires: pkgconfig(libmodplug)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(mad)
BuildRequires: pkgconfig(ogg)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(opusfile)
BuildRequires: pkgconfig(portaudio-2.0)
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(rubberband)
BuildRequires: pkgconfig(shout)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(soundtouch)
BuildRequires: pkgconfig(taglib)
BuildRequires: pkgconfig(upower-glib)
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(vorbisenc)
BuildRequires: pkgconfig(vorbisfile)
BuildRequires: pkgconfig(wavpack)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(libkeyfinder)
BuildRequires: pkgconfig(shout-idjc)
BuildRequires: pkgconfig(udev)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(benchmark)
BuildRequires: pkgconfig(djinterop)
ExclusiveArch: %{ix86} x86_64
%if 0%{?is_opensuse}
BuildRequires: pkgconfig(hidapi-libusb)
%endif
%description
Mixxx is an free and open-source audio mixing program.
Mixxx is cross-platform and supports most common music file formats.
It can be controlled with MIDI and HID controllers and timecode vinyl
records in addition to computer keyboards and mice.
%prep
%autosetup -p1
%build
%if 0%{?force_gcc_version}
export CC="gcc-%{?force_gcc_version}"
export CXX="g++-%{?force_gcc_version}"
%endif
%cmake -DSoundTouch_STATIC=NO -DCMAKE_INSTALL_DOCDIR=%{_defaultdocdir}/%{name}
%cmake_build
%install
%cmake_install
L="$PWD/%{name}.lang"
echo -n > "$L"
pushd "%{buildroot}%{_datadir}/mixxx/translations"
/bin/ls -1 mixxx_*.qm | while read f; do
[ -e "$f" ] || continue
l="${f#mixxx_}"
l="${l%.qm}"
echo "%lang($l) %{_datadir}/mixxx/translations/$f" >> "$L"
done
popd
%fdupes %{buildroot}
%files -f %{name}.lang
%{_bindir}/mixxx
%dir %{_datadir}/mixxx
%dir %{_datadir}/mixxx/translations
%dir %{_datadir}/mixxx/effects
%dir %{_datadir}/mixxx/effects/chains
%{_datadir}/mixxx/controllers
%{_datadir}/mixxx/effects/chains/*.xml
%{_datadir}/mixxx/keyboard
%{_datadir}/mixxx/skins
%{_datadir}/applications/org.mixxx.Mixxx.desktop
%{_datadir}/icons/*
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/org.mixxx.Mixxx.metainfo.xml
%{_docdir}/*
%{_udevrulesdir}/*-usb-uaccess.rules
%changelog