Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync with downstream clementine.spec #7303

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 103 additions & 48 deletions dist/clementine.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -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}-@[email protected]

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(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(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5DBus)
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(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(glew)
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)
Expand All @@ -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
Expand All @@ -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 <[email protected]> - @CLEMENTINE_VERSION_RPM_V@
Expand Down