commit:     fa4684ca43726c66e8107ed45fa62ff070e8abd5
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 14 21:10:18 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Tue Mar 15 02:31:59 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa4684ca

media-libs/libv4l: fix build w/newer glibc

 .../libv4l/files/libv4l-1.6.2-sysmacros.patch      | 57 ++++++++++++++++++++++
 media-libs/libv4l/libv4l-1.6.2.ebuild              |  4 ++
 2 files changed, 61 insertions(+)

diff --git a/media-libs/libv4l/files/libv4l-1.6.2-sysmacros.patch 
b/media-libs/libv4l/files/libv4l-1.6.2-sysmacros.patch
new file mode 100644
index 0000000..db49740
--- /dev/null
+++ b/media-libs/libv4l/files/libv4l-1.6.2-sysmacros.patch
@@ -0,0 +1,57 @@
+From 8edd80d3654843d9441fb5e43dfbf2b3e81f84b5 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <[email protected]>
+Date: Mon, 14 Mar 2016 16:56:40 -0400
+Subject: [PATCH] include sys/sysmacros.h for major() & minor()
+
+Linux C libraries are looking to disentangle sysmacros.h from the
+sys/types.h header to clean up namespace pollution.  Since these
+macros are provided in glibc/etc... today, switch to pulling in
+this header directly.
+
+Signed-off-by: Mike Frysinger <[email protected]>
+---
+ contrib/test/mc_nextgen_test.c            | 1 +
+ lib/libv4lconvert/control/libv4lcontrol.c | 1 +
+ utils/libmedia_dev/get_media_devices.c    | 1 +
+ utils/media-ctl/libmediactl.c             | 1 +
+ 4 files changed, 4 insertions(+)
+
+diff --git a/lib/libv4lconvert/control/libv4lcontrol.c 
b/lib/libv4lconvert/control/libv4lcontrol.c
+index 3c8335c..59f28b1 100644
+--- a/lib/libv4lconvert/control/libv4lcontrol.c
++++ b/lib/libv4lconvert/control/libv4lcontrol.c
+@@ -20,6 +20,7 @@
+  */
+ 
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #include <sys/mman.h>
+ #include <fcntl.h>
+ #include <sys/stat.h>
+diff --git a/utils/libmedia_dev/get_media_devices.c 
b/utils/libmedia_dev/get_media_devices.c
+index e3a2200..edfeb41 100644
+--- a/utils/libmedia_dev/get_media_devices.c
++++ b/utils/libmedia_dev/get_media_devices.c
+@@ -20,6 +20,7 @@
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #include <sys/stat.h>
+ #include <string.h>
+ #include <stdlib.h>
+diff --git a/utils/media-ctl/libmediactl.c b/utils/media-ctl/libmediactl.c
+index 4a82d24..16dddbe 100644
+--- a/utils/media-ctl/libmediactl.c
++++ b/utils/media-ctl/libmediactl.c
+@@ -24,6 +24,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ 
+ #include <ctype.h>
+ #include <errno.h>
+-- 
+2.6.2
+

diff --git a/media-libs/libv4l/libv4l-1.6.2.ebuild 
b/media-libs/libv4l/libv4l-1.6.2.ebuild
index fa076f2..5ac8693 100644
--- a/media-libs/libv4l/libv4l-1.6.2.ebuild
+++ b/media-libs/libv4l/libv4l-1.6.2.ebuild
@@ -36,6 +36,10 @@ pkg_setup() {
        linux-info_pkg_setup
 }
 
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-sysmacros.patch
+}
+
 multilib_src_configure() {
        # Hard disable the flags that apply only to the utils.
        ECONF_SOURCE=${S} \

Reply via email to