File deepin-music-player.spec of Package deepin-music-player

#
# spec file for package deepin-music-player
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2013-2022 Hillwood Yang <hillwood@opensuse.org>
#
# 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%{?is_opensuse}
    %define  distribution  openSUSE-Edition
%else
    %define  distribution  SUSE-Edition
%endif

%define sover 1_0

Name:           deepin-music-player
Version:        7.0.37
Release:        0
Summary:        Deepin Music Player
License:        GPL-3.0-or-later
Group:          Productivity/Multimedia/Sound/Players
URL:            https://github.com/linuxdeepin/deepin-music
Source0:        https://github.com/linuxdeepin/deepin-music/archive/%{version}/deepin-music-%{version}.tar.gz
# PATCH-FIX-UPSTREAM add-ffmpeg-include-dir.patch hillwood@opensuse.org - Make sure compiler can find ffmpeg headers
Patch1:         add-ffmpeg-include-dir.patch
# PATCH-FIX-UPSTREAM recompile-with-fPIC.patch hillwood@opensuse.org - Fix build on 64bit arch
Patch2:         fix-fPIC-error.patch
# PATCH-FIX-UPSTRAM update-taglib-interface.patch hillwood@opensuse.org - fix build on new taglib
Patch3:         update-taglib-interface.patch
# PATCH-FIX-UPSTRAM ffmpeg_7.patch hillwood@opensuse.org - Support ffmpeg 7
Patch4:         ffmpeg_7.patch
%ifarch ppc ppc64 ppc64le s390 s390x
BuildRequires:  deepin-desktop-base
%else
BuildRequires:  deepin-manual
%endif
BuildRequires:  chrpath
BuildRequires:  fdupes
BuildRequires:  hicolor-icon-theme
BuildRequires:  qt6-tools-linguist
BuildRequires:  qt6-base-devel
BuildRequires:  update-desktop-files
BuildRequires:  cmake(Qt6Qml)
BuildRequires:  cmake(Qt6Core5Compat)
BuildRequires:  cmake(KF6Codecs)
BuildRequires:  cmake(Qt6LinguistTools)
BuildRequires:  pkgconfig(Qt6Network)
BuildRequires:  pkgconfig(Qt6Multimedia)
BuildRequires:  pkgconfig(Qt6Svg)
BuildRequires:  pkgconfig(dbusextended-qt5)
BuildRequires:  pkgconfig(dframeworkdbus)
BuildRequires:  pkgconfig(dtk6core)
BuildRequires:  pkgconfig(dtk6gui)
BuildRequires:  pkgconfig(dtk6widget)
BuildRequires:  pkgconfig(dtk6declarative)
BuildRequires:  pkgconfig(gsettings-qt)
BuildRequires:  pkgconfig(icu-i18n)
BuildRequires:  pkgconfig(icu-uc)
BuildRequires:  pkgconfig(libavcodec)
BuildRequires:  pkgconfig(libavformat)
BuildRequires:  pkgconfig(libavutil)
BuildRequires:  pkgconfig(libcue)
BuildRequires:  pkgconfig(libvlc)
BuildRequires:  pkgconfig(mpris-qt6)
BuildRequires:  pkgconfig(sdl2)
BuildRequires:  pkgconfig(taglib)
BuildRequires:  pkgconfig(udisks2-qt5)
BuildRequires:  pkgconfig(xext)
Requires:       qt5integration
Requires:       vlc
Requires:       dtkdeclarative
Requires:       libmpv2
Provides:       deepin-music
Recommends:     %{name}-lang
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Deepin Music Player is a music player backed by gstreamer, with
customizable UI, and featuring music search by Pinyin and Quanpin. It
supports colorful lyrics, online audio support and a "mini mode".

%package -n libdmusic%{sover}
Summary:        The library of Deepin Music
Group:          System/Libraries

%description -n libdmusic%{sover}
This package contains the libraries for Deepin Music

%lang_package

%prep
%autosetup -p1 -n deepin-music-%{version}
sed -i 's/Exec=deepin-music/Exec=env QT_QPA_PLATFORMTHEME=deepin deepin-music/g' \
src/music-player/data/deepin-music.desktop
#sed -i '/CMAKE_INSTALL_VOICE_LIBDIR/s|/usr/lib|${CMAKE_INSTALL_LIBDIR}|' \
#src/libmusic-plugin/CMakeLists.txt

%build
%cmake -DVERSION=%{version}-%{distribution} \
       -DAPP_VERSION=%{version}-%{distribution}
%cmake_build

%install
%cmake_install

find %{buildroot} -type f -name "*.a" -delete -print

# openSUSE does not provide deepin-aiassistant, the deepin-aiassistant plugin is invaild
rm -rf %{buildroot}%{_libdir}/deepin-aiassistant

rm -rf %{buildroot}%{_libdir}/libdmusic.so

chrpath --delete %{buildroot}%{_bindir}/deepin-music

%fdupes %{buildroot}%{_datadir}

%post -n libdmusic%{sover} -p /sbin/ldconfig
%postun -n libdmusic%{sover} -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%doc CHANGELOG.md README.md
%license LICENSE
%{_bindir}/deepin-music
%{_datadir}/applications/deepin-music.desktop
%{_datadir}/icons/hicolor/scalable/apps/deepin-music.svg
%{_datadir}/deepin-manual/manual-assets/application/deepin-music
%dir %{_datadir}/dsg
%dir %{_datadir}/dsg/configs
%{_datadir}/dsg/configs/deepin-music
# %dir %{_libdir}/deepin-aiassistant
# %dir %{_libdir}/deepin-aiassistant/serivce-plugins
# %{_libdir}/deepin-aiassistant/serivce-plugins/libmusic-plugin.soosc 

%files -n libdmusic%{sover}
%defattr(-,root,root,-)
%{_libdir}/libdmusic.so*

%files lang
%defattr(-,root,root,-)
%{_datadir}/deepin-music

%changelog
openSUSE Build Service is sponsored by