mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-25 04:43:33 +00:00
37ecec0302
Approved by: pi (implicit)
125 lines
3.5 KiB
Makefile
125 lines
3.5 KiB
Makefile
# Created by: Andrew Thompson <thompsa@FreeBSD.org>
|
|
# Check v4l_compat and v4l-utils slave ports
|
|
|
|
PORTNAME?= libv4l
|
|
PORTVERSION= 1.20.0
|
|
PORTREVISION= 2
|
|
DISTVERSIONPREFIX= v4l-utils-
|
|
CATEGORIES= multimedia
|
|
|
|
MAINTAINER= multimedia@FreeBSD.org
|
|
COMMENT?= Video4Linux library
|
|
|
|
LICENSE= GPLv2 LGPL21
|
|
LICENSE_COMB= dual
|
|
|
|
USES= compiler:c11 tar:bzip2
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= hselasky
|
|
GH_PROJECT= v4l-utils
|
|
|
|
GH_TUPLE= hselasky:webcamd:v5.13.2.2:webcamd \
|
|
torvalds:linux:v5.13-rc2:linux
|
|
|
|
WEBCAMDDIR= ${WRKDIR}/webcamd-5.13.2.2
|
|
LINUXDIR= ${WRKDIR}/linux-*
|
|
|
|
.if ${PORTNAME} == v4l-utils || ${PORTNAME} == libv4l
|
|
LIB_DEPENDS+= libargp.so:devel/argp-standalone \
|
|
libudev.so:devel/libudev-devd
|
|
BUILD_DEPENDS+= gsed>0:textproc/gsed \
|
|
v4l_compat>=${PORTVERSION}:multimedia/v4l_compat
|
|
|
|
GNU_CONFIGURE= yes
|
|
CPPFLAGS+= -I${LOCALBASE}/include
|
|
LDFLAGS+= -L${LOCALBASE}/lib
|
|
USES+= autoreconf gettext-tools gmake iconv jpeg libtool pathfix pkgconfig
|
|
USE_LDCONFIG= yes
|
|
CONFIGURE_ARGS= \
|
|
--disable-qv4l2 \
|
|
--disable-qvidcap \
|
|
--disable-nls
|
|
BINARY_ALIAS= sed=gsed
|
|
INSTALL_TARGET= install-strip
|
|
.endif
|
|
|
|
.if ${PORTNAME} == v4l_compat
|
|
RUN_DEPENDS+= evdev-proto>=5.3:devel/evdev-proto
|
|
.endif
|
|
|
|
.if ${PORTNAME} == v4l-utils
|
|
USES+= perl5
|
|
BUILD_DEPENDS+= libv4l>=${PORTVERSION}:multimedia/libv4l
|
|
LIB_DEPENDS+= libepoll-shim.so:devel/libepoll-shim \
|
|
libv4l2.so:multimedia/libv4l
|
|
CPPFLAGS+= -I${LOCALBASE}/include/libepoll-shim
|
|
LDFLAGS+= -lepoll-shim
|
|
CONFIGURE_ARGS+= \
|
|
--enable-v4l-utils \
|
|
--without-v4l2-compliance
|
|
.endif
|
|
|
|
.if ${PORTNAME} == libv4l
|
|
CONFIGURE_ENV+= \
|
|
libudev_CFLAGS=" "
|
|
CONFIGURE_ARGS+= \
|
|
--disable-v4l-utils \
|
|
--enable-dyn-libv4l \
|
|
--enable-libdvbv5
|
|
.endif
|
|
|
|
post-patch:
|
|
# Remove old FreeBSD include files (to be removed upstream)
|
|
@${RM} -r ${WRKSRC}/contrib/freebsd/include/*
|
|
# Create symbolic link for Linux sources
|
|
@(${RM} -r ${WEBCAMDDIR}/media_tree && ${LN} -s ${LINUXDIR} ${WEBCAMDDIR}/media_tree)
|
|
# Apply webcamd patches first
|
|
@(cd ${WEBCAMDDIR}/patches && ${SH} ./do_patch.sh)
|
|
# Patch all source files
|
|
@${FIND} ${WRKSRC} ${LINUXDIR}/include/uapi \
|
|
-type f \( -iname "*.[ch]" -or -iname "*.cpp" -or -iname "cec-gen.pl" \) | \
|
|
${XARGS} -n 10 ${REINPLACE_CMD} \
|
|
-e 's|__inline__|inline|g' \
|
|
-e 's|__u8|uint8_t|g' \
|
|
-e 's|__s8|int8_t|g' \
|
|
-e 's|__le16|uint16_t|g' \
|
|
-e 's|__be16|uint16_t|g' \
|
|
-e 's|__u16|uint16_t|g' \
|
|
-e 's|__s16|int16_t|g' \
|
|
-e 's|__le32|uint32_t|g' \
|
|
-e 's|__be32|uint32_t|g' \
|
|
-e 's|__u32|uint32_t|g' \
|
|
-e 's|__s32|int32_t|g' \
|
|
-e 's|__le64|uint64_t|g' \
|
|
-e 's|__be64|uint64_t|g' \
|
|
-e 's|__u64|uint64_t|g' \
|
|
-e 's|__s64|int64_t|g' \
|
|
-e 's|uint16_t_to_cpu|letoh16|g' \
|
|
-e 's|uint32_t_to_cpu|letoh32|g' \
|
|
-e 's|uint64_t_to_cpu|letoh64|g' \
|
|
-e 's|error_t|int|g' \
|
|
-e 's|"gettext.h"|<stdio.h>|g' \
|
|
-e 's|MSG_MORE|0|g' \
|
|
-e 's|EBADR|EFAULT|g' \
|
|
-e 's|ENONET|EHOSTDOWN|g' \
|
|
-e 's|_IOC_READ|IOC_OUT|g' \
|
|
-e 's|_IOC_WRITE|IOC_IN|g' \
|
|
-e 's|_IOC_NONE|IOC_VOID|g' \
|
|
-e 's|<endian.h>|<sys/endian.h>|g' \
|
|
-e 's|<linux/compiler.h>|<sys/cdefs.h>|g' \
|
|
-e 's|"compiler.h"|<sys/cdefs.h>|g' \
|
|
-e 's|fallthrough;|;|g' \
|
|
-e 's|<linux/errno.h>|<errno.h>|g' \
|
|
-e 's|<linux/ioctl.h>|<sys/ioctl.h>|g' \
|
|
-e '/^.*\<linux\/kernel.h\>.*/d' \
|
|
-e 's|<linux/string.h>|<string.h>|g' \
|
|
-e 's|<linux/sysmacros.h>|<sys/types.h>|g' \
|
|
-e 's|<malloc.h>|<stdlib.h>|g' \
|
|
-e 's|<sys/epoll.h>|<libepoll-shim/sys/epoll.h>|g' \
|
|
-e 's|<sys/sysmacros.h>|<sys/types.h>|g' \
|
|
-e 's|/usr/bin/perl|${LOCALBASE}/bin/perl|g' \
|
|
-e 's|__user||g'
|
|
|
|
.include <bsd.port.mk>
|