qmmp: update to 0.6.6 and fix
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Tue, 5 Feb 2013 15:55:46 +0000 (15:55 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 6 Feb 2013 09:37:21 +0000 (09:37 +0000)
* 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 <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-qt/qt-apps/qmmp/no-host-paths.patch [new file with mode: 0644]
meta/recipes-qt/qt-apps/qmmp/no-sessionmanager.patch [new file with mode: 0644]
meta/recipes-qt/qt-apps/qmmp_0.6.6.bb [moved from meta/recipes-qt/qt-apps/qmmp_0.6.1.bb with 56% similarity]

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 (file)
index 0000000..de17b4e
--- /dev/null
@@ -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 <paul.eggleton@linux.intel.com>
+
+--- 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 (file)
index 0000000..5e2978b
--- /dev/null
@@ -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 <paul.eggleton@linux.intel.com>
+
+--- 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
+ }
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 ed096e9..2f5e0d5 100644 (file)
@@ -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')