Add libzvbi
Patches and build-mess based on VLC contrib: https://github.com/videolan/vlc/tree/master/contrib/src/zvbi
This commit is contained in:
		
							parent
							
								
									7d28936b71
								
							
						
					
					
						commit
						69c3786546
					
				
					 6 changed files with 316 additions and 0 deletions
				
			
		
							
								
								
									
										28
									
								
								patches/zvbi/0000-ssize_max.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								patches/zvbi/0000-ssize_max.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
Linear memory extents over SSIZE_MAX are undefined, so there is no
 | 
			
		||||
point in protecting against them.
 | 
			
		||||
diff -ru zvbi.orig/src/export.c zvbi/src/export.c
 | 
			
		||||
--- zvbi.orig/src/export.c	2011-11-06 11:22:47.000000000 +0200
 | 
			
		||||
+++ zvbi/src/export.c	2011-11-06 11:27:39.000000000 +0200
 | 
			
		||||
@@ -1076,8 +1076,6 @@
 | 
			
		||||
 		size_t count;
 | 
			
		||||
 
 | 
			
		||||
 		count = src_size;
 | 
			
		||||
-		if (unlikely (src_size > SSIZE_MAX))
 | 
			
		||||
-			count = SSIZE_MAX & -4096;
 | 
			
		||||
 
 | 
			
		||||
 		for (retry = 10;; --retry) {
 | 
			
		||||
 			actual = write (e->_handle.fd, src, count);
 | 
			
		||||
@@ -1632,12 +1630,7 @@
 | 
			
		||||
 			free (e->buffer.data);
 | 
			
		||||
 		}
 | 
			
		||||
 
 | 
			
		||||
-		if (unlikely (e->buffer.offset > (size_t) SSIZE_MAX)) {
 | 
			
		||||
-			errno = EOVERFLOW;
 | 
			
		||||
-			actual = -1; /* failed */
 | 
			
		||||
-		} else {
 | 
			
		||||
-			actual = e->buffer.offset;
 | 
			
		||||
-		}
 | 
			
		||||
+		actual = e->buffer.offset;
 | 
			
		||||
 	} else {
 | 
			
		||||
 		if (VBI_EXPORT_TARGET_ALLOC == e->target)
 | 
			
		||||
 			free (e->buffer.data);
 | 
			
		||||
							
								
								
									
										19
									
								
								patches/zvbi/0001-ioctl.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								patches/zvbi/0001-ioctl.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
diff -ru zvbi.orig/contrib/ntsc-cc.c zvbi/contrib/ntsc-cc.c
 | 
			
		||||
--- zvbi.orig/contrib/ntsc-cc.c	2011-11-06 11:22:47.000000000 +0200
 | 
			
		||||
+++ zvbi/contrib/ntsc-cc.c	2011-11-06 11:29:04.000000000 +0200
 | 
			
		||||
@@ -32,7 +32,6 @@
 | 
			
		||||
 #include <fcntl.h>
 | 
			
		||||
 #include <errno.h>
 | 
			
		||||
 #include <locale.h>
 | 
			
		||||
-#include <sys/ioctl.h>
 | 
			
		||||
 #include <sys/types.h>
 | 
			
		||||
 #include <sys/time.h>
 | 
			
		||||
 #ifdef HAVE_GETOPT_LONG
 | 
			
		||||
@@ -44,6 +43,7 @@
 | 
			
		||||
 #include "src/libzvbi.h"
 | 
			
		||||
 
 | 
			
		||||
 #ifdef ENABLE_V4L2
 | 
			
		||||
+#  include <sys/ioctl.h>
 | 
			
		||||
 #  include <asm/types.h>
 | 
			
		||||
 #  include "src/videodev2k.h"
 | 
			
		||||
 #endif
 | 
			
		||||
							
								
								
									
										11
									
								
								patches/zvbi/0002-fix-static-linking.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								patches/zvbi/0002-fix-static-linking.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
--- zvbi/configure.in   2013-08-28 13:52:48.000000000 +0000
 | 
			
		||||
+++ zvbi.patched/configure.in   2016-11-02 21:25:34.292580446 +0000
 | 
			
		||||
@@ -244,7 +244,7 @@
 | 
			
		||||
 dnl
 | 
			
		||||
 HAVE_PNG="yes"
 | 
			
		||||
 AC_CHECK_LIB(png, png_destroy_write_struct,
 | 
			
		||||
-  LIBS="$LIBS -lpng -lz", HAVE_PNG="no", -lz -lm)
 | 
			
		||||
+  LIBS="-lpng -lz $LIBS", HAVE_PNG="no", -lz -lm)
 | 
			
		||||
 if test "x$HAVE_PNG" = xyes; then
 | 
			
		||||
   AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have libpng])
 | 
			
		||||
 fi
 | 
			
		||||
							
								
								
									
										167
									
								
								patches/zvbi/0003-win32.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								patches/zvbi/0003-win32.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,167 @@
 | 
			
		|||
