Sync with downstream clementine.spec

This commit is contained in:
Robert-André Mauchin 2023-10-15 13:31:26 +02:00 committed by GitHub
parent 4768cb9efb
commit c7200e62f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 105 additions and 50 deletions

View File

@ -3,60 +3,108 @@ Version: @CLEMENTINE_VERSION_RPM_V@
Release: @CLEMENTINE_VERSION_RPM_R@%{?dist}
Summary: A music player and library organiser
License: GPLv3
URL: http://www.clementine-player.org/
# Apache-2.0:
# - ext/libclementine-common/core/latch.cpp
# - ext/libclementine-common/core/latch.h
# - ext/libclementine-remote/remotecontrolmessages.proto
# - ext/libclementine-common/core/logging.cpp
# - ext/libclementine-common/core/logging.h
# - ext/libclementine-common/core/messagehandler.cpp
# - ext/libclementine-common/core/messagehandler.h
# - ext/libclementine-common/core/override.h
# - ext/libclementine-common/core/timeconstants.h
# BSL-1.0: 3rdparty/utf8-cpp
# GPL-2.0-or-later:
# - src/engines/gstengine.cpp
# - src/engines/gstengine.h
# - src/widgets/sliderwidget.cpp
# - src/widgets/sliderwidget.h
# LGPL-2.0-or-later:
# - gst/moodbar/gstfastspectrum.cpp
# - gst/moodbar/gstfastspectrum.h
# LGPL-2.1-only:
# - 3rdparty/taglib
# - src/widgets/stylehelper:
# LGPL-2.1-only WITH Qt-LGPL-exception-1.1 OR GPL-3.0-only:
# - 3rdparty/qsqlite/clementinesqlcachedresult.cpp
# - 3rdparty/qsqlite/clementinesqlcachedresult.h
# - 3rdparty/qsqlite/qsql_sqlite.cpp
# - 3rdparty/qsqlite/qsql_sqlite.h
# LGPL-2.1-only WITH Qt-LGPL-exception-1.1 OR LGPL-3.0-only WITH Qt-LGPL-exception-1.1:
# - 3rdparty/qsqlite/smain.cpp
# - 3rdparty/qsqlite/smain.h
# MIT: 3rdparty/qocoa
License: GPL-3.0-or-later AND GPL-2.0-or-later AND BSL-1.0 AND LGPL-2.0-or-later AND LGPL-2.1-only AND Apache-2.0 AND (LGPL-2.1-only WITH Qt-LGPL-exception-1.1 OR GPL-3.0-only) AND (LGPL-2.1-only WITH Qt-LGPL-exception-1.1 OR LGPL-3.0-only WITH Qt-LGPL-exception-1.1) AND MIT
URL: https://www.clementine-player.org/
VCS: https://github.com/clementine-player/Clementine
Source0: %{name}-@CLEMENTINE_VERSION_SPARKLE@.tar.xz
BuildRequires: cmake
BuildRequires: make
BuildRequires: git
BuildRequires: gettext
BuildRequires: gcc-c++
BuildRequires: boost-devel
BuildRequires: sparsehash-devel
BuildRequires: liblastfm-qt5-devel
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: hicolor-icon-theme
BuildRequires: gcc-c++
BuildRequires: gettext
BuildRequires: git
BuildRequires: libappstream-glib
BuildRequires: qtsingleapplication-qt5-devel
BuildRequires: liblastfm-qt5-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5OpenGL)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5Test)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: pkgconfig(QxtCore-qt5)
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(fftw3)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(gthread-2.0)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(sqlite3) >= 3.7
BuildRequires: pkgconfig(taglib) >= 1.11
BuildRequires: pkgconfig(glew)
BuildRequires: pkgconfig(cryptopp)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5OpenGL)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Test)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(gmock)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-app-1.0)
BuildRequires: pkgconfig(gstreamer-audio-1.0)
BuildRequires: pkgconfig(gstreamer-base-1.0)
BuildRequires: pkgconfig(gstreamer-tag-1.0)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(gthread-2.0)
BuildRequires: pkgconfig(libcdio)
BuildRequires: pkgconfig(libchromaprint)
BuildRequires: pkgconfig(libgpod-1.0)
BuildRequires: pkgconfig(libcryptopp) or pkgconfig(cryptopp)
BuildRequires: pkgconfig(libmtp)
BuildRequires: pkgconfig(libmygpo-qt5)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(libplist-2.0)
BuildRequires: pkgconfig(libprojectM) >= 2.0.1-7
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libsparsehash)
BuildRequires: pkgconfig(libudf)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(sqlite3) >= 3.7
BuildRequires: pkgconfig(taglib) >= 1.11
BuildRequires: pkgconfig(udisks)
BuildRequires: qt5-linguist
BuildRequires: qtiocompressor-devel
BuildRequires: qtsingleapplication-qt5-devel >= 2.6.1-2
BuildRequires: qtsinglecoreapplication-qt5-devel >= 2.6.1-2
BuildRequires: sha2-devel
%ifnarch s390 s390x
BuildRequires: pkgconfig(libgpod-1.0)
BuildRequires: pkgconfig(libimobiledevice-1.0)
%endif
# GStreamer codec dependencies
Requires: gstreamer1-plugins-ugly-free
Requires: hicolor-icon-theme
Requires: qtiocompressor >= 2.3.1-17
%ifarch x86_64
Requires: gstreamer1(decoder-audio/x-vorbis)()(64bit)
@ -70,6 +118,10 @@ Requires: gstreamer1(decoder-audio/x-speex)
Requires: gstreamer1(decoder-audio/x-wav)
%endif
Provides: bundled(qocoa)
Provides: bundled(qsqlite)
Provides: bundled(utf8-cpp)
%description
Clementine is a modern music player and library organiser.
It is inspired by Amarok 1.4, focusing on a fast and easy-to-use interface for
@ -93,36 +145,39 @@ Features include:
* Queue manager
%prep
%setup -q -n %{name}-@CLEMENTINE_VERSION_SPARKLE@
%autosetup -p1 -n %{name}-@CLEMENTINE_VERSION_SPARKLE@
%build
cd bin
%{cmake} .. -DUSE_INSTALL_PREFIX=OFF -DBUNDLE_PROJECTM_PRESETS=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DFORCE_GIT_REVISION=@GIT_REV@
%{cmake_build}
%cmake \
-DBUILD_WERROR:BOOL=OFF \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_CXX_STANDARD:INT=17 \
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
-DFORCE_GIT_REVISION:STRING=@GIT_REV@ \
-DUSE_SYSTEM_PROJECTM:BOOL=ON \
-DUSE_SYSTEM_QTSINGLEAPPLICATION:BOOL=ON \
-DUSE_SYSTEM_QXT:BOOL=ON
%cmake_build
%install
cd bin
%{cmake_install}
rm -f $RPM_BUILD_ROOT/usr/share/icons/ubuntu-mono-{dark,light}/apps/24/clementine-panel*.png
%cmake_install
rm -rfv $RPM_BUILD_ROOT/usr/share/icons/ubuntu-mono-{dark,light}/apps/24/clementine-panel*.png
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/org.clementine_player.Clementine.desktop
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/org.clementine_player.Clementine.appdata.xml
%files
%defattr(-,root,root,-)
%doc
%license COPYING
%doc Changelog README.md
%{_bindir}/clementine
%{_bindir}/clementine-tagreader
%dir %{_datadir}/metainfo/
%{_datadir}/metainfo/org.clementine_player.Clementine.appdata.xml
%{_datadir}/applications/org.clementine_player.Clementine.desktop
%{_datadir}/clementine/projectm-presets
%{_datadir}/kservices5/clementine-itms.protocol
%{_datadir}/kservices5/clementine-itpc.protocol
%{_datadir}/kservices5/clementine-feed.protocol
%{_datadir}/kservices5/clementine-zune.protocol
%{_datadir}/icons/hicolor/64x64/apps/org.clementine_player.Clementine.png
%{_datadir}/icons/hicolor/128x128/apps/org.clementine_player.Clementine.png
%{_datadir}/icons/hicolor/scalable/apps/org.clementine_player.Clementine.svg
%{_datadir}/icons/hicolor/*/apps/org.clementine_player.Clementine.*
%{_datadir}/kservices5/clementine-*.protocol
%{_metainfodir}/org.clementine_player.Clementine.appdata.xml
%changelog
* @RPM_DATE@ David Sansome <me@davidsansome.com> - @CLEMENTINE_VERSION_RPM_V@