aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
authornox <nox@FreeBSD.org>2012-06-29 01:49:51 +0800
committernox <nox@FreeBSD.org>2012-06-29 01:49:51 +0800
commit349357b0704a96b648afe1e0544148c5e82d6e63 (patch)
tree6193c8acce2779177b80527b251aa2a630490640 /multimedia
parentac91c810bc8351eda5fa2f1e3ce83eb11c0f2254 (diff)
downloadfreebsd-ports-gnome-349357b0704a96b648afe1e0544148c5e82d6e63.tar.gz
freebsd-ports-gnome-349357b0704a96b648afe1e0544148c5e82d6e63.tar.zst
freebsd-ports-gnome-349357b0704a96b648afe1e0544148c5e82d6e63.zip
- Fix two linux/dvb ioctls in multimedia/v4l_compat , multimedia/webcamd ,
and multimedia/linux_dvbwrapper : CA_GET_SLOT_INFO and CA_GET_MSG need to be _IOWR not _IOR. - Bump PORTREVISION for multimedia/vdr too since it uses one of the ioctls. (This fixes the CI slot of at last the TT CT-3650 DVB-C/T tuner.) Approved by: hselasky (maintainer of multimedia/webcamd)
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/linux_dvbwrapper-kmod/Makefile1
-rw-r--r--multimedia/linux_dvbwrapper-kmod/files/linux_dvbwrapper.c6
-rw-r--r--multimedia/v4l_compat/Makefile1
-rw-r--r--multimedia/v4l_compat/files/patch-dvb-ca.h20
-rw-r--r--multimedia/vdr/Makefile1
-rw-r--r--multimedia/webcamd/Makefile1
-rw-r--r--multimedia/webcamd/files/patch-media_tree-include-linux-dvb-ca.h20
7 files changed, 47 insertions, 3 deletions
diff --git a/multimedia/linux_dvbwrapper-kmod/Makefile b/multimedia/linux_dvbwrapper-kmod/Makefile
index 47e03abfdaf7..cd3ca3a06522 100644
--- a/multimedia/linux_dvbwrapper-kmod/Makefile
+++ b/multimedia/linux_dvbwrapper-kmod/Makefile
@@ -7,6 +7,7 @@
PORTNAME= linux_dvbwrapper-kmod
PORTVERSION= 1.0
+PORTREVISION= 1
CATEGORIES= multimedia kld
DISTFILES= # none
diff --git a/multimedia/linux_dvbwrapper-kmod/files/linux_dvbwrapper.c b/multimedia/linux_dvbwrapper-kmod/files/linux_dvbwrapper.c
index c1f1b680fe9b..c99ecdb29905 100644
--- a/multimedia/linux_dvbwrapper-kmod/files/linux_dvbwrapper.c
+++ b/multimedia/linux_dvbwrapper-kmod/files/linux_dvbwrapper.c
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: /tmp/pcvs/ports/multimedia/linux_dvbwrapper-kmod/files/linux_dvbwrapper.c,v 1.2 2011-09-27 17:37:18 nox Exp $");
+__FBSDID("$FreeBSD: /tmp/pcvs/ports/multimedia/linux_dvbwrapper-kmod/files/linux_dvbwrapper.c,v 1.3 2012-06-28 17:49:51 nox Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -263,13 +263,13 @@ linux_ioctl_dvb(struct thread *td, struct linux_ioctl_args *args)
case LINUX_FE_GET_FRONTEND:
case LINUX_FE_GET_EVENT:
case LINUX_CA_GET_CAP:
- case LINUX_CA_GET_SLOT_INFO:
case LINUX_CA_GET_DESCR_INFO:
- case LINUX_CA_GET_MSG:
args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_OUT;
break;
case LINUX_DMX_GET_STC:
+ case LINUX_CA_GET_SLOT_INFO:
+ case LINUX_CA_GET_MSG:
case LINUX_NET_GET_IF:
net_add_if:
args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_INOUT;
diff --git a/multimedia/v4l_compat/Makefile b/multimedia/v4l_compat/Makefile
index b9c3de8d5b9d..0933530c53d6 100644
--- a/multimedia/v4l_compat/Makefile
+++ b/multimedia/v4l_compat/Makefile
@@ -7,6 +7,7 @@
PORTNAME= v4l_compat
PORTVERSION= 1.0.${DUMMYDATE}
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= LOCAL/kwm
diff --git a/multimedia/v4l_compat/files/patch-dvb-ca.h b/multimedia/v4l_compat/files/patch-dvb-ca.h
new file mode 100644
index 000000000000..bc42f2e9cdca
--- /dev/null
+++ b/multimedia/v4l_compat/files/patch-dvb-ca.h
@@ -0,0 +1,20 @@
+--- dvb/ca.h.orig
++++ dvb/ca.h
+@@ -80,9 +80,17 @@ typedef struct ca_pid {
+
+ #define CA_RESET _IO('o', 128)
+ #define CA_GET_CAP _IOR('o', 129, ca_caps_t)
++
++/* At least CA_GET_SLOT_INFO and CA_GET_MSG need to be _IOWR not _IOR.
++ * This is wrong on Linux too but there the driver doesn't care.
++ *
+ #define CA_GET_SLOT_INFO _IOR('o', 130, ca_slot_info_t)
+ #define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t)
+ #define CA_GET_MSG _IOR('o', 132, ca_msg_t)
++ */
++#define CA_GET_SLOT_INFO _IOWR('o', 130, ca_slot_info_t)
++#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t)
++#define CA_GET_MSG _IOWR('o', 132, ca_msg_t)
+ #define CA_SEND_MSG _IOW('o', 133, ca_msg_t)
+ #define CA_SET_DESCR _IOW('o', 134, ca_descr_t)
+ #define CA_SET_PID _IOW('o', 135, ca_pid_t)
diff --git a/multimedia/vdr/Makefile b/multimedia/vdr/Makefile
index 2a78cdb9c764..7f7a617becf7 100644
--- a/multimedia/vdr/Makefile
+++ b/multimedia/vdr/Makefile
@@ -7,6 +7,7 @@
PORTNAME= vdr
PORTVERSION= 1.7.28
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= ftp://ftp.tvdr.de/vdr/Developer/
diff --git a/multimedia/webcamd/Makefile b/multimedia/webcamd/Makefile
index 20c271a0007c..72b591f57f26 100644
--- a/multimedia/webcamd/Makefile
+++ b/multimedia/webcamd/Makefile
@@ -7,6 +7,7 @@
PORTNAME= webcamd
PORTVERSION= 3.6.0.1
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= http://www.selasky.org/hans_petter/distfiles/ \
http://hselasky.homeunix.org:8192/distfiles/
diff --git a/multimedia/webcamd/files/patch-media_tree-include-linux-dvb-ca.h b/multimedia/webcamd/files/patch-media_tree-include-linux-dvb-ca.h
new file mode 100644
index 000000000000..8841d967f0c4
--- /dev/null
+++ b/multimedia/webcamd/files/patch-media_tree-include-linux-dvb-ca.h
@@ -0,0 +1,20 @@
+--- media_tree/include/linux/dvb/ca.h.orig
++++ media_tree/include/linux/dvb/ca.h
+@@ -80,9 +80,17 @@ typedef struct ca_pid {
+
+ #define CA_RESET _IO('o', 128)
+ #define CA_GET_CAP _IOR('o', 129, ca_caps_t)
++
++/* At least CA_GET_SLOT_INFO and CA_GET_MSG need to be _IOWR not _IOR.
++ * This is wrong on Linux too but there the driver doesn't care.
++ *
+ #define CA_GET_SLOT_INFO _IOR('o', 130, ca_slot_info_t)
+ #define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t)
+ #define CA_GET_MSG _IOR('o', 132, ca_msg_t)
++ */
++#define CA_GET_SLOT_INFO _IOWR('o', 130, ca_slot_info_t)
++#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t)
++#define CA_GET_MSG _IOWR('o', 132, ca_msg_t)
+ #define CA_SEND_MSG _IOW('o', 133, ca_msg_t)
+ #define CA_SET_DESCR _IOW('o', 134, ca_descr_t)
+ #define CA_SET_PID _IOW('o', 135, ca_pid_t)