summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb')
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb93
1 files changed, 37 insertions, 56 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb
index ff92f63bac..dc3e8ffafd 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.1.bb
@@ -8,11 +8,7 @@ LICENSE = "LGPLv2+"
8 8
9DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native" 9DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native"
10 10
11inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc ptest 11inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc
12
13# This way common/m4/introspection.m4 will come first
14# (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file)
15acpaths = "-I ${S}/common/m4 -I ${S}/m4"
16 12
17LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ 13LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
18 file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" 14 file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
@@ -21,71 +17,56 @@ S = "${WORKDIR}/gstreamer-${PV}"
21 17
22SRC_URI = " \ 18SRC_URI = " \
23 https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ 19 https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
24 file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
25 file://gtk-doc-tweaks.patch \
26 file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ 20 file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
27 file://add-a-target-to-compile-tests.patch \ 21 file://0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
28 file://run-ptest \ 22 file://0003-meson-Add-valgrind-feature.patch \
23 file://0004-meson-Add-option-for-installed-tests.patch \
29" 24"
30SRC_URI[md5sum] = "c505fb818b36988daaa846e9e63eabe8" 25SRC_URI[md5sum] = "c505fb818b36988daaa846e9e63eabe8"
31SRC_URI[sha256sum] = "02211c3447c4daa55919c5c0f43a82a6fbb51740d57fc3af0639d46f1cf4377d" 26SRC_URI[sha256sum] = "02211c3447c4daa55919c5c0f43a82a6fbb51740d57fc3af0639d46f1cf4377d"
32 27
33PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ 28PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
34 " 29 tools"
35 30
36PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" 31PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
37PACKAGECONFIG[tests] = "--enable-tests,--disable-tests" 32PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
38PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," 33PACKAGECONFIG[tests] = "-Dcheck=enabled -Dtests=enabled -Dinstalled-tests=true,-Dcheck=disabled -Dtests=disabled -Dinstalled-tests=false"
39PACKAGECONFIG[gst-tracer-hooks] = "--enable-gst-tracer-hooks,--disable-gst-tracer-hooks," 34PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind,"
40PACKAGECONFIG[unwind] = "--with-unwind,--without-unwind,libunwind" 35PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
41PACKAGECONFIG[dw] = "--with-dw,--without-dw,elfutils" 36PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
42 37PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
43EXTRA_OECONF = " \ 38PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
44 --disable-examples \ 39
40# TODO: put this in a gettext.bbclass patch
41def gettext_oemeson(d):
42 if d.getVar('USE_NLS') == 'no':
43 return '-Dnls=disabled'
44 # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
45 if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
46 return '-Dnls=disabled'
47 return '-Dnls=enabled'
48
49EXTRA_OEMESON += " \
50 -Dexamples=disabled \
51 -Ddbghelp=disabled \
52 ${@gettext_oemeson(d)} \
45" 53"
46 54
47CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no" 55GTKDOC_MESON_OPTION = "gtk_doc"
56GTKDOC_MESON_ENABLE_FLAG = "enabled"
57GTKDOC_MESON_DISABLE_FLAG = "disabled"
48 58
49# musl libc generates warnings if <sys/poll.h> is included directly 59GIR_MESON_ENABLE_FLAG = "enabled"
50CACHED_CONFIGUREVARS += "ac_cv_header_sys_poll_h=no" 60GIR_MESON_DISABLE_FLAG = "disabled"
51 61
52PACKAGES += "${PN}-bash-completion" 62PACKAGES += "${PN}-bash-completion"
53 63
64# Add the core element plugins to the main package
54FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" 65FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
55FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include" 66FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
56FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*" 67FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
57FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb" 68FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
58 69
59RDEPENDS_${PN}-ptest += "make"
60
61delete_pkg_m4_file() {
62 # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection
63 rm "${S}/common/m4/pkg.m4" || true
64 rm -f "${S}/common/m4/gtk-doc.m4"
65}
66
67do_configure[prefuncs] += "delete_pkg_m4_file"
68
69do_compile_prepend() {
70 export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs"
71}
72
73do_compile_ptest() {
74 oe_runmake build-checks
75}
76
77do_install_ptest() {
78 oe_runmake -C tests/check DESTDIR=${D}${PTEST_PATH} install-ptest
79 install -m 644 ${B}/tests/check/Makefile ${D}${PTEST_PATH}
80 install -m 755 ${S}/test-driver ${D}${PTEST_PATH}
81 sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
82 -e 's|${DEBUG_PREFIX_MAP}||g' \
83 -e 's:${HOSTTOOLS_DIR}/::g' \
84 -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
85 -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \-e 's/^Makefile:/_Makefile:/' \
86 -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \
87 -e 's/^builddir = \(.*\)/builddir = ./' -e 's/^top_builddir = \(.*\)/top_builddir = ./' \
88 -i ${D}${PTEST_PATH}/Makefile
89}
90
91CVE_PRODUCT = "gstreamer" 70CVE_PRODUCT = "gstreamer"
71
72require gstreamer1.0-ptest.inc