blob: 8f42fd0d9b0da5329c1070f8e8f9c7bcc3b71858 (
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
PORTNAME= ${_MLT_PORTNAME}
DISTVERSION= ${_MLT_VERSION}
PORTREVISION= 2
CATEGORIES?= multimedia
# Don't use GitHub "fake" downloads that are auto-generated from a
# tag; the project uploads tarballs for each release.
# https://github.com/mltframework/mlt/releases/download/v6.26.1/mlt-6.26.1.tar.gz
MASTER_SITES= https://github.com/mltframework/mlt/releases/download/v${DISTVERSION}/
DISTFILES= mlt-${DISTVERSION}${EXTRACT_SUFX}
WRKSRC= ${WRKDIR}/mlt-${DISTVERSION}
PATCH_SITES= https://github.com/mltframework/mlt/commit/
PATCHFILES= 86b922b361c0dbc9a70999abaef7be065e91dd1f.patch:-p1 \
41cfefcdd9c490b016cedcdc56186f50ee35bc44.patch:-p1
MAINTAINER= kde@FreeBSD.org
COMMENT?= Multimedia framework for TV broadcasting
LICENSE?= GPLv2 GPLv3 LGPL21
LICENSE_COMB?= multi
USES+= alias cmake compiler:c++11-lang eigen:3 localbase pkgconfig
USE_LDCONFIG= yes
DATADIR= ${PREFIX}/share/mlt-7
.ifndef(SLAVEPORT) # Master port.
BROKEN_sparc64= does not compile on sparc64 (invokes i386 asm)
USES+= gnome mlt:7,nodepend
USE_GNOME= libxml2
CMAKE_ON= MOD_XML
# Explicitly disabled modules that are ouddated, unnecessary, or have
# their own port.
CMAKE_OFF= MOD_SDL1 MOD_QT \
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 PLUS PLUSGPL RESAMPLE SDL2 SOX \
VIDSTAB VORBIS
OPTIONS_GROUP= MODULES
OPTIONS_GROUP_MODULES= AVFORMAT DECKLINK 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
DECKLINK_DESC= Enable decklink module
DECKLINK_CMAKE_BOOL= MOD_DECKLINK
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=gdkpixbuf2,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
JACKRACK_USE= gnome=glib20
JACKRACK_CMAKE_BOOL= MOD_JACKRACK
KDENLIVE_DESC= Enable kdenlive module
KDENLIVE_CMAKE_BOOL= MOD_KDENLIVE
MOVIT_DESC= Enable OpenGL module
MOVIT_USES= gl xorg
MOVIT_USE= gl=opengl xorg=x11
MOVIT_LIB_DEPENDS= libmovit.so:graphics/movit \
libepoxy.so:graphics/libepoxy
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
OPENGL_DESC= Enable OpenGL module
OPENGL_CMAKE_BOOL= MOD_OPENGL
OPENGL_LIB_DEPENDS= libepoxy.so:graphics/libepoxy \
libmovit.so:graphics/movit
OPENGL_USES= gl xorg
OPENGL_USE= gl=gl xorg=x11
PLUSGPL_DESC= Enable plus GPL module
PLUSGPL_CMAKE_BOOL= MOD_PLUSGPL
PLUS_DESC= Enable plus module
PLUS_LIB_DEPENDS= libfftw3.so:math/fftw3
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 \
libpulse-simple.so:audio/pulseaudio
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=image2
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 libogg.so:audio/libogg
VORBIS_CMAKE_BOOL= MOD_VORBIS
XINE_DESC= Enable xine module
XINE_CMAKE_BOOL= MOD_XINE
pre-configure:
${RM} ${STAGEDIR}${PREFIX}/man/man1/melt.1
@${REINPLACE_CMD} -e 's,/usr/local,${LOCALBASE},' \
${WRKSRC}/src/modules/frei0r/factory.c \
${WRKSRC}/src/modules/jackrack/plugin_mgr.c
common-post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/melt-7
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmlt-7.so.${PORTVERSION}
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmlt++-7.so.${PORTVERSION}
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
.else # Slave port.
PORTSCOUT= ignore:1
# Depend on multimedia/mlt7 for child ports
USES+= mlt:7
PLIST?= ${.CURDIR}/pkg-plist
INSTALL_WRKSRC?= ${BUILD_WRKSRC}
.endif
post-install: common-post-install
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/* 2>/dev/null || ${TRUE}
@${RMDIR} -p ${STAGEDIR}${PREFIX}/lib/${PORTNAME} 2>/dev/null || ${TRUE}
.include <bsd.port.mk>
|