All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] libv4l: add patches to fix musl build issues, and enable on musl
@ 2015-12-01 22:00 Thomas Petazzoni
  2015-12-01 22:00 ` [Buildroot] [PATCH 2/2] v4l2grab: new package Thomas Petazzoni
  2015-12-18 21:40 ` [Buildroot] [PATCH 1/2] libv4l: add patches to fix musl build issues, and enable on musl Thomas Petazzoni
  0 siblings, 2 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2015-12-01 22:00 UTC (permalink / raw)
  To: buildroot

This commit adds two patches to the libv4l package, the first one
fixes the __off_t usage and the second one fixes locale-related
function usage. Those two patches allow libv4l to build fine against
musl, so we remove the dependency of glibc || uclibc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 ...scall-priv.h-Use-off_t-instead-of-__off_t.patch | 108 +++++++++++++++++++++
 ...rly-use-ENABLE_NLS-for-locale-related-cod.patch | 107 ++++++++++++++++++++
 package/libv4l/Config.in                           |   7 +-
 3 files changed, 217 insertions(+), 5 deletions(-)
 create mode 100644 package/libv4l/0003-libv4lsyscall-priv.h-Use-off_t-instead-of-__off_t.patch
 create mode 100644 package/libv4l/0004-utils-Properly-use-ENABLE_NLS-for-locale-related-cod.patch

diff --git a/package/libv4l/0003-libv4lsyscall-priv.h-Use-off_t-instead-of-__off_t.patch b/package/libv4l/0003-libv4lsyscall-priv.h-Use-off_t-instead-of-__off_t.patch
new file mode 100644
index 0000000..015acd4
--- /dev/null
+++ b/package/libv4l/0003-libv4lsyscall-priv.h-Use-off_t-instead-of-__off_t.patch
@@ -0,0 +1,108 @@
+From 87369a8d190a182ee087cec5164e4c9586b0d80e Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Wed, 28 Oct 2015 09:27:47 +0100
+Subject: [PATCH] libv4lsyscall-priv.h: Use off_t instead of __off_t
+
+__off_t is a kernel internal symbol, which happens to be user-visible
+with glibc, but not necessarily with other C libraries such as
+musl. In v4l-utils code, it's mainly used for the mmap() prototype,
+but the mmap() manpage really uses off_t, not __off_t.
+
+Switching from __off_t to off_t allows the code to build properly with
+musl.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ lib/libv4l1/v4l1compat.c               |  3 +--
+ lib/libv4l2/v4l2convert.c              |  5 ++---
+ lib/libv4lconvert/libv4lsyscall-priv.h | 11 +++--------
+ 3 files changed, 6 insertions(+), 13 deletions(-)
+
+diff --git a/lib/libv4l1/v4l1compat.c b/lib/libv4l1/v4l1compat.c
+index 97e8c4e..e5c9e56 100644
+--- a/lib/libv4l1/v4l1compat.c
++++ b/lib/libv4l1/v4l1compat.c
+@@ -29,7 +29,6 @@
+ #include <stdarg.h>
+ #include <fcntl.h>
+ #include <libv4l1.h>
+-#include "../libv4lconvert/libv4lsyscall-priv.h" /* for __off_t */
+ 
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+@@ -119,7 +118,7 @@ LIBV4L_PUBLIC ssize_t read(int fd, void *buffer, size_t n)
+ }
+ 
+ LIBV4L_PUBLIC void *mmap(void *start, size_t length, int prot, int flags, int fd,
+-		__off_t offset)
++		off_t offset)
+ {
+ 	return v4l1_mmap(start, length, prot, flags, fd, offset);
+ }
+diff --git a/lib/libv4l2/v4l2convert.c b/lib/libv4l2/v4l2convert.c
+index a6dc30e..7b7e253 100644
+--- a/lib/libv4l2/v4l2convert.c
++++ b/lib/libv4l2/v4l2convert.c
+@@ -39,7 +39,6 @@
+ #include <string.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+-#include "../libv4lconvert/libv4lsyscall-priv.h"
+ #include <linux/videodev2.h>
+ #include <libv4l2.h>
+ 
+@@ -151,14 +150,14 @@ LIBV4L_PUBLIC ssize_t read(int fd, void *buffer, size_t n)
+ }
+ 
+ LIBV4L_PUBLIC void *mmap(void *start, size_t length, int prot, int flags, int fd,
+-		__off_t offset)
++		off_t offset)
+ {
+ 	return v4l2_mmap(start, length, prot, flags, fd, offset);
+ }
+ 
+ #if defined(linux) && defined(__GLIBC__)
+ LIBV4L_PUBLIC void *mmap64(void *start, size_t length, int prot, int flags, int fd,
+-		__off64_t offset)
++		off64_t offset)
+ {
+ 	return v4l2_mmap(start, length, prot, flags, fd, offset);
+ }
+diff --git a/lib/libv4lconvert/libv4lsyscall-priv.h b/lib/libv4lconvert/libv4lsyscall-priv.h
+index f548fb2..f87eff4 100644
+--- a/lib/libv4lconvert/libv4lsyscall-priv.h
++++ b/lib/libv4lconvert/libv4lsyscall-priv.h
+@@ -59,11 +59,6 @@
+ #define	_IOC_SIZE(cmd) IOCPARM_LEN(cmd)
+ #define	MAP_ANONYMOUS MAP_ANON
+ #define	MMAP2_PAGE_SHIFT 0
+-typedef off_t __off_t;
+-#endif
+-
+-#if defined(ANDROID)
+-typedef off_t __off_t;
+ #endif
+ 
+ #undef SYS_OPEN
+@@ -95,15 +90,15 @@ typedef off_t __off_t;
+ #if defined(__FreeBSD__)
+ #define SYS_MMAP(addr, len, prot, flags, fd, off) \
+ 	__syscall(SYS_mmap, (void *)(addr), (size_t)(len), \
+-			(int)(prot), (int)(flags), (int)(fd), (__off_t)(off))
++			(int)(prot), (int)(flags), (int)(fd), (off_t)(off))
+ #elif defined(__FreeBSD_kernel__)
+ #define SYS_MMAP(addr, len, prot, flags, fd, off) \
+ 	syscall(SYS_mmap, (void *)(addr), (size_t)(len), \
+-			(int)(prot), (int)(flags), (int)(fd), (__off_t)(off))
++			(int)(prot), (int)(flags), (int)(fd), (off_t)(off))
+ #else
+ #define SYS_MMAP(addr, len, prot, flags, fd, off) \
+ 	syscall(SYS_mmap2, (void *)(addr), (size_t)(len), \
+-			(int)(prot), (int)(flags), (int)(fd), (__off_t)((off) >> MMAP2_PAGE_SHIFT))
++			(int)(prot), (int)(flags), (int)(fd), (off_t)((off) >> MMAP2_PAGE_SHIFT))
+ #endif
+ 
+ #define SYS_MUNMAP(addr, len) \
+-- 
+2.6.2
+
diff --git a/package/libv4l/0004-utils-Properly-use-ENABLE_NLS-for-locale-related-cod.patch b/package/libv4l/0004-utils-Properly-use-ENABLE_NLS-for-locale-related-cod.patch
new file mode 100644
index 0000000..8325234
--- /dev/null
+++ b/package/libv4l/0004-utils-Properly-use-ENABLE_NLS-for-locale-related-cod.patch
@@ -0,0 +1,107 @@
+From 12e5dded4747bf3a3f1eb392a17d10e46ecbc90b Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Wed, 28 Oct 2015 09:29:08 +0100
+Subject: [PATCH] utils: Properly use ENABLE_NLS for locale related code
+
+Various tools in utils/ use ENABLE_NLS to decide whether locale
+support is available or not, and only include <locale.h> if ENABLE_NLS
+is defined. However, they unconditionally use functions defined in
+<locale.h> such as setlocale(), bindtextdomain() or textdomain(),
+which causes build failures when the prototypes of such functions are
+not available due to <locale.h> not being included.
+
+In order to fix this, we add ENABLE_NLS conditionals around the calls
+to these functions.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ utils/dvb/dvb-fe-tool.c        | 2 ++
+ utils/dvb/dvb-format-convert.c | 2 ++
+ utils/dvb/dvbv5-scan.c         | 2 ++
+ utils/dvb/dvbv5-zap.c          | 2 ++
+ utils/keytable/keytable.c      | 2 ++
+ 5 files changed, 10 insertions(+)
+
+diff --git a/utils/dvb/dvb-fe-tool.c b/utils/dvb/dvb-fe-tool.c
+index efc2ebf..ba01aa9 100644
+--- a/utils/dvb/dvb-fe-tool.c
++++ b/utils/dvb/dvb-fe-tool.c
+@@ -276,9 +276,11 @@ int main(int argc, char *argv[])
+ 	struct dvb_v5_fe_parms *parms;
+ 	int fe_flags = O_RDWR;
+ 
++#ifdef ENABLE_NLS
+ 	setlocale (LC_ALL, "");
+ 	bindtextdomain (PACKAGE, LOCALEDIR);
+ 	textdomain (PACKAGE);
++#endif
+ 
+ 	argp_parse(&argp, argc, argv, ARGP_NO_HELP | ARGP_NO_EXIT, 0, 0);
+ 
+diff --git a/utils/dvb/dvb-format-convert.c b/utils/dvb/dvb-format-convert.c
+index e39df03..09451d4 100644
+--- a/utils/dvb/dvb-format-convert.c
++++ b/utils/dvb/dvb-format-convert.c
+@@ -132,9 +132,11 @@ int main(int argc, char **argv)
+ 		.args_doc = N_("<input file> <output file>"),
+ 	};
+ 
++#ifdef ENABLE_NLS
+ 	setlocale (LC_ALL, "");
+ 	bindtextdomain (PACKAGE, LOCALEDIR);
+ 	textdomain (PACKAGE);
++#endif
+ 
+ 	memset(&args, 0, sizeof(args));
+ 	argp_parse(&argp, argc, argv, ARGP_NO_HELP | ARGP_NO_EXIT, &idx, &args);
+diff --git a/utils/dvb/dvbv5-scan.c b/utils/dvb/dvbv5-scan.c
+index be1586d..1bb0ced 100644
+--- a/utils/dvb/dvbv5-scan.c
++++ b/utils/dvb/dvbv5-scan.c
+@@ -461,9 +461,11 @@ int main(int argc, char **argv)
+ 		.args_doc = N_("<initial file>"),
+ 	};
+ 
++#ifdef ENABLE_NLS
+ 	setlocale (LC_ALL, "");
+ 	bindtextdomain (PACKAGE, LOCALEDIR);
+ 	textdomain (PACKAGE);
++#endif
+ 
+ 	memset(&args, 0, sizeof(args));
+ 	args.sat_number = -1;
+diff --git a/utils/dvb/dvbv5-zap.c b/utils/dvb/dvbv5-zap.c
+index 2812166..848259b 100644
+--- a/utils/dvb/dvbv5-zap.c
++++ b/utils/dvb/dvbv5-zap.c
+@@ -758,9 +758,11 @@ int main(int argc, char **argv)
+ 		.args_doc = N_("<channel name> [or <frequency> if in monitor mode]"),
+ 	};
+ 
++#ifdef ENABLE_NLS
+ 	setlocale (LC_ALL, "");
+ 	bindtextdomain (PACKAGE, LOCALEDIR);
+ 	textdomain (PACKAGE);
++#endif
+ 
+ 	memset(&args, 0, sizeof(args));
+ 	args.sat_number = -1;
+diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c
+index 3bf0618..d6d187f 100644
+--- a/utils/keytable/keytable.c
++++ b/utils/keytable/keytable.c
+@@ -1467,9 +1467,11 @@ int main(int argc, char *argv[])
+ 	static struct sysfs_names *names;
+ 	struct rc_device	  rc_dev;
+ 
++#ifdef ENABLE_NLS
+ 	setlocale (LC_ALL, "");
+ 	bindtextdomain (PACKAGE, LOCALEDIR);
+ 	textdomain (PACKAGE);
++#endif
+ 
+ 	argp_parse(&argp, argc, argv, ARGP_NO_HELP | ARGP_NO_EXIT, 0, 0);
+ 
+-- 
+2.6.2
+
diff --git a/package/libv4l/Config.in b/package/libv4l/Config.in
index 16dc6bb..078a8c9 100644
--- a/package/libv4l/Config.in
+++ b/package/libv4l/Config.in
@@ -5,8 +5,6 @@ config BR2_PACKAGE_LIBV4L
 	depends on !BR2_STATIC_LIBS # dlopen()
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # media headers
-	# wait for libv4l 1.7+ for musl compatibility
-	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC
 	select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	help
@@ -40,8 +38,7 @@ config BR2_PACKAGE_LIBV4L_UTILS
 
 endif
 
-comment "libv4l needs an uClibc or (e)glibc toolchain w/ threads, dynamic library, C++ and headers >= 3.0"
+comment "libv4l needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0"
 	depends on BR2_USE_MMU
 	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
-		|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 \
-		|| !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
+		|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
-- 
2.6.3

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

* [Buildroot] [PATCH 2/2] v4l2grab: new package
  2015-12-01 22:00 [Buildroot] [PATCH 1/2] libv4l: add patches to fix musl build issues, and enable on musl Thomas Petazzoni
@ 2015-12-01 22:00 ` Thomas Petazzoni
  2015-12-01 22:25   ` Arnout Vandecappelle
  2015-12-09 15:24   ` Viacheslav Volkov
  2015-12-18 21:40 ` [Buildroot] [PATCH 1/2] libv4l: add patches to fix musl build issues, and enable on musl Thomas Petazzoni
  1 sibling, 2 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2015-12-01 22:00 UTC (permalink / raw)
  To: buildroot

From: Volkov Viacheslav <sv99@inbox.ru>

[Thomas:
 - remove dependency on musl, since libv4l can now be built without
   musl
 - add missing Config.in comment for the toolchain dependencies
 - add hash file.
 - rework commit log.
 - expand Config.in help text.]

Signed-off-by: Viacheslav Volkov <sv99@inbox.ru>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Config.in              |  1 +
 package/v4l2grab/Config.in     | 20 ++++++++++++++++++++
 package/v4l2grab/v4l2grab.hash |  2 ++
 package/v4l2grab/v4l2grab.mk   | 15 +++++++++++++++
 4 files changed, 38 insertions(+)
 create mode 100644 package/v4l2grab/Config.in
 create mode 100644 package/v4l2grab/v4l2grab.hash
 create mode 100644 package/v4l2grab/v4l2grab.mk

diff --git a/package/Config.in b/package/Config.in
index 2bdad01..a6049c4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -40,6 +40,7 @@ menu "Audio and video applications"
 	source "package/tstools/Config.in"
 	source "package/twolame/Config.in"
 	source "package/upmpdcli/Config.in"
+	source "package/v4l2grab/Config.in"
 	source "package/vlc/Config.in"
 	source "package/vorbis-tools/Config.in"
 	source "package/wavpack/Config.in"
diff --git a/package/v4l2grab/Config.in b/package/v4l2grab/Config.in
new file mode 100644
index 0000000..ec3a7a8
--- /dev/null
+++ b/package/v4l2grab/Config.in
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_V4L2GRAB
+	bool "v4l2grab"
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libv4l
+	depends on BR2_USE_MMU # libv4l
+	depends on !BR2_STATIC_LIBS # libv4l
+	depends on BR2_INSTALL_LIBSTDCPP # libv4l
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libv4l
+	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_LIBV4L
+	help
+	  Utility for grabbing JPEGs form V4L2 devices. This tool is
+	  similar to v4l2grab available from libv4l contrib directory,
+	  but provides additional features such as JPEG output.
+
+	  http://www.twam.info/software/v4l2grab-grabbing-jpegs-from-v4l2-devices
+
+comment "v4l2grab needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0"
+	depends on BR2_USE_MMU
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
+		|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
diff --git a/package/v4l2grab/v4l2grab.hash b/package/v4l2grab/v4l2grab.hash
new file mode 100644
index 0000000..e0a1797
--- /dev/null
+++ b/package/v4l2grab/v4l2grab.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 5d635dde1a83bd81a84584a62581ea4b17eb462be8a5e1ec04a7a019f3cf1791 v4l2grab-7815752fafb8b797047e819a08a3b6e2f2880846.tar.gz
diff --git a/package/v4l2grab/v4l2grab.mk b/package/v4l2grab/v4l2grab.mk
new file mode 100644
index 0000000..12b4c3f
--- /dev/null
+++ b/package/v4l2grab/v4l2grab.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# v4l2grab
+#
+################################################################################
+
+V4L2GRAB_VERSION = 7815752fafb8b797047e819a08a3b6e2f2880846
+V4L2GRAB_SITE = $(call github,twam,v4l2grab,$(V4L2GRAB_VERSION))
+V4L2GRAB_LICENSE = GPLv2+
+V4L2GRAB_LICENSE_FILE = LICENSE
+# Fetched from github, no pre-generated configure script provided
+V4L2GRAB_AUTORECONF = YES
+V4L2GRAB_DEPENDENCIES = libjpeg libv4l
+
+$(eval $(autotools-package))
-- 
2.6.3

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

* [Buildroot] [PATCH 2/2] v4l2grab: new package
  2015-12-01 22:00 ` [Buildroot] [PATCH 2/2] v4l2grab: new package Thomas Petazzoni
@ 2015-12-01 22:25   ` Arnout Vandecappelle
  2015-12-09 15:24   ` Viacheslav Volkov
  1 sibling, 0 replies; 6+ messages in thread
From: Arnout Vandecappelle @ 2015-12-01 22:25 UTC (permalink / raw)
  To: buildroot

On 01-12-15 23:00, Thomas Petazzoni wrote:
> From: Volkov Viacheslav <sv99@inbox.ru>
> 
> [Thomas:
>  - remove dependency on musl, since libv4l can now be built without
>    musl
>  - add missing Config.in comment for the toolchain dependencies
>  - add hash file.
>  - rework commit log.
>  - expand Config.in help text.]
> 
> Signed-off-by: Viacheslav Volkov <sv99@inbox.ru>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[snip]
> +++ b/package/v4l2grab/v4l2grab.mk
> @@ -0,0 +1,15 @@
> +################################################################################
> +#
> +# v4l2grab
> +#
> +################################################################################
> +
> +V4L2GRAB_VERSION = 7815752fafb8b797047e819a08a3b6e2f2880846
> +V4L2GRAB_SITE = $(call github,twam,v4l2grab,$(V4L2GRAB_VERSION))
> +V4L2GRAB_LICENSE = GPLv2+
> +V4L2GRAB_LICENSE_FILE = LICENSE

 I only see LICENSE.md in the repository. Oh, that's because it changed name
just two days ago. Perhaps it would be a good idea to bump to
0abed72532bee02e545a1924b6883c839d50febf now and fix the license file name,
since it will most likely be forgotten in the next bump.

 Regards,
 Arnout

> +# Fetched from github, no pre-generated configure script provided
> +V4L2GRAB_AUTORECONF = YES
> +V4L2GRAB_DEPENDENCIES = libjpeg libv4l

 You select BR2_PACKAGE_JPEG, not BR2_PACKAGE_LIBJPEG, so you should depend on
jpeg instead of libjpeg.

 With that fixed you can add my
 Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>


 Regards,
 Arnout

> +
> +$(eval $(autotools-package))
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

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

* [Buildroot] [PATCH 2/2] v4l2grab: new package
  2015-12-01 22:00 ` [Buildroot] [PATCH 2/2] v4l2grab: new package Thomas Petazzoni
  2015-12-01 22:25   ` Arnout Vandecappelle
@ 2015-12-09 15:24   ` Viacheslav Volkov
  2015-12-18 21:40     ` Thomas Petazzoni
  1 sibling, 1 reply; 6+ messages in thread
From: Viacheslav Volkov @ 2015-12-09 15:24 UTC (permalink / raw)
  To: buildroot

From: Volkov Viacheslav <sv99@inbox.ru>

change version and license 

[Thomas:
 - remove dependency on musl, since libv4l can now be built without
   musl
 - add missing Config.in comment for the toolchain dependencies
 - add hash file.
 - rework commit log.
 - expand Config.in help text.]

Signed-off-by: Viacheslav Volkov <sv99@inbox.ru>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/Config.in              |  1 +
 package/v4l2grab/Config.in     | 20 ++++++++++++++++++++
 package/v4l2grab/v4l2grab.hash |  2 ++
 package/v4l2grab/v4l2grab.mk   | 15 +++++++++++++++
 4 files changed, 38 insertions(+)
 create mode 100644 package/v4l2grab/Config.in
 create mode 100644 package/v4l2grab/v4l2grab.hash
 create mode 100644 package/v4l2grab/v4l2grab.mk

diff --git a/package/Config.in b/package/Config.in
index 2bdad01..a6049c4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -40,6 +40,7 @@ menu "Audio and video applications"
 	source "package/tstools/Config.in"
 	source "package/twolame/Config.in"
 	source "package/upmpdcli/Config.in"
+	source "package/v4l2grab/Config.in"
 	source "package/vlc/Config.in"
 	source "package/vorbis-tools/Config.in"
 	source "package/wavpack/Config.in"
diff --git a/package/v4l2grab/Config.in b/package/v4l2grab/Config.in
new file mode 100644
index 0000000..ec3a7a8
--- /dev/null
+++ b/package/v4l2grab/Config.in
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_V4L2GRAB
+	bool "v4l2grab"
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libv4l
+	depends on BR2_USE_MMU # libv4l
+	depends on !BR2_STATIC_LIBS # libv4l
+	depends on BR2_INSTALL_LIBSTDCPP # libv4l
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libv4l
+	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_LIBV4L
+	help
+	  Utility for grabbing JPEGs form V4L2 devices. This tool is
+	  similar to v4l2grab available from libv4l contrib directory,
+	  but provides additional features such as JPEG output.
+
+	  http://www.twam.info/software/v4l2grab-grabbing-jpegs-from-v4l2-devices
+
+comment "v4l2grab needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0"
+	depends on BR2_USE_MMU
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
+		|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
diff --git a/package/v4l2grab/v4l2grab.hash b/package/v4l2grab/v4l2grab.hash
new file mode 100644
index 0000000..e0a1797
--- /dev/null
+++ b/package/v4l2grab/v4l2grab.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 568d51512107226dab1ac809ab1ed4d544ce3f8f505b62c3b2177fb643c8157b v4l2grab-0abed72532bee02e545a1924b6883c839d50febf.tar.gz
diff --git a/package/v4l2grab/v4l2grab.mk b/package/v4l2grab/v4l2grab.mk
new file mode 100644
index 0000000..12b4c3f
--- /dev/null
+++ b/package/v4l2grab/v4l2grab.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# v4l2grab
+#
+################################################################################
+
+V4L2GRAB_VERSION = 0abed72532bee02e545a1924b6883c839d50febf
+V4L2GRAB_SITE = $(call github,twam,v4l2grab,$(V4L2GRAB_VERSION))
+V4L2GRAB_LICENSE = GPLv2+
+V4L2GRAB_LICENSE_FILE = LICENSE.md
+# Fetched from github, no pre-generated configure script provided
+V4L2GRAB_AUTORECONF = YES
+V4L2GRAB_DEPENDENCIES = libjpeg libv4l
+
+$(eval $(autotools-package))
-- 2.6.3

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

* [Buildroot] [PATCH 2/2] v4l2grab: new package
  2015-12-09 15:24   ` Viacheslav Volkov
@ 2015-12-18 21:40     ` Thomas Petazzoni
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2015-12-18 21:40 UTC (permalink / raw)
  To: buildroot

Hello,

I've applied, but there were still two remaining issues. See below.

On Wed, 9 Dec 2015 18:24:26 +0300, Viacheslav Volkov wrote:

> diff --git a/package/v4l2grab/v4l2grab.hash b/package/v4l2grab/v4l2grab.hash
> new file mode 100644
> index 0000000..e0a1797
> --- /dev/null
> +++ b/package/v4l2grab/v4l2grab.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated
> +sha256 568d51512107226dab1ac809ab1ed4d544ce3f8f505b62c3b2177fb643c8157b v4l2grab-0abed72532bee02e545a1924b6883c839d50febf.tar.gz
> diff --git a/package/v4l2grab/v4l2grab.mk b/package/v4l2grab/v4l2grab.mk
> new file mode 100644
> index 0000000..12b4c3f
> --- /dev/null
> +++ b/package/v4l2grab/v4l2grab.mk
> @@ -0,0 +1,15 @@
> +################################################################################
> +#
> +# v4l2grab
> +#
> +################################################################################
> +
> +V4L2GRAB_VERSION = 0abed72532bee02e545a1924b6883c839d50febf
> +V4L2GRAB_SITE = $(call github,twam,v4l2grab,$(V4L2GRAB_VERSION))
> +V4L2GRAB_LICENSE = GPLv2+
> +V4L2GRAB_LICENSE_FILE = LICENSE.md

This variable should have been named V4L2GRAB_LICENSE_FILES.

> +# Fetched from github, no pre-generated configure script provided
> +V4L2GRAB_AUTORECONF = YES
> +V4L2GRAB_DEPENDENCIES = libjpeg libv4l

And as noted by Arnout, we should not depend on libjpeg, but on jpeg.

I've fixed those two issues before applying.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 1/2] libv4l: add patches to fix musl build issues, and enable on musl
  2015-12-01 22:00 [Buildroot] [PATCH 1/2] libv4l: add patches to fix musl build issues, and enable on musl Thomas Petazzoni
  2015-12-01 22:00 ` [Buildroot] [PATCH 2/2] v4l2grab: new package Thomas Petazzoni
@ 2015-12-18 21:40 ` Thomas Petazzoni
  1 sibling, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2015-12-18 21:40 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue,  1 Dec 2015 23:00:29 +0100, Thomas Petazzoni wrote:
> This commit adds two patches to the libv4l package, the first one
> fixes the __off_t usage and the second one fixes locale-related
> function usage. Those two patches allow libv4l to build fine against
> musl, so we remove the dependency of glibc || uclibc.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  ...scall-priv.h-Use-off_t-instead-of-__off_t.patch | 108 +++++++++++++++++++++
>  ...rly-use-ENABLE_NLS-for-locale-related-cod.patch | 107 ++++++++++++++++++++
>  package/libv4l/Config.in                           |   7 +-
>  3 files changed, 217 insertions(+), 5 deletions(-)
>  create mode 100644 package/libv4l/0003-libv4lsyscall-priv.h-Use-off_t-instead-of-__off_t.patch
>  create mode 100644 package/libv4l/0004-utils-Properly-use-ENABLE_NLS-for-locale-related-cod.patch

Since nobody reviewed, ACKed or NAKed, I applied this patch.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

end of thread, other threads:[~2015-12-18 21:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-01 22:00 [Buildroot] [PATCH 1/2] libv4l: add patches to fix musl build issues, and enable on musl Thomas Petazzoni
2015-12-01 22:00 ` [Buildroot] [PATCH 2/2] v4l2grab: new package Thomas Petazzoni
2015-12-01 22:25   ` Arnout Vandecappelle
2015-12-09 15:24   ` Viacheslav Volkov
2015-12-18 21:40     ` Thomas Petazzoni
2015-12-18 21:40 ` [Buildroot] [PATCH 1/2] libv4l: add patches to fix musl build issues, and enable on musl Thomas Petazzoni

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.