blob: d94c3215dc4a37611dd0de5ace16b38312a51009 [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001SUMMARY = "Libav-based GStreamer 1.x plugin"
2HOMEPAGE = "http://gstreamer.freedesktop.org/"
3SECTION = "multimedia"
4
5LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )"
6LICENSE_FLAGS = "commercial"
7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
9 file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
10 file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
11 file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
12 file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
13 file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
14
15SRC_URI = "http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \
16 file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \
17 file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \
18 file://mips64_cpu_detection.patch \
19 file://0001-configure-check-for-armv7ve-variant.patch \
20 file://0001-fix-host-contamination.patch \
21 "
Brad Bishop15ae2502019-06-18 21:44:24 -040022SRC_URI[md5sum] = "e3a201a45985ddc1327cd496046ca818"
23SRC_URI[sha256sum] = "dfac119043a9cfdcacd7acde77f674ab172cf2537b5812be52f49e9cddc53d9a"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080024
25S = "${WORKDIR}/gst-libav-${PV}"
26
27DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz"
28
29inherit autotools pkgconfig upstream-version-is-even gtk-doc
30
Brad Bishop15ae2502019-06-18 21:44:24 -040031# Disable documentation for now as it is failing with gtk-doc 1.30:
32# gst-libav-plugins-docs.sgml:38: element include: XInclude error:
33# could not load xml/tree_index.sgml, and no fallback was found
34GTKDOC_ENABLED = "False"
35
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080036# CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time,
37# compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the
38# libav copy included in the gst-libav package.
39PACKAGECONFIG ??= "orc yasm"
40
41PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl,"
42PACKAGECONFIG[libav] = "--with-system-libav,,libav"
43PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
44PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,nasm-native"
45PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind"
46
47GSTREAMER_1_0_DEBUG ?= "--disable-debug"
48
49LIBAV_EXTRA_CONFIGURE = "--with-libav-extra-configure"
50
51LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \
52 --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \
53 --ranlib='${RANLIB}' \
54 ${GSTREAMER_1_0_DEBUG} \
55 --cross-prefix='${HOST_PREFIX}'"
56
57# Disable assembly optimizations for X32, as this libav lacks the support
58PACKAGECONFIG_remove_linux-gnux32 = "yasm"
59LIBAV_EXTRA_CONFIGURE_COMMON_ARG_append_linux-gnux32 = " --disable-asm"
60
61LIBAV_EXTRA_CONFIGURE_COMMON = \
62'${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"'
63
64EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}"
65
66FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
67FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
68FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
69
70# http://errors.yoctoproject.org/Errors/Details/20493/
71ARM_INSTRUCTION_SET_armv4 = "arm"
72ARM_INSTRUCTION_SET_armv5 = "arm"
73
74# ffmpeg/libav disables PIC on some platforms (e.g. x86-32)
75INSANE_SKIP_${PN} = "textrel"