On 2011年10月20日 07:18, Saul Wold wrote:
On
10/19/2011 03:31 AM, Xiaofeng Yan wrote:
On 2011年10月18日 13:44, Xiaofeng Yan wrote:
On 2011年10月18日 13:35, Saul Wold wrote:
On 10/17/2011 10:21 PM, Xiaofeng Yan
wrote:
From: Xiaofeng
Yan<xiaofeng.yan@windriver.com>
The new version of qmmp can run on core-image-sato by
test.
$qmmp *.mp3
Signed-off-by: Xiaofeng
Yan<xiaofeng.yan@windriver.com>
---
meta/recipes-qt/qt-apps/qmmp_0.5.2.bb | 49
+++++++++++++++++++++++++++++++++
1 files changed, 49 insertions(+), 0 deletions(-)
create mode 100644 meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
diff --git a/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
new file mode 100644
index 0000000..f31409b
--- /dev/null
+++ b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
@@ -0,0 +1,49 @@
+dESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an
audio-player, written with help of Qt library"
+HOMEPAGE = "http://qmmp.ylsoftware.com"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM =
"file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+SECTION = "multimedia"
+
+PR = "r3"
+
+PROVIDES = "qmmp"
+DEPENDS = "qt4-x11-free taglib libmad libvorbis libogg
alsa-lib"
+RDEPENDS_${PN} += "taglib alsa-lib libmad curl"
+
+SRC_URI =
"http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "20852f3cce3471bfc5affa9b2e947dc6"
+SRC_URI[sha256sum] =
"6391dec020d2a381d7f4b7890fae6c49eadf88b3c9aef571fe3c5e96140822ec"
+
+
+PARALLEL_MAKE = ""
+
+inherit qmake2 cmake
+
+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 \
+ "
+
+FILES_${PN} =+ "\
+ ${libdir}/qmmp/*/*.so \
+ ${datadir}/icons/* \
+ ${datadir}/qmmp/images/* \
+ ${datadir}/applications/qmmp.desktop \
+ "
+
Xiaofeng,
I was looking into this also, I think it would be better to
split all
the various plugins into separate packages using
do_split_packages(), in
the packages.bbclass.
I started with this code:
PACKAGES_DYNAMIC = "qmmp-plugin-*"
python populate_packages_prepend () {
qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
do_split_packages(d, qmmp_libdir, '^(.*)/(.*)\.so$',
'qmmp-plugin-%s-%s', 'Qmmp %s Plugin for %s',
extra_depends='')
}
But have not completed it yet, if you have time to
investigate
further and complete this correctly, there might be a
problem with
using multiple Regular expressions in the do_split_packages
code, but
I have not fully debugged this yet.
Please let me know if you can complete this task.
Hi saul,
The following is my modification to qmmp_0.5.2.bb. Please review
it.
I want to get a reply about how to ship files in ${datadir} for
qmmp. I
shipped them to FILES_${PN} because qmmp need these files when
starting
up. Do you think that they should be packaged like qmmp-plugin-*
?
Please give me your suggestion and I will modify this file.
PACKAGES_DYNAMIC += "qmmp-plugin-*"
python populate_packages_prepend () {
qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
do_split_packages(d, qmmp_libdir, '^lib(.*)\.so$',
'qmmp-plugin-%s', 'Qmmp %s Plugin for',
recursive=True,extra_depends='')
}
Ah, I see you added the recursive flag, I was trying to capture
the plugin group (Input, Ouput, Effect, ...) in the package name
incase there was name conflict, also to match the mad and vorbis
naming below.
If using multiple RE expressions in the re match does not work,
then we should make do_split_package for each grouping and name
them correctly
qmmp-plugin-<group>-<library> with the Description:
Qmmp <Group> plugin for %s"
Hi Saul,
I find .debug can't be packaged to rpm package because it is
invisible directory. In current OE-core .debug was shipped to
FILES_${PN}-dbg, for example , gtk+ ,qt4-x11-free
If we want to split up .debug/* to single package, we can rename
.debug to debug to make this directory visible, then debug directory
can be split up to single package.
Please review the following two mode.
Mode 1: Ship .debug to FILES_${PN}-dbg
PACKAGES_DYNAMIC = "qmmp-plugin-* "
python populate_packages_prepend () {
import os
qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
gd = bb.data.expand('${D}/${libdir}/qmmp', d)
plug_dirs = os.listdir(gd)
# for makeing do_split_package for each
grouping and name them correctly
# qmmp-plugin-<group>-<library> with the
Description: Qmmp <Group> plugin for %s"
# I use the following method.
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 + '-%s', 'Qmmp' + plug_dir + 'plugin for
%s')
}
# if I don't point files to ship file to
${PN}, then FILE_${PN} will get files in usr/lib/qmmp and
qmmp-plug-* will not get files.
FILES_${PN} = "\
${bindir}/qmmp \
${libdir}/lib*${SOLIBS} \
${datadir}/icons/* \
${datadir}/qmmp/images/* \
${datadir}/applications/* \
"
FILES_${PN}-dbg += "\
${libdir}/qmmp/*/.debug/* \
"
=================================================================================
Mode 2: Split up .debug to sub-packages
PACKAGES_DYNAMIC = "qmmp-plugin-* qmmp-debug-plugin-*"
python populate_packages_prepend () {
import os
qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
qmmp_pkgd =
bb.data.expand('${WORKDIR}/package/${libdir}/qmmp', d)
gd = bb.data.expand('${D}/${libdir}/qmmp', d)
plug_dirs = os.listdir(gd)
for plug_dir in plug_dirs:
#rename .debug to debug
if os.path.exists( qmmp_pkgd + '/' + plug_dir +
'/.debug'):
os.rename(qmmp_pkgd + '/' + plug_dir +
'/.debug',qmmp_pkgd + '/' + plug_dir + '/debug')
g_plug_dir = os.path.join(qmmp_libdir,plug_dir)
do_split_packages(d, g_plug_dir, '^lib(.*)\.so$',
'qmmp-plugin-' + plug_dir + '-%s', 'Qmmp' + plug_dir + 'plugin for
%s')
#split up .debug to
sub-packages
g_plug_debug_dir = os.path.join(g_plug_dir,'debug')
do_split_packages(d, g_plug_debug_dir,
'^lib(.*)\.so$', 'qmmp-debug-plugin-' + plug_dir + '-%s', 'Qmmp' +
plug_dir + 'plugin debug for %s')
}
# if I don't point files to ship file to ${PN}, then FILE_${PN}
will get files in usr/lib/qmmp and qmmp-plug-* will not get
files. I check gtk+ and
qt4-x11-free and find that they adopt the following method
without using default mode.
FILES_${PN} = "\
${bindir}/qmmp \
${libdir}/lib*${SOLIBS} \
${datadir}/icons/* \
${datadir}/qmmp/images/* \
${datadir}/applications/* \
"
Do you have any comment for above code. If have, I will continue
looking into modification method according to your suggestion. Do
you think we should select which method?
Thanks
Yan
FILES_${PN} = "\
I think this should be a +=
${bindir}/qmmp \
${libdir}/lib*${SOLIBS} \
These 2 should go away (part of default FILES_${PN}
${datadir}/icons/* \
${datadir}/qmmp/images/* \
${datadir}/applications/* \
"
There are added via the += above.
FILES_${PN}-dbg += "\
${libdir}/qmmp/*/.debug/* \
"
These should be picked up by the do_split_package above I believe
PACKAGES += "${PN}-plugin-input-mad
${PN}-plugin-input-vorbis "
FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
RDEPENDS_${PN}-plugin-input-mad = "libmad"
FILES_${PN}-plugin-input-vorbis =
"${libdir}/qmmp/Input/libvorbis.so"
RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"
Ideally the above PACKAGES and FILES_ go away and the default
actions take over.
Thanks for looking into this.
Sau!
Thanks
Yan
Thanks for your reply and I will
investigate it according to your
suggestion.
Thanks
Yan
Thanks
Sau!
+FILES_${PN}-dbg += "\
+ ${libdir}/qmmp/*/.debug/* \
+ "
+
+PACKAGES += "${PN}-plugin-input-mad
${PN}-plugin-input-vorbis"
+
+FILES_${PN}-plugin-input-mad =
"${libdir}/qmmp/Input/libmad.so"
+RDEPENDS_${PN}-plugin-input-mad = "libmad"
+FILES_${PN}-plugin-input-vorbis =
"${libdir}/qmmp/Input/libvorbis.so"
+RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core