diff -ruN zvbi/src/conv.c zvbi.new/src/conv.c
 | 
			
		||||
--- zvbi/src/conv.c	2008-02-26 15:39:23.000000000 +0100
 | 
			
		||||
+++ zvbi.new/src/conv.c	2008-09-11 21:05:18.000000000 +0200
 | 
			
		||||
@@ -26,7 +26,9 @@
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
 #include <errno.h>
 | 
			
		||||
+#ifndef _WIN32
 | 
			
		||||
 #include <langinfo.h>
 | 
			
		||||
+#endif
 | 
			
		||||
 
 | 
			
		||||
 #include "misc.h"
 | 
			
		||||
 #include "conv.h"
 | 
			
		||||
@@ -1234,9 +1236,12 @@
 | 
			
		||||
 	const char *dst_format;
 | 
			
		||||
 
 | 
			
		||||
 	dst_format = bind_textdomain_codeset (vbi_intl_domainname, NULL);
 | 
			
		||||
-
 | 
			
		||||
+#ifdef _WIN32
 | 
			
		||||
+#warning this is wrong
 | 
			
		||||
+#else
 | 
			
		||||
 	if (NULL == dst_format)
 | 
			
		||||
 		dst_format = nl_langinfo (CODESET);
 | 
			
		||||
+#endif
 | 
			
		||||
 
 | 
			
		||||
 	return dst_format; /* may be NULL */
 | 
			
		||||
 }
 | 
			
		||||
diff -ruN zvbi/src/export.c zvbi.new/src/export.c
 | 
			
		||||
--- zvbi/src/export.c	2008-02-19 01:35:15.000000000 +0100
 | 
			
		||||
+++ zvbi.new/src/export.c	2008-09-11 20:38:55.000000000 +0200
 | 
			
		||||
@@ -40,6 +40,26 @@
 | 
			
		||||
 #include "conv.h"
 | 
			
		||||
 #include "vbi.h" /* asprintf */
 | 
			
		||||
 
 | 
			
		||||
+#ifndef EOVERFLOW
 | 
			
		||||
+ #define EOVERFLOW 75
 | 
			
		||||
+#endif
 | 
			
		||||
+
 | 
			
		||||
+#ifndef S_IRGRP
 | 
			
		||||
+#define S_IRGRP 0
 | 
			
		||||
+#endif
 | 
			
		||||
+
 | 
			
		||||
+#ifndef S_IWGRP
 | 
			
		||||
+#define S_IWGRP 0
 | 
			
		||||
+#endif
 | 
			
		||||
+
 | 
			
		||||
+#ifndef S_IROTH
 | 
			
		||||
+#define S_IROTH 0
 | 
			
		||||
+#endif
 | 
			
		||||
+
 | 
			
		||||
+#ifndef S_IWOTH
 | 
			
		||||
+#define S_IWOTH 0
 | 
			
		||||
+#endif
 | 
			
		||||
