All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
@ 2020-01-12 13:59 Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 02/12] gstreamer1.0: Transition to meson based builds Carlos Rafael Giani
                   ` (13 more replies)
  0 siblings, 14 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

* gstreamer1.0-plugins-common.inc
  The old gstreamer1.0-plugins.inc file, adapted for meson
* gstreamer1.0-plugins-packaging.inc
  The old gst-plugins-package.inc file, adapted for meson
* gstreamer1.0-ptest.inc
  Common code for meson based PTest support; autogenerates the run-ptest
  file and is designed to use the gnome-desktop-testing suite runner
  (which is why the .inc files inherits from ptest-gnome)

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 .../gstreamer/gstreamer1.0-plugins-common.inc | 47 +++++++++++++
 .../gstreamer1.0-plugins-packaging.inc        | 70 +++++++++++++++++++
 .../gstreamer/gstreamer1.0-ptest.inc          | 21 ++++++
 3 files changed, 138 insertions(+)
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
new file mode 100644
index 0000000000..ccf55500a9
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
@@ -0,0 +1,47 @@
+# This .inc file contains the common setup for the gstreamer1.0-plugins-*
+# plugin set recipes.
+
+# SUMMARY is set in the actual .bb recipes
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
+SECTION = "multimedia"
+
+DEPENDS = "gstreamer1.0 glib-2.0-native"
+
+inherit gettext meson pkgconfig upstream-version-is-even
+
+require gstreamer1.0-plugins-packaging.inc
+
+# Orc enables runtime JIT compilation of data processing routines from Orc
+# bytecode to SIMD instructions for various architectures (currently SSE, MMX,
+# MIPS, Altivec and NEON are supported).
+# This value is used in the PACKAGECONFIG values for each plugin set recipe.
+# By modifying it, Orc can be enabled/disabled in all of these recipes at once.
+GSTREAMER_ORC ?= "orc"
+
+PACKAGECONFIG[orc] = "-Dorc=enabled,-Dorc=disabled,orc orc-native"
+
+# TODO: put this in a gettext.bbclass patch (with variables to allow for
+# configuring the option name and the enabled/disabled values).
+def gettext_oemeson(d):
+    if d.getVar('USE_NLS') == 'no':
+        return '-Dnls=disabled'
+    # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
+    if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
+        return '-Dnls=disabled'
+    return '-Dnls=enabled'
+
+# Not all plugin sets contain examples, so the -Dexamples
+# option needs to be added conditionally.
+GST_PLUGIN_SET_HAS_EXAMPLES ?= "1"
+
+EXTRA_OEMESON += " \
+    ${@bb.utils.contains('GST_PLUGIN_SET_HAS_EXAMPLES', '1', '-Dexamples=disabled', '', d)} \
+    ${@gettext_oemeson(d)} \
+"
+
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
+
+# Dynamically generate packages for all enabled plugins
+PACKAGES_DYNAMIC = "^${PN}-.*"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
new file mode 100644
index 0000000000..9a7a1b6afe
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
@@ -0,0 +1,70 @@
+# This .inc file contains functionality for automatically splitting
+# built plugins into individual packages for each plugin. A -meta
+# package is also set up that has no files of its own, but contains
+# the names of all plugin packages in its RDEPENDS list.
+#
+# This is mainly used by the gstreamer1.0-plugins-* plugin set recipes,
+# but can be used in any recipe that produces GStreamer plugins.
+
+PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages "
+PACKAGESPLITFUNCS_append = " set_gstreamer10_metapkg_rdepends "
+
+python split_gstreamer10_packages () {
+    gst_libdir = d.expand('${libdir}/gstreamer-1.0')
+    postinst = d.getVar('plugin_postinst')
+    glibdir = d.getVar('libdir')
+
+    # GStreamer libraries
+    do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'GStreamer 1.0 %s library', extra_depends='', allow_links=True)
+    # GStreamer plugin shared objects
+    do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer 1.0 plugin for %s', postinst=postinst, extra_depends='')
+    # GObject introspection files for GStreamer plugins
+    do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer 1.0 typelib file for %s', postinst=postinst, extra_depends='')
+    # Static GStreamer libraries for development
+    do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer 1.0 plugin for %s (static development files)', extra_depends='${PN}-staticdev')
+}
+
+python set_gstreamer10_metapkg_rdepends () {
+    import os
+    import oe.utils
+
+    # Go through all generated packages (excluding the main package and
+    # the -meta package itself) and add them to the -meta package as RDEPENDS.
+
+    pn = d.getVar('PN')
+    metapkg =  pn + '-meta'
+    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+    d.setVar('FILES_' + metapkg, "")
+    blacklist = [ pn, pn + '-meta' ]
+    metapkg_rdepends = []
+    pkgdest = d.getVar('PKGDEST')
+    for pkg in oe.utils.packages_filter_out_system(d):
+        if pkg not in blacklist and pkg not in metapkg_rdepends:
+            # See if the package is empty by looking at the contents of its PKGDEST subdirectory.
+            # If this subdirectory is empty, then the package is.
+            # Empty packages do not get added to the meta package's RDEPENDS
+            pkgdir = os.path.join(pkgdest, pkg)
+            if os.path.exists(pkgdir):
+                dir_contents = os.listdir(pkgdir) or []
+            else:
+                dir_contents = []
+            is_empty = len(dir_contents) == 0
+            if not is_empty:
+                metapkg_rdepends.append(pkg)
+    d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+    d.setVar('DESCRIPTION_' + metapkg, pn + ' meta package')
+}
+
+# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
+# so we need them even when empty (like in gst-plugins-good case)
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-dev = "1"
+ALLOW_EMPTY_${PN}-staticdev = "1"
+
+PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
+
+FILES_${PN} = ""
+FILES_${PN}-apps = "${bindir}"
+FILES_${PN}-glib = "${datadir}/glib-2.0"
+
+RRECOMMENDS_${PN} += "${PN}-meta"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
new file mode 100644
index 0000000000..74368c4cd8
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
@@ -0,0 +1,21 @@
+inherit ptest-gnome
+
+TEST_FILES_PATH = "${datadir}/installed-tests/gstreamer-1.0/test-files"
+RUN_PTEST_FILE = "${D}${PTEST_PATH}/run-ptest"
+
+EXTRA_OEMESON += "-Dtest-files-path=${TEST_FILES_PATH}"
+
+# Using do_install_ptest_base instead of do_install_ptest, since
+# the default do_install_ptest_base is hardcoded to expect Makefiles.
+do_install_ptest_base() {
+    # Generate run-ptest file
+    echo "#!/usr/bin/env sh" > "${RUN_PTEST_FILE}"
+    echo "gnome-desktop-testing-runner ${GST_TEST_SUITE_NAME}" >> "${RUN_PTEST_FILE}"
+    chmod 0755 "${RUN_PTEST_FILE}"
+
+    # Install additional files required by tests
+    if [ -d "${S}/tests/files" ] ; then
+        install -d "${D}/${TEST_FILES_PATH}"
+        install -m 0644 "${S}/tests/files"/* "${D}/${TEST_FILES_PATH}"
+    fi
+}
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 02/12] gstreamer1.0: Transition to meson based builds
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-15  2:49   ` Peter Kjellerstedt
  2020-01-12 13:59 ` [PATCH 03/12] gstreamer1.0-plugins-base: " Carlos Rafael Giani
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

* Moved 0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
  from files/ to gstreamer1.0/ since it is gstreamer1.0 recipe specific.

* Removed M4 specific patches:
  - 0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
  - gtk-doc-tweaks.patch
  - add-a-target-to-compile-tests.patch

* Added patches:
  - 0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
    Backport for enabling GIR support in meson based cross compilation
  - 0002-meson-Add-valgrind-feature.patch
    Make valgrind support configurable to be able to control it through
    a "valgrind" packageconfig
  - 0003-meson-Add-option-for-installed-tests.patch
    Add support for installable tests and for generating .test and shell
    scripts which can be used with the gnome-desktop-testing suite runner

* PTest support:
  By default, GStreamer does not allow for installing tests, and requires
  meson to run its unit tests. The 0003 patch fixes this by installing
  the binaries themselves and by generating accompanying .test and shell
  scripts. The scripts set up the required environment files and then
  call the test binaries. The .test file list the shell scripts as
  Exec= command line.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 ...der.c-when-env-var-is-set-do-not-fal.patch |   0
 ...even-when-cross-compiling-if-introsp.patch |  36 +++
 .../0003-meson-Add-valgrind-feature.patch     |  74 +++++
 ...meson-Add-option-for-installed-tests.patch | 257 ++++++++++++++++++
 .../gstreamer/gstreamer1.0_1.16.1.bb          |  93 +++----
 5 files changed, 404 insertions(+), 56 deletions(-)
 rename meta/recipes-multimedia/gstreamer/{files => gstreamer1.0}/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch (100%)
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch

diff --git a/meta/recipes-multimedia/gstreamer/files/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
similarity index 100%
rename from meta/recipes-multimedia/gstreamer/files/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
rename to meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch
new file mode 100644
index 0000000000..1ed7198a5c
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch
@@ -0,0 +1,36 @@
+From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
+Date: Thu, 17 Oct 2019 12:13:35 +0100
+Subject: [PATCH] meson: build gir even when cross-compiling if introspection
+ was enabled explicitly
+
+This can be made to work in certain circumstances when
+cross-compiling, so default to not building g-i stuff
+when cross-compiling, but allow it if introspection was
+enabled explicitly via -Dintrospection=enabled.
+
+Fixes #454 and #381.
+
+Upstream-Status: Backport [35db4a2433fbdf8612cf98b5aab5b14aeb5372f8]
+
+Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 90d98d8eb..a47e7f34e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -466,7 +466,7 @@ rt_lib = cc.find_library('rt', required : false)
+ gir = find_program('g-ir-scanner', required : get_option('introspection'))
+ gnome = import('gnome')
+ 
+-build_gir = gir.found() and not meson.is_cross_build()
++build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
+ 
+ gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
+     'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \
+-- 
+2.17.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch
new file mode 100644
index 0000000000..f553340f4d
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch
@@ -0,0 +1,74 @@
+From f6c7973c03d9ba7dab60c496e768c5e6c4ee824c Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <crg7475@mailbox.org>
+Date: Sun, 20 Oct 2019 10:36:44 +0200
+Subject: [PATCH] meson: Add valgrind feature
+
+This allows for enabling/disabling Valgrind support. Since Valgrind is
+an external dependency, such a feature is needed by build environemnts
+such as Yocto to make sure builds are deterministic. These changes also
+add more Valgrind specific configure log output.
+
+Upstream-Status: Pending
+
+Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
+---
+ meson.build       | 23 ++++++++++++++++++++++-
+ meson_options.txt |  1 +
+ 2 files changed, 23 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index b55ecc5..4751761 100644
+--- a/meson.build
++++ b/meson.build
+@@ -199,7 +199,6 @@ check_headers = [
+   'sys/wait.h',
+   'ucontext.h',
+   'unistd.h',
+-  'valgrind/valgrind.h',
+   'sys/resource.h',
+ ]
+ 
+@@ -214,6 +213,28 @@ foreach h : check_headers
+   endif
+ endforeach
+ 
++valgrind_option = get_option('valgrind')
++if valgrind_option.disabled()
++  message('Valgrind support not requested; disabled.')
++else
++  valgrind_header = 'valgrind/valgrind.h'
++  has_valgrind_header = cc.has_header(valgrind_header)
++  if has_valgrind_header
++    message('Valgrind support requested, and header ' + valgrind_header + \
++        ' found. Enabled Valgrind support.')
++    define = 'HAVE_' + valgrind_header.underscorify().to_upper()
++    cdata.set(define, 1)
++  else
++    if valgrind_option.enabled()
++      error('Valgrind support requested and set as required, but header ' + \
++        valgrind_header + ' not found.')
++    else
++      message('Valgrind support requested, but header ' + valgrind_header + \
++        ' not found. Disabling Valgrind support.')
++    endif
++  endif
++endif
++
+ if cc.has_member('struct tm', 'tm_gmtoff', prefix : '#include <time.h>')
+   cdata.set('HAVE_TM_GMTOFF', 1)
+ endif
+diff --git a/meson_options.txt b/meson_options.txt
+index e7ff7ba..8afde39 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -19,6 +19,7 @@ option('memory-alignment', type: 'combo',
+ 
+ # Feature options
+ option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
++option('valgrind', type : 'feature', value : 'auto', description : 'Enable Valgrind support')
+ option('libunwind', type : 'feature', value : 'auto', description : 'Use libunwind to generate backtraces')
+ option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind')
+ option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces')
+-- 
+2.17.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch
new file mode 100644
index 0000000000..0e6c44ea32
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch
@@ -0,0 +1,257 @@
+From b843400284751968862751dfe93853f151551c64 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <crg7475@mailbox.org>
+Date: Fri, 25 Oct 2019 00:06:26 +0200
+Subject: [PATCH] meson: Add option for installed tests
+
+This adds an option for producing installed versions of the unit tests.
+These versions don't need meson to run (only a small shell script). This
+makes it easier to run cross compiled tests on a target machine.
+
+Upstream-Status: Pending
+
+Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
+---
+ build-aux/gen-installed-test-desc.py     | 18 ++++++
+ build-aux/gen-installed-test-shscript.py | 25 ++++++++
+ meson_options.txt                        |  2 +
+ tests/check/meson.build                  | 46 +++++++++++++-
+ tests/files/testfile                     | 80 ++++++++++++++++++++++++
+ 5 files changed, 170 insertions(+), 1 deletion(-)
+ create mode 100644 build-aux/gen-installed-test-desc.py
+ create mode 100644 build-aux/gen-installed-test-shscript.py
+ create mode 100644 tests/files/testfile
+
+diff --git a/build-aux/gen-installed-test-desc.py b/build-aux/gen-installed-test-desc.py
+new file mode 100644
+index 0000000..69e8a0f
+--- /dev/null
++++ b/build-aux/gen-installed-test-desc.py
+@@ -0,0 +1,18 @@
++import sys
++import os
++import argparse
++
++def write_template(filename, data):
++    with open(filename, 'w') as f:
++        f.write(data)
++
++def build_template(testdir, testname):
++    return "[Test]\nType=session\nExec={}\n".format(os.path.join(testdir, testname))
++
++argparser = argparse.ArgumentParser(description='Generate installed-test data.')
++argparser.add_argument('--test-execdir', metavar='dir', required=True, help='Installed test directory')
++argparser.add_argument('--testname', metavar='name', required=True, help='Installed test name')
++argparser.add_argument('--output', metavar='file', required=True, help='Output file')
++args = argparser.parse_args()
++
++write_template(args.output, build_template(args.test_execdir, args.testname))
+diff --git a/build-aux/gen-installed-test-shscript.py b/build-aux/gen-installed-test-shscript.py
+new file mode 100644
+index 0000000..5da86fb
+--- /dev/null
++++ b/build-aux/gen-installed-test-shscript.py
+@@ -0,0 +1,25 @@
++import sys
++import os
++import argparse
++
++def write_template(filename, data):
++    with open(filename, 'w') as f:
++        f.write(data)
++
++def build_template(testdir, testname):
++    return ''.join([
++        "#!/usr/bin/env sh\n",
++        "export GST_STATE_IGNORE_ELEMENTS=''\n",
++        "export CK_DEFAULT_TIMEOUT=20\n",
++        "export GST_PLUGIN_LOADING_WHITELIST='gstreamer'\n",
++        "{}\n".format(os.path.join(testdir, testname)),
++    ])
++
++argparser = argparse.ArgumentParser(description='Generate installed-test data.')
++argparser.add_argument('--test-execdir', metavar='dir', required=True, help='Installed test directory')
++argparser.add_argument('--testname', metavar='name', required=True, help='Installed test name')
++argparser.add_argument('--output', metavar='file', required=True, help='Output file')
++args = argparser.parse_args()
++
++write_template(args.output, build_template(args.test_execdir, args.testname))
++os.chmod(args.output, 0o755)
+diff --git a/meson_options.txt b/meson_options.txt
+index 8afde39..8884dcc 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -16,6 +16,8 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
+ option('memory-alignment', type: 'combo',
+        choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
+        value: 'malloc')
++option('installed-tests', type : 'boolean', value : false, description : 'enable installed tests')
++option('test-files-path', type : 'string', description : 'Path where to find test files')
+ 
+ # Feature options
+ option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
+diff --git a/tests/check/meson.build b/tests/check/meson.build
+index 04da83f..2db7f76 100644
+--- a/tests/check/meson.build
++++ b/tests/check/meson.build
+@@ -118,11 +118,17 @@ if add_languages('cpp', required : false)
+   ]
+ endif
+ 
++test_files_path = get_option('test-files-path')
++if test_files_path == ''
++  test_files_path = meson.current_source_dir() + '/../files'
++endif
++message('Using path "@0@" as the path to read test files from'.format(test_files_path))
++
+ test_defines = [
+   '-UG_DISABLE_ASSERT',
+   '-UG_DISABLE_CAST_CHECKS',
+   '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
+-  '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"',
++  '-DTESTFILE="@0@"'.format(test_files_path + '/testfile'),
+   '-DGST_USE_UNSTABLE_API',
+   '-DGST_DISABLE_DEPRECATED',
+ ]
+@@ -137,6 +143,14 @@ endif
+ glib_deps = [gio_dep, gobject_dep, gmodule_dep, glib_dep]
+ gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep]
+ 
++installed_tests_datadir = join_paths(prefix, get_option('datadir'), 'installed-tests', 'gstreamer-1.0')
++installed_tests_execdir = join_paths(prefix, libexecdir, 'installed-tests', 'gstreamer-1.0')
++installed_tests_enabled = get_option('installed-tests')
++
++python = import('python').find_installation()
++gen_installed_test_desc = files('../../build-aux/gen-installed-test-desc.py')
++gen_installed_test_shscript = files('../../build-aux/gen-installed-test-shscript.py')
++
+ foreach t : core_tests
+   fname = t[0]
+   test_name = fname.split('.')[0].underscorify()
+@@ -150,8 +164,38 @@ foreach t : core_tests
+         include_directories : [configinc],
+         link_with : link_with_libs,
+         dependencies : test_deps + glib_deps + gst_deps,
++        install_dir: installed_tests_execdir,
++        install: installed_tests_enabled
+     )
+ 
++    if installed_tests_enabled
++      installed_test_shscript = test_name + '.sh'
++      shscript = custom_target (test_name + '_shscript',
++                                output: installed_test_shscript,
++                                command: [
++                                  python,
++                                  gen_installed_test_shscript,
++                                  '--test-execdir=@0@'.format(installed_tests_execdir),
++                                  '--testname=@0@'.format(test_name),
++                                  '--output=@0@'.format(join_paths('@OUTDIR@', installed_test_shscript)),
++                                ],
++                                install: true,
++                                install_dir: installed_tests_execdir)
++
++      installed_test_desc = test_name + '.test'
++      data = custom_target(test_name + '_desc',
++                           output: installed_test_desc,
++                           command: [
++                             python,
++                             gen_installed_test_desc,
++                             '--test-execdir=@0@'.format(installed_tests_execdir),
++                             '--testname=@0@'.format(installed_test_shscript),
++                             '--output=@0@'.format(join_paths('@OUTDIR@', installed_test_desc)),
++                           ],
++                           install: true,
++                           install_dir: installed_tests_datadir)
++    endif
++
+     env = environment()
+     env.set('GST_PLUGIN_PATH_1_0', meson.build_root())
+     env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
+diff --git a/tests/files/testfile b/tests/files/testfile
+new file mode 100644
+index 0000000..89954e0
+--- /dev/null
++++ b/tests/files/testfile
+@@ -0,0 +1,80 @@
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
++................................................................................
+-- 
+2.17.1
+
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+"
 
 DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native"
 
-inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc ptest
-
-# This way common/m4/introspection.m4 will come first
-# (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file)
-acpaths = "-I ${S}/common/m4 -I ${S}/m4"
+inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
                     file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
@@ -21,71 +17,56 @@ S = "${WORKDIR}/gstreamer-${PV}"
 
 SRC_URI = " \
     https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
-    file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
-    file://gtk-doc-tweaks.patch \
     file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
-    file://add-a-target-to-compile-tests.patch \
-    file://run-ptest \
+    file://0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
+    file://0003-meson-Add-valgrind-feature.patch \
+    file://0004-meson-Add-option-for-installed-tests.patch \
 "
 SRC_URI[md5sum] = "c505fb818b36988daaa846e9e63eabe8"
 SRC_URI[sha256sum] = "02211c3447c4daa55919c5c0f43a82a6fbb51740d57fc3af0639d46f1cf4377d"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
-                   "
-
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
-PACKAGECONFIG[tests] = "--enable-tests,--disable-tests"
-PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
-PACKAGECONFIG[gst-tracer-hooks] = "--enable-gst-tracer-hooks,--disable-gst-tracer-hooks,"
-PACKAGECONFIG[unwind] = "--with-unwind,--without-unwind,libunwind"
-PACKAGECONFIG[dw] = "--with-dw,--without-dw,elfutils"
-
-EXTRA_OECONF = " \
-    --disable-examples \
+                   tools"
+
+PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
+PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
+PACKAGECONFIG[tests] = "-Dcheck=enabled -Dtests=enabled -Dinstalled-tests=true,-Dcheck=disabled -Dtests=disabled -Dinstalled-tests=false"
+PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind,"
+PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
+PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
+PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
+PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
+
+# TODO: put this in a gettext.bbclass patch
+def gettext_oemeson(d):
+    if d.getVar('USE_NLS') == 'no':
+        return '-Dnls=disabled'
+    # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
+    if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
+        return '-Dnls=disabled'
+    return '-Dnls=enabled'
+
+EXTRA_OEMESON += " \
+    -Dexamples=disabled \
+    -Ddbghelp=disabled \
+    ${@gettext_oemeson(d)} \
 "
 
-CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no"
+GTKDOC_MESON_OPTION = "gtk_doc"
+GTKDOC_MESON_ENABLE_FLAG = "enabled"
+GTKDOC_MESON_DISABLE_FLAG = "disabled"
 
-# musl libc generates warnings if <sys/poll.h> is included directly
-CACHED_CONFIGUREVARS += "ac_cv_header_sys_poll_h=no"
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
 
 PACKAGES += "${PN}-bash-completion"
 
+# Add the core element plugins to the main package
 FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
+FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
 FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
 FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
 
-RDEPENDS_${PN}-ptest += "make"
-
-delete_pkg_m4_file() {
-        # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection
-        rm "${S}/common/m4/pkg.m4" || true
-        rm -f "${S}/common/m4/gtk-doc.m4"
-}
-
-do_configure[prefuncs] += "delete_pkg_m4_file"
-
-do_compile_prepend() {
-        export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs"
-}
-
-do_compile_ptest() {
-        oe_runmake build-checks
-}
-
-do_install_ptest() {
-        oe_runmake -C tests/check DESTDIR=${D}${PTEST_PATH} install-ptest
-        install -m 644 ${B}/tests/check/Makefile ${D}${PTEST_PATH}
-        install -m 755 ${S}/test-driver ${D}${PTEST_PATH}
-        sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-            -e 's|${DEBUG_PREFIX_MAP}||g' \
-            -e 's:${HOSTTOOLS_DIR}/::g' \
-            -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-            -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \-e 's/^Makefile:/_Makefile:/' \
-            -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \
-            -e 's/^builddir = \(.*\)/builddir = ./' -e 's/^top_builddir = \(.*\)/top_builddir = ./' \
-            -i ${D}${PTEST_PATH}/Makefile
-}
-
 CVE_PRODUCT = "gstreamer"
+
+require gstreamer1.0-ptest.inc
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 03/12] gstreamer1.0-plugins-base: Transition to meson based builds
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 02/12] gstreamer1.0: Transition to meson based builds Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 04/12] gstreamer1.0-plugins-good: " Carlos Rafael Giani
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

* OpenGL packageconfigs now work differently. There are separate ones for
  OpenGL API/platform/window system selection. The meson.build script
  expects the selected ones as comma separated lists. For example, like
  "-Dgl_api=opengl,gles2". The variables OPENGL_APIS / OPENGL_PLATFORMS /
  OPENGL_WINSYS are whitespace-separated lists (which is the OE norm) of
  the respective packageconfigs. .bbappend files can then extend these
  lists with additional possible configs.
  "Possible" means that the target can support those packageconfigs. This
  does not immediately add them to the PACKAGECONFIG variable - this still
  has to be done manually. The get_opengl_cmdline_list() goes through these
  lists, and for each entry, checks if it is contained in the PACKAGECONFIG
  variable. If so, they get added to the comma separated lists that are
  passed to meson.
  For example, a Raspberry Pi layer could add "dispmanx" to OPENGL_WINSYS.

* The "ivorbis" packageconfig got renamed to "tremor", since that is the
  name of the OE recipe, and now also the name of the meson option.

* 0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch and
  0002-meson-Add-variables-for-gir-files.patch are backported fixes for
  GIR support in the meson.build files.

* make-gio_unix_2_0-dependency-configurable.patch removed because it is
  no longer useful to have.

* link-with-libvchostif.patch removed because the flags it changed are
  no longer present in the meson.build scripts. If the related issue
  reappears, a similar patch can be applied again.

* 0003-riff-add-missing-include-directories-when-calling-in.patch removed
  since the entire gst riff library has been excluded from GObject
  introspection due to naming convention issues.

* Removed a number of autotool/M4 related patches and recipe lines.

* gtk-doc support is handled here, not in gstreamer1.0-plugins-common.inc,
  since unlike with autotools, only some plugin set packages use gtk-doc.

* zlib is no longer optional, and glib anyway depends on zlib, therefore
  it gets added to the DEPENDS list.

* gettext handling now part of gstreamer1.0-plugins-common.inc.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 ....in-don-t-append-GL_CFLAGS-to-CFLAGS.patch |  29 --
 ...even-when-cross-compiling-if-introsp.patch |  36 +++
 ...ix-calls-to-pkg-config-with-PKG_CONF.patch | 295 ------------------
 ...02-meson-Add-variables-for-gir-files.patch | 235 ++++++++++++++
 ...-include-directories-when-calling-in.patch |  26 --
 ...ect-reference-to-gstreamer-sdp-in-Ma.patch |  25 --
 .../link-with-libvchostif.patch               |  45 ---
 ...gio_unix_2_0-dependency-configurable.patch |  45 ---
 .../gstreamer1.0-plugins-base_1.16.1.bb       |  95 +++---
 9 files changed, 329 insertions(+), 502 deletions(-)
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch
deleted file mode 100644
index 251dc172cb..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 61a672e79c8cb1aeeeda4c968997c577ac73a8f3 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 12 May 2017 16:47:12 +0300
-Subject: [PATCH] gstreamer-gl.pc.in: don't append GL_CFLAGS to CFLAGS
-
-Dependencies' include directories should not be added in this way;
-it causes problems when cross-compiling in sysroot environments.
-
-Upstream-Status: Pending
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- pkgconfig/gstreamer-gl.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pkgconfig/gstreamer-gl.pc.in b/pkgconfig/gstreamer-gl.pc.in
-index dc672a9..8c290ba 100644
---- a/pkgconfig/gstreamer-gl.pc.in
-+++ b/pkgconfig/gstreamer-gl.pc.in
-@@ -13,4 +13,4 @@ Version: @VERSION@
- Requires: gstreamer-video-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@
- 
- Libs: -L${libdir} -lgstgl-@GST_API_VERSION@
--Cflags: -I${includedir} -I${libdir}/gstreamer-@GST_API_VERSION@/include @GL_CFLAGS@
-+Cflags: -I${includedir} -I${libdir}/gstreamer-@GST_API_VERSION@/include
--- 
-2.7.4
-
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
new file mode 100644
index 0000000000..49ab471414
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
@@ -0,0 +1,36 @@
+From 30672ba7d134553e59935ddc875104adba26f25c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
+Date: Thu, 17 Oct 2019 20:06:24 +0100
+Subject: [PATCH] meson: build gir even when cross-compiling if introspection
+ was enabled explicitly
+
+This can be made to work in certain circumstances when
+cross-compiling, so default to not building g-i stuff
+when cross-compiling, but allow it if introspection was
+enabled explicitly via -Dintrospection=enabled.
+
+See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
+
+Upstream-Status: Backport [30672ba7d134553e59935ddc875104adba26f25c]
+
+Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 264d84c9e..c8147c224 100644
+--- a/meson.build
++++ b/meson.build
+@@ -372,7 +372,7 @@ endif
+ 
+ gir = find_program('g-ir-scanner', required : get_option('introspection'))
+ gnome = import('gnome')
+-build_gir = gir.found() and not meson.is_cross_build()
++build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
+ gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
+     'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \
+     'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
+-- 
+2.17.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
deleted file mode 100644
index 08cbfb7c2a..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
+++ /dev/null
@@ -1,295 +0,0 @@
-From 9601fc0cd6751a1affdc8717217b95931db31d7f Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 5 Apr 2018 10:26:25 +0800
-Subject: [PATCH] Makefile.am: prefix calls to pkg-config with
- PKG_CONFIG_SYSROOT_DIR
-
-Upstream-Status: Pending [review on oe-core maillist]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
----
- gst-libs/gst/allocators/Makefile.am |  4 ++--
- gst-libs/gst/app/Makefile.am        |  4 ++--
- gst-libs/gst/audio/Makefile.am      | 12 ++++++------
- gst-libs/gst/gl/Makefile.am         |  8 ++++----
- gst-libs/gst/pbutils/Makefile.am    | 12 ++++++------
- gst-libs/gst/riff/Makefile.am       |  8 ++++----
- gst-libs/gst/rtp/Makefile.am        |  8 ++++----
- gst-libs/gst/rtsp/Makefile.am       |  4 ++--
- gst-libs/gst/sdp/Makefile.am        |  4 ++--
- gst-libs/gst/tag/Makefile.am        |  8 ++++----
- gst-libs/gst/video/Makefile.am      |  8 ++++----
- 11 files changed, 40 insertions(+), 40 deletions(-)
-
-diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am
-index 1ecc950..d6417ac 100644
---- a/gst-libs/gst/allocators/Makefile.am
-+++ b/gst-libs/gst/allocators/Makefile.am
-@@ -39,7 +39,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@
- 		--c-include "gst/allocators/allocators.h" \
- 		-I$(top_srcdir)/gst-libs \
- 		-I$(top_builddir)/gst-libs \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- 		--library=libgstallocators-@GST_API_VERSION@.la \
- 		--include=Gst-@GST_API_VERSION@ \
- 		--libtool="${LIBTOOL}" \
-@@ -63,7 +63,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- 		$(INTROSPECTION_COMPILER) \
- 		--includedir=$(srcdir) \
- 		--includedir=$(builddir) \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- 		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
- 
- CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am
-index 5bfd606..6441674 100644
---- a/gst-libs/gst/app/Makefile.am
-+++ b/gst-libs/gst/app/Makefile.am
-@@ -51,8 +51,8 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO
- 		--c-include "gst/app/app.h" \
- 		-I$(top_srcdir)/gst-libs \
- 		-I$(top_builddir)/gst-libs \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		--library=libgstapp-@GST_API_VERSION@.la \
- 		--include=Gst-@GST_API_VERSION@ \
- 		--include=GstBase-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
-index 7fb65f2..5379f79 100644
---- a/gst-libs/gst/audio/Makefile.am
-+++ b/gst-libs/gst/audio/Makefile.am
-@@ -176,12 +176,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE
- 		-I$(top_srcdir)/gst-libs \
- 		-I$(top_builddir)/gst-libs \
- 		--c-include "gst/audio/audio.h" \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		--add-include-path="$(top_builddir)/gst-libs/gst/tag/" \
- 		--library=libgstaudio-@GST_API_VERSION@.la \
--		--library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
--		--library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
-+		--library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
-+		--library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
- 		--library-path="$(top_builddir)/gst-libs/gst/tag/" \
- 		--include=Gst-@GST_API_VERSION@ \
- 		--include=GstBase-@GST_API_VERSION@ \
-@@ -210,8 +210,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- 		--includedir=$(srcdir) \
- 		--includedir=$(builddir) \
- 		--includedir="$(top_builddir)/gst-libs/gst/tag/" \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- 		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
- 
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
-index 3276d7f..0cdfe26 100644
---- a/gst-libs/gst/gl/Makefile.am
-+++ b/gst-libs/gst/gl/Makefile.am
-@@ -209,9 +209,9 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@
- 		$(GST_PLUGINS_BASE_CFLAGS) \
- 		$(GL_CFLAGS) \
- 		--add-include-path="$(top_builddir)/gst-libs/gst/video/" \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		--library-path="$(top_builddir)/gst-libs/gst/video/" \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		--library=libgstgl-@GST_API_VERSION@.la \
- 		--include=Gst-@GST_API_VERSION@ \
- 		--include=GstBase-@GST_API_VERSION@ \
-@@ -241,8 +241,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- 		--includedir=$(srcdir) \
- 		--includedir=$(builddir) \
- 		--includedir="$(top_builddir)/gst-libs/gst/video/" \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
- 
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
-index 35a6e44..49d6894 100644
---- a/gst-libs/gst/pbutils/Makefile.am
-+++ b/gst-libs/gst/pbutils/Makefile.am
-@@ -88,14 +88,14 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP
- 		--c-include "gst/pbutils/pbutils.h" \
- 		-I$(top_srcdir)/gst-libs \
- 		-I$(top_builddir)/gst-libs \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		--add-include-path="$(top_builddir)/gst-libs/gst/tag/" \
- 		--add-include-path="$(top_builddir)/gst-libs/gst/video/" \
- 		--add-include-path="$(top_builddir)/gst-libs/gst/audio/" \
- 		--library=libgstpbutils-@GST_API_VERSION@.la \
--		--library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
--		--library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
-+		--library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
-+		--library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
- 		--library-path="$(top_builddir)/gst-libs/gst/tag/" \
- 		--library-path="$(top_builddir)/gst-libs/gst/video/" \
- 		--library-path="$(top_builddir)/gst-libs/gst/audio/" \
-@@ -128,8 +128,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- 		$(INTROSPECTION_COMPILER) \
- 		--includedir=$(srcdir) \
- 		--includedir=$(builddir) \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		--includedir="$(top_builddir)/gst-libs/gst/tag/" \
- 		--includedir="$(top_builddir)/gst-libs/gst/video/" \
- 		--includedir="$(top_builddir)/gst-libs/gst/audio/" \
-diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
-index e66ef4f..c8c588a 100644
---- a/gst-libs/gst/riff/Makefile.am
-+++ b/gst-libs/gst/riff/Makefile.am
-@@ -43,8 +43,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
- #		--c-include "gst/riff/riff.h" \
- #		--add-include-path=$(builddir)/../tag \
- #		--add-include-path=$(builddir)/../audio \
--#		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--#		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+#		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+#		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- #		--library=libgstriff-@GST_API_VERSION@.la \
- #		--include=GstAudio-@GST_API_VERSION@ \
- #		--include=GstTag-@GST_API_VERSION@ \
-@@ -75,8 +75,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
- #		--includedir=$(builddir) \
- #		--includedir=$(builddir)/../tag \
- #		--includedir=$(builddir)/../audio \
--#		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--#		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+#		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+#		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- #		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
- #
- #CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
-index 77ebeeb..9aee788 100644
---- a/gst-libs/gst/rtp/Makefile.am
-+++ b/gst-libs/gst/rtp/Makefile.am
-@@ -66,8 +66,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO
- 		--c-include "gst/rtp/rtp.h" \
- 		-I$(top_builddir)/gst-libs \
- 		-I$(top_srcdir)/gst-libs \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		--library=libgstrtp-@GST_API_VERSION@.la \
- 		--include=Gst-@GST_API_VERSION@ \
- 		--include=GstBase-@GST_API_VERSION@ \
-@@ -94,8 +94,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- 		$(INTROSPECTION_COMPILER) \
- 		--includedir=$(srcdir) \
- 		--includedir=$(builddir) \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
- 
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
-index db9d0fd..79027cb 100644
---- a/gst-libs/gst/rtsp/Makefile.am
-+++ b/gst-libs/gst/rtsp/Makefile.am
-@@ -71,8 +71,8 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
- 		-I$(top_builddir)/gst-libs \
- 		-I$(top_srcdir)/gst-libs \
- 		--add-include-path=$(builddir)/../sdp \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		--library=libgstrtsp-@GST_API_VERSION@.la \
- 		--include=Gio-2.0 \
- 		--include=Gst-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
-index 6e05cc7..c7cf514 100644
---- a/gst-libs/gst/sdp/Makefile.am
-+++ b/gst-libs/gst/sdp/Makefile.am
-@@ -31,7 +31,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO
- 		--warn-all \
- 		--c-include "gst/sdp/sdp.h" \
- 		-I$(top_srcdir)/gst-libs \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- 		--library=libgstsdp-@GST_API_VERSION@.la \
- 		--include=Gst-@GST_API_VERSION@ \
- 		--libtool="${LIBTOOL}" \
-@@ -55,7 +55,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- 		$(INTROSPECTION_COMPILER) \
- 		--includedir=$(srcdir) \
- 		--includedir=$(builddir) \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- 		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
- 
- CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am
-index c86515b..363e6d2 100644
---- a/gst-libs/gst/tag/Makefile.am
-+++ b/gst-libs/gst/tag/Makefile.am
-@@ -61,8 +61,8 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO
- 		--c-include "gst/tag/tag.h" \
- 		-I$(top_srcdir)/gst-libs \
- 		-I$(top_builddir)/gst-libs \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		--library=libgsttag-@GST_API_VERSION@.la \
- 		--include=Gst-@GST_API_VERSION@ \
- 		--include=GstBase-@GST_API_VERSION@ \
-@@ -89,8 +89,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- 		$(INTROSPECTION_COMPILER) \
- 		--includedir=$(srcdir) \
- 		--includedir=$(builddir) \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
- 
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
-diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
-index 0f8455f..8c9955c 100644
---- a/gst-libs/gst/video/Makefile.am
-+++ b/gst-libs/gst/video/Makefile.am
-@@ -124,8 +124,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE
- 		--c-include "gst/video/video.h" \
- 		-I$(top_srcdir)/gst-libs \
- 		-I$(top_builddir)/gst-libs \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		--library=libgstvideo-@GST_API_VERSION@.la \
- 		--include=Gst-@GST_API_VERSION@ \
- 		--include=GstBase-@GST_API_VERSION@ \
-@@ -152,8 +152,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- 		$(INTROSPECTION_COMPILER) \
- 		--includedir=$(srcdir) \
- 		--includedir=$(builddir) \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+		--includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
- 		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
- 
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch
new file mode 100644
index 0000000000..ca85744c19
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch
@@ -0,0 +1,235 @@
+From 685731e989dc074a4b0d48b6c8062e2738f09719 Mon Sep 17 00:00:00 2001
+From: Thibault Saunier <tsaunier@igalia.com>
+Date: Mon, 22 Oct 2018 11:44:37 +0200
+Subject: [PATCH] meson: Add variables for gir files
+
+And flatten list of sources for dependencies
+
+Upstream-Status: Backport [685731e989dc074a4b0d48b6c8062e2738f09719]
+
+Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
+---
+ gst-libs/gst/allocators/meson.build | 5 +++--
+ gst-libs/gst/app/meson.build        | 6 ++++--
+ gst-libs/gst/audio/meson.build      | 5 +++--
+ gst-libs/gst/pbutils/meson.build    | 5 +++--
+ gst-libs/gst/rtp/meson.build        | 6 ++++--
+ gst-libs/gst/rtsp/meson.build       | 5 +++--
+ gst-libs/gst/sdp/meson.build        | 6 ++++--
+ gst-libs/gst/tag/meson.build        | 5 +++--
+ gst-libs/gst/video/meson.build      | 5 +++--
+ 9 files changed, 30 insertions(+), 18 deletions(-)
+
+diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build
+index 364baeebf..56f156dc3 100644
+--- a/gst-libs/gst/allocators/meson.build
++++ b/gst-libs/gst/allocators/meson.build
+@@ -22,7 +22,7 @@ gstallocators = library('gstallocators-@0@'.format(api_version),
+ allocators_gen_sources  = []
+ if build_gir
+   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/allocators/allocators.h' ]
+-  allocators_gen_sources += [gnome.generate_gir(gstallocators,
++  allocators_gir = gnome.generate_gir(gstallocators,
+     sources : gst_allocators_sources + gst_allocators_headers,
+     namespace : 'GstAllocators',
+     nsversion : api_version,
+@@ -33,7 +33,8 @@ if build_gir
+     install : true,
+     extra_args : gst_gir_extra_args,
+     dependencies : [gst_dep]
+-  )]
++  )
++  allocators_gen_sources += allocators_gir
+ endif
+ 
+ allocators_dep = declare_dependency(link_with: gstallocators,
+diff --git a/gst-libs/gst/app/meson.build b/gst-libs/gst/app/meson.build
+index 81dd0f42c..7a90f5e10 100644
+--- a/gst-libs/gst/app/meson.build
++++ b/gst-libs/gst/app/meson.build
+@@ -32,7 +32,7 @@ gstapp = library('gstapp-@0@'.format(api_version),
+ 
+ if build_gir
+   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/app/app.h' ]
+-  app_gen_sources += [gnome.generate_gir(gstapp,
++  app_gir = gnome.generate_gir(gstapp,
+     sources : app_sources + app_headers + [gstapp_c] + [gstapp_h],
+     namespace : 'GstApp',
+     nsversion : api_version,
+@@ -43,7 +43,9 @@ if build_gir
+     install : true,
+     extra_args : gst_gir_extra_args,
+     dependencies : [gst_dep, gst_base_dep]
+-  )]
++  )
++
++  app_gen_sources += app_gir
+ endif
+ 
+ app_dep = declare_dependency(link_with: gstapp,
+diff --git a/gst-libs/gst/audio/meson.build b/gst-libs/gst/audio/meson.build
+index 0e4efab2e..2a449d4bf 100644
+--- a/gst-libs/gst/audio/meson.build
++++ b/gst-libs/gst/audio/meson.build
+@@ -153,7 +153,7 @@ gstaudio = library('gstaudio-@0@'.format(api_version),
+ 
+ if build_gir
+   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/audio/audio.h' ]
+-  audio_gen_sources += [gnome.generate_gir(gstaudio,
++  audio_gir = gnome.generate_gir(gstaudio,
+     sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h],
+     namespace : 'GstAudio',
+     nsversion : api_version,
+@@ -164,7 +164,8 @@ if build_gir
+     install : true,
+     extra_args : gst_gir_extra_args,
+     dependencies : gstaudio_deps
+-  )]
++  )
++  audio_gen_sources += [audio_gir]
+ endif
+ 
+ audio_dep = declare_dependency(link_with : gstaudio,
+diff --git a/gst-libs/gst/pbutils/meson.build b/gst-libs/gst/pbutils/meson.build
+index 2faf62622..0e96722fd 100644
+--- a/gst-libs/gst/pbutils/meson.build
++++ b/gst-libs/gst/pbutils/meson.build
+@@ -63,7 +63,7 @@ pbutils = library('gstpbutils-@0@'.format(api_version),
+ pbutils_gen_sources = [gstpbutils_h, gst_pbutils_version_h]
+ if build_gir
+   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/pbutils/pbutils.h' ]
+-  pbutils_gen_sources += [gnome.generate_gir(pbutils,
++  pbutils_gir = gnome.generate_gir(pbutils,
+     sources : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h],
+     namespace : 'GstPbutils',
+     nsversion : api_version,
+@@ -74,7 +74,8 @@ if build_gir
+     install : true,
+     extra_args : gst_gir_extra_args,
+     dependencies : gstpbutils_deps
+-  )]
++  )
++  pbutils_gen_sources += [pbutils_gir]
+ endif
+ 
+ pbutils_dep = declare_dependency(link_with : pbutils,
+diff --git a/gst-libs/gst/rtp/meson.build b/gst-libs/gst/rtp/meson.build
+index f47ec6592..7ea6658d5 100644
+--- a/gst-libs/gst/rtp/meson.build
++++ b/gst-libs/gst/rtp/meson.build
+@@ -49,7 +49,7 @@ gst_rtp = library('gstrtp-@0@'.format(api_version),
+ rtp_gen_sources = [gstrtp_enum_h]
+ if build_gir
+   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtp/rtp.h' ]
+-  rtp_gen_sources += [gnome.generate_gir(gst_rtp,
++  rtp_gir = gnome.generate_gir(gst_rtp,
+     sources : rtp_sources + rtp_headers + [gstrtp_enum_c] + [gstrtp_enum_h],
+     namespace : 'GstRtp',
+     nsversion : api_version,
+@@ -60,7 +60,9 @@ if build_gir
+     install : true,
+     extra_args : gst_gir_extra_args,
+     dependencies : gstrtp_deps
+-  )]
++  )
++
++  rtp_gen_sources += [rtp_gir]
+ endif
+ 
+ 
+diff --git a/gst-libs/gst/rtsp/meson.build b/gst-libs/gst/rtsp/meson.build
+index 27e309d5a..3632adceb 100644
+--- a/gst-libs/gst/rtsp/meson.build
++++ b/gst-libs/gst/rtsp/meson.build
+@@ -54,7 +54,7 @@ gst_rtsp = library('gstrtsp-@0@'.format(api_version),
+ rtsp_gen_sources = [gstrtsp_h]
+ if build_gir
+   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtsp/rtsp.h' ]
+-  rtsp_gen_sources += [gnome.generate_gir(gst_rtsp,
++  rtsp_gir = gnome.generate_gir(gst_rtsp,
+     sources : rtsp_sources + rtsp_headers + [gstrtsp_c] + [gstrtsp_h],
+     namespace : 'GstRtsp',
+     nsversion : api_version,
+@@ -65,7 +65,8 @@ if build_gir
+     install : true,
+     extra_args : gst_gir_extra_args,
+     dependencies : gstrtsp_deps + [sdp_dep]
+-  )]
++  )
++  rtsp_gen_sources += [rtsp_gir]
+ endif
+ 
+ rtsp_dep = declare_dependency(link_with : gst_rtsp,
+diff --git a/gst-libs/gst/sdp/meson.build b/gst-libs/gst/sdp/meson.build
+index 62c18b732..24cdb5293 100644
+--- a/gst-libs/gst/sdp/meson.build
++++ b/gst-libs/gst/sdp/meson.build
+@@ -23,7 +23,7 @@ gstsdp = library('gstsdp-@0@'.format(api_version),
+ sdp_gen_sources  = []
+ if build_gir
+   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/sdp/sdp.h' ]
+-  sdp_gen_sources += [gnome.generate_gir(gstsdp,
++  sdp_gir = gnome.generate_gir(gstsdp,
+     sources : gst_sdp_sources + gst_sdp_headers,
+     namespace : 'GstSdp',
+     nsversion : api_version,
+@@ -34,7 +34,9 @@ if build_gir
+     install : true,
+     extra_args : gst_gir_extra_args,
+     dependencies : rtsp_deps
+-  )]
++  )
++
++  sdp_gen_sources += [sdp_gir]
+ endif
+ 
+ sdp_dep = declare_dependency(link_with: gstsdp,
+diff --git a/gst-libs/gst/tag/meson.build b/gst-libs/gst/tag/meson.build
+index 27e66fd63..5ec37392a 100644
+--- a/gst-libs/gst/tag/meson.build
++++ b/gst-libs/gst/tag/meson.build
+@@ -93,7 +93,7 @@ gsttag = library('gsttag-@0@'.format(api_version),
+ 
+ if build_gir
+   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/tag/tag.h' ]
+-  tag_gen_sources += [gnome.generate_gir(gsttag,
++  tag_gir = gnome.generate_gir(gsttag,
+     sources : tag_sources + tag_headers + [gsttag_h] + [gsttag_c],
+     namespace : 'GstTag',
+     nsversion : api_version,
+@@ -104,7 +104,8 @@ if build_gir
+     install : true,
+     extra_args : gst_gir_extra_args,
+     dependencies : tag_deps
+-  )]
++  )
++  tag_gen_sources += [tag_gir]
+ endif
+ 
+ tag_dep = declare_dependency(link_with: gsttag,
+diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build
+index 5b35e1943..bf77aa157 100644
+--- a/gst-libs/gst/video/meson.build
++++ b/gst-libs/gst/video/meson.build
+@@ -138,7 +138,7 @@ gstvideo = library('gstvideo-@0@'.format(api_version),
+ 
+ if build_gir
+   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
+-  video_gen_sources += [gnome.generate_gir(gstvideo,
++  video_gir = gnome.generate_gir(gstvideo,
+     sources : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
+     namespace : 'GstVideo',
+     nsversion : api_version,
+@@ -149,7 +149,8 @@ if build_gir
+     install : true,
+     extra_args : gst_gir_extra_args,
+     dependencies : gstvideo_deps
+-  )]
++  )
++  video_gen_sources += [video_gir]
+ endif
+ 
+ video_dep = declare_dependency(link_with : gstvideo,
+-- 
+2.17.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch
deleted file mode 100644
index 98ffdb1c10..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b9765efb1696e3e2e79f2955f759be199fe34882 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 26 Oct 2015 17:29:37 +0200
-Subject: [PATCH] riff: add missing include directories when calling
- introspection scanner
-
-Upstream-Status: Pending [review on oe-core maillist]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- gst-libs/gst/riff/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
-index c8c588a..c096453 100644
---- a/gst-libs/gst/riff/Makefile.am
-+++ b/gst-libs/gst/riff/Makefile.am
-@@ -41,6 +41,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
- #		--strip-prefix=Gst \
- #		--warn-all \
- #		--c-include "gst/riff/riff.h" \
-+#               -I$(top_srcdir)/gst-libs \
-+#               -I$(top_builddir)/gst-libs \
- #		--add-include-path=$(builddir)/../tag \
- #		--add-include-path=$(builddir)/../audio \
- #		--add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
deleted file mode 100644
index 97a0d68cfb..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 53b5868491cf99ee797192395dbfeb69df23edd2 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 26 Oct 2015 17:30:14 +0200
-Subject: [PATCH] rtsp: drop incorrect reference to gstreamer-sdp in
- Makefile.am
-
-Upstream-Status: Pending [review on oe-core maillist]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- gst-libs/gst/rtsp/Makefile.am | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
-index 79027cb..2987e23 100644
---- a/gst-libs/gst/rtsp/Makefile.am
-+++ b/gst-libs/gst/rtsp/Makefile.am
-@@ -82,7 +82,6 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
- 		--pkg gio-2.0 \
- 		--pkg gstreamer-@GST_API_VERSION@ \
- 		--pkg gstreamer-base-@GST_API_VERSION@ \
--		--pkg gstreamer-sdp-@GST_API_VERSION@ \
- 		--pkg-export gstreamer-rtsp-@GST_API_VERSION@ \
- 		--add-init-section="$(INTROSPECTION_INIT)" \
- 		--output $@ \
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch
deleted file mode 100644
index 34f7c2284f..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 9866f51e5e0913f1e453eb574618bf7432f38cb6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 11 Apr 2018 10:46:33 +0800
-Subject: [PATCH] Add -lvchostif to link when using -lEGL on rpi
-
-This is required because libEGL from userland uses sybols
-from this library.
-
-lib/libEGL.so.1.0.0                                                                                                                                                                                                                              121: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_element_add
-  1552: 00000000     0 FUNC    GLOBAL DEFAULT  UND vc_dispmanx_element_add
-
-These symbols are provided by libvchostif as seen below
-
-lib/libvchostif.so
-   252: 0000b161   192 FUNC    GLOBAL DEFAULT    9 vc_dispmanx_element_add
-   809: 0000b161   192 FUNC    GLOBAL DEFAULT    9 vc_dispmanx_element_add
-
-With this explicit link, plugins fail during runtime
-
-(gst-plugin-scanner:571): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstomx.so': Error relocating /usr/lib/libgstgl-1.0.so.0: vc_dispmanx_element_add: symbol not found
-(gst-plugin-scanner:571): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstopengl.so': Error relocating /usr/lib/libgstgl-1.0.so.0: vc_dispmanx_element_add: symbol not found
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- m4/gst-gl.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4
-index 1e97240..ab7774c 100644
---- a/m4/gst-gl.m4
-+++ b/m4/gst-gl.m4
-@@ -275,7 +275,7 @@ case $host in
-                             HAVE_EGL=yes
-                             HAVE_GLES2=yes
-                             HAVE_EGL_RPI=yes
--                            EGL_LIBS="-lbcm_host -lvcos -lvchiq_arm"
-+                            EGL_LIBS="-lbcm_host -lvchostif -lvcos -lvchiq_arm"
-                             EGL_CFLAGS=""
-                             AC_DEFINE(USE_EGL_RPI, [1], [Use RPi platform])
-                           ])
--- 
-2.7.4
-
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch
deleted file mode 100644
index 23950b67f2..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 7ffa6e3d00e1d8a060f3f4c2bb9a72691af05d79 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Wed, 20 Jan 2016 13:00:00 -0800
-Subject: [PATCH] make gio_unix_2_0 dependency configurable
-
-Prior to 1.7.1, gst-plugins-base accepted a configure option to
-disable gio_unix_2_0, however it was implemented incorrectly using
-AG_GST_CHECK_FEATURE. That was fixed in 1.7.1 by making the
-dependency unconditional.
-
-  http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=aadefefba88afe4acbe64454650f24e7ce7c8d70
-
-To make builds deterministic, re-instate support for
---disable-gio_unix_2_0, but implement it using the AC_ARG_ENABLE
-instead of AG_GST_CHECK_FEATURE.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
-
----
- configure.ac | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 12807bc..35a0bf3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -806,9 +806,16 @@ AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
- AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
- 
- dnl *** gio-unix-2.0 for tests/check/pipelines/tcp.c ***
-+AC_ARG_ENABLE([gio_unix_2_0],
-+  [AS_HELP_STRING([--disable-gio_unix_2_0],[disable use of gio_unix_2_0])],
-+  [],
-+  [enable_gio_unix_2_0=yes])
-+
-+if test "x${enable_gio_unix_2_0}" != "xno"; then
- PKG_CHECK_MODULES(GIO_UNIX_2_0, gio-unix-2.0 >= 2.24,
-     HAVE_GIO_UNIX_2_0="yes",
-     HAVE_GIO_UNIX_2_0="no")
-+fi
- AM_CONDITIONAL(USE_GIO_UNIX_2_0, test "x$HAVE_GIO_UNIX_2_0" = "xyes")
- 
- dnl *** finalize CFLAGS, LDFLAGS, LIBS
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.1.bb
index cb99fba5ff..7ce9238c4a 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.1.bb
@@ -1,4 +1,4 @@
-require gstreamer1.0-plugins.inc
+require gstreamer1.0-plugins-common.inc
 
 LICENSE = "GPLv2+ & LGPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
@@ -7,67 +7,88 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
 SRC_URI = " \
             https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
             file://get-caps-from-src-pad-when-query-caps.patch \
+            file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
+            file://0002-meson-Add-variables-for-gir-files.patch \
             file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \
-            file://make-gio_unix_2_0-dependency-configurable.patch \
-            file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
-            file://0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch \
-            file://0003-riff-add-missing-include-directories-when-calling-in.patch \
-            file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \
             file://0005-viv-fb-Make-sure-config.h-is-included.patch \
             file://0009-glimagesink-Downrank-to-marginal.patch \
-            file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch \
-            file://link-with-libvchostif.patch \
             "
 SRC_URI[md5sum] = "b5eb0651bab70bf1714f103bdd66ce47"
 SRC_URI[sha256sum] = "5c3cc489933d0597087c9bc6ba251c93693d64554bcc563539a084fa2d5fcb2b"
 
 S = "${WORKDIR}/gst-plugins-base-${PV}"
 
-DEPENDS += "iso-codes util-linux"
+DEPENDS += "iso-codes util-linux zlib"
 
-inherit gettext gobject-introspection
+inherit gobject-introspection gtk-doc
 
 PACKAGES_DYNAMIC =+ "^libgst.*"
 
 # opengl packageconfig factored out to make it easy for distros
-# and BSP layers to pick either (desktop) opengl, gles2, or no GL
+# and BSP layers to choose OpenGL APIs/platforms/window systems
 PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
 
 PACKAGECONFIG ??= " \
     ${GSTREAMER_ORC} \
     ${PACKAGECONFIG_GL} \
     ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
-    gio-unix-2.0 jpeg ogg pango png theora vorbis zlib \
+    jpeg ogg pango png theora vorbis \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
 "
 
+OPENGL_APIS = 'opengl gles2'
+OPENGL_PLATFORMS = 'egl'
+OPENGL_WINSYS = 'x11 wayland gbm'
+
 X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
-X11ENABLEOPTS = "--enable-x --enable-xvideo --enable-xshm"
-X11DISABLEOPTS = "--disable-x --disable-xvideo --disable-xshm"
-
-PACKAGECONFIG[alsa]         = "--enable-alsa,--disable-alsa,alsa-lib"
-PACKAGECONFIG[cdparanoia]   = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia"
-PACKAGECONFIG[egl]          = "--enable-egl,--disable-egl,virtual/egl"
-PACKAGECONFIG[gbm]          = "--enable-gbm,--disable-gbm,virtual/libgbm libgudev libdrm"
-PACKAGECONFIG[gio-unix-2.0] = "--enable-gio_unix_2_0,--disable-gio_unix_2_0,glib-2.0"
-PACKAGECONFIG[gles2]        = "--enable-gles2,--disable-gles2,virtual/libgles2"
-PACKAGECONFIG[ivorbis]      = "--enable-ivorbis,--disable-ivorbis,tremor"
-PACKAGECONFIG[jpeg]         = "--enable-jpeg,--disable-jpeg,jpeg"
-PACKAGECONFIG[ogg]          = "--enable-ogg,--disable-ogg,libogg"
-PACKAGECONFIG[opengl]       = "--enable-opengl,--disable-opengl,virtual/libgl libglu"
-PACKAGECONFIG[opus]         = "--enable-opus,--disable-opus,libopus"
-PACKAGECONFIG[pango]        = "--enable-pango,--disable-pango,pango"
-PACKAGECONFIG[png]          = "--enable-png,--disable-png,libpng"
-PACKAGECONFIG[theora]       = "--enable-theora,--disable-theora,libtheora"
-PACKAGECONFIG[visual]       = "--enable-libvisual,--disable-libvisual,libvisual"
-PACKAGECONFIG[vorbis]       = "--enable-vorbis,--disable-vorbis,libvorbis"
+X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
+X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled"
+
+PACKAGECONFIG[alsa]         = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
+PACKAGECONFIG[cdparanoia]   = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia"
+PACKAGECONFIG[jpeg]         = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg"
+PACKAGECONFIG[ogg]          = "-Dogg=enabled,-Dogg=disabled,libogg"
+PACKAGECONFIG[opus]         = "-Dopus=enabled,-Dopus=disabled,libopus"
+PACKAGECONFIG[pango]        = "-Dpango=enabled,-Dpango=disabled,pango"
+PACKAGECONFIG[png]          = "-Dgl-png=enabled,-Dgl-png=disabled,libpng"
+PACKAGECONFIG[theora]       = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
+PACKAGECONFIG[tremor]       = "-Dtremor=enabled,-Dtremor=disabled,tremor"
+PACKAGECONFIG[visual]       = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual"
+PACKAGECONFIG[vorbis]       = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis"
 PACKAGECONFIG[x11]          = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
-PACKAGECONFIG[wayland]      = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm"
-PACKAGECONFIG[zlib]         = "--enable-zlib,--disable-zlib,zlib"
 
-FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/include/gst/gl/gstglconfig.h"
+# OpenGL API packageconfigs
+PACKAGECONFIG[opengl]       = ",,virtual/libgl libglu"
+PACKAGECONFIG[gles2]        = ",,virtual/libgles2"
+
+# OpenGL platform packageconfigs
+PACKAGECONFIG[egl]          = ",,virtual/egl"
+
+# OpenGL window systems (except for X11)
+PACKAGECONFIG[gbm]          = ",,virtual/libgbm libgudev libdrm"
+PACKAGECONFIG[wayland]      = ",,wayland-native wayland wayland-protocols libdrm"
+
+EXTRA_OEMESON += " \
+    -Dgl-graphene=disabled \
+    ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
+    ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
+    ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
+"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+GTKDOC_MESON_ENABLE_FLAG = "enabled"
+GTKDOC_MESON_DISABLE_FLAG = "disabled"
+
+FILES_${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
 FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
 
-do_compile_prepend() {
-        export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/tag/.libs:${B}/gst-libs/gst/video/.libs:${B}/gst-libs/gst/audio/.libs:${B}/gst-libs/gst/rtp/.libs:${B}/gst-libs/gst/allocators/.libs"
-}
+def get_opengl_cmdline_list(switch_name, options, d):
+    selected_options = []
+    if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
+        for option in options.split():
+            if bb.utils.contains('PACKAGECONFIG', option, True, False, d):
+                selected_options += [option]
+    if selected_options:
+        return '-D' + switch_name + '=' + ','.join(selected_options)
+    else:
+        return ''
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 04/12] gstreamer1.0-plugins-good: Transition to meson based builds
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 02/12] gstreamer1.0: Transition to meson based builds Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 03/12] gstreamer1.0-plugins-base: " Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-13  0:52   ` Khem Raj
                     ` (2 more replies)
  2020-01-12 13:59 ` [PATCH 05/12] gstreamer1.0-plugins-bad: " Carlos Rafael Giani
                   ` (10 subsequent siblings)
  13 siblings, 3 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

* Removed autotools/M4 related patch
  0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch.

* gtk-doc support is handled here, not in gstreamer1.0-plugins-common.inc,
    since unlike with autotools, only some plugin set packages use gtk-doc.

* zlib is no longer optional, and glib anyway depends on zlib, therefore
    it gets added to the DEPENDS list.

* gettext handling now part of gstreamer1.0-plugins-common.inc.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 .../gstreamer1.0-plugins-good_1.16.1.bb       | 79 +++++++++----------
 1 file changed, 38 insertions(+), 41 deletions(-)

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
index 0fa7b86ffe..a6eb9986dd 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
@@ -1,8 +1,7 @@
-require gstreamer1.0-plugins.inc
+require gstreamer1.0-plugins-common.inc
 
 SRC_URI = " \
             https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
-            file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
             "
 
 SRC_URI[md5sum] = "515987ee763256840a11bd8ea098f2bf"
@@ -15,42 +14,41 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
                     file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
                     file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
 
-DEPENDS += "gstreamer1.0-plugins-base libcap"
+DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
 RPROVIDES_${PN}-pulseaudio += "${PN}-pulse"
 RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
 
-inherit gettext
-
 PACKAGECONFIG ??= " \
     ${GSTREAMER_ORC} \
     ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
-    bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 zlib \
+    bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
 "
 
 X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
+X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
+X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
 
-PACKAGECONFIG[bz2]        = "--enable-bz2,--disable-bz2,bzip2"
-PACKAGECONFIG[cairo]      = "--enable-cairo,--disable-cairo,cairo"
-PACKAGECONFIG[dv1394]     = "--enable-dv1394,--disable-dv1394,libiec61883 libavc1394 libraw1394"
-PACKAGECONFIG[flac]       = "--enable-flac,--disable-flac,flac"
-PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf"
-PACKAGECONFIG[gtk]        = "--enable-gtk3,--disable-gtk3,gtk+3"
-PACKAGECONFIG[gudev]      = "--with-gudev,--without-gudev,libgudev"
-PACKAGECONFIG[jack]       = "--enable-jack,--disable-jack,jack"
-PACKAGECONFIG[jpeg]       = "--enable-jpeg,--disable-jpeg,jpeg"
-PACKAGECONFIG[lame]       = "--enable-lame,--disable-lame,lame"
-PACKAGECONFIG[libpng]     = "--enable-libpng,--disable-libpng,libpng"
-PACKAGECONFIG[libv4l2]    = "--with-libv4l2,--without-libv4l2,v4l-utils"
-PACKAGECONFIG[mpg123]     = "--enable-mpg123,--disable-mpg123,mpg123"
-PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
-PACKAGECONFIG[soup]       = "--enable-soup,--disable-soup,libsoup-2.4"
-PACKAGECONFIG[speex]      = "--enable-speex,--disable-speex,speex"
-PACKAGECONFIG[taglib]     = "--enable-taglib,--disable-taglib,taglib"
-PACKAGECONFIG[v4l2]       = "--enable-gst_v4l2 --enable-v4l2-probe,--disable-gst_v4l2"
-PACKAGECONFIG[vpx]        = "--enable-vpx,--disable-vpx,libvpx"
-PACKAGECONFIG[wavpack]    = "--enable-wavpack,--disable-wavpack,wavpack"
-PACKAGECONFIG[x11]        = "--enable-x,--disable-x,${X11DEPENDS}"
-PACKAGECONFIG[zlib]       = "--enable-zlib,--disable-zlib,zlib"
+PACKAGECONFIG[bz2]        = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
+PACKAGECONFIG[cairo]      = "-Dcairo=enabled,-Dcairo=disabled,cairo"
+PACKAGECONFIG[dv1394]     = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
+PACKAGECONFIG[flac]       = "-Dflac=enabled,-Dflac=disabled,flac"
+PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
+PACKAGECONFIG[gtk]        = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
+PACKAGECONFIG[gudev]      = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
+PACKAGECONFIG[jack]       = "-Djack=enabled,-Djack=disabled,jack"
+PACKAGECONFIG[jpeg]       = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
+PACKAGECONFIG[lame]       = "-Dlame=enabled,-Dlame=disabled,lame"
+PACKAGECONFIG[libpng]     = "-Dpng=enabled,-Dpng=disabled,libpng"
+PACKAGECONFIG[libv4l2]    = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
+PACKAGECONFIG[mpg123]     = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
+PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
+PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
+PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
+PACKAGECONFIG[taglib]     = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
+PACKAGECONFIG[v4l2]       = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
+PACKAGECONFIG[vpx]        = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
+PACKAGECONFIG[wavpack]    = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
+PACKAGECONFIG[x11]        = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
 
 # qt5 support is disabled, because it is not present in OE core, and requires more work than
 # just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
@@ -58,19 +56,18 @@ PACKAGECONFIG[zlib]       = "--enable-zlib,--disable-zlib,zlib"
 # in a gstreamer1.0-plugins-good bbappend).
 
 EXTRA_OECONF += " \
-    --enable-oss \
-    --disable-aalib \
-    --disable-aalibtest \
-    --disable-directsound \
-    --disable-libcaca \
-    --disable-libdv \
-    --disable-oss4 \
-    --disable-osx_audio \
-    --disable-osx_video \
-    --disable-qt \
-    --disable-shout2 \
-    --disable-twolame \
-    --disable-waveform \
+    -Daalib=disabled \
+    -Ddirectsound=disabled \
+    -Ddv=disabled \
+    -Dlibcaca=disabled \
+    -Doss=enabled \
+    -Doss4=disabled \
+    -Dosxaudio=disabled \
+    -Dosxvideo=disabled \
+    -Dqt=disabled \
+    -Dshout2=disabled \
+    -Dtwolame=disabled \
+    -Dwaveform=disabled \
 "
 
 FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 05/12] gstreamer1.0-plugins-bad: Transition to meson based builds
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (2 preceding siblings ...)
  2020-01-12 13:59 ` [PATCH 04/12] gstreamer1.0-plugins-good: " Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 06/12] gstreamer1.0-plugins-ugly: " Carlos Rafael Giani
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

