[oe-commits] Paul Eggleton : qmmp: update to 0.6.6 and fix

git at git.openembedded.org git at git.openembedded.org
Wed Feb 6 09:38:27 UTC 2013


Module: openembedded-core.git
Branch: master-next
Commit: 12484dca3bf09dd9a03442a223885deb7472a6cd
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=12484dca3bf09dd9a03442a223885deb7472a6cd

Author: Paul Eggleton <paul.eggleton at linux.intel.com>
Date:   Tue Feb  5 15:55:46 2013 +0000

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 <paul.eggleton at linux.intel.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 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(-)

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 0000000..de17b4e
--- /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 <paul.eggleton at 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
index 0000000..5e2978b
--- /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 <paul.eggleton at 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
+ }
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 ed096e9..0000000
--- 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 0000000..2f5e0d5
--- /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"





More information about the Openembedded-commits mailing list