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
openSUSE Build Service is sponsored by