* Removed autotools/M4 related patch
  0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch.

* configure-allow-to-disable-libssh2.patch got replaced by the
  -Dcurl-ssh2 option.

* 0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch is a
  fix for GIR support in the meson.build file.

* New "closedcaption" packageconfigs added.

* Removed "flite" packageconfig since flite-alsa was removed from
  meta-openembedded due it being old and abandoned.

* gettext handling now part of gstreamer1.0-plugins-common.inc.
---
 ...even-when-cross-compiling-if-introsp.patch |  36 +++
 .../configure-allow-to-disable-libssh2.patch  |  61 -----
 .../gstreamer1.0-plugins-bad_1.16.1.bb        | 209 +++++++++---------
 3 files changed, 141 insertions(+), 165 deletions(-)
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
new file mode 100644
index 0000000000..1321852023
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
@@ -0,0 +1,36 @@
+From 97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
+Date: Fri, 18 Oct 2019 00:39:12 +0100
+Subject: [PATCH 1/2] meson: build gir even when cross-compiling if
+ introspection was enabled explicitly
+
+This can be made to work in certain circumstances when
+cross-compiling, so default to not building g-i stuff
+when cross-compiling, but allow it if introspection was
+enabled explicitly via -Dintrospection=enabled.
+
+See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
+
+Upstream-Status: Backport [97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19]
+
+Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 67aeeb4d0..7b3314bd9 100644
+--- a/meson.build
++++ b/meson.build
+@@ -411,7 +411,7 @@ python3 = import('python').find_installation()
+ 
+ gir = find_program('g-ir-scanner', required : get_option('introspection'))
+ gnome = import('gnome')
+-build_gir = gir.found() and not meson.is_cross_build()
++build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
+ gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
+     'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
+     'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
+-- 
+2.17.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch
deleted file mode 100644
index 25861b6b9d..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From f59c5269f92d59a5296cbfeeb682d42095cd88ad Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Thu, 18 Sep 2014 02:24:07 -0400
-Subject: [PATCH] gstreamer1.0-plugins-bad: allow to disable libssh2
-
-libssh2 is automatically linked to if present, this undetermined
-dependency may cause build errors like:
-
-  .../x86_64-poky-linux/4.9.0/ld: cannot find -lssh2
-
-libssh2 isn't an oe-core recipe, so allow to disable it from
-configure.
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- configure.ac |   23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-Index: gst-plugins-bad-1.12.3/configure.ac
-===================================================================
---- gst-plugins-bad-1.12.3.orig/configure.ac
-+++ gst-plugins-bad-1.12.3/configure.ac
-@@ -1202,6 +1202,15 @@ AG_GST_CHECK_FEATURE(CHROMAPRINT, [chrom
- ])
- 
- dnl *** Curl ***
-+AC_ARG_ENABLE([libssh2],
-+     [  --enable-libssh2		enable LIBSSH2 support @<:@default=auto@:>@],
-+     [case "${enableval}" in
-+       yes)  NEED_SSH2=yes ;;
-+       no)   NEED_SSH2=no ;;
-+       auto) NEED_SSH2=auto ;;
-+       *) AC_MSG_ERROR([bad value ${enableval} for --enable-libssh2]) ;;
-+     esac],[NEED_SSH2=auto])
-+
- translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
- AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
-   PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
-@@ -1224,12 +1233,14 @@ AG_GST_CHECK_FEATURE(CURL, [Curl plugin]
-   ])
-   AC_SUBST(CURL_CFLAGS)
-   AC_SUBST(CURL_LIBS)
--  PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
--    HAVE_SSH2="yes"
--    AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
--  ], [
--    HAVE_SSH2="no"
--  ])
-+  if test "x$NEED_SSH2" != "xno"; then
-+    PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
-+      HAVE_SSH2="yes"
-+      AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
-+    ], [
-+      HAVE_SSH2="no"
-+    ])
-+  fi
-   AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
-   AC_SUBST(SSH2_CFLAGS)
-   AC_SUBST(SSH2_LIBS)
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.1.bb
index ed3efab29f..56ae7a179e 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.1.bb
@@ -1,12 +1,11 @@
-require gstreamer1.0-plugins.inc
+require gstreamer1.0-plugins-common.inc
 
 SRC_URI = " \
     https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