+
 | 
			
		||||
 extern const char _zvbi_intl_domainname[];
 | 
			
		||||
 
 | 
			
		||||
 /**
 | 
			
		||||
diff -ruN zvbi/src/packet.c zvbi.new/src/packet.c
 | 
			
		||||
--- zvbi/src/packet.c	2008-02-20 18:04:33.000000000 +0100
 | 
			
		||||
+++ zvbi.new/src/packet.c	2008-09-11 21:00:35.000000000 +0200
 | 
			
		||||
@@ -32,7 +32,9 @@
 | 
			
		||||
 #include <fcntl.h>
 | 
			
		||||
 #include <time.h>
 | 
			
		||||
 #include <errno.h>
 | 
			
		||||
+#ifndef _WIN32
 | 
			
		||||
 #include <sys/ioctl.h>
 | 
			
		||||
+#endif
 | 
			
		||||
 
 | 
			
		||||
 #include "misc.h"
 | 
			
		||||
 #include "hamm.h"
 | 
			
		||||
diff -ruN zvbi/src/proxy-msg.c zvbi.new/src/proxy-msg.c
 | 
			
		||||
--- zvbi/src/proxy-msg.c	2008-02-19 01:35:21.000000000 +0100
 | 
			
		||||
+++ zvbi.new/src/proxy-msg.c	2008-09-11 21:00:07.000000000 +0200
 | 
			
		||||
@@ -129,7 +129,9 @@
 | 
			
		||||
 #include <netinet/tcp.h>
 | 
			
		||||
 #include <arpa/inet.h>
 | 
			
		||||
 #include <netdb.h>
 | 
			
		||||
+#ifndef _WIN32
 | 
			
		||||
 #include <syslog.h>
 | 
			
		||||
+#endif
 | 
			
		||||
 #include <assert.h>
 | 
			
		||||
 #include <sys/ioctl.h>
 | 
			
		||||
 #include <sys/mman.h>
 | 
			
		||||
diff -ruN zvbi/src/proxy-msg.h zvbi.new/src/proxy-msg.h
 | 
			
		||||
--- zvbi/src/proxy-msg.h	2008-02-19 01:35:21.000000000 +0100
 | 
			
		||||
+++ zvbi.new/src/proxy-msg.h	2008-09-11 20:59:40.000000000 +0200
 | 
			
		||||
@@ -68,7 +68,9 @@
 | 
			
		||||
 #ifndef PROXY_MSG_H
 | 
			
		||||
 #define PROXY_MSG_H
 | 
			
		||||
 
 | 
			
		||||
+#ifndef _WIN32
 | 
			
		||||
 #include <sys/syslog.h>
 | 
			
		||||
+#endif
 | 
			
		||||
 
 | 
			
		||||
 /* Public */
 | 
			
		||||
 
 | 
			
		||||
diff -ruN zvbi/src/vbi.c zvbi.new/src/vbi.c
 | 
			
		||||
--- zvbi/src/vbi.c	2008-03-05 14:33:04.000000000 +0100
 | 
			
		||||
+++ zvbi.new/src/vbi.c	2008-09-11 20:57:55.000000000 +0200
 | 
			
		||||
@@ -39,7 +39,9 @@
 | 
			
		||||
 #include <fcntl.h>
 | 
			
		||||
 #include <time.h>
 | 
			
		||||
 #include <errno.h>
 | 
			
		||||
+#ifndef _WIN32
 | 
			
		||||
 #include <sys/ioctl.h>
 | 
			
		||||
+#endif
 | 
			
		||||
 #include <sys/time.h>
 | 
			
		||||
 #include <pthread.h>
 | 
			
		||||
 
 | 
			
		||||
--- zvbi/src/io.c	2008-02-19 01:35:20.000000000 +0100
 | 
			
		||||
+++ zvbi2/src/io.c	2008-09-11 21:18:59.000000000 +0200
 | 
			
		||||
@@ -28,8 +28,10 @@
 | 
			
		||||
 
 | 
			
		||||
 #include <fcntl.h>		/* open() */
 | 
			
		||||
 #include <unistd.h>		/* close(), mmap(), munmap(), gettimeofday() */
 | 
			
		||||
+#ifndef _WIN32
 | 
			
		||||
 #include <sys/ioctl.h>		/* ioctl() */
 | 
			
		||||
 #include <sys/mman.h>		/* mmap(), munmap() */
 | 
			
		||||
