diff --git a/0001-only-use-qPrintable-for-debug-messages.patch b/0001-only-use-qPrintable-for-debug-messages.patch new file mode 100644 index 0000000..f247057 --- /dev/null +++ b/0001-only-use-qPrintable-for-debug-messages.patch @@ -0,0 +1,44 @@ +From a9f09d4d84509259b92153f39e99e036bfcbcb61 Mon Sep 17 00:00:00 2001 +From: Mauro Carvalho Chehab +Date: Wed, 16 May 2018 14:11:26 -0300 +Subject: [PATCH 1/3] only use qPrintable() for debug messages + +There are two places qhere qPrintable() is not used for print +messages. Replace them by explicit conversion from QString +to char *. + +Signed-off-by: Mauro Carvalho Chehab +--- + src/backend-vlc/vlcmediawidget.cpp | 2 +- + src/dvb/dvbconfigdialog.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/backend-vlc/vlcmediawidget.cpp b/src/backend-vlc/vlcmediawidget.cpp +index 2421dd6..9be6263 100644 +--- a/src/backend-vlc/vlcmediawidget.cpp ++++ b/src/backend-vlc/vlcmediawidget.cpp +@@ -427,7 +427,7 @@ void VlcMediaWidget::setExternalSubtitle(const QUrl &url) + qCWarning(logMediaWidget, "Cannot set subtitle file %s", qPrintable(fname)); + #else + if (libvlc_video_set_subtitle_file(vlcMediaPlayer, +- qPrintable(fname)) == 0) ++ fname.toLocal8Bit().constData()) == 0) + qCWarning(logMediaWidget, "Cannot set subtitle file %s", qPrintable(fname)); + #endif + } +diff --git a/src/dvb/dvbconfigdialog.cpp b/src/dvb/dvbconfigdialog.cpp +index fc44459..a639635 100644 +--- a/src/dvb/dvbconfigdialog.cpp ++++ b/src/dvb/dvbconfigdialog.cpp +@@ -1539,7 +1539,7 @@ void DvbSLnbConfigObject::configure() + + for (i = 0; i < size; i++) { + struct lnbSat lnb = device->getLnbSatModels().at(i); +- QRadioButton *radioButton = new QRadioButton(i18nd("libdvbv5", qPrintable(lnb.name)), mainWidget); ++ QRadioButton *radioButton = new QRadioButton(i18nd("libdvbv5", lnb.name.toLocal8Bit().constData()), mainWidget); + mainLayout->addWidget(radioButton); + lnbSelectionGroup->addButton(radioButton, i + 1); + gridLayout->addWidget(radioButton, i % ((size + 1) / 2), i / ((size + 1) / 2)); +-- +2.17.0 + diff --git a/0002-Fix-breakages-with-qt5.11-rc2.patch b/0002-Fix-breakages-with-qt5.11-rc2.patch new file mode 100644 index 0000000..211a620 --- /dev/null +++ b/0002-Fix-breakages-with-qt5.11-rc2.patch @@ -0,0 +1,113 @@ +From 06b78c5f24891fd38d25ed64f5029106eec7c4fb Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Wed, 16 May 2018 16:38:04 -0300 +Subject: [PATCH 2/3] Fix breakages with qt5.11-rc2 + +On Qt5.11, there was a change at the way qPrintable() works. +There, the var using it should be already a QString() type, +not allowing implicit conversions. + +With that, some usages of qPrintable() are invalid for qt5.11, +as the vars to be printed are either enums or integers. + +BUG: 393222 + +Signed-off-by: Mauro Carvalho Chehab +--- + src/backend-vlc/vlcmediawidget.cpp | 4 ++-- + src/dvb/dvbdevice_linux.cpp | 2 +- + src/dvb/dvbrecording.cpp | 2 +- + src/sqlinterface.cpp | 8 ++++---- + 4 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/backend-vlc/vlcmediawidget.cpp b/src/backend-vlc/vlcmediawidget.cpp +index 9be6263..60666d2 100644 +--- a/src/backend-vlc/vlcmediawidget.cpp ++++ b/src/backend-vlc/vlcmediawidget.cpp +@@ -95,7 +95,7 @@ bool VlcMediaWidget::init() + + for (uint i = 0; i < (sizeof(eventTypes) / sizeof(eventTypes[0])); ++i) { + if (libvlc_event_attach(eventManager, eventTypes[i], vlcEventHandler, this) != 0) { +- qCCritical(logMediaWidget, "Cannot attach event handler %s", qPrintable(eventTypes[i])); ++ qCCritical(logMediaWidget, "Cannot attach event handler %d", eventTypes[i]); + return false; + } + } +@@ -328,7 +328,7 @@ void VlcMediaWidget::play(const MediaSource &source) + + for (uint i = 0; i < (sizeof(eventTypes) / sizeof(eventTypes[0])); ++i) { + if (libvlc_event_attach(eventManager, eventTypes[i], vlcEventHandler, this) != 0) { +- qCWarning(logMediaWidget, "Cannot attach event handler %s", qPrintable(eventTypes[i])); ++ qCWarning(logMediaWidget, "Cannot attach event handler %d", eventTypes[i]); + } + } + +diff --git a/src/dvb/dvbdevice_linux.cpp b/src/dvb/dvbdevice_linux.cpp +index 1f6c4ad..aa7fd34 100644 +--- a/src/dvb/dvbdevice_linux.cpp ++++ b/src/dvb/dvbdevice_linux.cpp +@@ -1245,7 +1245,7 @@ bool DvbLinuxDevice::getProps(DvbTransponder &transponder) + qCWarning(logDev, "Invalid transmission type"); + return false; + default: +- qCWarning(logDev, "Unknown transmission type %s", qPrintable(transponder.getTransmissionType())); ++ qCWarning(logDev, "Unknown transmission type %d", transponder.getTransmissionType()); + return false; + } + return true; +diff --git a/src/dvb/dvbrecording.cpp b/src/dvb/dvbrecording.cpp +index 1018455..1f1bf07 100644 +--- a/src/dvb/dvbrecording.cpp ++++ b/src/dvb/dvbrecording.cpp +@@ -473,7 +473,7 @@ DvbSharedRecording DvbRecordingModel::getLeastImportant(QListname), qPrintable(listRec->priority)); ++ qCDebug(logDvb, "name and priority %s %d", qPrintable(listRec->name), listRec->priority); + if (listRec->priority < leastImportant->priority) { + leastImportant = listRec; + } +diff --git a/src/sqlinterface.cpp b/src/sqlinterface.cpp +index 8cc3bbd..d78d997 100644 +--- a/src/sqlinterface.cpp ++++ b/src/sqlinterface.cpp +@@ -135,7 +135,7 @@ void SqlInterface::sqlInsert(SqlKey key) + break; + } + +- qCWarning(logSql, "Invalid pending statement '%s'", qPrintable(pendingStatement)); ++ qCWarning(logSql, "Invalid pending statement '%d'", pendingStatement); + } + + void SqlInterface::sqlUpdate(SqlKey key) +@@ -155,7 +155,7 @@ void SqlInterface::sqlUpdate(SqlKey key) + break; + } + +- qCWarning(logSql, "Invalid pending statement '%s'", qPrintable(pendingStatement)); ++ qCWarning(logSql, "Invalid pending statement '%d'", pendingStatement); + } + + void SqlInterface::sqlRemove(SqlKey key) +@@ -176,7 +176,7 @@ void SqlInterface::sqlRemove(SqlKey key) + break; + } + +- qCWarning(logSql, "Invalid pending statement %s", qPrintable(pendingStatement)); ++ qCWarning(logSql, "Invalid pending statement %d", pendingStatement); + } + + void SqlInterface::requestSubmission() +@@ -226,7 +226,7 @@ void SqlInterface::sqlSubmit() + continue; + } + +- qCWarning(logSql, "Invalid pending statement %s", qPrintable(pendingStatement)); ++ qCWarning(logSql, "Invalid pending statement %d", pendingStatement); + } + + pendingStatements.clear(); +-- +2.17.0 + diff --git a/kaffeine-fixsplitter.patch b/kaffeine-fixsplitter.patch index edd39fa..8b7fc4c 100644 --- a/kaffeine-fixsplitter.patch +++ b/kaffeine-fixsplitter.patch @@ -1,6 +1,8 @@ ---- src/playlist/playlisttab.cpp.orig 2016-06-30 17:20:32.000000000 +0200 -+++ src/playlist/playlisttab.cpp 2016-08-10 17:26:40.388513777 +0200 -@@ -29,6 +29,7 @@ +diff --git a/src/playlist/playlisttab.cpp b/src/playlist/playlisttab.cpp +index 01f1290..6ae454b 100644 +--- a/src/playlist/playlisttab.cpp ++++ b/src/playlist/playlisttab.cpp +@@ -25,6 +25,7 @@ #include #include #include @@ -8,7 +10,7 @@ #include #include #include -@@ -450,33 +451,35 @@ +@@ -446,33 +447,35 @@ PlaylistTab::PlaylistTab(QMenu *menu, KActionCollection *collection, MediaWidget QBoxLayout *sideLayout = new QVBoxLayout(widget); sideLayout->setMargin(0); @@ -49,7 +51,7 @@ boxLayout->addStretch(); sideLayout->addLayout(boxLayout); -@@ -503,28 +506,30 @@ +@@ -499,28 +502,30 @@ PlaylistTab::PlaylistTab(QMenu *menu, KActionCollection *collection, MediaWidget sideLayout = new QVBoxLayout(widget); sideLayout->setMargin(0); @@ -84,7 +86,7 @@ boxLayout->addStretch(); sideLayout->addLayout(boxLayout); -@@ -619,6 +624,7 @@ +@@ -615,6 +620,7 @@ void PlaylistTab::createFileWidget() fileWidget->setFilter(MediaWidget::extensionFilter()); fileWidget->setMode(KFile::Files | KFile::ExistingOnly); fileWidgetSplitter->setStretchFactor(1, 1); diff --git a/kaffeine.changes b/kaffeine.changes index 1866a55..128c292 100644 --- a/kaffeine.changes +++ b/kaffeine.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sun Jun 3 19:46:42 UTC 2018 - christophe@krop.fr + +- Add upstream patches: + - 0001-only-use-qPrintable-for-debug-messages.patch + - 0002-Fix-breakages-with-qt5.11-rc2.patch +- Run spec-cleaner + ------------------------------------------------------------------- Wed May 2 08:32:54 UTC 2018 - wbauer@tmo.at diff --git a/kaffeine.spec b/kaffeine.spec index db260e9..9cc7e1f 100644 --- a/kaffeine.spec +++ b/kaffeine.spec @@ -17,24 +17,21 @@ Name: kaffeine -Summary: VLC-based Multimedia Player -License: GPL-2.0+ -Group: Productivity/Multimedia/Video/Players Version: 2.0.15 Release: 0 -Url: http://kaffeine.kde.org/ +Summary: VLC-based Multimedia Player +License: GPL-2.0-or-later +Group: Productivity/Multimedia/Video/Players +URL: http://kaffeine.kde.org/ Source0: %{name}-%{version}.tar.xz # PATCH-FEATURE-OPENSUSE kaffeine-fixsplitter.patch -- GUI improvement (allow more flexibly set splitters) Patch0: kaffeine-fixsplitter.patch -Recommends: %{name}-lang = %version -Requires: libQt5Sql5-sqlite -Requires: vlc-noX -Recommends: vlc-codecs -Requires(post): hicolor-icon-theme -Requires(post): update-desktop-files -Requires(postun): hicolor-icon-theme -Requires(postun): update-desktop-files +# PATCH-FIX-UPSTREAM -- 0001-only-use-qPrintable-for-debug-messages.patch +Patch1: 0001-only-use-qPrintable-for-debug-messages.patch +# PATCH-FIX-UPSTREAM -- 0002-Fix-breakages-with-qt5.11-rc2.patch +Patch2: 0002-Fix-breakages-with-qt5.11-rc2.patch BuildRequires: extra-cmake-modules +BuildRequires: pkgconfig BuildRequires: cmake(KF5CoreAddons) BuildRequires: cmake(KF5DBusAddons) BuildRequires: cmake(KF5DocTools) @@ -44,9 +41,6 @@ BuildRequires: cmake(KF5Solid) BuildRequires: cmake(KF5WidgetsAddons) BuildRequires: cmake(KF5WindowSystem) BuildRequires: cmake(KF5XmlGui) -%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?sle_version} >= 120300) -BuildRequires: pkgconfig(libdvbv5) -%endif BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Network) BuildRequires: pkgconfig(Qt5Sql) @@ -55,7 +49,17 @@ BuildRequires: pkgconfig(Qt5X11Extras) BuildRequires: pkgconfig(libvlc) >= 2.2.0 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xscrnsaver) -BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires: libQt5Sql5-sqlite +Requires: vlc-noX +Requires(post): hicolor-icon-theme +Requires(post): update-desktop-files +Requires(postun): hicolor-icon-theme +Requires(postun): update-desktop-files +Recommends: %{name}-lang = %{version} +Recommends: vlc-codecs +%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?sle_version} >= 120300) +BuildRequires: pkgconfig(libdvbv5) +%endif %description Kaffeine is a media player. @@ -66,8 +70,7 @@ playing their movies: from DVD (including DVD menus, titles, chapters, etc.), VC %lang_package %prep -%setup -q -%patch0 +%autosetup -p1 %build %cmake_kf5 -d build @@ -85,7 +88,7 @@ playing their movies: from DVD (including DVD menus, titles, chapters, etc.), VC CURDIR=`pwd` pushd %{buildroot}%{_kf5_htmldir} for i in *; do - if ! [ -d "/usr/share/locale/${i}" ]; then + if ! [ -d "%{_datadir}/locale/${i}" ]; then echo "Removing unsupported translation %{_kf5_htmldir}/${i}" rm -rf "$i" elif [ "$i" != "en" ]; then @@ -95,7 +98,7 @@ playing their movies: from DVD (including DVD menus, titles, chapters, etc.), VC echo "%doc %lang(uk) %{_kf5_mandir}/uk" >> $CURDIR/%{name}.lang popd %else -%kf5_find_htmldocs +%{kf5_find_htmldocs} %endif %post @@ -107,8 +110,8 @@ playing their movies: from DVD (including DVD menus, titles, chapters, etc.), VC %icon_theme_cache_postun %files -%defattr(-,root,root) -%doc COPYING COPYING-DOCS Changelog NOTES README.md +%license COPYING +%doc COPYING-DOCS Changelog NOTES README.md %{_kf5_bindir}/kaffeine %if 0%{?sle_version} == 120100 %dir %{_kf5_sharedir}/appdata