aboutsummaryrefslogtreecommitdiff
path: root/net/mediastreamer/Makefile
blob: fd0c9636b10a0bf9ab48ab488c138496e31f3b11 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
PORTNAME=	mediastreamer
DISTVERSION=	5.2.37
PORTREVISION=	1
CATEGORIES=	net

MAINTAINER=	bofh@FreeBSD.org
COMMENT=	Real-time audio and video streaming and processing
WWW=		https://www.linphone.org/technical-corner/mediastreamer2

LICENSE=	GPLv3
LICENSE_FILE=	${WRKSRC}/LICENSE.txt

LIB_DEPENDS=	libbctoolbox.so:net/bctoolbox \
		libbzrtp.so:security/bzrtp \
		libortp.so:net/ortp \
		libspeexdsp.so:audio/speexdsp \
		libsrtp2.so:net/libsrtp2

USES=		cmake compiler gnome python:build sqlite
USE_GITLAB=	yes
GL_SITE=	https://gitlab.linphone.org/BC
GL_ACCOUNT=	public
GL_PROJECT=	${PORTNAME}2
GL_COMMIT=	bd8ef7b1e5377c8c9598f8d53cac942deae6befc
USE_GNOME=	libxml2
USE_LDCONFIG=	yes

CMAKE_ARGS=	-DCMAKE_PREFIX_PATH=${LOCALBASE} \
		-DENABLE_ALSA=NO \
		-DENABLE_BV16=NO \
		-DENABLE_DOC=NO \
		-DENABLE_JPEG=NO \
		-DENABLE_OSS=YES \
		-DENABLE_PULSEAUDIO=NO \
		-DENABLE_STATIC=NO \
		-DENABLE_STRICT=NO \
		-DENABLE_TOOLS=NO \
		-DENABLE_UNIT_TESTS=NO

LDFLAGS+=	-pthread

OPTIONS_DEFINE=		MATROSKA VIDEO
OPTIONS_DEFAULT=	FFMPEG G729 GLX GSM MATROSKA OPUS QTGL SPEEX THEORA \
			V4L VIDEO VPX XVIDEO
OPTIONS_GROUP=		AUDIOOPT VIDEOOPT
OPTIONS_GROUP_AUDIOOPT=	G726 G729 GSM OPUS SPEEX
OPTIONS_GROUP_VIDEOOPT=	FFMPEG GLX QTGL THEORA V4L VPX XVIDEO
OPTIONS_SUB=		yes

AUDIOOPT_DESC=	Audio options
G726_DESC=		G.726 codec support
G729_DESC=		G.729 codec support
VIDEOOPT_DESC=	Video options
QTGL_DESC=		Qt OpenGL rendering support

FFMPEG_IMPLIES=		VIDEO
FFMPEG_LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg
FFMPEG_CMAKE_BOOL=	ENABLE_FFMPEG
G726_LIB_DEPENDS=	libspandsp.so:comms/spandsp
G726_CMAKE_BOOL=	ENABLE_G726
G729_LIB_DEPENDS=	libbcg729.so:audio/bcg729
G729_CMAKE_BOOL=	ENABLE_G729
GLX_IMPLIES=	VIDEO
GLX_USES=	gl
GLX_USE=	GL=gl,glew
GLX_CMAKE_BOOL=	ENABLE_GL ENABLE_GLX
GSM_LIB_DEPENDS=	libgsm.so:audio/gsm
GSM_CMAKE_BOOL=		ENABLE_GSM
MATROSKA_LIB_DEPENDS=	libbcmatroska2.so:multimedia/bcmatroska2
MATROSKA_CMAKE_BOOL=	ENABLE_MKV
OPUS_LIB_DEPENDS=	libopus.so:audio/opus
OPUS_CMAKE_BOOL=	ENABLE_OPUS
QTGL_IMPLIES=	VIDEO
QTGL_USES=	qt:5
QTGL_USE=	QT=core,declarative,gui,network,buildtools:build,qmake:build
QTGL_CMAKE_BOOL=	ENABLE_QT_GL
SPEEX_LIB_DEPENDS=	libspeex.so:audio/speex
SPEEX_CMAKE_BOOL=	ENABLE_SPEEX_CODEC
THEORA_IMPLIES=		VIDEO
THEORA_LIB_DEPENDS=	libtheora.so:multimedia/libtheora
THEORA_CMAKE_BOOL=	ENABLE_THEORA
V4L_IMPLIES=		VIDEO
V4L_BUILD_DEPENDS=	v4l_compat>=1.0.20120501:multimedia/v4l_compat
V4L_LIB_DEPENDS=	libv4l2.so:multimedia/libv4l
V4L_CMAKE_BOOL=		ENABLE_V4L
VIDEO_CMAKE_BOOL=	ENABLE_VIDEO
VPX_IMPLIES=		VIDEO
VPX_LIB_DEPENDS=	libvpx.so:multimedia/libvpx
VPX_CMAKE_BOOL=		ENABLE_VPX
XVIDEO_IMPLIES=		VIDEO
XVIDEO_USES=		xorg
XVIDEO_USE=		XORG=x11,xorgproto,xv
XVIDEO_CMAKE_BOOL=	ENABLE_X11 ENABLE_XV
XVIDEO_LDFLAGS=		-L${LOCALBASE}/lib -lX11

.include <bsd.port.pre.mk>

post-patch:
	@${REINPLACE_CMD} 's,gsm/gsm\.h,gsm.h,' \
		${WRKSRC}/cmake/FindGSM.cmake ${WRKSRC}/src/audiofilters/gsm.c
.if ${CHOSEN_COMPILER_TYPE} == gcc
	@${REINPLACE_CMD} '/-Wno-format-truncation/d' ${WRKSRC}/CMakeLists.txt
.endif

.include <bsd.port.post.mk>