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

#
# spec file for package deepin-music-player
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2013-2018 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 http://bugs.opensuse.org/
#


Name:           deepin-music-player
Version:        3.1.7.2
Release:        0
Summary:        Deepin Music Player
License:        GPL-3.0+
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
BuildRequires:  QtAV-devel
BuildRequires:  fdupes
BuildRequires:  hicolor-icon-theme
BuildRequires:  libQt5Network-devel
BuildRequires:  libqt5-linguist
BuildRequires:  libqt5-qtbase-devel
BuildRequires:  libqt5-qtdeclarative-devel
BuildRequires:  libqt5-qtmultimedia-devel
BuildRequires:  libqt5-qtsvg-devel
BuildRequires:  libqt5-qtx11extras-devel
BuildRequires:  python
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(dtkcore)
BuildRequires:  pkgconfig(dtksettings)
BuildRequires:  pkgconfig(dtksettingsview)
BuildRequires:  pkgconfig(dtkwidget)
BuildRequires:  pkgconfig(icu-i18n)
BuildRequires:  pkgconfig(icu-uc)
BuildRequires:  pkgconfig(libavcodec)
BuildRequires:  pkgconfig(libavformat)
BuildRequires:  pkgconfig(libavutil)
BuildRequires:  pkgconfig(libcue)
BuildRequires:  pkgconfig(taglib)
# produce png icons from svg
BuildRequires:  rsvg-view
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 libdmusic1
Summary:        Libraries for Deepin Music Player
Group:          System/Libraries

%description -n libdmusic1
This package contains the main implementation of the Deepin Music
Player.

%package -n deepin-music-libnetease-meta-search
Summary:        Libnetease integration for the Deepin Music Player
Group:          Productivity/Multimedia/Sound/Players

%description -n deepin-music-libnetease-meta-search
This package contains the libnetease plugin for searches with the
Deepin Music Player searches.

%package -n libdbusextended-qt5-1
Summary:        D-Bus system for the Deepin Music Player
Group:          System/Libraries

%description -n libdbusextended-qt5-1
Deepin Music Player with brilliant and tweakful UI Deepin-UI based,
gstreamer front-end, with features likes search music by pinyin,
quanpin, colorful lyrics supports, and more powerful functions
you will found.

The libdbusextended-qt5 is the Dbus system libraries for
Deepin Music Player.

%package -n libmpris-qt5-1
Summary:        MPRI system for the Deepin Music Player
Group:          System/Libraries

%description -n libmpris-qt5-1
The MPRI system library for Deepin Music Player.

%package -n libdbusextended-qt5-devel
Summary:        Development files for the Deepin Music Player D-Bus system
Group:          Development/Libraries/C and C++

%description -n libdbusextended-qt5-devel
The libdbusextended-devel package contains the header files and developer
docs for libdbusextended.

%package -n libmpris-qt5-devel
Summary:        Development files for the Deepin Music Player MPRI library
Group:          Development/Libraries/C and C++

%description -n libmpris-qt5-devel
The libmpris-devel package contains the header files and developer
docs for libmpris.

%prep
%setup -q -n deepin-music-%{version}
sed -i 's|lrelease|lrelease-qt5|g' tool/translate_generation.*
sed -i '/%1/s|lib|%{_lib}|' music-player/core/pluginmanager.cpp
sed -i '/target.path/s|lib|%{_lib}|' libdmusic/libdmusic.pro \
plugin/netease-meta-search/netease-meta-search.pro
# fix the non-standard unity stuff, anyway we will not use it.
# appending -x
sed -i 's/^\[\([^D].*$\)/\[X-\1/' music-player/data/deepin-music.desktop
# replace [[:space:]] with '-'
sed -i 's/ Shortcut /-Shortcut-/' music-player/data/deepin-music.desktop

%build
%qmake5 DEFINES+=QT_NO_DEBUG_OUTPUT \
        PREFIX=%{_prefix} \
        LIB_INSTALL_DIR=%{_libdir} \
        LIBSUFFIX=%{lib}
make %{?_smp_mflags}

%install
%qmake5_install

%ifarch i386 i486 i586 i686 athlon armv7hl
%else
    mv %{buildroot}%{_libexecdir}/*.so* %{buildroot}%{_libdir}
    mv %{buildroot}%{_libexecdir}/pkgconfig %{buildroot}%{_libdir}/pkgconfig
    rm -rf %{buildroot}%{_libexecdir}
%endif

# Remove invalid developement files.
rm -rf %{buildroot}%{_libdir}/libdmusic.so
rm -rf %{buildroot}%{_libdir}/deepin-music/plugins/libnetease-meta-search.so

# produce png icons from svg
for i in 16 24 32 48 64 96 128 256; do
  mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps
  rsvg-convert -h $i -w $i \
    %{buildroot}%{_datadir}/dman/deepin-music/common/deepin-music.svg \
    -o %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/deepin-music.png
done

%suse_update_desktop_file -r deepin-music Player AudioVideo
%fdupes %{buildroot}%{_prefix}

%post
%icon_theme_cache_postun
%desktop_database_postun

%postun
%icon_theme_cache_postun
%desktop_database_postun

%post -n libdmusic1 -p /sbin/ldconfig

%postun -n libdmusic1 -p /sbin/ldconfig

%post -n libdbusextended-qt5-1 -p /sbin/ldconfig

%postun -n libdbusextended-qt5-1 -p /sbin/ldconfig

%post -n libmpris-qt5-1 -p /sbin/ldconfig

%postun -n libmpris-qt5-1 -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING CHANGELOG.md README.md TODO
%{_bindir}/deepin-music
%{_datadir}/applications/deepin-music.desktop
%{_datadir}/dbus-1/services/com.deepin.dde.music.service
%{_datadir}/deepin-music
%{_datadir}/dman
%{_datadir}/icons/hicolor/*/apps/deepin-music.png
%{_datadir}/icons/hicolor/scalable/apps/deepin-music.svg

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

%files -n deepin-music-libnetease-meta-search
%defattr(-,root,root,-)
%dir %{_libdir}/deepin-music
%dir %{_libdir}/deepin-music/plugins
%{_libdir}/deepin-music/plugins/libnetease-meta-search.so.*

%files -n libdbusextended-qt5-1
%defattr(-,root,root,-)
%{_libdir}/libdbusextended-qt5.so.*

%files -n libmpris-qt5-1
%defattr(-,root,root,-)
%{_libdir}/libmpris-qt5.so.*

%files -n libdbusextended-qt5-devel
%defattr(-,root,root,-)
%{_libdir}/pkgconfig/dbusextended-qt5.pc
%{_libdir}/libdbusextended-qt5.so
%{_includedir}/DBusExtended

%files -n libmpris-qt5-devel
%defattr(-,root,root,-)
%{_libdir}/pkgconfig/mpris-qt5.pc
%{_libdir}/libmpris-qt5.so
%dir %{_libdir}/qt5/
%dir %{_libdir}/qt5/mkspecs/
%dir %{_libdir}/qt5/mkspecs/features/
%{_libdir}/qt5/mkspecs/features/mpris-qt5.prf
%{_includedir}/MprisQt/

%changelog
openSUSE Build Service is sponsored by