From 4296d65a68719507272c368e83bf1f6fb8125d82 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Tue, 5 Feb 2013 15:55:46 +0000 Subject: [PATCH] qmmp: update to 0.6.6 and fix * Update to 0.6.6 * Fix compilation failure due to unconditional call to QApplication::commitData() * Disable /usr/local host paths to avoid compilation warnings * Force use of the cmake configure instead of qmake as the latter is not dynamic with Qmmp and doesn't let you disable certain dependencies (e.g. enca) * Add libsndfile1, libsamplerate0 and curl to DEPENDS since their use will be non-deterministic otherwise * Explicitly disable library-requiring options that we don't have available in OE-Core so that they don't get used if they happen to be in the sysroot * Update LIC_FILES_CHKSUM since there were cosmetic changes to the license file (mostly reformatting and change of references to LGPL from "Library" to "Lesser".) Fixes [YOCTO #3822]. (From OE-Core rev: 12484dca3bf09dd9a03442a223885deb7472a6cd) Signed-off-by: Paul Eggleton Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- .../qt-apps/qmmp/no-host-paths.patch | 25 ++++++++++++ .../qt-apps/qmmp/no-sessionmanager.patch | 21 ++++++++++ .../qt-apps/{qmmp_0.6.1.bb => qmmp_0.6.6.bb} | 39 +++++++++++++++---- 3 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 meta/recipes-qt/qt-apps/qmmp/no-host-paths.patch create mode 100644 meta/recipes-qt/qt-apps/qmmp/no-sessionmanager.patch rename meta/recipes-qt/qt-apps/{qmmp_0.6.1.bb => qmmp_0.6.6.bb} (56%) diff --git a/meta/recipes-qt/qt-apps/qmmp/no-host-paths.patch b/meta/recipes-qt/qt-apps/qmmp/no-host-paths.patch new file mode 100644 index 0000000000..de17b4ef0b --- /dev/null +++ b/meta/recipes-qt/qt-apps/qmmp/no-host-paths.patch @@ -0,0 +1,25 @@ +Do not include /usr/include host paths + +These were added upstream apparently for freebsd support, but trigger +compiler warnings during the build and could be dangerous, so remove +them. + +Upstream-Status: Inappropriate [cross] + +Signed-off-by: Paul Eggleton + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,12 +1,5 @@ + cmake_minimum_required(VERSION 2.6.0) + +-#freebsd support +-include_directories(SYSTEM /usr/local/include) +-link_directories(/usr/local/lib) +-link_directories(/usr/local/lib32) +-link_directories(/usr/local/lib64) +-SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /usr/local/include) +- + #extract version from qmmp.h + FILE(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/qmmp/qmmp.h" + QMMP_VERSION_DATA REGEX "^#define[ \t]+QMMP_VERSION_[A-Z]+[ \t]+[0-9]+.*$") diff --git a/meta/recipes-qt/qt-apps/qmmp/no-sessionmanager.patch b/meta/recipes-qt/qt-apps/qmmp/no-sessionmanager.patch new file mode 100644 index 0000000000..5e2978b658 --- /dev/null +++ b/meta/recipes-qt/qt-apps/qmmp/no-sessionmanager.patch @@ -0,0 +1,21 @@ +Don't call session manager function if not enabled + +If session management has been disabled we will get a compilation +failure if we try to call QApplication::commitData() so don't do so if +it is disabled. + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton + +--- a/src/app/qmmpapplication.cpp ++++ b/src/app/qmmpapplication.cpp +@@ -29,6 +29,8 @@ void QmmpApplication::commitData(QSessionManager &manager) + { + if(UiHelper::instance()) + UiHelper::instance()->exit(); ++#ifndef QT_NO_SESSIONMANAGER + else + QApplication::commitData(manager); ++#endif + } diff --git a/meta/recipes-qt/qt-apps/qmmp_0.6.1.bb b/meta/recipes-qt/qt-apps/qmmp_0.6.6.bb similarity index 56% rename from meta/recipes-qt/qt-apps/qmmp_0.6.1.bb rename to meta/recipes-qt/qt-apps/qmmp_0.6.6.bb index ed096e9ef4..2f5e0d5830 100644 --- a/meta/recipes-qt/qt-apps/qmmp_0.6.1.bb +++ b/meta/recipes-qt/qt-apps/qmmp_0.6.6.bb @@ -2,20 +2,37 @@ DESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an audio-player, written wit HOMEPAGE = "http://qmmp.ylsoftware.com" LICENSE = "GPLv2" LICENSE_FLAGS = "commercial" -LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SECTION = "multimedia" -PR = "r1" +DEPENDS = "taglib libmad libvorbis libogg alsa-lib libsndfile1 libsamplerate0 curl" -DEPENDS = "taglib libmad libvorbis libogg alsa-lib" +SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2 \ + file://no-host-paths.patch \ + file://no-sessionmanager.patch" -SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2" - -SRC_URI[md5sum] = "23a1a3aa924da901ebc8327ea76135d4" -SRC_URI[sha256sum] = "b48be8c0e3882088919a77ce7b619cfc99d32af29cc688ba8749a58cbb25fb6f" +SRC_URI[md5sum] = "0131a9bf7b98737c1a6fd6e1a897e2b2" +SRC_URI[sha256sum] = "dfa973cca80c020a85a11bb66701a3804f9fde326440abb179559c98bf3b5b99" inherit cmake qt4x11 +QMMP_PLUGIN_OPTIONS ??= "\ + -DUSE_MMS:BOOL=FALSE \ + -DUSE_MPC:BOOL=FALSE \ + -DUSE_MODPLUG:BOOL=FALSE \ + -DUSE_WAVPACK:BOOL=FALSE \ + -DUSE_FFMPEG:BOOL=FALSE \ + -DUSE_AAC:BOOL=FALSE \ + -DUSE_CDA:BOOL=FALSE \ + -DUSE_MIDI:BOOL=FALSE \ + -DUSE_GME:BOOL=FALSE \ + -DUSE_OSS4:BOOL=FALSE \ + -DUSE_JACK:BOOL=FALSE \ + -DUSE_BS2B:BOOL=FALSE \ + -DUSE_PROJECTM:BOOL=FALSE \ + -DUSE_ENCA:BOOL=FALSE \ + " + export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \ -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \ -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \ @@ -24,9 +41,15 @@ export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \ -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \ -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \ -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \ + ${QMMP_PLUGIN_OPTIONS} \ " -PACKAGES_DYNAMIC += "^qmmp-plugin-.* " +do_configure() { + # Ensure we get the cmake configure and not qmake + cmake_do_configure +} + +PACKAGES_DYNAMIC += "^qmmp-plugin-.* " python populate_packages_prepend () { qmmp_libdir = d.expand('${libdir}/qmmp')