aboutsummaryrefslogtreecommitdiff
path: root/multimedia/libv4l/Makefile
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2015-06-14 04:59:37 +0000
committerKoop Mast <kwm@FreeBSD.org>2015-06-14 04:59:37 +0000
commit636dab0705fda62735af1c32cfd0044e7411d00b (patch)
treee28f69d965fffbb0ca82d5ddafa17b411ba2eeed /multimedia/libv4l/Makefile
parent4ff6e86d0ec8bc2a68e360f6c21e1cb6aca779bf (diff)
downloadports-636dab0705fda62735af1c32cfd0044e7411d00b.tar.gz
ports-636dab0705fda62735af1c32cfd0044e7411d00b.zip
Update libv4l and friends to 1.6.3.
Turn v4l-util and v4l_compat into slave ports. "Steal" the dvb headers from linux 3.16.7 and roll them into a tarball. Assign maintainership to multimedia@ Differential Revision: https://reviews.freebsd.org/D1482 Approved by: nox@, hslasky@, kwm@ (multimedia@)
Notes
Notes: svn path=/head/; revision=389588
Diffstat (limited to 'multimedia/libv4l/Makefile')
-rw-r--r--multimedia/libv4l/Makefile79
1 files changed, 60 insertions, 19 deletions
diff --git a/multimedia/libv4l/Makefile b/multimedia/libv4l/Makefile
index f2b73c661743..9b14fa02c618 100644
--- a/multimedia/libv4l/Makefile
+++ b/multimedia/libv4l/Makefile
@@ -1,32 +1,73 @@
# Created by: Andrew Thompson <thompsa@FreeBSD.org>
# $FreeBSD$
+# Check v4l_compat and v4l-utils slave ports
-PORTNAME= libv4l
-PORTVERSION= 0.8.8
-PORTREVISION= 2
+PORTNAME?= libv4l
+PORTVERSION= 1.6.3
+PORTREVISION?= 0
CATEGORIES= multimedia
-MASTER_SITES= http://linuxtv.org/downloads/v4l-utils/
-DISTNAME= v4l-utils-${PORTVERSION}
+MASTER_SITES= http://linuxtv.org/downloads/v4l-utils/:master \
+ LOCAL/kwm:local
+DISTFILES+= v4l-utils-${PORTVERSION}.tar.bz2:master \
+ linux-3.16.7-dvb-headers.tar.xz:local
-MAINTAINER= hselasky@FreeBSD.org
-COMMENT= Video4Linux library
+MAINTAINER= multimedia@FreeBSD.org
+COMMENT?= Video4Linux library
-BUILD_DEPENDS= v4l_compat>=1.0.20120501:${PORTSDIR}/multimedia/v4l_compat
-LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg
+LICENSE= GPLv2 LGPL21
+LICENSE_COMB= dual
-MAKE_ARGS= CFLAGS="${CFLAGS} -I${LOCALBASE}/include" \
- LDFLAGS="-L${LOCALBASE}/lib" LIBDIR="${PREFIX}/lib"
-USES= gmake tar:bzip2
+LIBV4L_SLAVE?= no
+
+USES= tar:bzip2
+WRKSRC= ${WRKDIR}/v4l-utils-${PORTVERSION}
+
+.if ${LIBV4L_SLAVE} != compat
+BUILD_DEPENDS+= v4l_compat>=${PORTVERSION}:${PORTSDIR}/multimedia/v4l_compat
+LIB_DEPENDS+= libjpeg.so:${PORTSDIR}/graphics/jpeg \
+ libargp.so:${PORTSDIR}/devel/argp-standalone
+
+GNU_CONFIGURE= yes
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+USES+= gmake libtool pathfix pkgconfig
USE_LDCONFIG= yes
+CONFIGURE_ARGS= --enable-libdvbv5 \
+ --disable-qv4l2 \
+ --without-libudev
+INSTALL_TARGET= install-strip
+
+. if ${LIBV4L_SLAVE} == utils
+BUILD_DEPENDS+= libv4l>=${PORTVERSION}:${PORTSDIR}/multimedia/libv4l
+LIB_DEPENDS+= libv4l2.so:${PORTSDIR}/multimedia/libv4l
+# Disabling building libv4l in the utils slave is too much hackery
+# Lets wait for subpackages
+CONFIGURE_ARGS+=--enable-v4l-utils
+. else
+CONFIGURE_ARGS+=--disable-v4l-utils --enable-libv4l
+. endif
+.endif
-WRKSRC= ${WRKDIR}/${DISTNAME}/lib
+HEADER_PATCHES= extra-linux_dvb_ca.h \
+ extra-linux_dvb_osd.h \
+ patch-include_linux_dvb_frontend.h \
+ patch-include_linux_dvb_video.h
post-patch:
- @${REINPLACE_CMD} -e 's|$$(LIBDIR)/pkgconfig|${PREFIX}/libdata/pkgconfig|g' \
- -e 's|-lrt||g' \
- ${WRKSRC}/libv4l1/Makefile \
- ${WRKSRC}/libv4l2/Makefile \
- ${WRKSRC}/libv4lconvert/Makefile
- @${RM} ${WRKSRC}/../include/linux/videodev2.h
+ @${REINPLACE_CMD} -e 's|$$libdir/pkgconfig|${PREFIX}/libdata/pkgconfig|g' \
+ ${WRKSRC}/configure
+# fix weird types, except a few headers which have compat code for these types.
+ @${FIND} ${WRKDIR} -type f \( -iname "*.h" ! -iname "input.h" ! -iname "videodev2.h" \) | \
+ ${XARGS} -n 10 ${REINPLACE_CMD} \
+ -e 's|linux/types.h|sys/types.h|g; s|__user||g; \
+ s|__u8|uint8_t|g; s|__s8|int8_t|g; \
+ s|__u16|uint16_t|g; s|__s16|int16_t|g; \
+ s|__u32|uint32_t|g; s|__s32|int32_t|g; \
+ s|__u64|uint64_t|g; s|__s64|int64_t|g'
+.if ${LIBV4L_SLAVE} == compat
+.for patch in ${HEADER_PATCHES}
+ @cd ${WRKDIR}/linux && ${PATCH} -p2 < ${FILESDIR}/${patch}
+.endfor
+.endif
.include <bsd.port.mk>