File yarock.spec of Package yarock
#
# spec file for package yarock
#
# Copyright (c) 2024 SUSE LLC
#
# 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/
#
%define srcname Yarock
Name: yarock
Version: 1.5.1
Release: 0
Summary: Qt Music Player
License: GPL-3.0-or-later
URL: https://github.com/sebaro/Yarock
Source0: https://github.com/sebaro/Yarock/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM
Patch0: 0001-Clean-build-system.patch
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
BuildRequires: pkgconfig
BuildRequires: cmake(Phonon4Qt6)
BuildRequires: cmake(Qt6Concurrent)
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6DBus)
BuildRequires: cmake(Qt6Gui)
BuildRequires: cmake(Qt6LinguistTools)
BuildRequires: cmake(Qt6Multimedia)
BuildRequires: cmake(Qt6Network)
BuildRequires: cmake(Qt6Sql)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: cmake(Qt6Xml)
BuildRequires: pkgconfig(htmlcxx)
BuildRequires: pkgconfig(libvlc)
BuildRequires: pkgconfig(mpv)
BuildRequires: pkgconfig(taglib)
Requires: qt6-sql-sqlite
%description
Yarock is a music player that doesn’t depend on any specific desktop environment.
Yarock is designed to provide a music browser based on cover art.
%package phonon
Summary: Phonon audio engine
Requires: yarock = %{version}
%description phonon
Qt linux music player.
This package contains the phonon plugin.
%package vlc
Summary: VLC audio engine
Requires: yarock = %{version}
Requires: vlc
Requires: vlc-codecs
%description vlc
Qt linux music player.
This package contains the vlc plugin.
%package mpv
Summary: MPV audio engine
Requires: yarock = %{version}
%description mpv
Qt linux music player.
This package contains the mpv plugin.
%lang_package
%prep
%autosetup -p1 -n Yarock-%{version}
dos2unix -k COPYING
# Fix wrong permissions
chmod -x *.md COPYING
%build
# Undefined symbols are part of the app for modules.
# Build without: -Wl,--no-undefined
%cmake_qt6 \
-DCMAKE_SHARED_LINKER_FLAGS:STRING="-Wl,--as-needed"
%qt6_build
%install
%qt6_install
%fdupes %{buildroot}%{_qt6_sharedir}
%files
%license COPYING
%doc CHANGES.md README.md
%{_bindir}/yarock
%dir %{_qt6_libdir}/yarock
%{_qt6_libdir}/yarock/libengineqtmultimedia.so
%{_qt6_sharedir}/metainfo/yarock.metainfo.xml
%{_qt6_sharedir}/applications/yarock.desktop
%{_qt6_sharedir}/icons/hicolor/*/apps/application-x-yarock.*
%{_qt6_sharedir}/pixmaps/application-x-yarock.png
%files phonon
%dir %{_qt6_libdir}/yarock
%{_qt6_libdir}/yarock/libenginephonon.so
%files vlc
%dir %{_qt6_libdir}/yarock
%{_qt6_libdir}/yarock/libenginevlc.so
%files mpv
%dir %{_qt6_libdir}/yarock
%{_qt6_libdir}/yarock/libenginempv.so
%files lang
%dir %{_qt6_sharedir}/yarock
%dir %{_qt6_sharedir}/yarock/translations
%{_qt6_sharedir}/yarock/translations/yarock_*.qm
%changelog