aboutsummaryrefslogtreecommitdiff
path: root/multimedia/mlt7/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/mlt7/Makefile')
-rw-r--r--multimedia/mlt7/Makefile177
1 files changed, 177 insertions, 0 deletions
diff --git a/multimedia/mlt7/Makefile b/multimedia/mlt7/Makefile
new file mode 100644
index 000000000000..b6b6510c35d8
--- /dev/null
+++ b/multimedia/mlt7/Makefile
@@ -0,0 +1,177 @@
+PORTNAME= ${_MLT_PORTNAME}
+DISTVERSION= ${_MLT_VERSION}
+PORTREVISION?= 0
+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}
+
+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
+
+DATADIR= ${PREFIX}/share/mlt-7
+
+.ifndef(SLAVEPORT) # Master port.
+BROKEN_sparc64= does not compile on sparc64 (invokes i386 asm)
+
+USES+= mlt:7,nodepend
+
+# Explicitly disabled modules that are ouddated, unnecessary, or have
+# their own port.
+CMAKE_OFF= MOD_SDL1 MOD_QT \
+ 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 MOVIG PLUS PLUSGPL RESAMPLE SOX VIDSTAB VORBIS
+
+OPTIONS_GROUP= MODULES
+OPTIONS_GROUP_MODULES= AVFORMAT DECKLINK FREI0R GDK JACKRACK KDENLIVE MOVIT NDI NORMALIZE \
+ OLDFILM OPENCV PLUS PLUSGPL RESAMPLE RTAUDIO RUBBERBAND SDL2 \
+ SOX VIDSTAB VORBIS XINE XML
+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_USES= gnome
+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_USES= gnome
+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_CMAKE_BOOL= MOD_MOVIT
+
+NDI_DESC= Enable NDI module
+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_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
+
+XML_DESC= Enable XML module
+XML_USES= gnome
+XML_USE= gnome=libxml2
+XML_CMAKE_BOOL= MOD_XML
+
+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>