-    file://configure-allow-to-disable-libssh2.patch \
+    file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
     file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \
     file://avoid-including-sys-poll.h-directly.patch \
     file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \
-    file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
 "
 SRC_URI[md5sum] = "24d4d30ecc67d5cbc77c0475bcea1210"
 SRC_URI[sha256sum] = "56481c95339b8985af13bac19b18bc8da7118c2a7d9440ed70e7dcd799c2adb5"
@@ -19,7 +18,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
 
 DEPENDS += "gstreamer1.0-plugins-base"
 
-inherit gettext gobject-introspection
+inherit gobject-introspection
 
 PACKAGECONFIG ??= " \
     ${GSTREAMER_ORC} \
@@ -27,112 +26,114 @@ PACKAGECONFIG ??= " \
     ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
-    bz2 curl dash dtls hls rsvg sbc smoothstreaming sndfile ttml uvch264 webp \
+    bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \
+    ttml uvch264 webp \
 "
 
+PACKAGECONFIG[assrender]       = "-Dassrender=enabled,-Dassrender=disabled,libass"
+PACKAGECONFIG[bluez]           = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
+PACKAGECONFIG[bz2]             = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
+PACKAGECONFIG[closedcaption]   = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
+PACKAGECONFIG[curl]            = "-Dcurl=enabled,-Dcurl=disabled,curl"
+PACKAGECONFIG[dash]            = "-Ddash=enabled,-Ddash=disabled,libxml2"
+PACKAGECONFIG[dc1394]          = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394"
+PACKAGECONFIG[directfb]        = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
+PACKAGECONFIG[dtls]            = "-Ddtls=enabled,-Ddtls=disabled,openssl"
+PACKAGECONFIG[faac]            = "-Dfaac=enabled,-Dfaac=disabled,faac"
+PACKAGECONFIG[faad]            = "-Dfaad=enabled,-Dfaad=disabled,faad2"
+PACKAGECONFIG[fluidsynth]      = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
+PACKAGECONFIG[hls]             = "-Dhls=enabled -Dhls-crypto=nettle,-Dhls=disabled,nettle"
 # the gl packageconfig enables OpenGL elements that haven't been ported
 # to -base yet. They depend on the gstgl library in -base, so we do
 # not add GL dependencies here, since these are taken care of in -base.
-
-PACKAGECONFIG[assrender]       = "--enable-assrender,--disable-assrender,libass"
-PACKAGECONFIG[bluez]           = "--enable-bluez,--disable-bluez,bluez5"
-PACKAGECONFIG[bz2]             = "--enable-bz2,--disable-bz2,bzip2"
-PACKAGECONFIG[curl]            = "--enable-curl,--disable-curl,curl"
-PACKAGECONFIG[dash]            = "--enable-dash,--disable-dash,libxml2"
-PACKAGECONFIG[dc1394]          = "--enable-dc1394,--disable-dc1394,libdc1394"
-PACKAGECONFIG[directfb]        = "--enable-directfb,--disable-directfb,directfb"
-PACKAGECONFIG[dtls]            = "--enable-dtls,--disable-dtls,openssl"
-PACKAGECONFIG[faac]            = "--enable-faac,--disable-faac,faac"
-PACKAGECONFIG[faad]            = "--enable-faad,--disable-faad,faad2"
-PACKAGECONFIG[flite]           = "--enable-flite,--disable-flite,flite-alsa"
-PACKAGECONFIG[fluidsynth]      = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
-PACKAGECONFIG[hls]             = "--enable-hls --with-hls-crypto=nettle,--disable-hls,nettle"
-PACKAGECONFIG[gl]              = "--enable-gl,--disable-gl,"
-PACKAGECONFIG[kms]             = "--enable-kms,--disable-kms,libdrm"
-PACKAGECONFIG[libde265]        = "--enable-libde265,--disable-libde265,libde265"
-PACKAGECONFIG[libmms]          = "--enable-libmms,--disable-libmms,libmms"
-PACKAGECONFIG[libssh2]         = "--enable-libssh2,--disable-libssh2,libssh2"
-PACKAGECONFIG[lcms2]           = "--enable-lcms2,--disable-lcms2,lcms"
-PACKAGECONFIG[modplug]         = "--enable-modplug,--disable-modplug,libmodplug"
-PACKAGECONFIG[msdk]            = "--enable-msdk,--disable-msdk,intel-mediasdk"
-PACKAGECONFIG[neon]            = "--enable-neon,--disable-neon,neon"
-PACKAGECONFIG[openal]          = "--enable-openal,--disable-openal,openal-soft"
-PACKAGECONFIG[opencv]          = "--enable-opencv,--disable-opencv,opencv"
-PACKAGECONFIG[openh264]        = "--enable-openh264,--disable-openh264,openh264"
-PACKAGECONFIG[openjpeg]        = "--enable-openjpeg,--disable-openjpeg,openjpeg"
-PACKAGECONFIG[openmpt]         = "--enable-openmpt,--disable-openmpt,libopenmpt"
+PACKAGECONFIG[gl]              = "-Dgl=enabled,-Dgl=disabled,"
+PACKAGECONFIG[kms]             = "-Dkms=enabled,-Dkms=disabled,libdrm"
+PACKAGECONFIG[libde265]        = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
+PACKAGECONFIG[libmms]          = "-Dlibmms=enabled,-Dlibmms=disabled,libmms"
+PACKAGECONFIG[libssh2]         = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
+PACKAGECONFIG[lcms2]           = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
+PACKAGECONFIG[modplug]         = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
+PACKAGECONFIG[msdk]            = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk"
+PACKAGECONFIG[neon]            = "-Dneon=enabled,-Dneon=disabled,neon"
+PACKAGECONFIG[openal]          = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
+PACKAGECONFIG[opencv]          = "-Dopencv=enabled,-Dopencv=disabled,opencv"
+PACKAGECONFIG[openh264]        = "-Dopenh264=enabled,-Dopenh264=disabled,openh264"
+PACKAGECONFIG[openjpeg]        = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg"
+PACKAGECONFIG[openmpt]         = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt"
 # the opus encoder/decoder elements are now in the -base package,
 # but the opus parser remains in -bad
-PACKAGECONFIG[opusparse]       = "--enable-opus,--disable-opus,libopus"
-PACKAGECONFIG[resindvd]        = "--enable-resindvd,--disable-resindvd,libdvdread libdvdnav"
-PACKAGECONFIG[rsvg]            = "--enable-rsvg,--disable-rsvg,librsvg"
-PACKAGECONFIG[rtmp]            = "--enable-rtmp,--disable-rtmp,rtmpdump"
-PACKAGECONFIG[sbc]             = "--enable-sbc,--disable-sbc,sbc"
-PACKAGECONFIG[sctp]            = "--enable-sctp,--disable-sctp,usrsctp"
-PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2"
-PACKAGECONFIG[sndfile]         = "--enable-sndfile,--disable-sndfile,libsndfile1"
-PACKAGECONFIG[srtp]            = "--enable-srtp,--disable-srtp,libsrtp"
-PACKAGECONFIG[tinyalsa]        = "--enable-tinyalsa,--disable-tinyalsa,tinyalsa"
-PACKAGECONFIG[ttml]            = "--enable-ttml,--disable-ttml,libxml2 pango cairo"
-PACKAGECONFIG[uvch264]         = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
-PACKAGECONFIG[voaacenc]        = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
-PACKAGECONFIG[voamrwbenc]      = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
-PACKAGECONFIG[vulkan]          = "--enable-vulkan,--disable-vulkan,vulkan-loader"
-PACKAGECONFIG[wayland]         = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm"
-PACKAGECONFIG[webp]            = "--enable-webp,--disable-webp,libwebp"
-PACKAGECONFIG[webrtc]          = "--enable-webrtc,--disable-webrtc,libnice"
-PACKAGECONFIG[webrtcdsp]       = "--enable-webrtcdsp,--disable-webrtcdsp,webrtc-audio-processing"
-PACKAGECONFIG[zbar]            = "--enable-zbar,--disable-zbar,zbar"
+PACKAGECONFIG[opusparse]       = "-Dopus=enabled,-Dopus=disabled,libopus"
+PACKAGECONFIG[resindvd]        = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
+PACKAGECONFIG[rsvg]            = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
+PACKAGECONFIG[rtmp]            = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
+PACKAGECONFIG[sbc]             = "-Dsbc=enabled,-Dsbc=disabled,sbc"
+PACKAGECONFIG[sctp]            = "-Dsctp=enabled,-Dsctp=disabled,usrsctp"
+PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
+PACKAGECONFIG[sndfile]         = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
+PACKAGECONFIG[srtp]            = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
+PACKAGECONFIG[tinyalsa]        = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
+PACKAGECONFIG[ttml]            = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
+PACKAGECONFIG[uvch264]         = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
+PACKAGECONFIG[voaacenc]        = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
+PACKAGECONFIG[voamrwbenc]      = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
+PACKAGECONFIG[vulkan]          = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader"
+PACKAGECONFIG[wayland]         = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
+PACKAGECONFIG[webp]            = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
+PACKAGECONFIG[webrtc]          = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
+PACKAGECONFIG[webrtcdsp]       = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
+PACKAGECONFIG[zbar]            = "-Dzbar=enabled,-Dzbar=disabled,zbar"
 
-# these plugins have no corresponding library in OE-core or meta-openembedded:
-#   openni2 winks direct3d directsound winscreencap apple_media iqa
-#   android_media avc bs2b chromaprint dts fdkaac gme gsm kate ladspa
-#   lv2 mpeg2enc mplex musepack nvenc ofa opensles soundtouch
-#   spandsp teletextdec vdpau wasapi wpe x265
+# these plugins currently have no corresponding library in OE-core or meta-openembedded:
+#   aom androidmedia applemedia bs2b chromaprint d3dvideosink
+#   directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc
+#   mplex musepack nvdec nvenc ofa openexr openni2 opensles
+#   soundtouch spandsp srt teletext vdpau wasapi wildmidi winks
+#   winscreencap wpe x265
 
-EXTRA_OECONF += " \
-    --enable-decklink \
-    --enable-dvb \
-    --enable-fbdev \
-    --enable-ipcpipeline \
-    --enable-netsim \
-    --enable-shm \
-    --disable-android_media \
-    --disable-aom \
-    --disable-apple_media \
-    --disable-avc \
-    --disable-bs2b \
-    --disable-chromaprint \
-    --disable-direct3d \
-    --disable-directsound \
-    --disable-dts \
-    --disable-fdk_aac \
-    --disable-gme \
-    --disable-gsm \
-    --disable-iqa \
-    --disable-kate \
-    --disable-ladspa \
-    --disable-lv2 \
-    --disable-mpeg2enc \
-    --disable-mplex \
-    --disable-musepack \
-    --disable-nvenc \
-    --disable-ofa \
-    --disable-openexr \
-    --disable-openni2 \
-    --disable-opensles \
-    --disable-soundtouch \
-    --disable-spandsp \
-    --disable-srt \
-    --disable-teletextdec \
-    --disable-vdpau \
-    --disable-wasapi \
-    --disable-wildmidi \
-    --disable-winks \
-    --disable-winscreencap \
-    --disable-wpe \
-    --disable-x265 \
-    ${@bb.utils.contains("TUNE_FEATURES", "mx32", "--disable-yadif", "", d)} \
+EXTRA_OEMESON += " \
+    -Ddecklink=enabled \
+    -Ddvb=enabled \
+    -Dfbdev=enabled \
+    -Dipcpipeline=enabled \
+    -Dnetsim=enabled \
+    -Dshm=enabled \
+    -Daom=disabled \
+    -Dandroidmedia=disabled \
+    -Dapplemedia=disabled \
+    -Dbs2b=disabled \
+    -Dchromaprint=disabled \
+    -Dd3dvideosink=disabled \
+    -Ddirectsound=disabled \
+    -Ddts=disabled \
+    -Dfdkaac=disabled \
+    -Dflite=disabled \
+    -Dgme=disabled \
+    -Dgsm=disabled \
+    -Diqa=disabled \
+    -Dkate=disabled \
+    -Dladspa=disabled \
+    -Dlv2=disabled \
+    -Dmpeg2enc=disabled \
+    -Dmplex=disabled \
+    -Dmusepack=disabled \
+    -Dnvdec=disabled \
+    -Dnvenc=disabled \
+    -Dofa=disabled \
+    -Dopenexr=disabled \
+    -Dopenni2=disabled \
+    -Dopensles=disabled \
+    -Dsoundtouch=disabled \
+    -Dspandsp=disabled \
+    -Dsrt=disabled \
+    -Dteletext=disabled \
+    -Dvdpau=disabled \
+    -Dwasapi=disabled \
+    -Dwildmidi=disabled \
+    -Dwinks=disabled \
+    -Dwinscreencap=disabled \
+    -Dwpe=disabled \
+    -Dx265=disabled \
+    ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-Dyadif=disabled", "", d)} \
 "
 
 export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
@@ -140,6 +141,6 @@ export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
 ARM_INSTRUCTION_SET_armv4 = "arm"
 ARM_INSTRUCTION_SET_armv5 = "arm"
 
-FILES_${PN}-freeverb += "${datadir}/gstreamer-${LIBV}/presets/GstFreeverb.prs"
-FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/${LIBV}/opencv*"
-FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs"
+FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
+FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
+FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 06/12] gstreamer1.0-plugins-ugly: Transition to meson based builds
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (3 preceding siblings ...)
  2020-01-12 13:59 ` [PATCH 05/12] gstreamer1.0-plugins-bad: " Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 07/12] gstreamer1.0-libav: " Carlos Rafael Giani
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

* Removed autotools/M4 related patch
  0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch.

* gettext handling now part of gstreamer1.0-plugins-common.inc.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 .../gstreamer1.0-plugins-ugly_1.16.1.bb       | 23 +++++++++----------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.1.bb
index ecab318899..30961d0e02 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.1.bb
@@ -1,4 +1,4 @@
-require gstreamer1.0-plugins.inc
+require gstreamer1.0-plugins-common.inc
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
                     file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
@@ -8,7 +8,6 @@ LICENSE_FLAGS = "commercial"
 
 SRC_URI = " \
             https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
-            file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
             "
 SRC_URI[md5sum] = "668795903cb4971fba9aa89abdea8369"
 SRC_URI[sha256sum] = "4bf913b2ca5195ac3b53b5e3ade2dc7c45d2258507552ddc850c5fa425968a1d"
@@ -17,23 +16,23 @@ S = "${WORKDIR}/gst-plugins-ugly-${PV}"
 
 DEPENDS += "gstreamer1.0-plugins-base"
 
-inherit gettext
+GST_PLUGIN_SET_HAS_EXAMPLES = "0"
 
 PACKAGECONFIG ??= " \
     ${GSTREAMER_ORC} \
     a52dec mpeg2dec \
 "
 
-PACKAGECONFIG[a52dec]   = "--enable-a52dec,--disable-a52dec,liba52"
-PACKAGECONFIG[amrnb]    = "--enable-amrnb,--disable-amrnb,opencore-amr"
-PACKAGECONFIG[amrwb]    = "--enable-amrwb,--disable-amrwb,opencore-amr"
-PACKAGECONFIG[cdio]     = "--enable-cdio,--disable-cdio,libcdio"
-PACKAGECONFIG[dvdread]  = "--enable-dvdread,--disable-dvdread,libdvdread"
-PACKAGECONFIG[mpeg2dec] = "--enable-mpeg2dec,--disable-mpeg2dec,mpeg2dec"
-PACKAGECONFIG[x264]     = "--enable-x264,--disable-x264,x264"
+PACKAGECONFIG[a52dec]   = "-Da52dec=enabled,-Da52dec=disabled,liba52"
+PACKAGECONFIG[amrnb]    = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr"
+PACKAGECONFIG[amrwb]    = "-Damrwbdec=enabled,-Damrwbdec=disabled,opencore-amr"
+PACKAGECONFIG[cdio]     = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
+PACKAGECONFIG[dvdread]  = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
+PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
+PACKAGECONFIG[x264]     = "-Dx264=enabled,-Dx264=disabled,x264"
 
-EXTRA_OECONF += " \
-    --disable-sidplay \
+EXTRA_OEMESON += " \
+    -Dsidplay=disabled \
 "
 
 FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 07/12] gstreamer1.0-libav: Transition to meson based builds
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (4 preceding siblings ...)
  2020-01-12 13:59 ` [PATCH 06/12] gstreamer1.0-plugins-ugly: " Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 08/12] gstreamer1.0-vaapi: " Carlos Rafael Giani
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 14156 bytes --]

meson based builds exclusively rely on external FFmpeg builds. The internal
copy was added at a time when stable FFmpeg releases did not exist. They
do nowadays, so the internal copy is not needed anymore. As a result, large
portions of the recipe are unnecessary, since they set up the internal
copy. Same goes for the patches and the zlib/bzip2/xz dependendencies.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 ...ble-yasm-for-libav-when-disable-yasm.patch | 33 ----------
 ...-configure-check-for-armv7ve-variant.patch | 35 -----------
 .../0001-fix-host-contamination.patch         | 36 -----------
 .../mips64_cpu_detection.patch                | 32 ----------
 ...to-build-gst-libav-for-i586-with-gcc.patch | 26 --------
 .../gstreamer/gstreamer1.0-libav_1.16.1.bb    | 63 +++++--------------
 6 files changed, 14 insertions(+), 211 deletions(-)
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch
deleted file mode 100644
index 11571aefa1..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 54bba228ea52d01fd84941d97be23c03f9862b64 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Sat, 6 Apr 2013 01:22:22 +0200
-Subject: [PATCH] Disable yasm for libav when --disable-yasm
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Shane Wang <shane.wang@intel.com>
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- configure.ac | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 22ede88..ef3c050 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -355,6 +355,12 @@ else
-     emblibav_configure_args="$emblibav_configure_args --enable-gpl"
-   fi
-
-+  AC_ARG_ENABLE(yasm,
-+              [AC_HELP_STRING([--disable-yasm], [disable use of yasm assembler])])
-+  if test "x$enable_yasm" = "xno"; then
-+    emblibav_configure_args="$emblibav_configure_args --disable-yasm"
-+  fi
-+
-   # if we are cross-compiling, tell libav so
-   case $host in
-       *android*)
--- 
-1.8.2
-
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch
deleted file mode 100644
index f182715bda..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From aac5902d3c9cb35c771e760d0e487622aa2e116a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 20 Apr 2017 10:38:18 -0700
-Subject: [PATCH] configure: check for armv7ve variant
-
-OE passes -mcpu and -march via cmdline and if
-package tries to detect one of it own then it
-should be compatible otherwise, newer gcc7+ will
-error out
-
-Check for relevant preprocessor macro to determine
-armv7ve architecture
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gst-libs/ext/libav/configure | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gst-libs/ext/libav/configure b/gst-libs/ext/libav/configure
-index 4a5e477..727818e 100755
---- a/gst-libs/ext/libav/configure
-+++ b/gst-libs/ext/libav/configure
-@@ -4745,6 +4745,7 @@ elif enabled arm; then
-         elif check_arm_arch 6KZ;      then echo armv6zk
-         elif check_arm_arch 6ZK;      then echo armv6zk
-         elif check_arm_arch 6T2;      then echo armv6t2
-+        elif check_arm_arch EXT_IDIV; then echo armv7ve
-         elif check_arm_arch 7;        then echo armv7
-         elif check_arm_arch 7A  7_A;  then echo armv7-a
-         elif check_arm_arch 7S;       then echo armv7-a
--- 
-2.12.2
-
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch
deleted file mode 100644
index 120c0798ea..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c1700f867f876ee33c130a8e28b688e2b1d89663 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Wed, 11 Apr 2018 17:14:55 +0800
-Subject: [PATCH] Prevent host contamination
-
-Remove reference to host $(libdir) from .la files.
-
-Upstream-Status: Inappropriate [cross-compile specific]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- gst-libs/ext/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gst-libs/ext/Makefile.am b/gst-libs/ext/Makefile.am
-index 6cdc048..a19d255 100644
---- a/gst-libs/ext/Makefile.am
-+++ b/gst-libs/ext/Makefile.am
-@@ -49,7 +49,7 @@ echo "  GEN      $1.la" && \
-  echo "library_names=''" && \
-  echo "old_library='$1.a'" && \
-  echo "inherited_linker_flags=''" && \
-- echo "dependency_libs=' -L$(libdir) $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \
-+ echo "dependency_libs=' -L $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \
-  echo "weak_library_names=''" &&  \
-  echo "current=" && \
-  echo "age=" && \
-@@ -58,7 +58,7 @@ echo "  GEN      $1.la" && \
-  echo "shouldnotlink=no" && \
-  echo "dlopen=''" && \
-  echo "dlpreopen=''" && \
-- echo "libdir='$(libdir)'") > $1.la
-+ echo "libdir=''") > $1.la
- endef
- 
- libavutil.la:
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch
deleted file mode 100644
index 90d042b313..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-It will add -mips64r6 and -mips64r2 to cmdline which will
-cause conflicts
-
-in OE we user mips32r2 and mips64r2 for mips arch versions
-so there is no benefit of detecting it automatically by
-poking at tools especially in cross env
-
-Fixes errors like
-
-linking -mnan=2008 module with previous -mnan=legacy modules
-failed to merge target specific data of file
-
--Khem
-Upstream-Status: Inappropriate [OE-Specific]
-
-Index: gst-libav-1.10.1/gst-libs/ext/libav/configure
-===================================================================
---- gst-libav-1.10.1.orig/gst-libs/ext/libav/configure
-+++ gst-libav-1.10.1/gst-libs/ext/libav/configure
-@@ -5650,12 +5650,9 @@ elif enabled mips; then
- 
-     # Enable minimum ISA based on selected options
-     if enabled mips64; then
--        enabled mips64r6 && check_inline_asm_flags mips64r6 '"dlsa $0, $0, $0, 1"' '-mips64r6'
-         enabled mips64r2 && check_inline_asm_flags mips64r2 '"dext $0, $0, 0, 1"' '-mips64r2'
-         disabled mips64r6 && disabled mips64r2 && check_inline_asm_flags mips64r1 '"daddi $0, $0, 0"' '-mips64'
-     else
--        enabled mips32r6 && check_inline_asm_flags mips32r6 '"aui $0, $0, 0"' '-mips32r6'
--        enabled mips32r5 && check_inline_asm_flags mips32r5 '"eretnc"' '-mips32r5'
-         enabled mips32r2 && check_inline_asm_flags mips32r2 '"ext $0, $0, 0, 1"' '-mips32r2'
-         disabled mips32r6 && disabled mips32r5 && disabled mips32r2 && check_inline_asm_flags mips32r1 '"addi $0, $0, 0"' '-mips32'
-     fi
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
deleted file mode 100644
index 4b85356547..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Description: Workaround to build libav for i586 with gcc 4.9.2 by avoiding memset
-Author: Bernhard Übelacker <bernhardu@vr-web.de>
-
----
-Bug-Debian: https://bugs.debian.org/783082
-Last-Update: 2015-04-28
-
-Upstream-Status: Backport [debian]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
---- gst-libav-1.4.5.orig/gst-libs/ext/libav/libavcodec/h264_cabac.c
-+++ gst-libav-1.4.5/gst-libs/ext/libav/libavcodec/h264_cabac.c
-@@ -2057,7 +2057,11 @@ decode_intra_mb:
-         // In deblocking, the quantizer is 0
-         h->cur_pic.qscale_table[mb_xy] = 0;
-         // All coeffs are present
--        memset(h->non_zero_count[mb_xy], 16, 48);
-+        /*memset(h->non_zero_count[mb_xy], 16, 48);*/
-+            /* avoiding this memset because it leads at least with gcc4.9.2 to error: 'asm' operand has impossible constraints */
-+        for (size_t i = 0; i < 48; i++) {
-+            ( (unsigned char*)(h->non_zero_count[mb_xy]) ) [i] = 16;
-+        }
-         h->cur_pic.mb_type[mb_xy] = mb_type;
-         sl->last_qscale_diff = 0;
-         return 0;
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.1.bb
index 10955ff161..c1bd6b1eb1 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.1.bb
@@ -6,65 +6,30 @@ LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )"
 LICENSE_FLAGS = "commercial"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
-                    file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
-                    file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
-                    file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
-                    file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
+                    file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c"
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \
-           file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \
-           file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \
-           file://mips64_cpu_detection.patch \
-           file://0001-configure-check-for-armv7ve-variant.patch \
-           file://0001-fix-host-contamination.patch \
            "
 SRC_URI[md5sum] = "58023f4c71bbd711061e350fcd76c09d"
 SRC_URI[sha256sum] = "e8a5748ae9a4a7be9696512182ea9ffa6efe0be9b7976916548e9d4381ca61c4"
 
 S = "${WORKDIR}/gst-libav-${PV}"
 
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz"
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
 
-inherit autotools pkgconfig upstream-version-is-even gtk-doc
-
-# CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time,
-# compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the
-# libav copy included in the gst-libav package.
-PACKAGECONFIG ??= "orc yasm"
-
-PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl,"
-PACKAGECONFIG[libav] = "--with-system-libav,,libav"
-PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
-PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,nasm-native"
-PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind"
-
-GSTREAMER_1_0_DEBUG ?= "--disable-debug"
-
-LIBAV_EXTRA_CONFIGURE = "--with-libav-extra-configure"
-
-LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \
-  --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \
-  --ranlib='${RANLIB}' \
-  ${GSTREAMER_1_0_DEBUG} \
-  --cross-prefix='${HOST_PREFIX}'"
-
-# Disable assembly optimizations for X32, as this libav lacks the support
-PACKAGECONFIG_remove_linux-gnux32 = "yasm"
-LIBAV_EXTRA_CONFIGURE_COMMON_ARG_append_linux-gnux32 = " --disable-asm"
-
-LIBAV_EXTRA_CONFIGURE_COMMON = \
-'${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"'
-
-EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}"
+inherit meson pkgconfig upstream-version-is-even
 
 FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
 FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
 
-# http://errors.yoctoproject.org/Errors/Details/20493/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-# ffmpeg/libav disables PIC on some platforms (e.g. x86-32)
-INSANE_SKIP_${PN} = "textrel"
+delete_unused_libav_copy() {
+        # When building with meson, the internal libav copy is not used.
+        # It is only present for legacy autotools based builds. In future
+        # GStreamer versions, the autotools scripts will be gone, and so
+        # will this internal copy. Until then, it will be present. In order
+        # to make sure this copy is not included in the -src package, just
+        # manually delete the copy.
+        rm -rf "${S}/gst-libs/ext/libav/"
+}
+
+do_unpack[postfuncs] += " delete_unused_libav_copy"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 08/12] gstreamer1.0-vaapi: Transition to meson based builds
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (5 preceding siblings ...)
  2020-01-12 13:59 ` [PATCH 07/12] gstreamer1.0-libav: " Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 09/12] gstreamer1.0-omx: Transition to meson based build Carlos Rafael Giani
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

* Removed autotools/M4 related patch
  0001-gst-vaapi-Makefile.am-Add-EGL_CFLAGS-to-libgstvaapi-.patch.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 ...le.am-Add-EGL_CFLAGS-to-libgstvaapi-.patch | 33 -------------------
 .../gstreamer/gstreamer1.0-vaapi_1.16.1.bb    | 26 ++++++++++-----
 2 files changed, 17 insertions(+), 42 deletions(-)
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-gst-vaapi-Makefile.am-Add-EGL_CFLAGS-to-libgstvaapi-.patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-gst-vaapi-Makefile.am-Add-EGL_CFLAGS-to-libgstvaapi-.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-gst-vaapi-Makefile.am-Add-EGL_CFLAGS-to-libgstvaapi-.patch
deleted file mode 100644
index d7b8984953..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-gst-vaapi-Makefile.am-Add-EGL_CFLAGS-to-libgstvaapi-.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5403a89e6a7ac72a23e0221075c0c19b5f85a021 Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Wed, 13 Jun 2018 09:09:25 -0300
-Subject: [PATCH] gst/vaapi/Makefile.am: Add EGL_CFLAGS to libgstvaapi CFLAGS
-Organization: O.S. Systems Software LTDA.
-
-We need this to pass correctly EGL CFLAGS when building with EGL support.
-
-Upstream-Status: Pending
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- gst/vaapi/Makefile.am | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/gst/vaapi/Makefile.am b/gst/vaapi/Makefile.am
-index b299ac98..d6cab71f 100644
---- a/gst/vaapi/Makefile.am
-+++ b/gst/vaapi/Makefile.am
-@@ -24,6 +24,10 @@ libgstvaapi_LIBS += $(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-glx.la
- endif
- 
- if USE_EGL
-+libgstvaapi_CFLAGS += \
-+	$(EGL_CFLAGS)	\
-+	$(NULL)
-+
- libgstvaapi_LIBS += $(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-egl.la
- endif
- 
--- 
-2.17.1
-
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.1.bb
index b8c2126d9b..a78807cc19 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.1.bb
@@ -9,7 +9,6 @@ LICENSE = "LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz \
-           file://0001-gst-vaapi-Makefile.am-Add-EGL_CFLAGS-to-libgstvaapi-.patch \
            file://0001-vaapsink-downgrade-to-marginal.patch \
            "
 
@@ -19,10 +18,18 @@ SRC_URI[sha256sum] = "cb570f6f1e78cb364fbe3c4fb8751824ee9db0c942ba61b62380b9b5ab
 S = "${WORKDIR}/${REALPN}-${PV}"
 DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
 
-inherit autotools pkgconfig gtk-doc features_check upstream-version-is-even
+inherit meson pkgconfig gtk-doc features_check upstream-version-is-even
 
 REQUIRED_DISTRO_FEATURES ?= "opengl"
 
+EXTRA_OEMESON += " \
+    -Dexamples=disabled \
+"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+GTKDOC_MESON_ENABLE_FLAG = "enabled"
+GTKDOC_MESON_DISABLE_FLAG = "disabled"
+
 PACKAGES =+ "${PN}-tests"
 
 # OpenGL packageconfig factored out to make it easy for distros
@@ -33,17 +40,18 @@ PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx'
                         bb.utils.contains('DISTRO_FEATURES',     'opengl', 'egl', \
                                                                        '', d), d)}"
 
-PACKAGECONFIG ??= "drm \
+PACKAGECONFIG ??= "drm encoders \
                    ${PACKAGECONFIG_GL} \
                    ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
 
-PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,udev libdrm"
-PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl"
-PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,virtual/libgl"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols"
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender"
+PACKAGECONFIG[drm] = "-Dwith_drm=yes,-Dwith_drm=no,udev libdrm"
+PACKAGECONFIG[egl] = "-Dwith_egl=yes,-Dwith_egl=no,virtual/egl"
+PACKAGECONFIG[encoders] = "-Dwith_encoders=yes,-Dwith_encoders=no"
+PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/libgl"
+PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland wayland-protocols"
+PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxrandr libxrender"
 
 FILES_${PN} += "${libdir}/gstreamer-*/*.so"
 FILES_${PN}-dbg += "${libdir}/gstreamer-*/.debug"
-FILES_${PN}-dev += "${libdir}/gstreamer-*/*.la ${libdir}/gstreamer-*/*.a"
+FILES_${PN}-dev += "${libdir}/gstreamer-*/*.a"
 FILES_${PN}-tests = "${bindir}/*"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 09/12] gstreamer1.0-omx: Transition to meson based build
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (6 preceding siblings ...)
  2020-01-12 13:59 ` [PATCH 08/12] gstreamer1.0-vaapi: " Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 10/12] gstreamer1.0-rtsp-server: " Carlos Rafael Giani
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

* Removed autotools/M4 specific bits from recipe.

* gettext, gtk-doc, and valgrind support is no longer present in gst-omx,
  and arguably never really was (because they were present in the "common"
  git submodule that is no longer being used in meson base builds).

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 .../gstreamer/gstreamer1.0-omx_1.16.1.bb          | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.1.bb
index cb2f7045a8..89e13937ea 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.1.bb
@@ -16,14 +16,12 @@ S = "${WORKDIR}/gst-omx-${PV}"
 
 DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
 
-inherit autotools pkgconfig gettext gtk-doc upstream-version-is-even
-
-acpaths = "-I ${S}/common/m4 -I ${S}/m4"
+inherit meson pkgconfig upstream-version-is-even
 
 GSTREAMER_1_0_OMX_TARGET ?= "bellagio"
 GSTREAMER_1_0_OMX_CORE_NAME ?= "${libdir}/libomxil-bellagio.so.0"
 
-EXTRA_OECONF += "--disable-valgrind --with-omx-target=${GSTREAMER_1_0_OMX_TARGET}"
+EXTRA_OEMESON += "-Dtarget=${GSTREAMER_1_0_OMX_TARGET}"
 
 python __anonymous () {
     omx_target = d.getVar("GSTREAMER_1_0_OMX_TARGET")
@@ -37,21 +35,12 @@ python __anonymous () {
         d.setVar("PACKAGE_ARCH", d.getVar("MACHINE_ARCH"))
 }
 
-delete_pkg_m4_file() {
-    # Delete m4 files which we provide patched versions of but will be ignored
-    # if these exist
-	rm -f "${S}/common/m4/pkg.m4"
-	rm -f "${S}/common/m4/gtk-doc.m4"
-}
-do_configure[prefuncs] += "delete_pkg_m4_file"
-
 set_omx_core_name() {
 	sed -i -e "s;^core-name=.*;core-name=${GSTREAMER_1_0_OMX_CORE_NAME};" "${D}${sysconfdir}/xdg/gstomx.conf"
 }
 do_install[postfuncs] += " set_omx_core_name "
 
 FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
 FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
 
 RDEPENDS_${PN} = "libomxil"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 10/12] gstreamer1.0-rtsp-server: Transition to meson based build
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (7 preceding siblings ...)
  2020-01-12 13:59 ` [PATCH 09/12] gstreamer1.0-omx: Transition to meson based build Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 11/12] gst-validate: Move recipe specific patch to dedicated subdirectory Carlos Rafael Giani
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

* 0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch is a
  fix for GIR support in the meson.build file.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 ...even-when-cross-compiling-if-introsp.patch | 36 +++++++++++++++++++
 .../gstreamer1.0-rtsp-server_1.16.1.bb        | 23 ++++++------
 2 files changed, 46 insertions(+), 13 deletions(-)
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
new file mode 100644
index 0000000000..6962a50d6e
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
@@ -0,0 +1,36 @@
+From 95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
+Date: Fri, 18 Oct 2019 00:42:12 +0100
+Subject: [PATCH] meson: build gir even when cross-compiling if introspection
+ was enabled explicitly
+
+This can be made to work in certain circumstances when
+cross-compiling, so default to not building g-i stuff
+when cross-compiling, but allow it if introspection was
+enabled explicitly via -Dintrospection=enabled.
+
+See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
+
+Upstream-Status: Backport [95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47]
+
+Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index e1e3b1d..3f45f0e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -173,7 +173,7 @@ endif
+ 
+ gir = find_program('g-ir-scanner', required : get_option('introspection'))
+ gnome = import('gnome')
+-build_gir = gir.found() and not meson.is_cross_build()
++build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
+ gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
+     'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
+     'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
+-- 
+2.17.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.1.bb
index 45302ef4f6..deac5a9664 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.1.bb
@@ -9,8 +9,7 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
 PNREAL = "gst-rtsp-server"
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
-           file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
-           file://gtk-doc-tweaks.patch \
+           file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
            "
 
 SRC_URI[md5sum] = "380d6a42e856c32fcefa508ad57129e0"
@@ -18,17 +17,15 @@ SRC_URI[sha256sum] = "b0abacad2f86f60d63781d2b24443c5668733e8b08664bbef94124906d
 
 S = "${WORKDIR}/${PNREAL}-${PV}"
 
-inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc
+inherit meson pkgconfig upstream-version-is-even gobject-introspection
 
-EXTRA_OECONF = "--disable-examples --disable-tests"
+EXTRA_OEMESON += " \
+    -Dexamples=disabled \
+    -Dtests=disabled \
+"
 
-# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
-LIBV = "1.0"
-require gst-plugins-package.inc
-
-delete_pkg_m4_file() {
-        # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection
-        rm "${S}/common/m4/pkg.m4" || true
-}
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
 
-do_configure[prefuncs] += " delete_pkg_m4_file"
+# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
+require gstreamer1.0-plugins-packaging.inc
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 11/12] gst-validate: Move recipe specific patch to dedicated subdirectory
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (8 preceding siblings ...)
  2020-01-12 13:59 ` [PATCH 10/12] gstreamer1.0-rtsp-server: " Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-12 13:59 ` [PATCH 12/12] gstreamer: Remove unused common files and patches Carlos Rafael Giani
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

This does not belong in files/, since that subdirectory is where patches
that aren't recipe specific are located. This patch however is gst-validate
specific.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 .../0001-connect-has-a-different-signature-on-musl.patch          | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename meta/recipes-multimedia/gstreamer/{files => gst-validate}/0001-connect-has-a-different-signature-on-musl.patch (100%)

diff --git a/meta/recipes-multimedia/gstreamer/files/0001-connect-has-a-different-signature-on-musl.patch b/meta/recipes-multimedia/gstreamer/gst-validate/0001-connect-has-a-different-signature-on-musl.patch
similarity index 100%
rename from meta/recipes-multimedia/gstreamer/files/0001-connect-has-a-different-signature-on-musl.patch
rename to meta/recipes-multimedia/gstreamer/gst-validate/0001-connect-has-a-different-signature-on-musl.patch
-- 
2.17.1



^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 12/12] gstreamer: Remove unused common files and patches
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (9 preceding siblings ...)
  2020-01-12 13:59 ` [PATCH 11/12] gst-validate: Move recipe specific patch to dedicated subdirectory Carlos Rafael Giani
@ 2020-01-12 13:59 ` Carlos Rafael Giani
  2020-01-13 12:18 ` [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Richard Purdie
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-12 13:59 UTC (permalink / raw)
  To: openembedded-core

gst-plugins-package.inc gstreamer1.0-plugins.inc got replaced by
gstreamer1.0-plugins-packaging.inc and gstreamer1.0-plugins-common.inc,
respectively.

Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 ...-prefix-pkgconfig-paths-with-PKG_CON.patch | 40 -----------
 .../files/add-a-target-to-compile-tests.patch | 69 -------------------
 .../gstreamer/files/gtk-doc-tweaks.patch      | 47 -------------
 .../gstreamer/files/run-ptest                 |  3 -
 .../gstreamer/gst-plugins-package.inc         | 56 ---------------
 .../gstreamer/gstreamer1.0-plugins.inc        | 41 -----------
 6 files changed, 256 deletions(-)
 delete mode 100644 meta/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/files/add-a-target-to-compile-tests.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/files/gtk-doc-tweaks.patch
 delete mode 100644 meta/recipes-multimedia/gstreamer/files/run-ptest
 delete mode 100644 meta/recipes-multimedia/gstreamer/gst-plugins-package.inc
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc

diff --git a/meta/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch b/meta/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
deleted file mode 100644
index 1b7f115083..0000000000
--- a/meta/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 2b0436f9a07773fae8c74df902d7024e8bfc3512 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 24 Nov 2015 16:46:27 +0200
-Subject: [PATCH] introspection.m4: prefix pkgconfig paths with
- PKG_CONFIG_SYSROOT_DIR
-
-We can't use our tweaked introspection.m4 from gobject-introspection tarball
-because gstreamer also defines INTROSPECTION_INIT in its introspection.m4, which
-is later supplied to g-ir-scanner.
-
-Upstream-Status: Pending [review on oe-core list]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- common/m4/introspection.m4 | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/common/m4/introspection.m4 b/common/m4/introspection.m4
-index 162be57..933f979 100644
---- a/common/m4/introspection.m4
-+++ b/common/m4/introspection.m4
-@@ -54,14 +54,14 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
-     INTROSPECTION_GIRDIR=
-     INTROSPECTION_TYPELIBDIR=
-     if test "x$found_introspection" = "xyes"; then
--       INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
--       INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
--       INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
-+       INTROSPECTION_SCANNER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
-+       INTROSPECTION_COMPILER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
-+       INTROSPECTION_GENERATE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
-        INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
-        INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
-        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
-        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
--       INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
-+       INTROSPECTION_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
-        INTROSPECTION_INIT="extern void gst_init(gint*,gchar**); gst_init(NULL,NULL);"
-     fi
-     AC_SUBST(INTROSPECTION_SCANNER)
diff --git a/meta/recipes-multimedia/gstreamer/files/add-a-target-to-compile-tests.patch b/meta/recipes-multimedia/gstreamer/files/add-a-target-to-compile-tests.patch
deleted file mode 100644
index d02d869410..0000000000
--- a/meta/recipes-multimedia/gstreamer/files/add-a-target-to-compile-tests.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From d61414bc17cf2df019510c2908048c4cabf5cf09 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Tue, 27 Feb 2018 09:27:01 +0800
-Subject: [PATCH] add targets for test installation
-
-Targets to make sure tests can be installed and then run on
-the target.
-
-Upstream-Status: Inappropriate [specific to oe setup]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
----
- tests/check/Makefile.am | 27 ++++++++++++++++++++-------
- 1 file changed, 20 insertions(+), 7 deletions(-)
-
-diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
-index 13b916d..a66786d 100644
---- a/tests/check/Makefile.am
-+++ b/tests/check/Makefile.am
-@@ -8,11 +8,7 @@ REGISTRY_ENVIRONMENT = \
- 	GST_REGISTRY=$(CHECK_REGISTRY)
- 
- AM_TESTS_ENVIRONMENT += \
--        GST_STATE_IGNORE_ELEMENTS="$(STATE_IGNORE_ELEMENTS)"	\
--        $(REGISTRY_ENVIRONMENT)					\
--        GST_PLUGIN_SCANNER_1_0=$(top_builddir)/libs/gst/helpers/gst-plugin-scanner \
--        GST_PLUGIN_SYSTEM_PATH_1_0=					\
--        GST_PLUGIN_PATH_1_0=$(top_builddir)/plugins
-+        GST_STATE_IGNORE_ELEMENTS="$(STATE_IGNORE_ELEMENTS)"
- 
- plugindir = $(libdir)/gstreamer-@GST_API_VERSION@
- 
-@@ -178,6 +174,23 @@ noinst_PROGRAMS =
- 
- TESTS = $(check_PROGRAMS)
- 
-+install-ptest: $(TESTS)
-+	@$(INSTALL) -d $(DESTDIR)
-+	@for dir in `find -maxdepth 1 -type d`; do \
-+		if [ -x $$dir/.libs ]; then \
-+			$(INSTALL) -d $(DESTDIR)/$$dir; \
-+			$(INSTALL_PROGRAM) $$dir/.libs/* $(DESTDIR)/$$dir/; \
-+		fi \
-+	done
-+
-+runtests:
-+	@for b in $(TESTS); do \
-+		if [ -x $$b ]; then \
-+			$(AM_TESTS_ENVIRONMENT) $(SHELL) test-driver --test-name "$$b" \
-+			--log-file $$b.log --trs-file $$b.trs $$b; \
-+		fi \
-+	done
-+
- noinst_HEADERS = \
- 	gst/capslist.h \
- 	gst/struct_arm.h \
-@@ -221,9 +234,9 @@ gst_gstprintf_LDADD = \
- 	$(LDADD)
- 
- elements_fdsrc_CFLAGS=$(GST_OBJ_CFLAGS) $(AM_CFLAGS) \
--	-DTESTFILE=\"$(top_srcdir)/configure.ac\"
-+	-DTESTFILE=\"Makefile\"
- elements_filesrc_CFLAGS=$(GST_OBJ_CFLAGS) $(AM_CFLAGS) \
--	-DTESTFILE=\"$(top_srcdir)/configure.ac\"
-+	-DTESTFILE=\"Makefile\"
- 
- libs_controller_LDADD = \
- 	$(top_builddir)/libs/gst/controller/libgstcontroller-@GST_API_VERSION@.la \
diff --git a/meta/recipes-multimedia/gstreamer/files/gtk-doc-tweaks.patch b/meta/recipes-multimedia/gstreamer/files/gtk-doc-tweaks.patch
deleted file mode 100644
index d86c78d793..0000000000
--- a/meta/recipes-multimedia/gstreamer/files/gtk-doc-tweaks.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 7018ca1c4bf26c8317e7fcd2e7e4e648195f42ca Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Wed, 20 Dec 2017 13:03:03 +0000
-Subject: [PATCH] gstreamer: use a patch instead of sed to fix gtk-doc
-
-Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient
-binaries instead of libtool wrapper or running them directly.
-
-Also substitute a bogus plugin scanner, as trying to run the real one is causing
-issues during build on x86_64.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
----
- common/gtk-doc.mak | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak
-index 3f83491..e5cb0d1 100644
---- a/common/gtk-doc.mak
-+++ b/common/gtk-doc.mak
-@@ -6,11 +6,11 @@
- if GTK_DOC_USE_LIBTOOL
- GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
--GTKDOC_RUN = $(LIBTOOL) --mode=execute
-+GTKDOC_RUN = $(top_builddir)/gtkdoc-qemuwrapper
- else
- GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
--GTKDOC_RUN =
-+GTKDOC_RUN = $(top_builddir)/gtkdoc-qemuwrapper
- endif
- 
- # We set GPATH here; this gives us semantics for GNU make
-@@ -101,6 +101,7 @@ scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
- 	    GST_PLUGIN_PATH_1_0=					\
- 	    GST_REGISTRY_1_0=doc-registry.xml				\
- 	    $(GTKDOC_EXTRA_ENVIRONMENT)					\
-+	    GST_PLUGIN_SCANNER_1_0="$(top_builddir)/libs/gst/helpers/gst-plugin-scanner-dummy" \
- 	    CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)"	\
- 	    CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)"				\
- 	    LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)"				\
--- 
-2.15.1
-
diff --git a/meta/recipes-multimedia/gstreamer/files/run-ptest b/meta/recipes-multimedia/gstreamer/files/run-ptest
deleted file mode 100644
index 473d0b67a7..0000000000
--- a/meta/recipes-multimedia/gstreamer/files/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-make -k runtests
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc
deleted file mode 100644
index 6781e98c31..0000000000
--- a/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc
+++ /dev/null
@@ -1,56 +0,0 @@
-PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages "
-PACKAGESPLITFUNCS_append = " set_metapkg_rdepends "
-
-python split_gstreamer10_packages () {
-    gst_libdir = d.expand('${libdir}/gstreamer-${LIBV}')
-    postinst = d.getVar('plugin_postinst')
-    glibdir = d.getVar('libdir')
-
-    do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True)
-    do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer plugin for %s', postinst=postinst, extra_depends='')
-    do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer typelib file for %s', postinst=postinst, extra_depends='')
-    do_split_packages(d, gst_libdir, r'libgst(.*)\.la$', d.expand('${PN}-%s-dev'), 'GStreamer plugin for %s (development files)', extra_depends='${PN}-dev')
-    do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer plugin for %s (static development files)', extra_depends='${PN}-staticdev')
-}
-
-python set_metapkg_rdepends () {
-    import os
-    import oe.utils
-
-    pn = d.getVar('PN')
-    metapkg =  pn + '-meta'
-    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
-    d.setVar('FILES_' + metapkg, "")
-    blacklist = [ pn, pn + '-meta' ]
-    metapkg_rdepends = []
-    pkgdest = d.getVar('PKGDEST')
-    for pkg in oe.utils.packages_filter_out_system(d):
-        if pkg not in blacklist and pkg not in metapkg_rdepends:
-            # See if the package is empty by looking at the contents of its PKGDEST subdirectory. 
-            # If this subdirectory is empty, then the package is.
-            # Empty packages do not get added to the meta package's RDEPENDS
-            pkgdir = os.path.join(pkgdest, pkg)
-            if os.path.exists(pkgdir):
-                dir_contents = os.listdir(pkgdir) or []
-            else:
-                dir_contents = []
-            is_empty = len(dir_contents) == 0
-            if not is_empty:
-                metapkg_rdepends.append(pkg)
-    d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
-    d.setVar('DESCRIPTION_' + metapkg, pn + ' meta package')
-}
-
-# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
-# so we need them even when empty (like in gst-plugins-good case)
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-dev = "1"
-ALLOW_EMPTY_${PN}-staticdev = "1"
-
-PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
-
-FILES_${PN} = ""
-FILES_${PN}-apps = "${bindir}"
-FILES_${PN}-glib = "${datadir}/glib-2.0"
-
-RRECOMMENDS_${PN} += "${PN}-meta"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
deleted file mode 100644
index bc24b05fec..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Plugins for the GStreamer multimedia framework 1.x"
-HOMEPAGE = "http://gstreamer.freedesktop.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
-SECTION = "multimedia"
-
-DEPENDS = "gstreamer1.0 glib-2.0-native"
-
-SRC_URI_append = " file://gtk-doc-tweaks.patch"
-
-inherit autotools pkgconfig upstream-version-is-even gtk-doc
-
-acpaths = "-I ${S}/common/m4 -I ${S}/m4"
-
-LIBV = "1.0"
-require gst-plugins-package.inc
-
-# Orc enables runtime JIT compilation of data processing routines from Orc
-# bytecode to SIMD instructions for various architectures (currently SSE, MMX,
-# MIPS, Altivec and NEON are supported).
-
-GSTREAMER_ORC ?= "orc"
-
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
-PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc orc-native"
-PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind"
-
-export ORCC = "${STAGING_DIR_NATIVE}${bindir}/orcc"
-
-EXTRA_OECONF = " \
-    --disable-examples \
-"
-
-delete_pkg_m4_file() {
-	# This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection
-	rm "${S}/common/m4/pkg.m4" || true
-	rm -f "${S}/common/m4/gtk-doc.m4"
-}
-
-do_configure[prefuncs] += " delete_pkg_m4_file"
-
-PACKAGES_DYNAMIC = "^${PN}-.*"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 32+ messages in thread

* Re: [PATCH 04/12] gstreamer1.0-plugins-good: Transition to meson based builds
  2020-01-12 13:59 ` [PATCH 04/12] gstreamer1.0-plugins-good: " Carlos Rafael Giani
@ 2020-01-13  0:52   ` Khem Raj
  2020-01-13 14:10     ` Adrian Bunk
  2020-01-13 14:50     ` Carlos Rafael Giani
  2020-01-16 14:40   ` Ross Burton
  2020-01-20  4:49   ` Mittal, Anuj
  2 siblings, 2 replies; 32+ messages in thread
From: Khem Raj @ 2020-01-13  0:52 UTC (permalink / raw)
  To: Carlos Rafael Giani; +Cc: Patches and discussions about the oe-core layer

On Sun, Jan 12, 2020 at 6:33 AM Carlos Rafael Giani <crg7475@mailbox.org> wrote:
>
> * Removed autotools/M4 related patch
>   0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch.
>
> * gtk-doc support is handled here, not in gstreamer1.0-plugins-common.inc,
>     since unlike with autotools, only some plugin set packages use gtk-doc.
>
> * zlib is no longer optional, and glib anyway depends on zlib, therefore
>     it gets added to the DEPENDS list.
>
> * gettext handling now part of gstreamer1.0-plugins-common.inc.
>
> Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
> ---
>  .../gstreamer1.0-plugins-good_1.16.1.bb       | 79 +++++++++----------
>  1 file changed, 38 insertions(+), 41 deletions(-)
>
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
> index 0fa7b86ffe..a6eb9986dd 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
> @@ -1,8 +1,7 @@
> -require gstreamer1.0-plugins.inc
> +require gstreamer1.0-plugins-common.inc
>
>  SRC_URI = " \
>              https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
> -            file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
>              "
>
>  SRC_URI[md5sum] = "515987ee763256840a11bd8ea098f2bf"
> @@ -15,42 +14,41 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
>                      file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
>                      file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
>
> -DEPENDS += "gstreamer1.0-plugins-base libcap"
> +DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
>  RPROVIDES_${PN}-pulseaudio += "${PN}-pulse"
>  RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
>
> -inherit gettext
> -
>  PACKAGECONFIG ??= " \
>      ${GSTREAMER_ORC} \
>      ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
> -    bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 zlib \
> +    bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
>  "
>
>  X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
> +X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
> +X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
>
> -PACKAGECONFIG[bz2]        = "--enable-bz2,--disable-bz2,bzip2"
> -PACKAGECONFIG[cairo]      = "--enable-cairo,--disable-cairo,cairo"
> -PACKAGECONFIG[dv1394]     = "--enable-dv1394,--disable-dv1394,libiec61883 libavc1394 libraw1394"
> -PACKAGECONFIG[flac]       = "--enable-flac,--disable-flac,flac"
> -PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf"
> -PACKAGECONFIG[gtk]        = "--enable-gtk3,--disable-gtk3,gtk+3"
> -PACKAGECONFIG[gudev]      = "--with-gudev,--without-gudev,libgudev"
> -PACKAGECONFIG[jack]       = "--enable-jack,--disable-jack,jack"
> -PACKAGECONFIG[jpeg]       = "--enable-jpeg,--disable-jpeg,jpeg"
> -PACKAGECONFIG[lame]       = "--enable-lame,--disable-lame,lame"
> -PACKAGECONFIG[libpng]     = "--enable-libpng,--disable-libpng,libpng"
> -PACKAGECONFIG[libv4l2]    = "--with-libv4l2,--without-libv4l2,v4l-utils"
> -PACKAGECONFIG[mpg123]     = "--enable-mpg123,--disable-mpg123,mpg123"
> -PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
> -PACKAGECONFIG[soup]       = "--enable-soup,--disable-soup,libsoup-2.4"
> -PACKAGECONFIG[speex]      = "--enable-speex,--disable-speex,speex"
> -PACKAGECONFIG[taglib]     = "--enable-taglib,--disable-taglib,taglib"
> -PACKAGECONFIG[v4l2]       = "--enable-gst_v4l2 --enable-v4l2-probe,--disable-gst_v4l2"
> -PACKAGECONFIG[vpx]        = "--enable-vpx,--disable-vpx,libvpx"
> -PACKAGECONFIG[wavpack]    = "--enable-wavpack,--disable-wavpack,wavpack"
> -PACKAGECONFIG[x11]        = "--enable-x,--disable-x,${X11DEPENDS}"
> -PACKAGECONFIG[zlib]       = "--enable-zlib,--disable-zlib,zlib"
> +PACKAGECONFIG[bz2]        = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
> +PACKAGECONFIG[cairo]      = "-Dcairo=enabled,-Dcairo=disabled,cairo"
> +PACKAGECONFIG[dv1394]     = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
> +PACKAGECONFIG[flac]       = "-Dflac=enabled,-Dflac=disabled,flac"
> +PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
> +PACKAGECONFIG[gtk]        = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
> +PACKAGECONFIG[gudev]      = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
> +PACKAGECONFIG[jack]       = "-Djack=enabled,-Djack=disabled,jack"
> +PACKAGECONFIG[jpeg]       = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
> +PACKAGECONFIG[lame]       = "-Dlame=enabled,-Dlame=disabled,lame"
> +PACKAGECONFIG[libpng]     = "-Dpng=enabled,-Dpng=disabled,libpng"
> +PACKAGECONFIG[libv4l2]    = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
> +PACKAGECONFIG[mpg123]     = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
> +PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
> +PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
> +PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
> +PACKAGECONFIG[taglib]     = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
> +PACKAGECONFIG[v4l2]       = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
> +PACKAGECONFIG[vpx]        = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
> +PACKAGECONFIG[wavpack]    = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
> +PACKAGECONFIG[x11]        = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
>
>  # qt5 support is disabled, because it is not present in OE core, and requires more work than
>  # just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
> @@ -58,19 +56,18 @@ PACKAGECONFIG[zlib]       = "--enable-zlib,--disable-zlib,zlib"
>  # in a gstreamer1.0-plugins-good bbappend).
>
>  EXTRA_OECONF += " \
> -    --enable-oss \
> -    --disable-aalib \
> -    --disable-aalibtest \
> -    --disable-directsound \
> -    --disable-libcaca \
> -    --disable-libdv \
> -    --disable-oss4 \
> -    --disable-osx_audio \
> -    --disable-osx_video \
> -    --disable-qt \

Dont disable it explicitly, meta-qt5 will has a packageconfig for it.

> -    --disable-shout2 \
> -    --disable-twolame \
> -    --disable-waveform \
> +    -Daalib=disabled \
> +    -Ddirectsound=disabled \
> +    -Ddv=disabled \
> +    -Dlibcaca=disabled \
> +    -Doss=enabled \
> +    -Doss4=disabled \
> +    -Dosxaudio=disabled \
> +    -Dosxvideo=disabled \
> +    -Dqt=disabled \
> +    -Dshout2=disabled \
> +    -Dtwolame=disabled \
> +    -Dwaveform=disabled \
>  "
>
>  FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (10 preceding siblings ...)
  2020-01-12 13:59 ` [PATCH 12/12] gstreamer: Remove unused common files and patches Carlos Rafael Giani
@ 2020-01-13 12:18 ` Richard Purdie
  2020-01-13 12:55   ` Carlos Rafael Giani
  2020-01-13 19:52   ` Khem Raj
  2020-01-13 17:37 ` Alexander Kanavin
  2020-01-16 22:42 ` Richard Purdie
  13 siblings, 2 replies; 32+ messages in thread
From: Richard Purdie @ 2020-01-13 12:18 UTC (permalink / raw)
  To: Carlos Rafael Giani, openembedded-core

On Sun, 2020-01-12 at 14:59 +0100, Carlos Rafael Giani wrote:
> * gstreamer1.0-plugins-common.inc
>   The old gstreamer1.0-plugins.inc file, adapted for meson
> * gstreamer1.0-plugins-packaging.inc
>   The old gst-plugins-package.inc file, adapted for meson
> * gstreamer1.0-ptest.inc
>   Common code for meson based PTest support; autogenerates the run-ptest
>   file and is designed to use the gnome-desktop-testing suite runner
>   (which is why the .inc files inherits from ptest-gnome)
> 
> Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
> ---
>  .../gstreamer/gstreamer1.0-plugins-common.inc | 47 +++++++++++++
>  .../gstreamer1.0-plugins-packaging.inc        | 70 +++++++++++++++++++
>  .../gstreamer/gstreamer1.0-ptest.inc          | 21 ++++++
>  3 files changed, 138 insertions(+)
>  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
>  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
>  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc

Thanks for this, I know its not an easy patch set to sort out!

I ran it on the autobuilder for testing since there was bandwidth
available and there was one issue:

https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/1455

which was in a plain OE-Core + bitbake build (no poky, so nodistro).

Any idea what is wrong there?

Cheers,

Richard



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-13 12:18 ` [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Richard Purdie
@ 2020-01-13 12:55   ` Carlos Rafael Giani
  2020-01-13 12:59     ` Richard Purdie
  2020-01-13 19:52   ` Khem Raj
  1 sibling, 1 reply; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-13 12:55 UTC (permalink / raw)
  To: Richard Purdie, openembedded-core

Nope. This is an odd one. Are you sure there isn't a problem with the 
setup itself? In step2c, I see:

 > ERROR: core-image-sato-1.0-r0 do_testsdk: The toolchain 
/home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/deploy/sdk/oecore-i686-armv7vet2hf-neon-toolchain-nodistro.0.sh 
is not built. Build it before running the tests: 'bitbake <image> -c 
populate_sdk' .

On 13.01.20 13:18, Richard Purdie wrote:
> On Sun, 2020-01-12 at 14:59 +0100, Carlos Rafael Giani wrote:
>> * gstreamer1.0-plugins-common.inc
>>    The old gstreamer1.0-plugins.inc file, adapted for meson
>> * gstreamer1.0-plugins-packaging.inc
>>    The old gst-plugins-package.inc file, adapted for meson
>> * gstreamer1.0-ptest.inc
>>    Common code for meson based PTest support; autogenerates the run-ptest
>>    file and is designed to use the gnome-desktop-testing suite runner
>>    (which is why the .inc files inherits from ptest-gnome)
>>
>> Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
>> ---
>>   .../gstreamer/gstreamer1.0-plugins-common.inc | 47 +++++++++++++
>>   .../gstreamer1.0-plugins-packaging.inc        | 70 +++++++++++++++++++
>>   .../gstreamer/gstreamer1.0-ptest.inc          | 21 ++++++
>>   3 files changed, 138 insertions(+)
>>   create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
>>   create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
>>   create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
> Thanks for this, I know its not an easy patch set to sort out!
>
> I ran it on the autobuilder for testing since there was bandwidth
> available and there was one issue:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/1455
>
> which was in a plain OE-Core + bitbake build (no poky, so nodistro).
>
> Any idea what is wrong there?
>
> Cheers,
>
> Richard
>


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-13 12:55   ` Carlos Rafael Giani
@ 2020-01-13 12:59     ` Richard Purdie
  2020-01-13 15:37       ` Carlos Rafael Giani
  0 siblings, 1 reply; 32+ messages in thread
From: Richard Purdie @ 2020-01-13 12:59 UTC (permalink / raw)
  To: Carlos Rafael Giani, openembedded-core

On Mon, 2020-01-13 at 13:55 +0100, Carlos Rafael Giani wrote:
> Nope. This is an odd one. Are you sure there isn't a problem with
> the 
> setup itself? In step2c, I see:
> 
>  > ERROR: core-image-sato-1.0-r0 do_testsdk: The toolchain 
> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-
> glibc/deploy/sdk/oecore-i686-armv7vet2hf-neon-toolchain-
> nodistro.0.sh 
> is not built. Build it before running the tests: 'bitbake <image> -c 
> populate_sdk' .

2c fails as earlier stepd didn't build. I think the real issue is
step1b which says:

| Compiler for C supports arguments -Wdeclaration-after-statement: YES
| Found pkg-config: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config (0.29.2)
| Run-time dependency x11 found: YES 1.6.9
| Run-time dependency glib-2.0 found: YES 2.62.4
| Run-time dependency gobject-2.0 found: YES 2.62.4
| Run-time dependency gio-2.0 found: YES 2.62.4
| Run-time dependency gio-unix-2.0 found: YES 2.62.4
| Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
| Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
| Dependency gtk+-3.0 skipped: feature examples disabled
| Dependency gtk+-x11-3.0 skipped: feature examples disabled
| Run-time dependency gstreamer-1.0 found: YES 1.16.1
| Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
| Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
| Found CMake: NO
| Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig and cmake)
| Looking for a fallback subproject for the dependency gstreamer-check-1.0
| Subproject directory not found and gstreamer.wrap file not found
| Subproject  subprojects/gstreamer is buildable: NO (disabling)
| Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer found: NO
| 
| meson.build:309:0: ERROR: Could not find dependency gst_controller_dep in subproject gstreamer
| 
| A full log can be found at /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
| WARNING: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1 exit 1 from 'exit 1'
| 
NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure: Failed

| Compiler for C supports arguments -Wdeclaration-after-statement: YES
| Found pkg-config: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config (0.29.2)
| Run-time dependency x11 found: YES 1.6.9
| Run-time dependency glib-2.0 found: YES 2.62.4
| Run-time dependency gobject-2.0 found: YES 2.62.4
| Run-time dependency gio-2.0 found: YES 2.62.4
| Run-time dependency gio-unix-2.0 found: YES 2.62.4
| Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
| Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
| Dependency gtk+-3.0 skipped: feature examples disabled
| Dependency gtk+-x11-3.0 skipped: feature examples disabled
| Run-time dependency gstreamer-1.0 found: YES 1.16.1
| Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
| Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
| Found CMake: NO
| Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig and cmake)
| Looking for a fallback subproject for the dependency gstreamer-check-1.0
| Subproject directory not found and gstreamer.wrap file not found
| Subproject  subprojects/gstreamer is buildable: NO (disabling)
| Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer found: NO
| 
| meson.build:309:0: ERROR: Could not find dependency gst_controller_dep in subproject gstreamer
| 
| A full log can be found at /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
| WARNING: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1 exit 1 from 'exit 1'
| 
NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure: Failed

missing a check dependency?

Cheers,

Richard




^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 04/12] gstreamer1.0-plugins-good: Transition to meson based builds
  2020-01-13  0:52   ` Khem Raj
@ 2020-01-13 14:10     ` Adrian Bunk
  2020-01-13 14:50     ` Carlos Rafael Giani
  1 sibling, 0 replies; 32+ messages in thread
From: Adrian Bunk @ 2020-01-13 14:10 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

On Sun, Jan 12, 2020 at 04:52:24PM -0800, Khem Raj wrote:
> On Sun, Jan 12, 2020 at 6:33 AM Carlos Rafael Giani <crg7475@mailbox.org> wrote:
>...
> >  # qt5 support is disabled, because it is not present in OE core, and requires more work than
> >  # just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
>...
> > -    --disable-qt \
> 
> Dont disable it explicitly, meta-qt5 will has a packageconfig for it.
>...

You are commenting on the previous removed code,
qt5 support unconditionally disabled is invariant here.

cu
Adrian


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 04/12] gstreamer1.0-plugins-good: Transition to meson based builds
  2020-01-13  0:52   ` Khem Raj
  2020-01-13 14:10     ` Adrian Bunk
@ 2020-01-13 14:50     ` Carlos Rafael Giani
  2020-01-13 19:48       ` Khem Raj
  1 sibling, 1 reply; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-13 14:50 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

Actually, you have a point. I seem to have forgotten to fix this in this 
patch. With meson, it appears that the meta-qt5 bbappend is no longer 
necessary, since meson finds the Qt5 moc/rcc/uic tools on its own, so a 
packageconfig could be added right here. However, I'd like to 
investigate that moc/rcc/uic autodetection more to be sure it does not 
bring with it some "surprises" that could bite us in the behind when 
doing production builds.

On 13.01.20 01:52, Khem Raj wrote:
> On Sun, Jan 12, 2020 at 6:33 AM Carlos Rafael Giani <crg7475@mailbox.org> wrote:
>> * Removed autotools/M4 related patch
>>    0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch.
>>
>> * gtk-doc support is handled here, not in gstreamer1.0-plugins-common.inc,
>>      since unlike with autotools, only some plugin set packages use gtk-doc.
>>
>> * zlib is no longer optional, and glib anyway depends on zlib, therefore
>>      it gets added to the DEPENDS list.
>>
>> * gettext handling now part of gstreamer1.0-plugins-common.inc.
>>
>> Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
>> ---
>>   .../gstreamer1.0-plugins-good_1.16.1.bb       | 79 +++++++++----------
>>   1 file changed, 38 insertions(+), 41 deletions(-)
>>
>> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
>> index 0fa7b86ffe..a6eb9986dd 100644
>> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
>> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
>> @@ -1,8 +1,7 @@
>> -require gstreamer1.0-plugins.inc
>> +require gstreamer1.0-plugins-common.inc
>>
>>   SRC_URI = " \
>>               https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
>> -            file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
>>               "
>>
>>   SRC_URI[md5sum] = "515987ee763256840a11bd8ea098f2bf"
>> @@ -15,42 +14,41 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
>>                       file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
>>                       file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
>>
>> -DEPENDS += "gstreamer1.0-plugins-base libcap"
>> +DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
>>   RPROVIDES_${PN}-pulseaudio += "${PN}-pulse"
>>   RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
>>
>> -inherit gettext
>> -
>>   PACKAGECONFIG ??= " \
>>       ${GSTREAMER_ORC} \
>>       ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
>> -    bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 zlib \
>> +    bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
>>   "
>>
>>   X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
>> +X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
>> +X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
>>
>> -PACKAGECONFIG[bz2]        = "--enable-bz2,--disable-bz2,bzip2"
>> -PACKAGECONFIG[cairo]      = "--enable-cairo,--disable-cairo,cairo"
>> -PACKAGECONFIG[dv1394]     = "--enable-dv1394,--disable-dv1394,libiec61883 libavc1394 libraw1394"
>> -PACKAGECONFIG[flac]       = "--enable-flac,--disable-flac,flac"
>> -PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf"
>> -PACKAGECONFIG[gtk]        = "--enable-gtk3,--disable-gtk3,gtk+3"
>> -PACKAGECONFIG[gudev]      = "--with-gudev,--without-gudev,libgudev"
>> -PACKAGECONFIG[jack]       = "--enable-jack,--disable-jack,jack"
>> -PACKAGECONFIG[jpeg]       = "--enable-jpeg,--disable-jpeg,jpeg"
>> -PACKAGECONFIG[lame]       = "--enable-lame,--disable-lame,lame"
>> -PACKAGECONFIG[libpng]     = "--enable-libpng,--disable-libpng,libpng"
>> -PACKAGECONFIG[libv4l2]    = "--with-libv4l2,--without-libv4l2,v4l-utils"
>> -PACKAGECONFIG[mpg123]     = "--enable-mpg123,--disable-mpg123,mpg123"
>> -PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
>> -PACKAGECONFIG[soup]       = "--enable-soup,--disable-soup,libsoup-2.4"
>> -PACKAGECONFIG[speex]      = "--enable-speex,--disable-speex,speex"
>> -PACKAGECONFIG[taglib]     = "--enable-taglib,--disable-taglib,taglib"
>> -PACKAGECONFIG[v4l2]       = "--enable-gst_v4l2 --enable-v4l2-probe,--disable-gst_v4l2"
>> -PACKAGECONFIG[vpx]        = "--enable-vpx,--disable-vpx,libvpx"
>> -PACKAGECONFIG[wavpack]    = "--enable-wavpack,--disable-wavpack,wavpack"
>> -PACKAGECONFIG[x11]        = "--enable-x,--disable-x,${X11DEPENDS}"
>> -PACKAGECONFIG[zlib]       = "--enable-zlib,--disable-zlib,zlib"
>> +PACKAGECONFIG[bz2]        = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
>> +PACKAGECONFIG[cairo]      = "-Dcairo=enabled,-Dcairo=disabled,cairo"
>> +PACKAGECONFIG[dv1394]     = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
>> +PACKAGECONFIG[flac]       = "-Dflac=enabled,-Dflac=disabled,flac"
>> +PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
>> +PACKAGECONFIG[gtk]        = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
>> +PACKAGECONFIG[gudev]      = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
>> +PACKAGECONFIG[jack]       = "-Djack=enabled,-Djack=disabled,jack"
>> +PACKAGECONFIG[jpeg]       = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
>> +PACKAGECONFIG[lame]       = "-Dlame=enabled,-Dlame=disabled,lame"
>> +PACKAGECONFIG[libpng]     = "-Dpng=enabled,-Dpng=disabled,libpng"
>> +PACKAGECONFIG[libv4l2]    = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
>> +PACKAGECONFIG[mpg123]     = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
>> +PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
>> +PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
>> +PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
>> +PACKAGECONFIG[taglib]     = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
>> +PACKAGECONFIG[v4l2]       = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
>> +PACKAGECONFIG[vpx]        = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
>> +PACKAGECONFIG[wavpack]    = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
>> +PACKAGECONFIG[x11]        = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
>>
>>   # qt5 support is disabled, because it is not present in OE core, and requires more work than
>>   # just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
>> @@ -58,19 +56,18 @@ PACKAGECONFIG[zlib]       = "--enable-zlib,--disable-zlib,zlib"
>>   # in a gstreamer1.0-plugins-good bbappend).
>>
>>   EXTRA_OECONF += " \
>> -    --enable-oss \
>> -    --disable-aalib \
>> -    --disable-aalibtest \
>> -    --disable-directsound \
>> -    --disable-libcaca \
>> -    --disable-libdv \
>> -    --disable-oss4 \
>> -    --disable-osx_audio \
>> -    --disable-osx_video \
>> -    --disable-qt \
> Dont disable it explicitly, meta-qt5 will has a packageconfig for it.
>
>> -    --disable-shout2 \
>> -    --disable-twolame \
>> -    --disable-waveform \
>> +    -Daalib=disabled \
>> +    -Ddirectsound=disabled \
>> +    -Ddv=disabled \
>> +    -Dlibcaca=disabled \
>> +    -Doss=enabled \
>> +    -Doss4=disabled \
>> +    -Dosxaudio=disabled \
>> +    -Dosxvideo=disabled \
>> +    -Dqt=disabled \
>> +    -Dshout2=disabled \
>> +    -Dtwolame=disabled \
>> +    -Dwaveform=disabled \
>>   "
>>
>>   FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
>> --
>> 2.17.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-13 12:59     ` Richard Purdie
@ 2020-01-13 15:37       ` Carlos Rafael Giani
  2020-01-13 18:01         ` Alexander Kanavin
  0 siblings, 1 reply; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-13 15:37 UTC (permalink / raw)
  To: Richard Purdie, openembedded-core

Except that there is no such package. Also, even if I build GStreamer 
from scratch with all optional packageconfigs disabled, I do not get 
this error, nor do I get any warnings about potentially missing 
dependencies. So, I don't know what is going on here..

On 13.01.20 13:59, Richard Purdie wrote:
> On Mon, 2020-01-13 at 13:55 +0100, Carlos Rafael Giani wrote:
>> Nope. This is an odd one. Are you sure there isn't a problem with
>> the
>> setup itself? In step2c, I see:
>>
>>   > ERROR: core-image-sato-1.0-r0 do_testsdk: The toolchain
>> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-
>> glibc/deploy/sdk/oecore-i686-armv7vet2hf-neon-toolchain-
>> nodistro.0.sh
>> is not built. Build it before running the tests: 'bitbake <image> -c
>> populate_sdk' .
> 2c fails as earlier stepd didn't build. I think the real issue is
> step1b which says:
>
> | Compiler for C supports arguments -Wdeclaration-after-statement: YES
> | Found pkg-config: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config (0.29.2)
> | Run-time dependency x11 found: YES 1.6.9
> | Run-time dependency glib-2.0 found: YES 2.62.4
> | Run-time dependency gobject-2.0 found: YES 2.62.4
> | Run-time dependency gio-2.0 found: YES 2.62.4
> | Run-time dependency gio-unix-2.0 found: YES 2.62.4
> | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
> | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
> | Dependency gtk+-3.0 skipped: feature examples disabled
> | Dependency gtk+-x11-3.0 skipped: feature examples disabled
> | Run-time dependency gstreamer-1.0 found: YES 1.16.1
> | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
> | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
> | Found CMake: NO
> | Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig and cmake)
> | Looking for a fallback subproject for the dependency gstreamer-check-1.0
> | Subproject directory not found and gstreamer.wrap file not found
> | Subproject  subprojects/gstreamer is buildable: NO (disabling)
> | Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer found: NO
> |
> | meson.build:309:0: ERROR: Could not find dependency gst_controller_dep in subproject gstreamer
> |
> | A full log can be found at /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
> | WARNING: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1 exit 1 from 'exit 1'
> |
> NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure: Failed
>
> | Compiler for C supports arguments -Wdeclaration-after-statement: YES
> | Found pkg-config: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config (0.29.2)
> | Run-time dependency x11 found: YES 1.6.9
> | Run-time dependency glib-2.0 found: YES 2.62.4
> | Run-time dependency gobject-2.0 found: YES 2.62.4
> | Run-time dependency gio-2.0 found: YES 2.62.4
> | Run-time dependency gio-unix-2.0 found: YES 2.62.4
> | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
> | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
> | Dependency gtk+-3.0 skipped: feature examples disabled
> | Dependency gtk+-x11-3.0 skipped: feature examples disabled
> | Run-time dependency gstreamer-1.0 found: YES 1.16.1
> | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
> | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
> | Found CMake: NO
> | Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig and cmake)
> | Looking for a fallback subproject for the dependency gstreamer-check-1.0
> | Subproject directory not found and gstreamer.wrap file not found
> | Subproject  subprojects/gstreamer is buildable: NO (disabling)
> | Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer found: NO
> |
> | meson.build:309:0: ERROR: Could not find dependency gst_controller_dep in subproject gstreamer
> |
> | A full log can be found at /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
> | WARNING: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1 exit 1 from 'exit 1'
> |
> NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure: Failed
>
> missing a check dependency?
>
> Cheers,
>
> Richard
>
>


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (11 preceding siblings ...)
  2020-01-13 12:18 ` [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Richard Purdie
@ 2020-01-13 17:37 ` Alexander Kanavin
  2020-01-16 22:42 ` Richard Purdie
  13 siblings, 0 replies; 32+ messages in thread
From: Alexander Kanavin @ 2020-01-13 17:37 UTC (permalink / raw)
  To: Carlos Rafael Giani; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 8793 bytes --]

 ${GST_TEST_SUITE_NAME} is not actually defined anywhere? I believe this
has the undesired effect of running all installed test suites rather than
just gstreamer, including glib and others.


Alex

On Sun, 12 Jan 2020 at 15:31, Carlos Rafael Giani <crg7475@mailbox.org>
wrote:

> * gstreamer1.0-plugins-common.inc
>   The old gstreamer1.0-plugins.inc file, adapted for meson
> * gstreamer1.0-plugins-packaging.inc
>   The old gst-plugins-package.inc file, adapted for meson
> * gstreamer1.0-ptest.inc
>   Common code for meson based PTest support; autogenerates the run-ptest
>   file and is designed to use the gnome-desktop-testing suite runner
>   (which is why the .inc files inherits from ptest-gnome)
>
> Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
> ---
>  .../gstreamer/gstreamer1.0-plugins-common.inc | 47 +++++++++++++
>  .../gstreamer1.0-plugins-packaging.inc        | 70 +++++++++++++++++++
>  .../gstreamer/gstreamer1.0-ptest.inc          | 21 ++++++
>  3 files changed, 138 insertions(+)
>  create mode 100644
> meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
>  create mode 100644
> meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
>  create mode 100644
> meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
>
> diff --git
> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
> new file mode 100644
> index 0000000000..ccf55500a9
> --- /dev/null
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
> @@ -0,0 +1,47 @@
> +# This .inc file contains the common setup for the gstreamer1.0-plugins-*
> +# plugin set recipes.
> +
> +# SUMMARY is set in the actual .bb recipes
> +HOMEPAGE = "https://gstreamer.freedesktop.org/"
> +BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
> +SECTION = "multimedia"
> +
> +DEPENDS = "gstreamer1.0 glib-2.0-native"
> +
> +inherit gettext meson pkgconfig upstream-version-is-even
> +
> +require gstreamer1.0-plugins-packaging.inc
> +
> +# Orc enables runtime JIT compilation of data processing routines from Orc
> +# bytecode to SIMD instructions for various architectures (currently SSE,
> MMX,
> +# MIPS, Altivec and NEON are supported).
> +# This value is used in the PACKAGECONFIG values for each plugin set
> recipe.
> +# By modifying it, Orc can be enabled/disabled in all of these recipes at
> once.
> +GSTREAMER_ORC ?= "orc"
> +
> +PACKAGECONFIG[orc] = "-Dorc=enabled,-Dorc=disabled,orc orc-native"
> +
> +# TODO: put this in a gettext.bbclass patch (with variables to allow for
> +# configuring the option name and the enabled/disabled values).
> +def gettext_oemeson(d):
> +    if d.getVar('USE_NLS') == 'no':
> +        return '-Dnls=disabled'
> +    # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
> +    if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d,
> 'cross-canadian'):
> +        return '-Dnls=disabled'
> +    return '-Dnls=enabled'
> +
> +# Not all plugin sets contain examples, so the -Dexamples
> +# option needs to be added conditionally.
> +GST_PLUGIN_SET_HAS_EXAMPLES ?= "1"
> +
> +EXTRA_OEMESON += " \
> +    ${@bb.utils.contains('GST_PLUGIN_SET_HAS_EXAMPLES', '1',
> '-Dexamples=disabled', '', d)} \
> +    ${@gettext_oemeson(d)} \
> +"
> +
> +GIR_MESON_ENABLE_FLAG = "enabled"
> +GIR_MESON_DISABLE_FLAG = "disabled"
> +
> +# Dynamically generate packages for all enabled plugins
> +PACKAGES_DYNAMIC = "^${PN}-.*"
> diff --git
> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
> new file mode 100644
> index 0000000000..9a7a1b6afe
> --- /dev/null
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
> @@ -0,0 +1,70 @@
> +# This .inc file contains functionality for automatically splitting
> +# built plugins into individual packages for each plugin. A -meta
> +# package is also set up that has no files of its own, but contains
> +# the names of all plugin packages in its RDEPENDS list.
> +#
> +# This is mainly used by the gstreamer1.0-plugins-* plugin set recipes,
> +# but can be used in any recipe that produces GStreamer plugins.
> +
> +PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages "
> +PACKAGESPLITFUNCS_append = " set_gstreamer10_metapkg_rdepends "
> +
> +python split_gstreamer10_packages () {
> +    gst_libdir = d.expand('${libdir}/gstreamer-1.0')
> +    postinst = d.getVar('plugin_postinst')
> +    glibdir = d.getVar('libdir')
> +
> +    # GStreamer libraries
> +    do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'GStreamer
> 1.0 %s library', extra_depends='', allow_links=True)
> +    # GStreamer plugin shared objects
> +    do_split_packages(d, gst_libdir, r'libgst(.*)\.so$',
> d.expand('${PN}-%s'), 'GStreamer 1.0 plugin for %s', postinst=postinst,
> extra_depends='')
> +    # GObject introspection files for GStreamer plugins
> +    do_split_packages(d, glibdir+'/girepository-1.0',
> r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer 1.0
> typelib file for %s', postinst=postinst, extra_depends='')
> +    # Static GStreamer libraries for development
> +    do_split_packages(d, gst_libdir, r'libgst(.*)\.a$',
> d.expand('${PN}-%s-staticdev'), 'GStreamer 1.0 plugin for %s (static
> development files)', extra_depends='${PN}-staticdev')
> +}
> +
> +python set_gstreamer10_metapkg_rdepends () {
> +    import os
> +    import oe.utils
> +
> +    # Go through all generated packages (excluding the main package and
> +    # the -meta package itself) and add them to the -meta package as
> RDEPENDS.
> +
> +    pn = d.getVar('PN')
> +    metapkg =  pn + '-meta'
> +    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
> +    d.setVar('FILES_' + metapkg, "")
> +    blacklist = [ pn, pn + '-meta' ]
> +    metapkg_rdepends = []
> +    pkgdest = d.getVar('PKGDEST')
> +    for pkg in oe.utils.packages_filter_out_system(d):
> +        if pkg not in blacklist and pkg not in metapkg_rdepends:
> +            # See if the package is empty by looking at the contents of
> its PKGDEST subdirectory.
> +            # If this subdirectory is empty, then the package is.
> +            # Empty packages do not get added to the meta package's
> RDEPENDS
> +            pkgdir = os.path.join(pkgdest, pkg)
> +            if os.path.exists(pkgdir):
> +                dir_contents = os.listdir(pkgdir) or []
> +            else:
> +                dir_contents = []
> +            is_empty = len(dir_contents) == 0
> +            if not is_empty:
> +                metapkg_rdepends.append(pkg)
> +    d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
> +    d.setVar('DESCRIPTION_' + metapkg, pn + ' meta package')
> +}
> +
> +# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
> +# so we need them even when empty (like in gst-plugins-good case)
> +ALLOW_EMPTY_${PN} = "1"
> +ALLOW_EMPTY_${PN}-dev = "1"
> +ALLOW_EMPTY_${PN}-staticdev = "1"
> +
> +PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
> +
> +FILES_${PN} = ""
> +FILES_${PN}-apps = "${bindir}"
> +FILES_${PN}-glib = "${datadir}/glib-2.0"
> +
> +RRECOMMENDS_${PN} += "${PN}-meta"
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
> new file mode 100644
> index 0000000000..74368c4cd8
> --- /dev/null
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
> @@ -0,0 +1,21 @@
> +inherit ptest-gnome
> +
> +TEST_FILES_PATH = "${datadir}/installed-tests/gstreamer-1.0/test-files"
> +RUN_PTEST_FILE = "${D}${PTEST_PATH}/run-ptest"
> +
> +EXTRA_OEMESON += "-Dtest-files-path=${TEST_FILES_PATH}"
> +
> +# Using do_install_ptest_base instead of do_install_ptest, since
> +# the default do_install_ptest_base is hardcoded to expect Makefiles.
> +do_install_ptest_base() {
> +    # Generate run-ptest file
> +    echo "#!/usr/bin/env sh" > "${RUN_PTEST_FILE}"
> +    echo "gnome-desktop-testing-runner ${GST_TEST_SUITE_NAME}" >>
> "${RUN_PTEST_FILE}"
> +    chmod 0755 "${RUN_PTEST_FILE}"
> +
> +    # Install additional files required by tests
> +    if [ -d "${S}/tests/files" ] ; then
> +        install -d "${D}/${TEST_FILES_PATH}"
> +        install -m 0644 "${S}/tests/files"/* "${D}/${TEST_FILES_PATH}"
> +    fi
> +}
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 10763 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-13 15:37       ` Carlos Rafael Giani
@ 2020-01-13 18:01         ` Alexander Kanavin
  2020-01-14 15:51           ` Alexander Kanavin
  0 siblings, 1 reply; 32+ messages in thread
From: Alexander Kanavin @ 2020-01-13 18:01 UTC (permalink / raw)
  To: Carlos Rafael Giani; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 5868 bytes --]

I have reproduced this just now. You need to set up a special 'nodistro'
configuration like this:

bblayers.conf:
BBLAYERS ?= " \
  /home/alexander/development/poky/meta \
"
(and no other layers)

local.conf:

MACHINE ??= "qemuarm"
DISTRO ?= "nodistro"
INHERIT += 'uninative'
require conf/distro/include/yocto-uninative.inc
... (dl_dir, sstate etc)

and build gstreamer1.0-plugins-base.

Alex


On Mon, 13 Jan 2020 at 16:38, Carlos Rafael Giani <crg7475@mailbox.org>
wrote:

> Except that there is no such package. Also, even if I build GStreamer
> from scratch with all optional packageconfigs disabled, I do not get
> this error, nor do I get any warnings about potentially missing
> dependencies. So, I don't know what is going on here..
>
> On 13.01.20 13:59, Richard Purdie wrote:
> > On Mon, 2020-01-13 at 13:55 +0100, Carlos Rafael Giani wrote:
> >> Nope. This is an odd one. Are you sure there isn't a problem with
> >> the
> >> setup itself? In step2c, I see:
> >>
> >>   > ERROR: core-image-sato-1.0-r0 do_testsdk: The toolchain
> >> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-
> >> glibc/deploy/sdk/oecore-i686-armv7vet2hf-neon-toolchain-
> >> nodistro.0.sh
> >> is not built. Build it before running the tests: 'bitbake <image> -c
> >> populate_sdk' .
> > 2c fails as earlier stepd didn't build. I think the real issue is
> > step1b which says:
> >
> > | Compiler for C supports arguments -Wdeclaration-after-statement: YES
> > | Found pkg-config:
> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config
> (0.29.2)
> > | Run-time dependency x11 found: YES 1.6.9
> > | Run-time dependency glib-2.0 found: YES 2.62.4
> > | Run-time dependency gobject-2.0 found: YES 2.62.4
> > | Run-time dependency gio-2.0 found: YES 2.62.4
> > | Run-time dependency gio-unix-2.0 found: YES 2.62.4
> > | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
> > | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
> > | Dependency gtk+-3.0 skipped: feature examples disabled
> > | Dependency gtk+-x11-3.0 skipped: feature examples disabled
> > | Run-time dependency gstreamer-1.0 found: YES 1.16.1
> > | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
> > | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
> > | Found CMake: NO
> > | Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig and
> cmake)
> > | Looking for a fallback subproject for the dependency
> gstreamer-check-1.0
> > | Subproject directory not found and gstreamer.wrap file not found
> > | Subproject  subprojects/gstreamer is buildable: NO (disabling)
> > | Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer
> found: NO
> > |
> > | meson.build:309:0: ERROR: Could not find dependency gst_controller_dep
> in subproject gstreamer
> > |
> > | A full log can be found at
> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
> > | WARNING:
> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1
> exit 1 from 'exit 1'
> > |
> > NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure:
> Failed
> >
> > | Compiler for C supports arguments -Wdeclaration-after-statement: YES
> > | Found pkg-config:
> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config
> (0.29.2)
> > | Run-time dependency x11 found: YES 1.6.9
> > | Run-time dependency glib-2.0 found: YES 2.62.4
> > | Run-time dependency gobject-2.0 found: YES 2.62.4
> > | Run-time dependency gio-2.0 found: YES 2.62.4
> > | Run-time dependency gio-unix-2.0 found: YES 2.62.4
> > | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
> > | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
> > | Dependency gtk+-3.0 skipped: feature examples disabled
> > | Dependency gtk+-x11-3.0 skipped: feature examples disabled
> > | Run-time dependency gstreamer-1.0 found: YES 1.16.1
> > | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
> > | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
> > | Found CMake: NO
> > | Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig and
> cmake)
> > | Looking for a fallback subproject for the dependency
> gstreamer-check-1.0
> > | Subproject directory not found and gstreamer.wrap file not found
> > | Subproject  subprojects/gstreamer is buildable: NO (disabling)
> > | Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer
> found: NO
> > |
> > | meson.build:309:0: ERROR: Could not find dependency gst_controller_dep
> in subproject gstreamer
> > |
> > | A full log can be found at
> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
> > | WARNING:
> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1
> exit 1 from 'exit 1'
> > |
> > NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure:
> Failed
> >
> > missing a check dependency?
> >
> > Cheers,
> >
> > Richard
> >
> >
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 7075 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 04/12] gstreamer1.0-plugins-good: Transition to meson based builds
  2020-01-13 14:50     ` Carlos Rafael Giani
@ 2020-01-13 19:48       ` Khem Raj
  0 siblings, 0 replies; 32+ messages in thread
From: Khem Raj @ 2020-01-13 19:48 UTC (permalink / raw)
  To: Carlos Rafael Giani; +Cc: Patches and discussions about the oe-core layer

On Mon, Jan 13, 2020 at 03:50:09PM +0100, Carlos Rafael Giani wrote:
> Actually, you have a point. I seem to have forgotten to fix this in this
> patch. With meson, it appears that the meta-qt5 bbappend is no longer
> necessary, since meson finds the Qt5 moc/rcc/uic tools on its own, so a
> packageconfig could be added right here. However, I'd like to investigate
> that moc/rcc/uic autodetection more to be sure it does not bring with it
> some "surprises" that could bite us in the behind when doing production
> builds.

I think that might be better

> 
> On 13.01.20 01:52, Khem Raj wrote:
> > On Sun, Jan 12, 2020 at 6:33 AM Carlos Rafael Giani <crg7475@mailbox.org> wrote:
> > > * Removed autotools/M4 related patch
> > >    0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch.
> > > 
> > > * gtk-doc support is handled here, not in gstreamer1.0-plugins-common.inc,
> > >      since unlike with autotools, only some plugin set packages use gtk-doc.
> > > 
> > > * zlib is no longer optional, and glib anyway depends on zlib, therefore
> > >      it gets added to the DEPENDS list.
> > > 
> > > * gettext handling now part of gstreamer1.0-plugins-common.inc.
> > > 
> > > Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
> > > ---
> > >   .../gstreamer1.0-plugins-good_1.16.1.bb       | 79 +++++++++----------
> > >   1 file changed, 38 insertions(+), 41 deletions(-)
> > > 
> > > diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
> > > index 0fa7b86ffe..a6eb9986dd 100644
> > > --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
> > > +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.1.bb
> > > @@ -1,8 +1,7 @@
> > > -require gstreamer1.0-plugins.inc
> > > +require gstreamer1.0-plugins-common.inc
> > > 
> > >   SRC_URI = " \
> > >               https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
> > > -            file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
> > >               "
> > > 
> > >   SRC_URI[md5sum] = "515987ee763256840a11bd8ea098f2bf"
> > > @@ -15,42 +14,41 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
> > >                       file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
> > >                       file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
> > > 
> > > -DEPENDS += "gstreamer1.0-plugins-base libcap"
> > > +DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
> > >   RPROVIDES_${PN}-pulseaudio += "${PN}-pulse"
> > >   RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
> > > 
> > > -inherit gettext
> > > -
> > >   PACKAGECONFIG ??= " \
> > >       ${GSTREAMER_ORC} \
> > >       ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
> > > -    bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 zlib \
> > > +    bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \
> > >   "
> > > 
> > >   X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
> > > +X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
> > > +X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
> > > 
> > > -PACKAGECONFIG[bz2]        = "--enable-bz2,--disable-bz2,bzip2"
> > > -PACKAGECONFIG[cairo]      = "--enable-cairo,--disable-cairo,cairo"
> > > -PACKAGECONFIG[dv1394]     = "--enable-dv1394,--disable-dv1394,libiec61883 libavc1394 libraw1394"
> > > -PACKAGECONFIG[flac]       = "--enable-flac,--disable-flac,flac"
> > > -PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf"
> > > -PACKAGECONFIG[gtk]        = "--enable-gtk3,--disable-gtk3,gtk+3"
> > > -PACKAGECONFIG[gudev]      = "--with-gudev,--without-gudev,libgudev"
> > > -PACKAGECONFIG[jack]       = "--enable-jack,--disable-jack,jack"
> > > -PACKAGECONFIG[jpeg]       = "--enable-jpeg,--disable-jpeg,jpeg"
> > > -PACKAGECONFIG[lame]       = "--enable-lame,--disable-lame,lame"
> > > -PACKAGECONFIG[libpng]     = "--enable-libpng,--disable-libpng,libpng"
> > > -PACKAGECONFIG[libv4l2]    = "--with-libv4l2,--without-libv4l2,v4l-utils"
> > > -PACKAGECONFIG[mpg123]     = "--enable-mpg123,--disable-mpg123,mpg123"
> > > -PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
> > > -PACKAGECONFIG[soup]       = "--enable-soup,--disable-soup,libsoup-2.4"
> > > -PACKAGECONFIG[speex]      = "--enable-speex,--disable-speex,speex"
> > > -PACKAGECONFIG[taglib]     = "--enable-taglib,--disable-taglib,taglib"
> > > -PACKAGECONFIG[v4l2]       = "--enable-gst_v4l2 --enable-v4l2-probe,--disable-gst_v4l2"
> > > -PACKAGECONFIG[vpx]        = "--enable-vpx,--disable-vpx,libvpx"
> > > -PACKAGECONFIG[wavpack]    = "--enable-wavpack,--disable-wavpack,wavpack"
> > > -PACKAGECONFIG[x11]        = "--enable-x,--disable-x,${X11DEPENDS}"
> > > -PACKAGECONFIG[zlib]       = "--enable-zlib,--disable-zlib,zlib"
> > > +PACKAGECONFIG[bz2]        = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
> > > +PACKAGECONFIG[cairo]      = "-Dcairo=enabled,-Dcairo=disabled,cairo"
> > > +PACKAGECONFIG[dv1394]     = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394"
> > > +PACKAGECONFIG[flac]       = "-Dflac=enabled,-Dflac=disabled,flac"
> > > +PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf"
> > > +PACKAGECONFIG[gtk]        = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3"
> > > +PACKAGECONFIG[gudev]      = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev"
> > > +PACKAGECONFIG[jack]       = "-Djack=enabled,-Djack=disabled,jack"
> > > +PACKAGECONFIG[jpeg]       = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
> > > +PACKAGECONFIG[lame]       = "-Dlame=enabled,-Dlame=disabled,lame"
> > > +PACKAGECONFIG[libpng]     = "-Dpng=enabled,-Dpng=disabled,libpng"
> > > +PACKAGECONFIG[libv4l2]    = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
> > > +PACKAGECONFIG[mpg123]     = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
> > > +PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
> > > +PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
> > > +PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
> > > +PACKAGECONFIG[taglib]     = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
> > > +PACKAGECONFIG[v4l2]       = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false"
> > > +PACKAGECONFIG[vpx]        = "-Dvpx=enabled,-Dvpx=disabled,libvpx"
> > > +PACKAGECONFIG[wavpack]    = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
> > > +PACKAGECONFIG[x11]        = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
> > > 
> > >   # qt5 support is disabled, because it is not present in OE core, and requires more work than
> > >   # just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
> > > @@ -58,19 +56,18 @@ PACKAGECONFIG[zlib]       = "--enable-zlib,--disable-zlib,zlib"
> > >   # in a gstreamer1.0-plugins-good bbappend).
> > > 
> > >   EXTRA_OECONF += " \
> > > -    --enable-oss \
> > > -    --disable-aalib \
> > > -    --disable-aalibtest \
> > > -    --disable-directsound \
> > > -    --disable-libcaca \
> > > -    --disable-libdv \
> > > -    --disable-oss4 \
> > > -    --disable-osx_audio \
> > > -    --disable-osx_video \
> > > -    --disable-qt \
> > Dont disable it explicitly, meta-qt5 will has a packageconfig for it.
> > 
> > > -    --disable-shout2 \
> > > -    --disable-twolame \
> > > -    --disable-waveform \
> > > +    -Daalib=disabled \
> > > +    -Ddirectsound=disabled \
> > > +    -Ddv=disabled \
> > > +    -Dlibcaca=disabled \
> > > +    -Doss=enabled \
> > > +    -Doss4=disabled \
> > > +    -Dosxaudio=disabled \
> > > +    -Dosxvideo=disabled \
> > > +    -Dqt=disabled \
> > > +    -Dshout2=disabled \
> > > +    -Dtwolame=disabled \
> > > +    -Dwaveform=disabled \
> > >   "
> > > 
> > >   FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
> > > --
> > > 2.17.1
> > > 
> > > --
> > > _______________________________________________
> > > Openembedded-core mailing list
> > > Openembedded-core@lists.openembedded.org
> > > http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-13 12:18 ` [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Richard Purdie
  2020-01-13 12:55   ` Carlos Rafael Giani
@ 2020-01-13 19:52   ` Khem Raj
  1 sibling, 0 replies; 32+ messages in thread
From: Khem Raj @ 2020-01-13 19:52 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

On Mon, Jan 13, 2020 at 12:18:32PM +0000, Richard Purdie wrote:
> On Sun, 2020-01-12 at 14:59 +0100, Carlos Rafael Giani wrote:
> > * gstreamer1.0-plugins-common.inc
> >   The old gstreamer1.0-plugins.inc file, adapted for meson
> > * gstreamer1.0-plugins-packaging.inc
> >   The old gst-plugins-package.inc file, adapted for meson
> > * gstreamer1.0-ptest.inc
> >   Common code for meson based PTest support; autogenerates the run-ptest
> >   file and is designed to use the gnome-desktop-testing suite runner
> >   (which is why the .inc files inherits from ptest-gnome)
> > 
> > Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
> > ---
> >  .../gstreamer/gstreamer1.0-plugins-common.inc | 47 +++++++++++++
> >  .../gstreamer1.0-plugins-packaging.inc        | 70 +++++++++++++++++++
> >  .../gstreamer/gstreamer1.0-ptest.inc          | 21 ++++++
> >  3 files changed, 138 insertions(+)
> >  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
> >  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
> >  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
> 
> Thanks for this, I know its not an easy patch set to sort out!
> 
> I ran it on the autobuilder for testing since there was bandwidth
> available and there was one issue:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/1455
> 
> which was in a plain OE-Core + bitbake build (no poky, so nodistro).
> 
> Any idea what is wrong there?

gcc: fatal error: cannot execute ‘cc1obj’: execvp: No such file or directory

seems it needs objC ?

> 
> Cheers,
> 
> Richard
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-13 18:01         ` Alexander Kanavin
@ 2020-01-14 15:51           ` Alexander Kanavin
  2020-01-14 18:37             ` Carlos Rafael Giani
  0 siblings, 1 reply; 32+ messages in thread
From: Alexander Kanavin @ 2020-01-14 15:51 UTC (permalink / raw)
  To: Carlos Rafael Giani; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 6202 bytes --]

I just sent a patch for this, and for the ptest issue. Should be good to
merge now!

Alex

On Mon, 13 Jan 2020 at 19:01, Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> I have reproduced this just now. You need to set up a special 'nodistro'
> configuration like this:
>
> bblayers.conf:
> BBLAYERS ?= " \
>   /home/alexander/development/poky/meta \
> "
> (and no other layers)
>
> local.conf:
>
> MACHINE ??= "qemuarm"
> DISTRO ?= "nodistro"
> INHERIT += 'uninative'
> require conf/distro/include/yocto-uninative.inc
> ... (dl_dir, sstate etc)
>
> and build gstreamer1.0-plugins-base.
>
> Alex
>
>
> On Mon, 13 Jan 2020 at 16:38, Carlos Rafael Giani <crg7475@mailbox.org>
> wrote:
>
>> Except that there is no such package. Also, even if I build GStreamer
>> from scratch with all optional packageconfigs disabled, I do not get
>> this error, nor do I get any warnings about potentially missing
>> dependencies. So, I don't know what is going on here..
>>
>> On 13.01.20 13:59, Richard Purdie wrote:
>> > On Mon, 2020-01-13 at 13:55 +0100, Carlos Rafael Giani wrote:
>> >> Nope. This is an odd one. Are you sure there isn't a problem with
>> >> the
>> >> setup itself? In step2c, I see:
>> >>
>> >>   > ERROR: core-image-sato-1.0-r0 do_testsdk: The toolchain
>> >> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-
>> >> glibc/deploy/sdk/oecore-i686-armv7vet2hf-neon-toolchain-
>> >> nodistro.0.sh
>> >> is not built. Build it before running the tests: 'bitbake <image> -c
>> >> populate_sdk' .
>> > 2c fails as earlier stepd didn't build. I think the real issue is
>> > step1b which says:
>> >
>> > | Compiler for C supports arguments -Wdeclaration-after-statement: YES
>> > | Found pkg-config:
>> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config
>> (0.29.2)
>> > | Run-time dependency x11 found: YES 1.6.9
>> > | Run-time dependency glib-2.0 found: YES 2.62.4
>> > | Run-time dependency gobject-2.0 found: YES 2.62.4
>> > | Run-time dependency gio-2.0 found: YES 2.62.4
>> > | Run-time dependency gio-unix-2.0 found: YES 2.62.4
>> > | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
>> > | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
>> > | Dependency gtk+-3.0 skipped: feature examples disabled
>> > | Dependency gtk+-x11-3.0 skipped: feature examples disabled
>> > | Run-time dependency gstreamer-1.0 found: YES 1.16.1
>> > | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
>> > | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
>> > | Found CMake: NO
>> > | Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig
>> and cmake)
>> > | Looking for a fallback subproject for the dependency
>> gstreamer-check-1.0
>> > | Subproject directory not found and gstreamer.wrap file not found
>> > | Subproject  subprojects/gstreamer is buildable: NO (disabling)
>> > | Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer
>> found: NO
>> > |
>> > | meson.build:309:0: ERROR: Could not find dependency
>> gst_controller_dep in subproject gstreamer
>> > |
>> > | A full log can be found at
>> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
>> > | WARNING:
>> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1
>> exit 1 from 'exit 1'
>> > |
>> > NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure:
>> Failed
>> >
>> > | Compiler for C supports arguments -Wdeclaration-after-statement: YES
>> > | Found pkg-config:
>> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config
>> (0.29.2)
>> > | Run-time dependency x11 found: YES 1.6.9
>> > | Run-time dependency glib-2.0 found: YES 2.62.4
>> > | Run-time dependency gobject-2.0 found: YES 2.62.4
>> > | Run-time dependency gio-2.0 found: YES 2.62.4
>> > | Run-time dependency gio-unix-2.0 found: YES 2.62.4
>> > | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
>> > | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
>> > | Dependency gtk+-3.0 skipped: feature examples disabled
>> > | Dependency gtk+-x11-3.0 skipped: feature examples disabled
>> > | Run-time dependency gstreamer-1.0 found: YES 1.16.1
>> > | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
>> > | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
>> > | Found CMake: NO
>> > | Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig
>> and cmake)
>> > | Looking for a fallback subproject for the dependency
>> gstreamer-check-1.0
>> > | Subproject directory not found and gstreamer.wrap file not found
>> > | Subproject  subprojects/gstreamer is buildable: NO (disabling)
>> > | Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer
>> found: NO
>> > |
>> > | meson.build:309:0: ERROR: Could not find dependency
>> gst_controller_dep in subproject gstreamer
>> > |
>> > | A full log can be found at
>> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
>> > | WARNING:
>> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1
>> exit 1 from 'exit 1'
>> > |
>> > NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure:
>> Failed
>> >
>> > missing a check dependency?
>> >
>> > Cheers,
>> >
>> > Richard
>> >
>> >
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>

[-- Attachment #2: Type: text/html, Size: 7588 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-14 15:51           ` Alexander Kanavin
@ 2020-01-14 18:37             ` Carlos Rafael Giani
  2020-01-14 18:55               ` Khem Raj
  0 siblings, 1 reply; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-14 18:37 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 7597 bytes --]

Nice find! But, there is still one issue Khem found, regarding errors in 
meta-multimedia plugins: https://errors.yoctoproject.org/Errors/Build/96752/

This, and the discussion about the qt5 packageconfig, means to me that a 
v2 set is warranted. What do you think?

On 14.01.20 16:51, Alexander Kanavin wrote:
> I just sent a patch for this, and for the ptest issue. Should be good 
> to merge now!
>
> Alex
>
> On Mon, 13 Jan 2020 at 19:01, Alexander Kanavin 
> <alex.kanavin@gmail.com <mailto:alex.kanavin@gmail.com>> wrote:
>
>     I have reproduced this just now. You need to set up a special
>     'nodistro' configuration like this:
>
>     bblayers.conf:
>     BBLAYERS ?= " \
>       /home/alexander/development/poky/meta \
>     "
>     (and no other layers)
>
>     local.conf:
>
>     MACHINE ??= "qemuarm"
>     DISTRO ?= "nodistro"
>     INHERIT += 'uninative'
>     require conf/distro/include/yocto-uninative.inc
>     ... (dl_dir, sstate etc)
>
>     and build gstreamer1.0-plugins-base.
>
>     Alex
>
>
>     On Mon, 13 Jan 2020 at 16:38, Carlos Rafael Giani
>     <crg7475@mailbox.org <mailto:crg7475@mailbox.org>> wrote:
>
>         Except that there is no such package. Also, even if I build
>         GStreamer
>         from scratch with all optional packageconfigs disabled, I do
>         not get
>         this error, nor do I get any warnings about potentially missing
>         dependencies. So, I don't know what is going on here..
>
>         On 13.01.20 13:59, Richard Purdie wrote:
>         > On Mon, 2020-01-13 at 13:55 +0100, Carlos Rafael Giani wrote:
>         >> Nope. This is an odd one. Are you sure there isn't a
>         problem with
>         >> the
>         >> setup itself? In step2c, I see:
>         >>
>         >>   > ERROR: core-image-sato-1.0-r0 do_testsdk: The toolchain
>         >> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-
>         >> glibc/deploy/sdk/oecore-i686-armv7vet2hf-neon-toolchain-
>         >> nodistro.0.sh <http://nodistro.0.sh>
>         >> is not built. Build it before running the tests: 'bitbake
>         <image> -c
>         >> populate_sdk' .
>         > 2c fails as earlier stepd didn't build. I think the real
>         issue is
>         > step1b which says:
>         >
>         > | Compiler for C supports arguments
>         -Wdeclaration-after-statement: YES
>         > | Found pkg-config:
>         /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config
>         (0.29.2)
>         > | Run-time dependency x11 found: YES 1.6.9
>         > | Run-time dependency glib-2.0 found: YES 2.62.4
>         > | Run-time dependency gobject-2.0 found: YES 2.62.4
>         > | Run-time dependency gio-2.0 found: YES 2.62.4
>         > | Run-time dependency gio-unix-2.0 found: YES 2.62.4
>         > | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
>         > | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
>         > | Dependency gtk+-3.0 skipped: feature examples disabled
>         > | Dependency gtk+-x11-3.0 skipped: feature examples disabled
>         > | Run-time dependency gstreamer-1.0 found: YES 1.16.1
>         > | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
>         > | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
>         > | Found CMake: NO
>         > | Run-time dependency gstreamer-check-1.0 found: NO (tried
>         pkgconfig and cmake)
>         > | Looking for a fallback subproject for the dependency
>         gstreamer-check-1.0
>         > | Subproject directory not found and gstreamer.wrap file not
>         found
>         > | Subproject  subprojects/gstreamer is buildable: NO (disabling)
>         > | Dependency gstreamer-check-1.0 from subproject
>         subprojects/gstreamer found: NO
>         > |
>         > | meson.build:309:0: ERROR: Could not find dependency
>         gst_controller_dep in subproject gstreamer
>         > |
>         > | A full log can be found at
>         /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
>         > | WARNING:
>         /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1
>         exit 1 from 'exit 1'
>         > |
>         > NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task
>         do_configure: Failed
>         >
>         > | Compiler for C supports arguments
>         -Wdeclaration-after-statement: YES
>         > | Found pkg-config:
>         /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config
>         (0.29.2)
>         > | Run-time dependency x11 found: YES 1.6.9
>         > | Run-time dependency glib-2.0 found: YES 2.62.4
>         > | Run-time dependency gobject-2.0 found: YES 2.62.4
>         > | Run-time dependency gio-2.0 found: YES 2.62.4
>         > | Run-time dependency gio-unix-2.0 found: YES 2.62.4
>         > | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
>         > | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
>         > | Dependency gtk+-3.0 skipped: feature examples disabled
>         > | Dependency gtk+-x11-3.0 skipped: feature examples disabled
>         > | Run-time dependency gstreamer-1.0 found: YES 1.16.1
>         > | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
>         > | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
>         > | Found CMake: NO
>         > | Run-time dependency gstreamer-check-1.0 found: NO (tried
>         pkgconfig and cmake)
>         > | Looking for a fallback subproject for the dependency
>         gstreamer-check-1.0
>         > | Subproject directory not found and gstreamer.wrap file not
>         found
>         > | Subproject  subprojects/gstreamer is buildable: NO (disabling)
>         > | Dependency gstreamer-check-1.0 from subproject
>         subprojects/gstreamer found: NO
>         > |
>         > | meson.build:309:0: ERROR: Could not find dependency
>         gst_controller_dep in subproject gstreamer
>         > |
>         > | A full log can be found at
>         /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
>         > | WARNING:
>         /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1
>         exit 1 from 'exit 1'
>         > |
>         > NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task
>         do_configure: Failed
>         >
>         > missing a check dependency?
>         >
>         > Cheers,
>         >
>         > Richard
>         >
>         >
>         -- 
>         _______________________________________________
>         Openembedded-core mailing list
>         Openembedded-core@lists.openembedded.org
>         <mailto:Openembedded-core@lists.openembedded.org>
>         http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 11224 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-14 18:37             ` Carlos Rafael Giani
@ 2020-01-14 18:55               ` Khem Raj
  2020-01-14 19:13                 ` Carlos Rafael Giani
  0 siblings, 1 reply; 32+ messages in thread
From: Khem Raj @ 2020-01-14 18:55 UTC (permalink / raw)
  To: Carlos Rafael Giani; +Cc: OE-core

On Tue, Jan 14, 2020 at 10:37 AM Carlos Rafael Giani
<crg7475@mailbox.org> wrote:
>
> Nice find! But, there is still one issue Khem found, regarding errors in meta-multimedia plugins: https://errors.yoctoproject.org/Errors/Build/96752/
>

I have already fixed them. Also sent a patch to enable debug in
gstreamer to support shark plugin

https://patchwork.openembedded.org/patch/168874/
https://git.openembedded.org/meta-openembedded/commit/?id=ea8604a0e3fe38a5a49690b1b92b5b4964e7b5da
https://git.openembedded.org/meta-openembedded/commit/?id=449fe9920555d815dadb295d2fce61935486bce8

> This, and the discussion about the qt5 packageconfig, means to me that a v2 set is warranted. What
do you think?

There is a packageconfig in a bbappend that I plan to propose once its in.

https://github.com/YoeDistro/meta-qt5/commit/cf2505af20c67f975dc4630e6c45e19f15103ef1

perhaps it could be in main recipe instead of bbappend.

>
> On 14.01.20 16:51, Alexander Kanavin wrote:
>
> I just sent a patch for this, and for the ptest issue. Should be good to merge now!
>
> Alex
>
> On Mon, 13 Jan 2020 at 19:01, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>>
>> I have reproduced this just now. You need to set up a special 'nodistro' configuration like this:
>>
>> bblayers.conf:
>> BBLAYERS ?= " \
>>   /home/alexander/development/poky/meta \
>> "
>> (and no other layers)
>>
>> local.conf:
>>
>> MACHINE ??= "qemuarm"
>> DISTRO ?= "nodistro"
>> INHERIT += 'uninative'
>> require conf/distro/include/yocto-uninative.inc
>> ... (dl_dir, sstate etc)
>>
>> and build gstreamer1.0-plugins-base.
>>
>> Alex
>>
>>
>> On Mon, 13 Jan 2020 at 16:38, Carlos Rafael Giani <crg7475@mailbox.org> wrote:
>>>
>>> Except that there is no such package. Also, even if I build GStreamer
>>> from scratch with all optional packageconfigs disabled, I do not get
>>> this error, nor do I get any warnings about potentially missing
>>> dependencies. So, I don't know what is going on here..
>>>
>>> On 13.01.20 13:59, Richard Purdie wrote:
>>> > On Mon, 2020-01-13 at 13:55 +0100, Carlos Rafael Giani wrote:
>>> >> Nope. This is an odd one. Are you sure there isn't a problem with
>>> >> the
>>> >> setup itself? In step2c, I see:
>>> >>
>>> >>   > ERROR: core-image-sato-1.0-r0 do_testsdk: The toolchain
>>> >> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-
>>> >> glibc/deploy/sdk/oecore-i686-armv7vet2hf-neon-toolchain-
>>> >> nodistro.0.sh
>>> >> is not built. Build it before running the tests: 'bitbake <image> -c
>>> >> populate_sdk' .
>>> > 2c fails as earlier stepd didn't build. I think the real issue is
>>> > step1b which says:
>>> >
>>> > | Compiler for C supports arguments -Wdeclaration-after-statement: YES
>>> > | Found pkg-config: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config (0.29.2)
>>> > | Run-time dependency x11 found: YES 1.6.9
>>> > | Run-time dependency glib-2.0 found: YES 2.62.4
>>> > | Run-time dependency gobject-2.0 found: YES 2.62.4
>>> > | Run-time dependency gio-2.0 found: YES 2.62.4
>>> > | Run-time dependency gio-unix-2.0 found: YES 2.62.4
>>> > | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
>>> > | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
>>> > | Dependency gtk+-3.0 skipped: feature examples disabled
>>> > | Dependency gtk+-x11-3.0 skipped: feature examples disabled
>>> > | Run-time dependency gstreamer-1.0 found: YES 1.16.1
>>> > | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
>>> > | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
>>> > | Found CMake: NO
>>> > | Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig and cmake)
>>> > | Looking for a fallback subproject for the dependency gstreamer-check-1.0
>>> > | Subproject directory not found and gstreamer.wrap file not found
>>> > | Subproject  subprojects/gstreamer is buildable: NO (disabling)
>>> > | Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer found: NO
>>> > |
>>> > | meson.build:309:0: ERROR: Could not find dependency gst_controller_dep in subproject gstreamer
>>> > |
>>> > | A full log can be found at /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
>>> > | WARNING: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1 exit 1 from 'exit 1'
>>> > |
>>> > NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure: Failed
>>> >
>>> > | Compiler for C supports arguments -Wdeclaration-after-statement: YES
>>> > | Found pkg-config: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config (0.29.2)
>>> > | Run-time dependency x11 found: YES 1.6.9
>>> > | Run-time dependency glib-2.0 found: YES 2.62.4
>>> > | Run-time dependency gobject-2.0 found: YES 2.62.4
>>> > | Run-time dependency gio-2.0 found: YES 2.62.4
>>> > | Run-time dependency gio-unix-2.0 found: YES 2.62.4
>>> > | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
>>> > | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
>>> > | Dependency gtk+-3.0 skipped: feature examples disabled
>>> > | Dependency gtk+-x11-3.0 skipped: feature examples disabled
>>> > | Run-time dependency gstreamer-1.0 found: YES 1.16.1
>>> > | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
>>> > | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
>>> > | Found CMake: NO
>>> > | Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig and cmake)
>>> > | Looking for a fallback subproject for the dependency gstreamer-check-1.0
>>> > | Subproject directory not found and gstreamer.wrap file not found
>>> > | Subproject  subprojects/gstreamer is buildable: NO (disabling)
>>> > | Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer found: NO
>>> > |
>>> > | meson.build:309:0: ERROR: Could not find dependency gst_controller_dep in subproject gstreamer
>>> > |
>>> > | A full log can be found at /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
>>> > | WARNING: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1 exit 1 from 'exit 1'
>>> > |
>>> > NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure: Failed
>>> >
>>> > missing a check dependency?
>>> >
>>> > Cheers,
>>> >
>>> > Richard
>>> >
>>> >
>>> --
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-14 18:55               ` Khem Raj
@ 2020-01-14 19:13                 ` Carlos Rafael Giani
  0 siblings, 0 replies; 32+ messages in thread
From: Carlos Rafael Giani @ 2020-01-14 19:13 UTC (permalink / raw)
  To: Khem Raj; +Cc: OE-core

Hm alright, then I guess there are no showstoppers for merging anymore. 
The qt5 thing can be added in a followup commit.

On 14.01.20 19:55, Khem Raj wrote:
> On Tue, Jan 14, 2020 at 10:37 AM Carlos Rafael Giani
> <crg7475@mailbox.org> wrote:
>> Nice find! But, there is still one issue Khem found, regarding errors in meta-multimedia plugins: https://errors.yoctoproject.org/Errors/Build/96752/
>>
> I have already fixed them. Also sent a patch to enable debug in
> gstreamer to support shark plugin
>
> https://patchwork.openembedded.org/patch/168874/
> https://git.openembedded.org/meta-openembedded/commit/?id=ea8604a0e3fe38a5a49690b1b92b5b4964e7b5da
> https://git.openembedded.org/meta-openembedded/commit/?id=449fe9920555d815dadb295d2fce61935486bce8
>
>> This, and the discussion about the qt5 packageconfig, means to me that a v2 set is warranted. What
> do you think?
>
> There is a packageconfig in a bbappend that I plan to propose once its in.
>
> https://github.com/YoeDistro/meta-qt5/commit/cf2505af20c67f975dc4630e6c45e19f15103ef1
>
> perhaps it could be in main recipe instead of bbappend.
>
>> On 14.01.20 16:51, Alexander Kanavin wrote:
>>
>> I just sent a patch for this, and for the ptest issue. Should be good to merge now!
>>
>> Alex
>>
>> On Mon, 13 Jan 2020 at 19:01, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>>> I have reproduced this just now. You need to set up a special 'nodistro' configuration like this:
>>>
>>> bblayers.conf:
>>> BBLAYERS ?= " \
>>>    /home/alexander/development/poky/meta \
>>> "
>>> (and no other layers)
>>>
>>> local.conf:
>>>
>>> MACHINE ??= "qemuarm"
>>> DISTRO ?= "nodistro"
>>> INHERIT += 'uninative'
>>> require conf/distro/include/yocto-uninative.inc
>>> ... (dl_dir, sstate etc)
>>>
>>> and build gstreamer1.0-plugins-base.
>>>
>>> Alex
>>>
>>>
>>> On Mon, 13 Jan 2020 at 16:38, Carlos Rafael Giani <crg7475@mailbox.org> wrote:
>>>> Except that there is no such package. Also, even if I build GStreamer
>>>> from scratch with all optional packageconfigs disabled, I do not get
>>>> this error, nor do I get any warnings about potentially missing
>>>> dependencies. So, I don't know what is going on here..
>>>>
>>>> On 13.01.20 13:59, Richard Purdie wrote:
>>>>> On Mon, 2020-01-13 at 13:55 +0100, Carlos Rafael Giani wrote:
>>>>>> Nope. This is an odd one. Are you sure there isn't a problem with
>>>>>> the
>>>>>> setup itself? In step2c, I see:
>>>>>>
>>>>>>    > ERROR: core-image-sato-1.0-r0 do_testsdk: The toolchain
>>>>>> /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-
>>>>>> glibc/deploy/sdk/oecore-i686-armv7vet2hf-neon-toolchain-
>>>>>> nodistro.0.sh
>>>>>> is not built. Build it before running the tests: 'bitbake <image> -c
>>>>>> populate_sdk' .
>>>>> 2c fails as earlier stepd didn't build. I think the real issue is
>>>>> step1b which says:
>>>>>
>>>>> | Compiler for C supports arguments -Wdeclaration-after-statement: YES
>>>>> | Found pkg-config: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config (0.29.2)
>>>>> | Run-time dependency x11 found: YES 1.6.9
>>>>> | Run-time dependency glib-2.0 found: YES 2.62.4
>>>>> | Run-time dependency gobject-2.0 found: YES 2.62.4
>>>>> | Run-time dependency gio-2.0 found: YES 2.62.4
>>>>> | Run-time dependency gio-unix-2.0 found: YES 2.62.4
>>>>> | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
>>>>> | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
>>>>> | Dependency gtk+-3.0 skipped: feature examples disabled
>>>>> | Dependency gtk+-x11-3.0 skipped: feature examples disabled
>>>>> | Run-time dependency gstreamer-1.0 found: YES 1.16.1
>>>>> | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
>>>>> | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
>>>>> | Found CMake: NO
>>>>> | Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig and cmake)
>>>>> | Looking for a fallback subproject for the dependency gstreamer-check-1.0
>>>>> | Subproject directory not found and gstreamer.wrap file not found
>>>>> | Subproject  subprojects/gstreamer is buildable: NO (disabling)
>>>>> | Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer found: NO
>>>>> |
>>>>> | meson.build:309:0: ERROR: Could not find dependency gst_controller_dep in subproject gstreamer
>>>>> |
>>>>> | A full log can be found at /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
>>>>> | WARNING: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1 exit 1 from 'exit 1'
>>>>> |
>>>>> NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure: Failed
>>>>>
>>>>> | Compiler for C supports arguments -Wdeclaration-after-statement: YES
>>>>> | Found pkg-config: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native/usr/bin/pkg-config (0.29.2)
>>>>> | Run-time dependency x11 found: YES 1.6.9
>>>>> | Run-time dependency glib-2.0 found: YES 2.62.4
>>>>> | Run-time dependency gobject-2.0 found: YES 2.62.4
>>>>> | Run-time dependency gio-2.0 found: YES 2.62.4
>>>>> | Run-time dependency gio-unix-2.0 found: YES 2.62.4
>>>>> | Run-time dependency gmodule-no-export-2.0 found: YES 2.62.4
>>>>> | Dependency gdk-pixbuf-2.0 skipped: feature examples disabled
>>>>> | Dependency gtk+-3.0 skipped: feature examples disabled
>>>>> | Dependency gtk+-x11-3.0 skipped: feature examples disabled
>>>>> | Run-time dependency gstreamer-1.0 found: YES 1.16.1
>>>>> | Run-time dependency gstreamer-base-1.0 found: YES 1.16.1
>>>>> | Run-time dependency gstreamer-net-1.0 found: YES 1.16.1
>>>>> | Found CMake: NO
>>>>> | Run-time dependency gstreamer-check-1.0 found: NO (tried pkgconfig and cmake)
>>>>> | Looking for a fallback subproject for the dependency gstreamer-check-1.0
>>>>> | Subproject directory not found and gstreamer.wrap file not found
>>>>> | Subproject  subprojects/gstreamer is buildable: NO (disabling)
>>>>> | Dependency gstreamer-check-1.0 from subproject subprojects/gstreamer found: NO
>>>>> |
>>>>> | meson.build:309:0: ERROR: Could not find dependency gst_controller_dep in subproject gstreamer
>>>>> |
>>>>> | A full log can be found at /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/build/meson-logs/meson-log.txt
>>>>> | WARNING: /home/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp-glibc/work/armv7vet2hf-neon-oe-linux-gnueabi/gstreamer1.0-plugins-base/1.16.1-r0/temp/run.do_configure.46093:1 exit 1 from 'exit 1'
>>>>> |
>>>>> NOTE: recipe gstreamer1.0-plugins-base-1.16.1-r0: task do_configure: Failed
>>>>>
>>>>> missing a check dependency?
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Richard
>>>>>
>>>>>
>>>> --
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core@lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 02/12] gstreamer1.0: Transition to meson based builds
  2020-01-12 13:59 ` [PATCH 02/12] gstreamer1.0: Transition to meson based builds Carlos Rafael Giani
@ 2020-01-15  2:49   ` Peter Kjellerstedt
  2020-01-16 14:42     ` Ross Burton
  0 siblings, 1 reply; 32+ messages in thread
From: Peter Kjellerstedt @ 2020-01-15  2:49 UTC (permalink / raw)
  To: Carlos Rafael Giani, openembedded-core

> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org <openembedded-core-
> bounces@lists.openembedded.org> On Behalf Of Carlos Rafael Giani
> Sent: den 12 januari 2020 15:00
> To: openembedded-core@lists.openembedded.org
> Subject: [OE-core] [PATCH 02/12] gstreamer1.0: Transition to meson based
> builds
> 
> * Moved 0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
>   from files/ to gstreamer1.0/ since it is gstreamer1.0 recipe specific.
> 
> * Removed M4 specific patches:
>   - 0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
>   - gtk-doc-tweaks.patch
>   - add-a-target-to-compile-tests.patch
> 
> * Added patches:
>   - 0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
>     Backport for enabling GIR support in meson based cross compilation
>   - 0002-meson-Add-valgrind-feature.patch
>     Make valgrind support configurable to be able to control it through
>     a "valgrind" packageconfig
>   - 0003-meson-Add-option-for-installed-tests.patch
>     Add support for installable tests and for generating .test and shell
>     scripts which can be used with the gnome-desktop-testing suite runner
> 
> * PTest support:
>   By default, GStreamer does not allow for installing tests, and requires
>   meson to run its unit tests. The 0003 patch fixes this by installing
>   the binaries themselves and by generating accompanying .test and shell
>   scripts. The scripts set up the required environment files and then
>   call the test binaries. The .test file list the shell scripts as
>   Exec= command line.
> 
> Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
> ---
>  ...der.c-when-env-var-is-set-do-not-fal.patch |   0
>  ...even-when-cross-compiling-if-introsp.patch |  36 +++
>  .../0003-meson-Add-valgrind-feature.patch     |  74 +++++
>  ...meson-Add-option-for-installed-tests.patch | 257 ++++++++++++++++++
>  .../gstreamer/gstreamer1.0_1.16.1.bb          |  93 +++----
>  5 files changed, 404 insertions(+), 56 deletions(-)
>  rename meta/recipes-multimedia/gstreamer/{files => gstreamer1.0}/0001-
> gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch (100%)
>  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-
> meson-build-gir-even-when-cross-compiling-if-introsp.patch
>  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-
> meson-Add-valgrind-feature.patch
>  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-
> meson-Add-option-for-installed-tests.patch

[cut]

> 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+"
> 
>  DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native"
> 
> -inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc ptest
> -
> -# This way common/m4/introspection.m4 will come first
> -# (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file)
> -acpaths = "-I ${S}/common/m4 -I ${S}/m4"
> +inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc
> 
>  LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
> 
> file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
> @@ -21,71 +17,56 @@ S = "${WORKDIR}/gstreamer-${PV}"
> 
>  SRC_URI = " \
>      https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
> -    file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
> -    file://gtk-doc-tweaks.patch \
>      file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
> -    file://add-a-target-to-compile-tests.patch \
> -    file://run-ptest \
> +    file://0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
> +    file://0003-meson-Add-valgrind-feature.patch \
> +    file://0004-meson-Add-option-for-installed-tests.patch \
>  "
>  SRC_URI[md5sum] = "c505fb818b36988daaa846e9e63eabe8"
>  SRC_URI[sha256sum] = "02211c3447c4daa55919c5c0f43a82a6fbb51740d57fc3af0639d46f1cf4377d"
> 
>  PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
> -                   "
> -
> -PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
> -PACKAGECONFIG[tests] = "--enable-tests,--disable-tests"
> -PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
> -PACKAGECONFIG[gst-tracer-hooks] = "--enable-gst-tracer-hooks,--disable-gst-tracer-hooks,"
> -PACKAGECONFIG[unwind] = "--with-unwind,--without-unwind,libunwind"
> -PACKAGECONFIG[dw] = "--with-dw,--without-dw,elfutils"
> -
> -EXTRA_OECONF = " \
> -    --disable-examples \
> +                   tools"
> +
> +PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"

To avoid confusion, you might want to call that PACKAGECONFIG 
"gst-debug" instead since -Dgst_debug=true corresponds to the old 
--enable-gst-debug, not --enable-debug (for which there does not 
seem to be a corresponding new Meson option).

I find it interesting though that there does not seem to have ever 
been a PACKAGECONFIG for --enable-gst-debug, which means it used 
to default to being enabled. (We have always disabled it for our 
production code due to the performance overhead added by having 
the GStreamer debug system enabled.)

> +PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
> +PACKAGECONFIG[tests] = "-Dcheck=enabled -Dtests=enabled -Dinstalled-tests=true,-Dcheck=disabled -Dtests=disabled -Dinstalled-tests=false"
> +PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind,"
> +PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
> +PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
> +PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
> +PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
> +

//Peter



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 04/12] gstreamer1.0-plugins-good: Transition to meson based builds
  2020-01-12 13:59 ` [PATCH 04/12] gstreamer1.0-plugins-good: " Carlos Rafael Giani
  2020-01-13  0:52   ` Khem Raj
@ 2020-01-16 14:40   ` Ross Burton
  2020-01-20  4:49   ` Mittal, Anuj
  2 siblings, 0 replies; 32+ messages in thread
From: Ross Burton @ 2020-01-16 14:40 UTC (permalink / raw)
  To: Carlos Rafael Giani, openembedded-core

Changes to images/qemux86_64/glibc/core-image-sato 
(installed-package-names.txt):
   gstreamer1.0-plugins-good-monoscope was added
   gstreamer1.0-plugins-good-oss4 was added

These were not being built with autotools.  Do we want them to be 
enabled out of the box and do we want PACKAGECONFIGs for them?

(the minimal-impact response would be no and yes)

Ross


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 02/12] gstreamer1.0: Transition to meson based builds
  2020-01-15  2:49   ` Peter Kjellerstedt
@ 2020-01-16 14:42     ` Ross Burton
  0 siblings, 0 replies; 32+ messages in thread
From: Ross Burton @ 2020-01-16 14:42 UTC (permalink / raw)
  To: Peter Kjellerstedt, Carlos Rafael Giani, openembedded-core

Changes to packages/core2-64-poky-linux/gstreamer1.0 (sysroot):
   /usr/share/bash-completion/helpers/gst was removed
   /usr/share/bash-completion/helpers was removed
   /usr/share/bash-completion/completions/gst-launch-1.0 was removed
   /usr/share/bash-completion/completions was removed

Bash completion was on by default previously.  Also there's a class to 
package it neatly.

Ross


^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes
  2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
                   ` (12 preceding siblings ...)
  2020-01-13 17:37 ` Alexander Kanavin
@ 2020-01-16 22:42 ` Richard Purdie
  13 siblings, 0 replies; 32+ messages in thread
From: Richard Purdie @ 2020-01-16 22:42 UTC (permalink / raw)
  To: Carlos Rafael Giani, openembedded-core

On Sun, 2020-01-12 at 14:59 +0100, Carlos Rafael Giani wrote:
> * gstreamer1.0-plugins-common.inc
>   The old gstreamer1.0-plugins.inc file, adapted for meson
> * gstreamer1.0-plugins-packaging.inc
>   The old gst-plugins-package.inc file, adapted for meson
> * gstreamer1.0-ptest.inc
>   Common code for meson based PTest support; autogenerates the run-
> ptest
>   file and is designed to use the gnome-desktop-testing suite runner
>   (which is why the .inc files inherits from ptest-gnome)
> 
> Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
> ---
>  .../gstreamer/gstreamer1.0-plugins-common.inc | 47 +++++++++++++
>  .../gstreamer1.0-plugins-packaging.inc        | 70
> +++++++++++++++++++
>  .../gstreamer/gstreamer1.0-ptest.inc          | 21 ++++++
>  3 files changed, 138 insertions(+)
>  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-
> plugins-common.inc
>  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-
> plugins-packaging.inc
>  create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-
> ptest.inc

FWIW I've merged this series with some of the fixes that were also
sent. I've done this on the basis that its the correct direction we're
going and whilst there are some gremlins to sort out such as the issue
Ross mentions, some of the comments/options and so on, we may as well
move forward and we can fix those things as follow ups.

Thanks again for working on this, I know its not a simple change!

Cheers,

Richard



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 04/12] gstreamer1.0-plugins-good: Transition to meson based builds
  2020-01-12 13:59 ` [PATCH 04/12] gstreamer1.0-plugins-good: " Carlos Rafael Giani
  2020-01-13  0:52   ` Khem Raj
  2020-01-16 14:40   ` Ross Burton
@ 2020-01-20  4:49   ` Mittal, Anuj
  2 siblings, 0 replies; 32+ messages in thread
From: Mittal, Anuj @ 2020-01-20  4:49 UTC (permalink / raw)
  To: openembedded-core, crg7475

On Sun, 2020-01-12 at 14:59 +0100, Carlos Rafael Giani wrote:
>  # qt5 support is disabled, because it is not present in OE core, and
> requires more work than
>  # just adding a packageconfig (it requires access to moc, uic, rcc,
> and qmake paths).
> @@ -58,19 +56,18 @@ PACKAGECONFIG[zlib]       = "--enable-zlib,
> --disable-zlib,zlib"
>  # in a gstreamer1.0-plugins-good bbappend).
>  
>  EXTRA_OECONF += " \

This should have been EXTRA_OEMESON.

> -    --enable-oss \
> -    --disable-aalib \
> -    --disable-aalibtest \
> -    --disable-directsound \
> -    --disable-libcaca \
> -    --disable-libdv \
> -    --disable-oss4 \
> -    --disable-osx_audio \
> -    --disable-osx_video \
> -    --disable-qt \
> -    --disable-shout2 \
> -    --disable-twolame \
> -    --disable-waveform \
> +    -Daalib=disabled \
> +    -Ddirectsound=disabled \
> +    -Ddv=disabled \
> +    -Dlibcaca=disabled \
> +    -Doss=enabled \
> +    -Doss4=disabled \
> +    -Dosxaudio=disabled \
> +    -Dosxvideo=disabled \
> +    -Dqt=disabled \

and this should be qt5?

Thanks,

Anuj

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2020-01-20  4:49 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-12 13:59 [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Carlos Rafael Giani
2020-01-12 13:59 ` [PATCH 02/12] gstreamer1.0: Transition to meson based builds Carlos Rafael Giani
2020-01-15  2:49   ` Peter Kjellerstedt
2020-01-16 14:42     ` Ross Burton
2020-01-12 13:59 ` [PATCH 03/12] gstreamer1.0-plugins-base: " Carlos Rafael Giani
2020-01-12 13:59 ` [PATCH 04/12] gstreamer1.0-plugins-good: " Carlos Rafael Giani
2020-01-13  0:52   ` Khem Raj
2020-01-13 14:10     ` Adrian Bunk
2020-01-13 14:50     ` Carlos Rafael Giani
2020-01-13 19:48       ` Khem Raj
2020-01-16 14:40   ` Ross Burton
2020-01-20  4:49   ` Mittal, Anuj
2020-01-12 13:59 ` [PATCH 05/12] gstreamer1.0-plugins-bad: " Carlos Rafael Giani
2020-01-12 13:59 ` [PATCH 06/12] gstreamer1.0-plugins-ugly: " Carlos Rafael Giani
2020-01-12 13:59 ` [PATCH 07/12] gstreamer1.0-libav: " Carlos Rafael Giani
2020-01-12 13:59 ` [PATCH 08/12] gstreamer1.0-vaapi: " Carlos Rafael Giani
2020-01-12 13:59 ` [PATCH 09/12] gstreamer1.0-omx: Transition to meson based build Carlos Rafael Giani
2020-01-12 13:59 ` [PATCH 10/12] gstreamer1.0-rtsp-server: " Carlos Rafael Giani
2020-01-12 13:59 ` [PATCH 11/12] gst-validate: Move recipe specific patch to dedicated subdirectory Carlos Rafael Giani
2020-01-12 13:59 ` [PATCH 12/12] gstreamer: Remove unused common files and patches Carlos Rafael Giani
2020-01-13 12:18 ` [PATCH 01/12] gstreamer: Add common .inc files for meson based recipes Richard Purdie
2020-01-13 12:55   ` Carlos Rafael Giani
2020-01-13 12:59     ` Richard Purdie
2020-01-13 15:37       ` Carlos Rafael Giani
2020-01-13 18:01         ` Alexander Kanavin
2020-01-14 15:51           ` Alexander Kanavin
2020-01-14 18:37             ` Carlos Rafael Giani
2020-01-14 18:55               ` Khem Raj
2020-01-14 19:13                 ` Carlos Rafael Giani
2020-01-13 19:52   ` Khem Raj
2020-01-13 17:37 ` Alexander Kanavin
2020-01-16 22:42 ` Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.