+#endif
 | 
			
		||||
 #include <sys/time.h>		/* struct timeval */
 | 
			
		||||
 #include <sys/types.h>
 | 
			
		||||
 #include <errno.h>
 | 
			
		||||
@@ -514,7 +516,7 @@
 | 
			
		||||
 	}
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
+#ifndef _WIN32
 | 
			
		||||
 /**
 | 
			
		||||
  * @internal
 | 
			
		||||
  *
 | 
			
		||||
@@ -554,7 +556,7 @@
 | 
			
		||||
 		return ret;
 | 
			
		||||
 	}
 | 
			
		||||
 }
 | 
			
		||||
-
 | 
			
		||||
+#endif
 | 
			
		||||
 /* Helper functions to log the communication between the library and drivers.
 | 
			
		||||
    FIXME remove fp arg, call user log function instead (0.3). */
 | 
			
		||||
 
 | 
			
		||||
@@ -668,7 +670,9 @@
 | 
			
		||||
 				 "EXCL", O_EXCL,
 | 
			
		||||
 				 "TRUNC", O_TRUNC,
 | 
			
		||||
 				 "APPEND", O_APPEND,
 | 
			
		||||
+#ifndef _WIN32
 | 
			
		||||
 				 "NONBLOCK", O_NONBLOCK,
 | 
			
		||||
+#endif
 | 
			
		||||
 				 0);
 | 
			
		||||
 		fprintf (fp, ", 0%o)", mode);
 | 
			
		||||
 
 | 
			
		||||
@@ -773,6 +777,7 @@
 | 
			
		||||
 	return err;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
+#ifndef _WIN32
 | 
			
		||||
 /**
 | 
			
		||||
  * @internal
 | 
			
		||||
  * Drop-in for mmap(). Logs the request on fp if not NULL.
 | 
			
		||||
@@ -822,7 +827,7 @@
 | 
			
		||||
 
 | 
			
		||||
 	return r;
 | 
			
		||||
 }
 | 
			
		||||
-
 | 
			
		||||
+#endif
 | 
			
		||||
 /**
 | 
			
		||||
  * @internal
 | 
			
		||||
  * Drop-in for munmap(). Logs the request on fp if not NULL.
 | 
			
		||||
							
								
								
									
										30
									
								
								patches/zvbi/0004-fix-clang-support.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								patches/zvbi/0004-fix-clang-support.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
diff -ru zvbi/src/misc.h zvbi-fixed/src/misc.h
 | 
			
		||||
--- zvbi/src/misc.h	2013-07-02 04:32:31.000000000 +0200
 | 
			
		||||
+++ zvbi-fixed/src/misc.h	2013-08-08 21:37:22.000000000 +0200
 | 
			
		||||
@@ -52,17 +52,6 @@
 | 
			
		||||
 #  define unlikely(expr) __builtin_expect(expr, 0)
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
-#undef __i386__
 | 
			
		||||
-#undef __i686__
 | 
			
		||||
-/* FIXME #cpu is deprecated
 | 
			
		||||
-#if #cpu (i386)
 | 
			
		||||
-#  define __i386__ 1
 | 
			
		||||
-#endif
 | 
			
		||||
-#if #cpu (i686)
 | 
			
		||||
-#  define __i686__ 1
 | 
			
		||||
-#endif
 | 
			
		||||
-*/
 | 
			
		||||
-
 | 
			
		||||
 /* &x == PARENT (&x.tm_min, struct tm, tm_min),
 | 
			
		||||
    safer than &x == (struct tm *) &x.tm_min. A NULL _ptr is safe and
 | 
			
		||||
    will return NULL, not -offsetof(_member). */
 | 
			
		||||
@@ -156,8 +145,6 @@
 | 
			
		||||
 
 | 
			
		||||
 #define likely(expr) (expr)
 | 
			
		||||
 #define unlikely(expr) (expr)
 | 
			
		||||
-#undef __i386__
 | 
			
		||||
-#undef __i686__
 | 
			
		||||
 
 | 
			
		||||
 static char *
 | 
			
		||||
 PARENT_HELPER (char *p, unsigned int offset)
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue