[OE-core] [PATCH v2] libav: add PACKAGECONFIG for theora, libvorbis, speex and openssl

Koen Kooi koen at dominion.thruhere.net
Fri Jul 11 06:36:45 UTC 2014


Op 30 jun. 2014, om 18:40 heeft Martin Jansa <martin.jansa at gmail.com> het volgende geschreven:

> On Mon, Jun 30, 2014 at 04:23:21PM +0200, Matthieu Crapet wrote:
>> Dropped libvorvis dependency because there is already a (better) builtin vorbis codec.
>> Don't confuse codec names: "vorbis" (builtin) and "libvorbis" (using external library).
>> Changes:
>> - add --enable-nonfree when faac or openssl are used
>> - add DESCRIPTION
>> - sort PACKAGECONFIG entries
>> 
>> Tested with libav-0.8.11 & libav-9.13.
>> 
>> Note: Be sure to have a recent version of bitbake (2014-06-11 or better) including this:
>> http://cgit.openembedded.org/bitbake/commit/?id=2e742c03e8dfdfa67899e7f5d579ed14bd87e139
>> It affects behavior of bb.utils.contains_any
>> 
>> Signed-off-by: Matthieu Crapet <Matthieu.Crapet at ingenico.com>
>> ---
>> meta/recipes-multimedia/libav/libav.inc | 30 ++++++++++++++++++++++--------
>> 1 file changed, 22 insertions(+), 8 deletions(-)
>> 
>> diff --git a/meta/recipes-multimedia/libav/libav.inc b/meta/recipes-multimedia/libav/libav.inc
>> index a05a2a6..1d617a2 100644
>> --- a/meta/recipes-multimedia/libav/libav.inc
>> +++ b/meta/recipes-multimedia/libav/libav.inc
>> @@ -1,6 +1,12 @@
>> -SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video"
>> +SUMMARY = "Open source audio and video processing tools and librairies"
>> +DESCRIPTION = "Libav is a friendly and community-driven effort to provide its users \
>> +               with a set of portable, functional and high-performance libraries for \
>> +               dealing with multimedia formats of all sorts. It originates from the \
>> +               FFmpeg codebase, but goes its own way these days, providing its users \
>> +               with reliable releases and a clear vision how to go forward."
>> HOMEPAGE = "http://libav.org/"
>> SECTION = "libs"
>> +
>> LICENSE = "GPLv2+"
>> LICENSE_FLAGS = "commercial"
>> 
>> @@ -9,7 +15,7 @@ PROVIDES = "ffmpeg"
>> 
>> ARM_INSTRUCTION_SET = "arm"
>> 
>> -DEPENDS = "zlib libogg libvorbis libtheora yasm-native"
>> +DEPENDS = "zlib libogg yasm-native"
>> 
>> INC_PR = "r8"
>> 
>> @@ -23,21 +29,29 @@ BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
>> EXTRA_FFCONF_armv7a = "--cpu=cortex-a8"
>> EXTRA_FFCONF ?= ""
>> 
>> -PACKAGECONFIG ??= "bzip2 x264 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
>> -PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
>> +PACKAGECONFIG ??= "bzip2 x264 theora ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
>> PACKAGECONFIG[bzip2] = "--enable-bzlib,--disable-bzlib,bzip2"
>> -PACKAGECONFIG[schroedinger] = "--enable-libschroedinger,--disable-libschroedinger,schroedinger"
>> +PACKAGECONFIG[faac] = "--enable-libfaac,--disable-libfaac,faac"
>> PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
>> -PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
>> -PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
>> +PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
>> +PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
>> PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
>> -PACKAGECONFIG[faac] = "--enable-libfaac,--disable-libfaac,faac"
>> +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
>> +PACKAGECONFIG[schroedinger] = "--enable-libschroedinger,--disable-libschroedinger,schroedinger"
>> +PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
>> +PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora"
>> +PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
>> PACKAGECONFIG[x11] = "--enable-x11grab,--disable-x11grab,virtual/libx11 libxfixes libxext xproto virtual/libsdl"
>> +PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
>> +
>> +# Check codecs that require --enable-nonfree
>> +USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'faac', 'openssl' ], 'yes', '', d)}"
>> 
>> EXTRA_OECONF = " \
>>     --enable-shared \
>>     --enable-pthreads \
>>     --enable-gpl \
>> +    ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
> 
> cannot you just pass --enable-nonfree in faac and openssl PACKAGECONFIG?
> In worse case when both are enabled the option will be added twice.

If you have nonfree enabled, you need to change the license as well, it won't be GPL anymore.

regards,

Koen


> 
>>     --enable-avfilter \
>>     \
>>     --cross-prefix=${TARGET_PREFIX} \
>> -- 
>> 2.0.0
>> 
>> -- 
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 
> -- 
> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list