aboutsummaryrefslogtreecommitdiff
path: root/multimedia/mlt7/Makefile
blob: 12537e34275c1db4e2a167d240268e358bd75f52 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
PORTNAME=	${_MLT_PORTNAME}
DISTVERSION=	${_MLT_VERSION}
PORTREVISION?=	0
CATEGORIES?=	multimedia
MASTER_SITES=	https://github.com/mltframework/mlt/releases/download/v${DISTVERSION}/
DISTFILES=	mlt-${DISTVERSION}${EXTRACT_SUFX}

MAINTAINER=	kde@FreeBSD.org
COMMENT?=	Multimedia framework for TV broadcasting
WWW=		https://www.mltframework.org/

LICENSE?=	GPLv2 GPLv3 LGPL21
LICENSE_COMB?=	multi

USES+=		cmake localbase pathfix pkgconfig
USE_LDCONFIG=	yes

# Suppress errors with lld >= 17 due to undefined symbols.
LDFLAGS+=	-Wl,--undefined-version

DATADIR=	${PREFIX}/share/mlt-7

WRKSRC=		${WRKDIR}/mlt-${DISTVERSION}

.ifndef(_MLT_EXTRA_MOD) # Main port
USES+=		compiler:c++11-lang gnome mlt:7,nodepend
USE_GNOME=	libxml2

CMAKE_ON=	MOD_XML

# Explicitly disabled modules that are outdated, unnecessary, or have
# their own port.
CMAKE_OFF=	CLANG_FORMAT CMAKE_CXX_SCAN_FOR_MODULES \
		MOD_DECKLINK MOD_GLAXNIMATE_QT6 MOD_SDL1 MOD_QT6 MOD_NDI \
		SWIG_CSHARP SWIG_JAVA SWIG_LUA SWIG_NODEJS SWIG_PERL \
		SWIG_PHP SWIG_PYTHON SWIG_RUBY SWIG_TCL

PORTDOCS=	AUTHORS NEWS
PORTEXAMPLES=	demo

OPTIONS_DEFINE=		DOCS EXAMPLES
OPTIONS_DEFAULT=	AVFORMAT FREI0R GDK MOVIT KDENLIVE NORMALIZE PLUS \
			PLUSGPL RESAMPLE SDL2 SOX VIDSTAB VORBIS

OPTIONS_GROUP=		MODULES
OPTIONS_GROUP_MODULES=	AVFORMAT FREI0R GDK JACKRACK KDENLIVE MOVIT NORMALIZE \
			OLDFILM OPENCV PLUS PLUSGPL RESAMPLE RTAUDIO RUBBERBAND \
			SDL2 SOX VIDSTAB VORBIS XINE
OPTIONS_SUB=		yes

AVFORMAT_DESC=		Enable avformat module
AVFORMAT_LIB_DEPENDS=	libavformat.so:multimedia/ffmpeg
AVFORMAT_CMAKE_BOOL=	MOD_AVFORMAT

FREI0R_DESC=		Enable frei0r module
FREI0R_BUILD_DEPENDS=	${LOCALBASE}/include/frei0r.h:graphics/frei0r
FREI0R_CMAKE_BOOL=	MOD_FREI0R

GDK_DESC=		Enable gdk module
GDK_LIB_DEPENDS=	libexif.so:graphics/libexif \
			libfontconfig.so:x11-fonts/fontconfig \
			libfreetype.so:print/freetype2 \
			libharfbuzz.so:print/harfbuzz
GDK_USE=		gnome=gdkpixbuf,pango
GDK_CMAKE_BOOL=		MOD_GDK

JACKRACK_DESC=		Enable jackrack module
JACKRACK_BUILD_DEPENDS=	${LOCALBASE}/include/ladspa.h:audio/ladspa
JACKRACK_LIB_DEPENDS=	libjack.so:audio/jack \
			liblilv-0.so:audio/lilv
JACKRACK_USE=		gnome=glib20
JACKRACK_CMAKE_BOOL=	MOD_JACKRACK USE_LV2 USE_VST2

KDENLIVE_DESC=		Enable kdenlive module
KDENLIVE_CMAKE_BOOL=	MOD_KDENLIVE

MOVIT_DESC=		Enable Movit module
MOVIT_LIB_DEPENDS=	libmovit.so:graphics/movit \
			libepoxy.so:graphics/libepoxy
MOVIT_USES=		eigen:3 gl xorg
MOVIT_USE=		gl=opengl xorg=x11
MOVIT_CMAKE_BOOL=	MOD_MOVIT

NORMALIZE_DESC=		Enable normalize module
NORMALIZE_CMAKE_BOOL=	MOD_NORMALIZE

OLDFILM_DESC=		Enable oldfilm module
OLDFILM_CMAKE_BOOL=	MOD_OLDFILM

OPENCV_DESC=		Enable OpenCV module
OPENCV_LIB_DEPENDS=	libopencv_core.so:graphics/opencv
OPENCV_CMAKE_BOOL=	MOD_OPENCV

PLUSGPL_DESC=		Enable plus GPL module
PLUSGPL_CMAKE_BOOL=	MOD_PLUSGPL

PLUS_DESC=		Enable plus module
PLUS_LIB_DEPENDS=	libfftw3.so:math/fftw3
PLUS_USES=		ebur128
PLUS_CMAKE_BOOL=	MOD_PLUS

RESAMPLE_DESC=		Enable resample module
RESAMPLE_LIB_DEPENDS=	libsamplerate.so:audio/libsamplerate
RESAMPLE_CMAKE_BOOL=	MOD_RESAMPLE

RTAUDIO_DESC=		Enable RtAudio module
RTAUDIO_LIB_DEPENDS=	librtaudio.so:audio/rtaudio
RTAUDIO_CMAKE_BOOL=	MOD_RTAUDIO

RUBBERBAND_DESC=	Enable rubberband module
RUBBERBAND_LIB_DEPENDS=	librubberband.so:audio/rubberband
RUBBERBAND_CMAKE_BOOL=	MOD_RUBBERBAND

SDL2_DESC=		Enable SDL2 module
SDL2_USES=		sdl
SDL2_USE=		sdl=sdl2
SDL2_CMAKE_BOOL=	MOD_SDL2

SOX_DESC=		Enable SoX module
SOX_LIB_DEPENDS=	libsox.so:audio/sox
SOX_CMAKE_BOOL=		MOD_SOX

VIDSTAB_DESC=		Enable vid.stab module
VIDSTAB_LIB_DEPENDS=	libvidstab.so:multimedia/vid.stab
VIDSTAB_CMAKE_BOOL=	MOD_VIDSTAB

VORBIS_DESC=		Enable Vorbis module
VORBIS_LIB_DEPENDS=	libvorbis.so:audio/libvorbis
VORBIS_CMAKE_BOOL=	MOD_VORBIS

XINE_DESC=		Enable xine module
XINE_CMAKE_BOOL=	MOD_XINE

post-install-DOCS-on:
.  for f in ${PORTDOCS}
	cd ${WRKSRC} && ${COPYTREE_SHARE} ${f} ${STAGEDIR}${DOCSDIR}
.  endfor

post-install-EXAMPLES-on:
.  for f in ${PORTEXAMPLES}
	cd ${WRKSRC} && ${COPYTREE_SHARE} ${f} ${STAGEDIR}${EXAMPLESDIR}
.  endfor
.endif

.include <bsd.port.mk>