* [Buildroot] [PATCH v2] gstreamer1-imx: new package
@ 2014-02-25 21:24 Peter Seiderer
2014-03-03 20:53 ` Yann E. MORIN
0 siblings, 1 reply; 3+ messages in thread
From: Peter Seiderer @ 2014-02-25 21:24 UTC (permalink / raw)
To: buildroot
Add gstreamer1-imx package (gstreamer-1.x equivalent to
gstreamer-0.10/gst-fsl-plugins package).
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- rename package from gstreamer-imx to gstreamer1-imx (as suggested
by Peter Korsgaard)
- add check in comment to clear gstreamer-1.x/gstreamer1-imx vs.
gst-fsl-plugins/gstreamer-0.10 (as suggested by Yann E. MORIN)
- fix copy/paste errors in Config.in (s/gst-fsl-plugins/gstreamer1-imx/)
and gstreamer1-imx.mk (s/GST_FSL_PLUGINS_DEPENDENCIES/GSTREAMER1_IMX_DEPENDENCIES/
and remove superfluously GSTREAMER_IMX_WITHOUT_X11 usage
---
package/gstreamer1/Config.in | 1 +
package/gstreamer1/gstreamer1-imx/Config.in | 21 +++++++++++++
| 31 +++++++++++++++++++
.../gstreamer1/gstreamer1-imx/gstreamer1-imx.mk | 36 ++++++++++++++++++++++
4 files changed, 89 insertions(+)
create mode 100644 package/gstreamer1/gstreamer1-imx/Config.in
create mode 100644 package/gstreamer1/gstreamer1-imx/gstreamer1-imx-0001-Add-kernel-headers-include-path-to-src-v4l2src-compi.patch
create mode 100644 package/gstreamer1/gstreamer1-imx/gstreamer1-imx.mk
diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in
index fe0ad48..7c2fe99 100644
--- a/package/gstreamer1/Config.in
+++ b/package/gstreamer1/Config.in
@@ -8,4 +8,5 @@ source "package/gstreamer1/gst1-plugins-bad/Config.in"
source "package/gstreamer1/gst1-plugins-ugly/Config.in"
source "package/gstreamer1/gst1-libav/Config.in"
source "package/gstreamer1/gst-omx/Config.in"
+source "package/gstreamer1/gstreamer1-imx/Config.in"
endif
diff --git a/package/gstreamer1/gstreamer1-imx/Config.in b/package/gstreamer1/gstreamer1-imx/Config.in
new file mode 100644
index 0000000..5753202
--- /dev/null
+++ b/package/gstreamer1/gstreamer1-imx/Config.in
@@ -0,0 +1,21 @@
+comment "gstreamer1-imx needs an imx-specific Linux kernel to be built"
+ depends on BR2_arm && !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_GSTREAMER1_IMX
+ bool "gstreamer1-imx"
+ depends on BR2_LINUX_KERNEL
+ depends on BR2_arm # Only relevant for i.MX
+ select BR2_PACKAGE_GST1_PLUGINS_BASE
+ select BR2_PACKAGE_IMX_LIB
+ select BR2_PACKAGE_LIBFSLPARSER
+ select BR2_PACKAGE_LIBFSLCODEC
+ help
+ GStreamer-1.x plugins for hardware-accelerated audio and video
+ parsers and codecs on i.MX6 platform. It requires a kernel that
+ includes the i.MX6 specific headers to be built.
+
+ To use the VPU, its firmware blob must be installed as well. This
+ can be found in the firmware-imx package in the "Hardware handling"
+ menu.
+
+ https://github.com/Freescale/gstreamer-imx
--git a/package/gstreamer1/gstreamer1-imx/gstreamer1-imx-0001-Add-kernel-headers-include-path-to-src-v4l2src-compi.patch b/package/gstreamer1/gstreamer1-imx/gstreamer1-imx-0001-Add-kernel-headers-include-path-to-src-v4l2src-compi.patch
new file mode 100644
index 0000000..48e2c16
--- /dev/null
+++ b/package/gstreamer1/gstreamer1-imx/gstreamer1-imx-0001-Add-kernel-headers-include-path-to-src-v4l2src-compi.patch
@@ -0,0 +1,31 @@
+From 107767b506de69692436205c04a002e5de0f7bee Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Sat, 22 Feb 2014 23:22:26 +0100
+Subject: [PATCH] Add kernel headers include path to src/v4l2src compile.
+
+Fixes buildroot compile with newer sysroot kernel headers
+(> 3.10 because of VIDIOC_DBG_G_CHIP_IDENT ioctl removale).
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ src/v4l2src/wscript | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/v4l2src/wscript b/src/v4l2src/wscript
+index 0b8fbb1..3013ba7 100644
+--- a/src/v4l2src/wscript
++++ b/src/v4l2src/wscript
+@@ -2,7 +2,9 @@
+
+
+ def configure(conf):
+- pass
++ import os
++ if conf.options.kernel_headers:
++ conf.env.append_value('INCLUDES', [os.path.abspath(os.path.expanduser(conf.options.kernel_headers))])
+
+
+ def build(bld):
+--
+1.8.1.4
+
diff --git a/package/gstreamer1/gstreamer1-imx/gstreamer1-imx.mk b/package/gstreamer1/gstreamer1-imx/gstreamer1-imx.mk
new file mode 100644
index 0000000..91dab48
--- /dev/null
+++ b/package/gstreamer1/gstreamer1-imx/gstreamer1-imx.mk
@@ -0,0 +1,36 @@
+################################################################################
+#
+# gstreamer1-imx
+#
+################################################################################
+
+GSTREAMER1_IMX_VERSION = 0.9.3
+GSTREAMER1_IMX_SITE = $(call github,Freescale,gstreamer-imx,$(GSTREAMER1_IMX_VERSION))
+
+GSTREAMER1_IMX_LICENSE = LGPLv2+
+GSTREAMER1_IMX_LICENSE_FILES = LICENSE
+
+GSTREAMER1_IMX_DEPENDENCIES = gstreamer1 gst1-plugins-base libfslvpuwrap \
+ imx-lib libfslparser libfslcodec
+
+# needs access to imx-specific kernel headers
+GSTREAMER1_IMX_DEPENDENCIES += linux
+
+define GSTREAMER1_IMX_CONFIGURE_CMDS
+ (cd $(@D); \
+ $(TARGET_CONFIGURE_OPTS) \
+ ./waf configure \
+ --prefix=/usr \
+ --kernel-headers=$(LINUX_DIR)/include \
+ )
+endef
+
+define GSTREAMER1_IMX_BUILD_CMDS
+ (cd $(@D); ./waf build -j $(PARALLEL_JOBS))
+endef
+
+define GSTREAMER1_IMX_INSTALL_TARGET_CMDS
+ (cd $(@D); ./waf --destdir=$(TARGET_DIR) install)
+endef
+
+$(eval $(generic-package))
--
1.8.1.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v2] gstreamer1-imx: new package
2014-02-25 21:24 [Buildroot] [PATCH v2] gstreamer1-imx: new package Peter Seiderer
@ 2014-03-03 20:53 ` Yann E. MORIN
2014-03-04 2:07 ` Gustavo Zacarias
0 siblings, 1 reply; 3+ messages in thread
From: Yann E. MORIN @ 2014-03-03 20:53 UTC (permalink / raw)
To: buildroot
Peter, All,
I've added Gustavo in Cc: for his hindsights on Waf.
On 2014-02-25 22:24 +0100, Peter Seiderer spake thusly:
> Add gstreamer1-imx package (gstreamer-1.x equivalent to
> gstreamer-0.10/gst-fsl-plugins package).
[--SNIP--]
> diff --git a/package/gstreamer1/gstreamer1-imx/Config.in b/package/gstreamer1/gstreamer1-imx/Config.in
> new file mode 100644
> index 0000000..5753202
> --- /dev/null
> +++ b/package/gstreamer1/gstreamer1-imx/Config.in
> @@ -0,0 +1,21 @@
> +comment "gstreamer1-imx needs an imx-specific Linux kernel to be built"
> + depends on BR2_arm && !BR2_LINUX_KERNEL
> +
> +config BR2_PACKAGE_GSTREAMER1_IMX
> + bool "gstreamer1-imx"
> + depends on BR2_LINUX_KERNEL
This dependency is inherited from imx-lib, so we usually state so like
this:
depends on BR2_LINUX_KERNEL # imx-lib
> diff --git a/package/gstreamer1/gstreamer1-imx/gstreamer1-imx.mk b/package/gstreamer1/gstreamer1-imx/gstreamer1-imx.mk
> new file mode 100644
> index 0000000..91dab48
> --- /dev/null
> +++ b/package/gstreamer1/gstreamer1-imx/gstreamer1-imx.mk
> @@ -0,0 +1,36 @@
> +################################################################################
> +#
> +# gstreamer1-imx
> +#
> +################################################################################
> +
> +GSTREAMER1_IMX_VERSION = 0.9.3
> +GSTREAMER1_IMX_SITE = $(call github,Freescale,gstreamer-imx,$(GSTREAMER1_IMX_VERSION))
> +
> +GSTREAMER1_IMX_LICENSE = LGPLv2+
> +GSTREAMER1_IMX_LICENSE_FILES = LICENSE
Yes, in case someone wonders, it is indeed the Library GPL, not the
Lesser GPL, so it is indeed LGPLv2+.
> +GSTREAMER1_IMX_DEPENDENCIES = gstreamer1 gst1-plugins-base libfslvpuwrap \
You forgot to add a 'depends on BR2_PACKAGE_LIBFSLVPUWRAP' in the
Config.in.
> + imx-lib libfslparser libfslcodec
> +
> +# needs access to imx-specific kernel headers
> +GSTREAMER1_IMX_DEPENDENCIES += linux
> +
> +define GSTREAMER1_IMX_CONFIGURE_CMDS
> + (cd $(@D); \
> + $(TARGET_CONFIGURE_OPTS) \
> + ./waf configure \
> + --prefix=/usr \
> + --kernel-headers=$(LINUX_DIR)/include \
> + )
> +endef
> +
> +define GSTREAMER1_IMX_BUILD_CMDS
> + (cd $(@D); ./waf build -j $(PARALLEL_JOBS))
Waf is known to have lotta isue when cross-compiling. Is that really
working correctly?
Fortunately, this is only supposed to ever be run for an ARM target, so
maybe they were not really concerned of making it really cross-compile
friendly, as long as it works in these specific comditions.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v2] gstreamer1-imx: new package
2014-03-03 20:53 ` Yann E. MORIN
@ 2014-03-04 2:07 ` Gustavo Zacarias
0 siblings, 0 replies; 3+ messages in thread
From: Gustavo Zacarias @ 2014-03-04 2:07 UTC (permalink / raw)
To: buildroot
On 03/03/2014 05:53 PM, Yann E. MORIN wrote:
Hi all.
>> +define GSTREAMER1_IMX_BUILD_CMDS
>> + (cd $(@D); ./waf build -j $(PARALLEL_JOBS))
>
> Waf is known to have lotta isue when cross-compiling. Is that really
> working correctly?
>
> Fortunately, this is only supposed to ever be run for an ARM target, so
> maybe they were not really concerned of making it really cross-compile
> friendly, as long as it works in these specific comditions.
Waf makes no distinction between host and target tools.
That being said if the wscript doesn't want to execute cross-tests
(intended for the target) or need to build special host tools as part of
the build process, then it's possible it works.
Regards.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-03-04 2:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-25 21:24 [Buildroot] [PATCH v2] gstreamer1-imx: new package Peter Seiderer
2014-03-03 20:53 ` Yann E. MORIN
2014-03-04 2:07 ` Gustavo Zacarias
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox