From 12484dca3bf09dd9a03442a223885deb7472a6cd Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Tue, 5 Feb 2013 15:55:46 +0000 Subject: 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]. Signed-off-by: Paul Eggleton Signed-off-by: Saul Wold --- meta/recipes-qt/qt-apps/qmmp/no-host-paths.patch | 25 +++++++ .../qt-apps/qmmp/no-sessionmanager.patch | 21 ++++++ meta/recipes-qt/qt-apps/qmmp_0.6.1.bb | 53 --------------- meta/recipes-qt/qt-apps/qmmp_0.6.6.bb | 76 ++++++++++++++++++++++ 4 files changed, 122 insertions(+), 53 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 delete mode 100644 meta/recipes-qt/qt-apps/qmmp_0.6.1.bb create mode 100644 meta/recipes-qt/qt-apps/qmmp_0.6.6.bb 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.1.bb deleted file mode 100644 index ed096e9ef4..0000000000 --- a/meta/recipes-qt/qt-apps/qmmp_0.6.1.bb +++ /dev/null @@ -1,53 +0,0 @@ -DESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an audio-player, written with help of Qt library" -HOMEPAGE = "http://qmmp.ylsoftware.com" -LICENSE = "GPLv2" -LICENSE_FLAGS = "commercial" -LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" -SECTION = "multimedia" - -PR = "r1" - -DEPENDS = "taglib libmad libvorbis libogg alsa-lib" - -SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2" - -SRC_URI[md5sum] = "23a1a3aa924da901ebc8327ea76135d4" -SRC_URI[sha256sum] = "b48be8c0e3882088919a77ce7b619cfc99d32af29cc688ba8749a58cbb25fb6f" - -inherit cmake qt4x11 - -export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \ - -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \ - -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \ - -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \ - -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \ - -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \ - -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \ - -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \ - " -PACKAGES_DYNAMIC += "^qmmp-plugin-.* " - - -python populate_packages_prepend () { - qmmp_libdir = d.expand('${libdir}/qmmp') - gd = d.expand('${D}/${libdir}/qmmp') - plug_dirs = os.listdir(gd) - - for plug_dir in plug_dirs: - g_plug_dir = os.path.join(qmmp_libdir,plug_dir) - do_split_packages(d, g_plug_dir, '^lib(.*)\.so$', 'qmmp-plugin-' + plug_dir.lower() + '-%s', 'Qmmp' + plug_dir + 'plugin for %s') -} - -FILES_${PN} = "\ - ${bindir}/qmmp \ - ${libdir}/lib*${SOLIBS} \ - ${datadir}/icons/* \ - ${datadir}/qmmp/images/* \ - ${datadir}/applications/* \ - " - -FILES_${PN}-dbg += "\ - ${libdir}/qmmp/*/.debug/* \ - " - -RDEPENDS_${PN} += "taglib alsa-lib libmad curl" diff --git a/meta/recipes-qt/qt-apps/qmmp_0.6.6.bb b/meta/recipes-qt/qt-apps/qmmp_0.6.6.bb new file mode 100644 index 0000000000..2f5e0d5830 --- /dev/null +++ b/meta/recipes-qt/qt-apps/qmmp_0.6.6.bb @@ -0,0 +1,76 @@ +DESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an audio-player, written with help of Qt library" +HOMEPAGE = "http://qmmp.ylsoftware.com" +LICENSE = "GPLv2" +LICENSE_FLAGS = "commercial" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +SECTION = "multimedia" + +DEPENDS = "taglib libmad libvorbis libogg alsa-lib libsndfile1 libsamplerate0 curl" + +SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2 \ + file://no-host-paths.patch \ + file://no-sessionmanager.patch" + +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} \ + -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \ + -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \ + -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} \ + " + +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') + gd = d.expand('${D}/${libdir}/qmmp') + plug_dirs = os.listdir(gd) + + for plug_dir in plug_dirs: + g_plug_dir = os.path.join(qmmp_libdir,plug_dir) + do_split_packages(d, g_plug_dir, '^lib(.*)\.so$', 'qmmp-plugin-' + plug_dir.lower() + '-%s', 'Qmmp' + plug_dir + 'plugin for %s') +} + +FILES_${PN} = "\ + ${bindir}/qmmp \ + ${libdir}/lib*${SOLIBS} \ + ${datadir}/icons/* \ + ${datadir}/qmmp/images/* \ + ${datadir}/applications/* \ + " + +FILES_${PN}-dbg += "\ + ${libdir}/qmmp/*/.debug/* \ + " + +RDEPENDS_${PN} += "taglib alsa-lib libmad curl" -- cgit v1.2.3