Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Saul Wold <saul.wold@intel.com>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/2] qmmp: update to 0.5.2
Date: Wed, 19 Oct 2011 16:18:26 -0700	[thread overview]
Message-ID: <4E9F5AC2.9080905@intel.com> (raw)
In-Reply-To: <4E9EA6E7.9000409@windriver.com>

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"

> 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




  reply	other threads:[~2011-10-19 23:24 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-18  5:21 [PATCH 0/2] update packages Xiaofeng Yan
2011-10-18  5:21 ` [PATCH 1/2] qmmp: update to 0.5.2 Xiaofeng Yan
2011-10-18  5:35   ` Saul Wold
2011-10-18  5:44     ` Xiaofeng Yan
2011-10-19 10:31       ` Xiaofeng Yan
2011-10-19 23:18         ` Saul Wold [this message]
2011-10-20  2:27           ` Xiaofeng Yan
2011-10-20 11:46           ` Xiaofeng Yan
2011-10-18  5:22 ` [PATCH 2/2] libx11-diet: update to 1.4.4 Xiaofeng Yan
  -- strict thread matches above, loose matches on Subject: below --
2011-11-07 11:57 [PATCH 0/2] qmmp: update to 2.8.5 Xiaofeng Yan
2011-11-07 11:57 ` [PATCH 1/2] qmmp: update to 0.5.2 Xiaofeng Yan
2011-11-07 11:58   ` Koen Kooi
2011-11-07 12:01     ` Xiaofeng Yan
2011-11-07 12:11       ` Koen Kooi
2011-11-07 12:24         ` Xiaofeng Yan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E9F5AC2.9080905@intel.com \
    --to=saul.wold@intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox