All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support
@ 2020-03-15 20:10 aduskett at gmail.com
  2020-03-15 20:10 ` [Buildroot] [PATCH 2/6] package/gstreamer1/gst1-plugins-base: " aduskett at gmail.com
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: aduskett at gmail.com @ 2020-03-15 20:10 UTC (permalink / raw)
  To: buildroot

From: Adam Duskett <Aduskett@gmail.com>

If gobject-introspection is selected, explicitly set -Dintrospection=enabled in
the configure options and add a dependency for gobject-introspection.

This feature requires an upstream patch that allows introspection support even
when cross-compiling.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
---
 ...hen-cross-compiling-if-introspection.patch | 36 +++++++++++++++++++
 package/gstreamer1/gstreamer1/gstreamer1.mk   |  8 ++++-
 2 files changed, 43 insertions(+), 1 deletion(-)
 create mode 100644 package/gstreamer1/gstreamer1/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch

diff --git a/package/gstreamer1/gstreamer1/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch b/package/gstreamer1/gstreamer1/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch
new file mode 100644
index 0000000000..fc290f6cc0
--- /dev/null
+++ b/package/gstreamer1/gstreamer1/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch
@@ -0,0 +1,36 @@
+From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001
+From: Tim Philipp <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 commit: 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8
+Signed-off-by: Tim Philipp <tim@centricular.com>
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 90d98d8eb00..a47e7f34e8a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -453,7 +453,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.24.1
+
diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk
index 4eb3158b8f..47615aad1f 100644
--- a/package/gstreamer1/gstreamer1/gstreamer1.mk
+++ b/package/gstreamer1/gstreamer1/gstreamer1.mk
@@ -16,7 +16,6 @@ GSTREAMER1_CONF_OPTS = \
 	-Dtests=disabled \
 	-Dbenchmarks=disabled \
 	-Dgtk_doc=disabled \
-	-Dintrospection=disabled \
 	-Dglib-asserts=disabled \
 	-Dglib-checks=disabled \
 	-Dgobject-cast-checks=disabled \
@@ -36,6 +35,13 @@ GSTREAMER1_DEPENDENCIES = \
 	$(if $(BR2_PACKAGE_VALGRIND),valgrind) \
 	$(TARGET_NLS_DEPENDENCIES)
 
+ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
+GSTREAMER1_CONF_OPTS += -Dintrospection=enabled
+GSTREAMER1_DEPENDENCIES += gobject-introspection
+else
+GSTREAMER1_CONF_OPTS += -Dintrospection=disabled
+endif
+
 GSTREAMER1_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)
 
 $(eval $(meson-package))
-- 
2.24.1

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

* [Buildroot] [PATCH 2/6] package/gstreamer1/gst1-plugins-base: add introspection support
  2020-03-15 20:10 [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support aduskett at gmail.com
@ 2020-03-15 20:10 ` aduskett at gmail.com
  2020-03-15 20:10 ` [Buildroot] [PATCH 3/6] package/gstreamer1/gst1-plugins-bad: " aduskett at gmail.com
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: aduskett at gmail.com @ 2020-03-15 20:10 UTC (permalink / raw)
  To: buildroot

From: Adam Duskett <Aduskett@gmail.com>

If gobject-introspection is selected, explicitly set -Dintrospection=enabled in
the configure options and add a dependency for gobject-introspection.

This feature requires an upstream patch that allows introspection support even
when cross-compiling.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
---
 ...hen-cross-compiling-if-introspection.patch | 35 +++++++++++++++++++
 .../gst1-plugins-base/gst1-plugins-base.mk    | 11 ++++--
 2 files changed, 44 insertions(+), 2 deletions(-)
 create mode 100644 package/gstreamer1/gst1-plugins-base/0002-meson-build-gir-even-when-cross-compiling-if-introspection.patch

diff --git a/package/gstreamer1/gst1-plugins-base/0002-meson-build-gir-even-when-cross-compiling-if-introspection.patch b/package/gstreamer1/gst1-plugins-base/0002-meson-build-gir-even-when-cross-compiling-if-introspection.patch
new file mode 100644
index 0000000000..a6cca0a4be
--- /dev/null
+++ b/package/gstreamer1/gst1-plugins-base/0002-meson-build-gir-even-when-cross-compiling-if-introspection.patch
@@ -0,0 +1,35 @@
+From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001
+From: Tim Philipp <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.
+
+See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
+
+Upstream commit: 30672ba7d134553e59935ddc875104adba26f25c
+Signed-off-by: Tim Philipp <tim@centricular.com>
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ 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
+@@ -371,7 +371,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.24.1
diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
index ccecbb3c08..fe80f4751c 100644
--- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
+++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
@@ -17,8 +17,7 @@ GST1_PLUGINS_BASE_CONF_OPTS = \
 	-Dgobject-cast-checks=disabled \
 	-Dglib-asserts=disabled \
 	-Dglib-checks=disabled \
-	-Dgtk_doc=disabled \
-	-Dintrospection=disabled
+	-Dgtk_doc=disabled
 
 # Options which require currently unpackaged libraries
 GST1_PLUGINS_BASE_CONF_OPTS += \
@@ -37,6 +36,14 @@ GST1_PLUGINS_BASE_DEPENDENCIES = gstreamer1 $(TARGET_NLS_DEPENDENCIES)
 GST1_PLUGINS_BASE_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)
 
 # These plugins are listed in the order from ./configure --help
+
+ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
+GST1_PLUGINS_BASE_CONF_OPTS += -Dintrospection=enabled
+GST1_PLUGINS_BASE_DEPENDENCIES += gobject-introspection
+else
+GST1_PLUGINS_BASE_CONF_OPTS += -Dintrospection=disabled
+endif
+
 ifeq ($(BR2_PACKAGE_ORC),y)
 GST1_PLUGINS_BASE_DEPENDENCIES += orc
 GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=enabled
-- 
2.24.1

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

* [Buildroot] [PATCH 3/6] package/gstreamer1/gst1-plugins-bad: add introspection support
  2020-03-15 20:10 [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support aduskett at gmail.com
  2020-03-15 20:10 ` [Buildroot] [PATCH 2/6] package/gstreamer1/gst1-plugins-base: " aduskett at gmail.com
@ 2020-03-15 20:10 ` aduskett at gmail.com
  2020-03-15 20:10 ` [Buildroot] [PATCH 4/6] package/gstreamer1/gst1-rtsp-server: " aduskett at gmail.com
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: aduskett at gmail.com @ 2020-03-15 20:10 UTC (permalink / raw)
  To: buildroot

From: Adam Duskett <Aduskett@gmail.com>

If gobject-introspection is selected, explicitly set -Dintrospection=enabled in
the configure options and add a dependency for gobject-introspection.

This feature requires an upstream patch that allows introspection support even
when cross-compiling.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
---
 ...hen-cross-compiling-if-introspection.patch | 36 +++++++++++++++++++
 .../gst1-plugins-bad/gst1-plugins-bad.mk      |  8 ++++-
 2 files changed, 43 insertions(+), 1 deletion(-)
 create mode 100644 package/gstreamer1/gst1-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch

diff --git a/package/gstreamer1/gst1-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch b/package/gstreamer1/gst1-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch
new file mode 100644
index 0000000000..dd3b6eca7d
--- /dev/null
+++ b/package/gstreamer1/gst1-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch
@@ -0,0 +1,36 @@
+From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001
+From: Tim Philipp <tim@centricular.com>
+Date: Fri, 18 Oct 2019 00:39: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 commit: 97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19
+Signed-off-by: Tim Philipp <tim@centricular.com>
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 67aeeb4d03..7b3314bd9f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -405,7 +405,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.24.1
+
diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk
index ef36e4dc0a..e020c587d3 100644
--- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk
+++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk
@@ -23,7 +23,6 @@ GST1_PLUGINS_BAD_CONF_OPTS = \
 	-Dwinks=disabled \
 	-Dandroidmedia=disabled \
 	-Dapplemedia=disabled \
-	-Dintrospection=disabled \
 	-Dgobject-cast-checks=disabled \
 	-Dglib-asserts=disabled \
 	-Dglib-checks=disabled
@@ -63,6 +62,13 @@ GST1_PLUGINS_BAD_CONF_OPTS += \
 
 GST1_PLUGINS_BAD_DEPENDENCIES = gst1-plugins-base gstreamer1
 
+ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
+GST1_PLUGINS_BAD_CONF_OPTS += -Dintrospection=enabled
+GST1_PLUGINS_BAD_DEPENDENCIES += gobject-introspection
+else
+GST1_PLUGINS_BAD_CONF_OPTS += -Dintrospection=disabled
+endif
+
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),y)
 GST1_PLUGINS_BAD_CONF_OPTS += -Dwayland=enabled
 GST1_PLUGINS_BAD_DEPENDENCIES += libdrm wayland wayland-protocols
-- 
2.24.1

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

* [Buildroot] [PATCH 4/6] package/gstreamer1/gst1-rtsp-server: add introspection support
  2020-03-15 20:10 [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support aduskett at gmail.com
  2020-03-15 20:10 ` [Buildroot] [PATCH 2/6] package/gstreamer1/gst1-plugins-base: " aduskett at gmail.com
  2020-03-15 20:10 ` [Buildroot] [PATCH 3/6] package/gstreamer1/gst1-plugins-bad: " aduskett at gmail.com
@ 2020-03-15 20:10 ` aduskett at gmail.com
  2020-03-15 20:10 ` [Buildroot] [PATCH 5/6] package/gstreamer1/gst1-python: new package aduskett at gmail.com
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: aduskett at gmail.com @ 2020-03-15 20:10 UTC (permalink / raw)
  To: buildroot

From: Adam Duskett <Aduskett@gmail.com>

If gobject-introspection is selected, explicitly set -Dintrospection=enabled in
the configure options and add a dependency for gobject-introspection.

This feature requires an upstream patch that allows introspection support even
when cross-compiling.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
---
 ...hen-cross-compiling-if-introspection.patch | 36 +++++++++++++++++++
 .../gst1-rtsp-server/gst1-rtsp-server.mk      |  8 ++++-
 2 files changed, 43 insertions(+), 1 deletion(-)
 create mode 100644 package/gstreamer1/gst1-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch

diff --git a/package/gstreamer1/gst1-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch b/package/gstreamer1/gst1-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch
new file mode 100644
index 0000000000..0adf6d4e47
--- /dev/null
+++ b/package/gstreamer1/gst1-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch
@@ -0,0 +1,36 @@
+From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001
+From: Tim Philipp <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 commit: 95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47
+Signed-off-by: Tim Philipp <tim@centricular.com>
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ 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.24.1
+
diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk
index df873ad732..13653565bd 100644
--- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk
+++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk
@@ -25,11 +25,17 @@ GST1_RTSP_SERVER_CONF_OPTS = \
 GST1_RTSP_SERVER_CONF_OPTS += \
 	-Dexamples=disabled \
 	-Dtests=disabled \
-	-Dintrospection=disabled \
 	-Dgobject-cast-checks=disabled \
 	-Dglib-asserts=disabled \
 	-Dglib-checks=disabled
 
+ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
+GST1_RTSP_SERVER_CONF_OPTS += -Dintrospection=enabled
+GST1_RTSP_SERVER_DEPENDENCIES += gobject-introspection
+else
+GST1_RTSP_SERVER_CONF_OPTS += -Dintrospection=disabled
+endif
+
 ifeq ($(BR2_PACKAGE_LIBCGROUP),y)
 GST1_RTSP_SERVER_DEPENDENCIES += libcgroup
 endif
-- 
2.24.1

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

* [Buildroot] [PATCH 5/6] package/gstreamer1/gst1-python: new package
  2020-03-15 20:10 [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support aduskett at gmail.com
                   ` (2 preceding siblings ...)
  2020-03-15 20:10 ` [Buildroot] [PATCH 4/6] package/gstreamer1/gst1-rtsp-server: " aduskett at gmail.com
@ 2020-03-15 20:10 ` aduskett at gmail.com
  2020-03-15 20:42   ` Adam Duskett
  2020-03-15 20:10 ` [Buildroot] [PATCH 6/6] support/testing: add gst1-python test case aduskett at gmail.com
  2020-03-22 13:19 ` [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support Yann E. MORIN
  5 siblings, 1 reply; 8+ messages in thread
From: aduskett at gmail.com @ 2020-03-15 20:10 UTC (permalink / raw)
  To: buildroot

From: Adam Duskett <Aduskett@gmail.com>

GStreamer Python binding overrides.

This package also includes a simple upstream patch that fixes building against
python-3.8.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
---
 DEVELOPERS                                    |  1 +
 package/gstreamer1/Config.in                  |  1 +
 .../0001-fix-builds-with-python-3.8.patch     | 43 +++++++++++++++++++
 package/gstreamer1/gst1-python/Config.in      | 24 +++++++++++
 .../gstreamer1/gst1-python/gst1-python.hash   |  3 ++
 package/gstreamer1/gst1-python/gst1-python.mk | 32 ++++++++++++++
 6 files changed, 104 insertions(+)
 create mode 100644 package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch
 create mode 100644 package/gstreamer1/gst1-python/Config.in
 create mode 100644 package/gstreamer1/gst1-python/gst1-python.hash
 create mode 100644 package/gstreamer1/gst1-python/gst1-python.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 5394150e5a..36b7f618aa 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -38,6 +38,7 @@ F:	package/gstreamer1/gst1-plugins-bad/
 F:	package/gstreamer1/gst1-plugins-base/
 F:	package/gstreamer1/gst1-plugins-good/
 F:	package/gstreamer1/gst1-plugins-ugly/
+F:	package/gstreamer1/gst1-python/
 F:	package/gstreamer1/gst1-vaapi/
 F:	package/imx-usb-loader/
 F:	package/janus-gateway/
diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in
index bb5c1d2af8..0e47d78e68 100644
--- a/package/gstreamer1/Config.in
+++ b/package/gstreamer1/Config.in
@@ -11,6 +11,7 @@ source "package/gstreamer1/gst1-plugins-ugly/Config.in"
 source "package/gstreamer1/gst1-imx/Config.in"
 source "package/gstreamer1/gst1-interpipe/Config.in"
 source "package/gstreamer1/gst1-libav/Config.in"
+source "package/gstreamer1/gst1-python/Config.in"
 source "package/gstreamer1/gst1-rtsp-server/Config.in"
 source "package/gstreamer1/gst1-shark/Config.in"
 source "package/gstreamer1/gst1-validate/Config.in"
diff --git a/package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch b/package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch
new file mode 100644
index 0000000000..edff445a7a
--- /dev/null
+++ b/package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch
@@ -0,0 +1,43 @@
+From 10707f437f2fc3632067c6a0efa4432f7ebaf362 Mon Sep 17 00:00:00 2001
+From: Sebastian Dr?ge <sebastian@centricular.com>
+Date: Fri, 13 Dec 2019 10:46:20 +0200
+Subject: [PATCH] backport of "fix build with Python 3.8 by also checking for
+ python-3.X-embed.pc"
+
+Since Python 3.8 the normal checks don't include the Python libraries
+anymore and linking of the gst-python module would fail.
+
+See also https://github.com/mesonbuild/meson/issues/5629
+
+Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28
+
+Upstream commit: 22f28155d86e27c4134de4ed2861264003fcfd23
+
+Signed-off-by: Sebastian Dr?ge <sebastian@centricular.com>
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ meson.build | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index 744b7ce..492af1a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -25,6 +25,14 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d
+ pymod = import('python')
+ python = pymod.find_installation(get_option('python'))
+ python_dep = python.dependency(required : true)
++pythonver = python.language_version()
++
++# Workaround for https://github.com/mesonbuild/meson/issues/5629
++# https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28
++python_dep = dependency('python- at 0@-embed'.format(pythonver), version: '>=3', required: false)
++if not python_dep.found()
++  python_dep = python.dependency(required : true)
++endif
+ 
+ python_abi_flags = python.get_variable('ABIFLAGS', '')
+ pylib_loc = get_option('libpython-dir')
+-- 
+2.24.1
+
diff --git a/package/gstreamer1/gst1-python/Config.in b/package/gstreamer1/gst1-python/Config.in
new file mode 100644
index 0000000000..9149703354
--- /dev/null
+++ b/package/gstreamer1/gst1-python/Config.in
@@ -0,0 +1,24 @@
+config BR2_PACKAGE_GST1_PYTHON
+	bool "gst1-python"
+	depends on BR2_USE_MMU # libglib2, gobject-introspection
+	depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS # gobject-introspection
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection
+	depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection
+	depends on BR2_PACKAGE_PYTHON3 # gobject-introspection
+	select BR2_PACKAGE_GOBJECT_INTROSPECTION
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_PYTHON_GOBJECT
+	help
+	  GStreamer python overrides for the gobject-introspection-based
+	  pygst bindings.
+
+	  https://gstreamer.freedesktop.org/modules/gst-python.html
+
+comment "gst1-python needs python3"
+	depends on !BR2_PACKAGE_PYTHON3
+
+comment "gst1-python needs a glibc toolchain, gcc >= 4.9"
+	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
+	depends on !BR2_TOOLCHAIN_USES_GLIBC || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
diff --git a/package/gstreamer1/gst1-python/gst1-python.hash b/package/gstreamer1/gst1-python/gst1-python.hash
new file mode 100644
index 0000000000..1d3c687dd4
--- /dev/null
+++ b/package/gstreamer1/gst1-python/gst1-python.hash
@@ -0,0 +1,3 @@
+# From https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.16.2.tar.xz.sha256sum
+sha256  208df3148d73d9f416d016564737585d8ea763d91201732d44b5fe688c6288a8  gst-python-1.16.2.tar.xz
+sha256  ea3ad127610e5ded2210b3a86a46314f2b3b28e438eccffdae19a4d6fbcdb0c2  COPYING
diff --git a/package/gstreamer1/gst1-python/gst1-python.mk b/package/gstreamer1/gst1-python/gst1-python.mk
new file mode 100644
index 0000000000..f0a3bacd1f
--- /dev/null
+++ b/package/gstreamer1/gst1-python/gst1-python.mk
@@ -0,0 +1,32 @@
+################################################################################
+#
+# gst1-python
+#
+################################################################################
+
+GST1_PYTHON_VERSION = 1.16.2
+GST1_PYTHON_SOURCE = gst-python-$(GST1_PYTHON_VERSION).tar.xz
+GST1_PYTHON_SITE = https://gstreamer.freedesktop.org/src/gst-python
+GST1_PYTHON_INSTALL_STAGING = YES
+GST1_PYTHON_LICENSE_FILES = COPYING
+GST1_PYTHON_LICENSE = LGPL-2.1+
+
+GST1_PYTHON_DEPENDENCIES = \
+	gstreamer1 \
+	python-gobject
+
+# A sysconfigdata_name must be manually specified or the resulting .so
+# will have a x86_64 prefix, which causes "from gi.repository import Gst"
+# to fail.A pythonpath must be specified or the host python path will be used resulting
+# in a "not a valid python" error.
+GST1_PYTHON_CONF_ENV += \
+	_PYTHON_SYSCONFIGDATA_NAME=$(PKG_PYTHON_SYSCONFIGDATA_NAME) \
+	PYTHONPATH=$(PYTHON3_PATH)
+
+# Due to the CONF_ENV options, libpython-dir must be set to the host directory
+# or else the error: "Python dynamic library path could not be determined"
+# will occure
+GST1_PYTHON_CONF_OPTS += \
+	-Dlibpython-dir=$(HOST_DIR)/lib/python3.8
+
+$(eval $(meson-package))
-- 
2.24.1

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

* [Buildroot] [PATCH 6/6] support/testing: add gst1-python test case
  2020-03-15 20:10 [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support aduskett at gmail.com
                   ` (3 preceding siblings ...)
  2020-03-15 20:10 ` [Buildroot] [PATCH 5/6] package/gstreamer1/gst1-python: new package aduskett at gmail.com
@ 2020-03-15 20:10 ` aduskett at gmail.com
  2020-03-22 13:19 ` [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support Yann E. MORIN
  5 siblings, 0 replies; 8+ messages in thread
From: aduskett at gmail.com @ 2020-03-15 20:10 UTC (permalink / raw)
  To: buildroot

From: Adam Duskett <Aduskett@gmail.com>

This test case runs a simple pipeline for 100 frames to ensure that
gst1-python works properly.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
---
 .gitlab-ci.yml                                |  1 +
 DEVELOPERS                                    |  1 +
 .../tests/package/sample_gst1_python.py       | 21 ++++++++++++++
 .../testing/tests/package/test_gst1_python.py | 29 +++++++++++++++++++
 4 files changed, 52 insertions(+)
 create mode 100644 support/testing/tests/package/sample_gst1_python.py
 create mode 100644 support/testing/tests/package/test_gst1_python.py

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4b84a5b709..e6363014e9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -383,6 +383,7 @@ tests.package.test_crudini.TestCrudiniPy3: { extends: .runtime_test }
 tests.package.test_docker_compose.TestDockerCompose: { extends: .runtime_test }
 tests.package.test_dropbear.TestDropbear: { extends: .runtime_test }
 tests.package.test_glxinfo.TestGlxinfo: { extends: .runtime_test }
+tests.package.test_gst1_python.TestGst1Python: { extends: .runtime_test }
 tests.package.test_ipython.TestIPythonPy3: { extends: .runtime_test }
 tests.package.test_libftdi1.TestPythonPy2Libftdi1: { extends: .runtime_test }
 tests.package.test_libftdi1.TestPythonPy3Libftdi1: { extends: .runtime_test }
diff --git a/DEVELOPERS b/DEVELOPERS
index 36b7f618aa..ec33506c08 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -85,6 +85,7 @@ F:	package/setools/
 F:	package/sngrep/
 F:	package/spidermonkey/
 F:	package/systemd/
+F:	support/testing/tests/package/test_gst1_python.py
 F:	support/testing/tests/package/test_python_gobject.py
 
 N:	Adam Heinrich <adam@adamh.cz>
diff --git a/support/testing/tests/package/sample_gst1_python.py b/support/testing/tests/package/sample_gst1_python.py
new file mode 100644
index 0000000000..41eccbe5fd
--- /dev/null
+++ b/support/testing/tests/package/sample_gst1_python.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python
+"""A simple test that uses gst1-python to run a fake videotestsrc for 100 frames"""
+import sys
+import gi
+import time
+gi.require_version('Gst', '1.0')
+from gi.repository import Gst, GLib
+
+
+def main():
+    # Initializes Gstreamer
+    Gst.init(sys.argv)
+    pipeline = Gst.parse_launch("videotestsrc num-buffers=100 ! autovideosink")
+    bus = pipeline.get_bus()
+    bus.add_signal_watch()
+    pipeline.set_state(Gst.State.PLAYING)
+    loop = GLib.MainLoop()
+    bus.connect("message", on_message, loop)
+    loop.run()
+    pipeline.set_state(Gst.State.EOS)
+    exit(0)
\ No newline at end of file
diff --git a/support/testing/tests/package/test_gst1_python.py b/support/testing/tests/package/test_gst1_python.py
new file mode 100644
index 0000000000..8d6efcbe4a
--- /dev/null
+++ b/support/testing/tests/package/test_gst1_python.py
@@ -0,0 +1,29 @@
+import os
+from tests.package.test_python import TestPythonPackageBase
+
+
+class TestGst1Python(TestPythonPackageBase):
+    __test__ = True
+    config = TestPythonPackageBase.config + \
+        """
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TARGET_ROOTFS_CPIO=y
+        BR2_cortex_a9=y
+        BR2_ARM_ENABLE_VFP=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y
+        BR2_PACKAGE_GOBJECT_INTROSPECTION=y
+        BR2_PACKAGE_GSTREAMER1=y
+        BR2_PACKAGE_GST1_PYTHON=y
+        BR2_PACKAGE_PYTHON3=y
+        BR2_PACKAGE_PYTHON_GOBJECT=y
+        """
+
+    def login(self):
+        cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
+        self.emulator.boot(arch="armv7",
+                           kernel="builtin",
+                           options=["-initrd", cpio_file])
+        self.emulator.login()
+    sample_scripts = ["tests/package/sample_gst1_python.py"]
+
-- 
2.24.1

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

* [Buildroot] [PATCH 5/6] package/gstreamer1/gst1-python: new package
  2020-03-15 20:10 ` [Buildroot] [PATCH 5/6] package/gstreamer1/gst1-python: new package aduskett at gmail.com
@ 2020-03-15 20:42   ` Adam Duskett
  0 siblings, 0 replies; 8+ messages in thread
From: Adam Duskett @ 2020-03-15 20:42 UTC (permalink / raw)
  To: buildroot

All;

On Sun, Mar 15, 2020 at 1:10 PM <aduskett@gmail.com> wrote:
>
> From: Adam Duskett <Aduskett@gmail.com>
>
> GStreamer Python binding overrides.
>
> This package also includes a simple upstream patch that fixes building against
> python-3.8.
>
> Signed-off-by: Adam Duskett <Aduskett@gmail.com>
> ---
>  DEVELOPERS                                    |  1 +
>  package/gstreamer1/Config.in                  |  1 +
>  .../0001-fix-builds-with-python-3.8.patch     | 43 +++++++++++++++++++
>  package/gstreamer1/gst1-python/Config.in      | 24 +++++++++++
>  .../gstreamer1/gst1-python/gst1-python.hash   |  3 ++
>  package/gstreamer1/gst1-python/gst1-python.mk | 32 ++++++++++++++
>  6 files changed, 104 insertions(+)
>  create mode 100644 package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch
>  create mode 100644 package/gstreamer1/gst1-python/Config.in
>  create mode 100644 package/gstreamer1/gst1-python/gst1-python.hash
>  create mode 100644 package/gstreamer1/gst1-python/gst1-python.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 5394150e5a..36b7f618aa 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -38,6 +38,7 @@ F:    package/gstreamer1/gst1-plugins-bad/
>  F:     package/gstreamer1/gst1-plugins-base/
>  F:     package/gstreamer1/gst1-plugins-good/
>  F:     package/gstreamer1/gst1-plugins-ugly/
> +F:     package/gstreamer1/gst1-python/
>  F:     package/gstreamer1/gst1-vaapi/
>  F:     package/imx-usb-loader/
>  F:     package/janus-gateway/
> diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in
> index bb5c1d2af8..0e47d78e68 100644
> --- a/package/gstreamer1/Config.in
> +++ b/package/gstreamer1/Config.in
> @@ -11,6 +11,7 @@ source "package/gstreamer1/gst1-plugins-ugly/Config.in"
>  source "package/gstreamer1/gst1-imx/Config.in"
>  source "package/gstreamer1/gst1-interpipe/Config.in"
>  source "package/gstreamer1/gst1-libav/Config.in"
> +source "package/gstreamer1/gst1-python/Config.in"
>  source "package/gstreamer1/gst1-rtsp-server/Config.in"
>  source "package/gstreamer1/gst1-shark/Config.in"
>  source "package/gstreamer1/gst1-validate/Config.in"
> diff --git a/package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch b/package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch
> new file mode 100644
> index 0000000000..edff445a7a
> --- /dev/null
> +++ b/package/gstreamer1/gst1-python/0001-fix-builds-with-python-3.8.patch
> @@ -0,0 +1,43 @@
> +From 10707f437f2fc3632067c6a0efa4432f7ebaf362 Mon Sep 17 00:00:00 2001
> +From: Sebastian Dr?ge <sebastian@centricular.com>
> +Date: Fri, 13 Dec 2019 10:46:20 +0200
> +Subject: [PATCH] backport of "fix build with Python 3.8 by also checking for
> + python-3.X-embed.pc"
> +
> +Since Python 3.8 the normal checks don't include the Python libraries
> +anymore and linking of the gst-python module would fail.
> +
> +See also https://github.com/mesonbuild/meson/issues/5629
> +
> +Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28
> +
> +Upstream commit: 22f28155d86e27c4134de4ed2861264003fcfd23
> +
> +Signed-off-by: Sebastian Dr?ge <sebastian@centricular.com>
> +Signed-off-by: Adam Duskett <aduskett@gmail.com>
> +---
> + meson.build | 8 ++++++++
> + 1 file changed, 8 insertions(+)
> +
> +diff --git a/meson.build b/meson.build
> +index 744b7ce..492af1a 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -25,6 +25,14 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d
> + pymod = import('python')
> + python = pymod.find_installation(get_option('python'))
> + python_dep = python.dependency(required : true)
> ++pythonver = python.language_version()
> ++
> ++# Workaround for https://github.com/mesonbuild/meson/issues/5629
> ++# https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28
> ++python_dep = dependency('python- at 0@-embed'.format(pythonver), version: '>=3', required: false)
> ++if not python_dep.found()
> ++  python_dep = python.dependency(required : true)
> ++endif
> +
> + python_abi_flags = python.get_variable('ABIFLAGS', '')
> + pylib_loc = get_option('libpython-dir')
> +--
> +2.24.1
> +
> diff --git a/package/gstreamer1/gst1-python/Config.in b/package/gstreamer1/gst1-python/Config.in
> new file mode 100644
> index 0000000000..9149703354
> --- /dev/null
> +++ b/package/gstreamer1/gst1-python/Config.in
> @@ -0,0 +1,24 @@
> +config BR2_PACKAGE_GST1_PYTHON
> +       bool "gst1-python"
> +       depends on BR2_USE_MMU # libglib2, gobject-introspection
> +       depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS # gobject-introspection
> +       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection
> +       depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection
> +       depends on BR2_PACKAGE_PYTHON3 # gobject-introspection
> +       select BR2_PACKAGE_GOBJECT_INTROSPECTION
> +       select BR2_PACKAGE_LIBGLIB2
> +       select BR2_PACKAGE_PYTHON_GOBJECT
> +       help
> +         GStreamer python overrides for the gobject-introspection-based
> +         pygst bindings.
> +
> +         https://gstreamer.freedesktop.org/modules/gst-python.html
> +
> +comment "gst1-python needs python3"
> +       depends on !BR2_PACKAGE_PYTHON3
> +
> +comment "gst1-python needs a glibc toolchain, gcc >= 4.9"
> +       depends on BR2_USE_MMU
> +       depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
> +       depends on !BR2_TOOLCHAIN_USES_GLIBC || \
> +               !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
> diff --git a/package/gstreamer1/gst1-python/gst1-python.hash b/package/gstreamer1/gst1-python/gst1-python.hash
> new file mode 100644
> index 0000000000..1d3c687dd4
> --- /dev/null
> +++ b/package/gstreamer1/gst1-python/gst1-python.hash
> @@ -0,0 +1,3 @@
> +# From https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.16.2.tar.xz.sha256sum
> +sha256  208df3148d73d9f416d016564737585d8ea763d91201732d44b5fe688c6288a8  gst-python-1.16.2.tar.xz
> +sha256  ea3ad127610e5ded2210b3a86a46314f2b3b28e438eccffdae19a4d6fbcdb0c2  COPYING
> diff --git a/package/gstreamer1/gst1-python/gst1-python.mk b/package/gstreamer1/gst1-python/gst1-python.mk
> new file mode 100644
> index 0000000000..f0a3bacd1f
> --- /dev/null
> +++ b/package/gstreamer1/gst1-python/gst1-python.mk
> @@ -0,0 +1,32 @@
> +################################################################################
> +#
> +# gst1-python
> +#
> +################################################################################
> +
> +GST1_PYTHON_VERSION = 1.16.2
> +GST1_PYTHON_SOURCE = gst-python-$(GST1_PYTHON_VERSION).tar.xz
> +GST1_PYTHON_SITE = https://gstreamer.freedesktop.org/src/gst-python
> +GST1_PYTHON_INSTALL_STAGING = YES
> +GST1_PYTHON_LICENSE_FILES = COPYING
> +GST1_PYTHON_LICENSE = LGPL-2.1+
> +
> +GST1_PYTHON_DEPENDENCIES = \
> +       gstreamer1 \
> +       python-gobject
> +
> +# A sysconfigdata_name must be manually specified or the resulting .so
> +# will have a x86_64 prefix, which causes "from gi.repository import Gst"
> +# to fail.A pythonpath must be specified or the host python path will be used resulting
> +# in a "not a valid python" error.
> +GST1_PYTHON_CONF_ENV += \
> +       _PYTHON_SYSCONFIGDATA_NAME=$(PKG_PYTHON_SYSCONFIGDATA_NAME) \
> +       PYTHONPATH=$(PYTHON3_PATH)
> +
> +# Due to the CONF_ENV options, libpython-dir must be set to the host directory
> +# or else the error: "Python dynamic library path could not be determined"
> +# will occure
> +GST1_PYTHON_CONF_OPTS += \
> +       -Dlibpython-dir=$(HOST_DIR)/lib/python3.8
This is a mistake that I missed. It should be
$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)

> +
> +$(eval $(meson-package))
> --
> 2.24.1
>

Adam

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

* [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support
  2020-03-15 20:10 [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support aduskett at gmail.com
                   ` (4 preceding siblings ...)
  2020-03-15 20:10 ` [Buildroot] [PATCH 6/6] support/testing: add gst1-python test case aduskett at gmail.com
@ 2020-03-22 13:19 ` Yann E. MORIN
  5 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2020-03-22 13:19 UTC (permalink / raw)
  To: buildroot

Adam, All,

On 2020-03-15 13:10 -0700, aduskett at gmail.com spake thusly:
> From: Adam Duskett <Aduskett@gmail.com>
> 
> If gobject-introspection is selected, explicitly set -Dintrospection=enabled in
> the configure options and add a dependency for gobject-introspection.
> 
> This feature requires an upstream patch that allows introspection support even
> when cross-compiling.
> 
> Signed-off-by: Adam Duskett <Aduskett@gmail.com>

Whole series applied, thanks!

Needless to say that the runtime test helped a lot getting some
confidence in the changes. Thanks! :-)

I just fixed the little not in patch 5, as you already spotted.

Regards,
Yann E. MORIN.

> ---
>  ...hen-cross-compiling-if-introspection.patch | 36 +++++++++++++++++++
>  package/gstreamer1/gstreamer1/gstreamer1.mk   |  8 ++++-
>  2 files changed, 43 insertions(+), 1 deletion(-)
>  create mode 100644 package/gstreamer1/gstreamer1/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch
> 
> diff --git a/package/gstreamer1/gstreamer1/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch b/package/gstreamer1/gstreamer1/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch
> new file mode 100644
> index 0000000000..fc290f6cc0
> --- /dev/null
> +++ b/package/gstreamer1/gstreamer1/0001-meson-build-gir-even-when-cross-compiling-if-introspection.patch
> @@ -0,0 +1,36 @@
> +From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001
> +From: Tim Philipp <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 commit: 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8
> +Signed-off-by: Tim Philipp <tim@centricular.com>
> +Signed-off-by: Adam Duskett <aduskett@gmail.com>
> +---
> + meson.build | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/meson.build b/meson.build
> +index 90d98d8eb00..a47e7f34e8a 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -453,7 +453,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.24.1
> +
> diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk
> index 4eb3158b8f..47615aad1f 100644
> --- a/package/gstreamer1/gstreamer1/gstreamer1.mk
> +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk
> @@ -16,7 +16,6 @@ GSTREAMER1_CONF_OPTS = \
>  	-Dtests=disabled \
>  	-Dbenchmarks=disabled \
>  	-Dgtk_doc=disabled \
> -	-Dintrospection=disabled \
>  	-Dglib-asserts=disabled \
>  	-Dglib-checks=disabled \
>  	-Dgobject-cast-checks=disabled \
> @@ -36,6 +35,13 @@ GSTREAMER1_DEPENDENCIES = \
>  	$(if $(BR2_PACKAGE_VALGRIND),valgrind) \
>  	$(TARGET_NLS_DEPENDENCIES)
>  
> +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
> +GSTREAMER1_CONF_OPTS += -Dintrospection=enabled
> +GSTREAMER1_DEPENDENCIES += gobject-introspection
> +else
> +GSTREAMER1_CONF_OPTS += -Dintrospection=disabled
> +endif
> +
>  GSTREAMER1_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)
>  
>  $(eval $(meson-package))
> -- 
> 2.24.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

end of thread, other threads:[~2020-03-22 13:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-15 20:10 [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support aduskett at gmail.com
2020-03-15 20:10 ` [Buildroot] [PATCH 2/6] package/gstreamer1/gst1-plugins-base: " aduskett at gmail.com
2020-03-15 20:10 ` [Buildroot] [PATCH 3/6] package/gstreamer1/gst1-plugins-bad: " aduskett at gmail.com
2020-03-15 20:10 ` [Buildroot] [PATCH 4/6] package/gstreamer1/gst1-rtsp-server: " aduskett at gmail.com
2020-03-15 20:10 ` [Buildroot] [PATCH 5/6] package/gstreamer1/gst1-python: new package aduskett at gmail.com
2020-03-15 20:42   ` Adam Duskett
2020-03-15 20:10 ` [Buildroot] [PATCH 6/6] support/testing: add gst1-python test case aduskett at gmail.com
2020-03-22 13:19 ` [Buildroot] [PATCH 1/6] package/gstreamer1/gstreamer1: add introspection support Yann E. MORIN

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.