summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2019-12-03 10:10:03 +0200
committerMart Raudsepp <leio@gentoo.org>2019-12-03 10:10:09 +0200
commitfd0b4dbc4352dffe54a4a45e5df4a9467ff3d3f4 (patch)
tree9503976885b073f1e80da216d035855350d93928 /media-plugins/gst-plugins-v4l2
parentdev-tex/latex-beamer: QA fixes (diff)
downloadgentoo-fd0b4dbc4352dffe54a4a45e5df4a9467ff3d3f4.tar.gz
gentoo-fd0b4dbc4352dffe54a4a45e5df4a9467ff3d3f4.tar.bz2
gentoo-fd0b4dbc4352dffe54a4a45e5df4a9467ff3d3f4.zip
media-plugins/gst-plugins-v4l2: fix build against glibc-2.30
Closes: https://bugs.gentoo.org/691882 Package-Manager: Portage-2.3.79, Repoman-2.3.12 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'media-plugins/gst-plugins-v4l2')
-rw-r--r--media-plugins/gst-plugins-v4l2/files/1.14.5-glibc-2.30-compat.patch54
-rw-r--r--media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.14.5.ebuild4
2 files changed, 58 insertions, 0 deletions
diff --git a/media-plugins/gst-plugins-v4l2/files/1.14.5-glibc-2.30-compat.patch b/media-plugins/gst-plugins-v4l2/files/1.14.5-glibc-2.30-compat.patch
new file mode 100644
index 000000000000..e429fadf1744
--- /dev/null
+++ b/media-plugins/gst-plugins-v4l2/files/1.14.5-glibc-2.30-compat.patch
@@ -0,0 +1,54 @@
+From 29c3570901e1c145dce57824ddc9276fddf0d808 Mon Sep 17 00:00:00 2001
+From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
+Date: Tue, 6 Aug 2019 22:27:40 -0400
+Subject: [PATCH] v4l2: Fix type compatibility issue with glibc 2.30
+
+From now on, we will use linux/types.h on Linux, and use typedef of the
+various flavour of BSD.
+
+Fixes #635
+---
+ sys/v4l2/ext/types-compat.h | 21 ++++++++++++++-------
+ 1 file changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/sys/v4l2/ext/types-compat.h b/sys/v4l2/ext/types-compat.h
+index d3673dd49..ea21c9513 100644
+--- a/sys/v4l2/ext/types-compat.h
++++ b/sys/v4l2/ext/types-compat.h
+@@ -24,6 +24,11 @@
+ #ifndef __TYPES_COMPAT_H__
+ #define __TYPES_COMPAT_H__
+
++#ifdef __linux__
++#include <linux/types.h>
++#include <asm/ioctl.h>
++
++#else /* One of the BSDs */
+ /* From linux/types.h */
+ #ifndef __bitwise__
+ # ifdef __CHECKER__
+@@ -41,12 +46,14 @@
+ # endif
+ #endif
+
+-#define __u64 guint64
+-#define __u32 guint32
+-#define __u16 guint16
+-#define __u8 guint8
+-#define __s64 gint64
+-#define __s32 gint32
+-#define __le32 guint32 __bitwise
++typedef guint8 __u8;
++typedef guint16 __u16;
++typedef gint32 __s32;
++typedef guint32 __u32;
++typedef gint64 __s64;
++typedef guint64 __u64;
++typedef guint32 __bitwise __le32;
++
++#endif
+
+ #endif /* __TYPES_COMPAT_H__ */
+--
+2.22.0
+
diff --git a/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.14.5.ebuild b/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.14.5.ebuild
index 4bb6eaecf925..354e7f29401e 100644
--- a/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.14.5.ebuild
+++ b/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.14.5.ebuild
@@ -21,6 +21,10 @@ DEPEND="${RDEPEND}
GST_PLUGINS_BUILD="gst_v4l2"
+PATCHES=(
+ "${FILESDIR}"/${PV}-glibc-2.30-compat.patch #691882
+)
+
multilib_src_configure() {
gstreamer_multilib_src_configure \
--with-libv4l2 \