Update multimedia/ffmpeg to version 6.0_3,1
[dports.git] / multimedia / mlt7 / Makefile
1 PORTNAME=               ${_MLT_PORTNAME}
2 DISTVERSION=            ${_MLT_VERSION}
3 PORTREVISION?=          1
4 CATEGORIES?=            multimedia
5 # Don't use GitHub "fake" downloads that are auto-generated from a
6 # tag; the project uploads tarballs for each release.
7 #               https://github.com/mltframework/mlt/releases/download/v6.26.1/mlt-6.26.1.tar.gz
8 MASTER_SITES=           https://github.com/mltframework/mlt/releases/download/v${DISTVERSION}/
9 DISTFILES=              mlt-${DISTVERSION}${EXTRACT_SUFX}
10 WRKSRC=                 ${WRKDIR}/mlt-${DISTVERSION}
11
12 PATCH_SITES=            https://github.com/mltframework/mlt/commit/
13 PATCHFILES=             77be3ee97453c194006df9080504492a67c8915b.patch:-p1 # Shotcut export bug #1442
14
15 MAINTAINER=             kde@FreeBSD.org
16 COMMENT?=               Multimedia framework for TV broadcasting
17 WWW=            https://www.mltframework.org/
18
19 LICENSE?=               GPLv2 GPLv3 LGPL21
20 LICENSE_COMB?=          multi
21
22 USES+=                  alias cmake compiler:c++11-lang eigen:3 localbase pkgconfig
23 USE_LDCONFIG=           yes
24
25 DATADIR=                ${PREFIX}/share/mlt-7
26
27 .ifndef(SLAVEPORT) # Master port.
28 BROKEN_sparc64=         does not compile on sparc64 (invokes i386 asm)
29
30 USES+=                  gnome mlt:7,nodepend
31 USE_GNOME=              libxml2
32
33 CMAKE_ON=               MOD_XML
34
35 # Explicitly disabled modules that are ouddated, unnecessary, or have
36 # their own port.
37 CMAKE_OFF=              MOD_GLAXNIMATE MOD_GLAXNIMATE_QT6 MOD_SDL1 MOD_QT \
38                         MOD_QT6 MOD_NDI \
39                         SWIG_CSHARP SWIG_JAVA SWIG_LUA SWIG_NODEJS SWIG_PERL \
40                         SWIG_PHP SWIG_PYTHON SWIG_RUBY SWIG_TCL
41
42 PORTDOCS=               AUTHORS NEWS
43 PORTEXAMPLES=           demo
44
45 OPTIONS_DEFINE=         DOCS EXAMPLES
46 OPTIONS_DEFAULT=        AVFORMAT FREI0R GDK MOVIT KDENLIVE NORMALIZE PLUS PLUSGPL RESAMPLE SDL2 SOX \
47                         VIDSTAB VORBIS
48
49 OPTIONS_GROUP=          MODULES
50 OPTIONS_GROUP_MODULES=  AVFORMAT DECKLINK FREI0R GDK JACKRACK KDENLIVE MOVIT NORMALIZE \
51                         OLDFILM OPENCV PLUS PLUSGPL RESAMPLE RTAUDIO RUBBERBAND SDL2 \
52                         SOX VIDSTAB VORBIS XINE
53 OPTIONS_SUB=            yes
54
55 AVFORMAT_DESC=          Enable avformat module
56 AVFORMAT_LIB_DEPENDS=   libavformat.so:multimedia/ffmpeg
57 AVFORMAT_CMAKE_BOOL=    MOD_AVFORMAT
58
59 DECKLINK_DESC=          Enable decklink module
60 DECKLINK_CMAKE_BOOL=    MOD_DECKLINK
61
62 FREI0R_DESC=            Enable frei0r module
63 FREI0R_BUILD_DEPENDS=   ${LOCALBASE}/include/frei0r.h:graphics/frei0r
64 FREI0R_CMAKE_BOOL=      MOD_FREI0R
65
66 GDK_DESC=               Enable gdk module
67 GDK_LIB_DEPENDS=        libexif.so:graphics/libexif \
68                         libfontconfig.so:x11-fonts/fontconfig \
69                         libfreetype.so:print/freetype2 \
70                         libharfbuzz.so:print/harfbuzz
71 GDK_USE=                gnome=gdkpixbuf2,pango
72 GDK_CMAKE_BOOL=         MOD_GDK
73
74 JACKRACK_DESC=          Enable jackrack module
75 JACKRACK_BUILD_DEPENDS= ${LOCALBASE}/include/ladspa.h:audio/ladspa
76 JACKRACK_LIB_DEPENDS=   libjack.so:audio/jack
77 JACKRACK_USE=           gnome=glib20
78 JACKRACK_CMAKE_BOOL=    MOD_JACKRACK
79
80 KDENLIVE_DESC=          Enable kdenlive module
81 KDENLIVE_CMAKE_BOOL=    MOD_KDENLIVE
82
83 MOVIT_DESC=             Enable OpenGL module
84 MOVIT_USES=             gl xorg
85 MOVIT_USE=              gl=opengl xorg=x11
86 MOVIT_LIB_DEPENDS=      libmovit.so:graphics/movit \
87                         libepoxy.so:graphics/libepoxy
88 MOVIT_CMAKE_BOOL=       MOD_MOVIT
89
90 NORMALIZE_DESC=         Enable normalize module
91 NORMALIZE_CMAKE_BOOL=   MOD_NORMALIZE
92
93 OLDFILM_DESC=           Enable oldfilm module
94 OLDFILM_CMAKE_BOOL=     MOD_OLDFILM
95
96 OPENCV_DESC=            Enable OpenCV module
97 OPENCV_LIB_DEPENDS=     libopencv_core.so:graphics/opencv
98 OPENCV_CMAKE_BOOL=      MOD_OPENCV
99
100 OPENGL_DESC=            Enable OpenGL module
101 OPENGL_CMAKE_BOOL=      MOD_OPENGL
102 OPENGL_LIB_DEPENDS=     libepoxy.so:graphics/libepoxy \
103                         libmovit.so:graphics/movit
104 OPENGL_USES=            gl xorg
105 OPENGL_USE=             gl=gl xorg=x11
106
107 PLUSGPL_DESC=           Enable plus GPL module
108 PLUSGPL_CMAKE_BOOL=     MOD_PLUSGPL
109
110 PLUS_DESC=              Enable plus module
111 PLUS_LIB_DEPENDS=       libfftw3.so:math/fftw3
112 PLUS_CMAKE_BOOL=        MOD_PLUS
113
114 RESAMPLE_DESC=          Enable resample module
115 RESAMPLE_LIB_DEPENDS=   libsamplerate.so:audio/libsamplerate
116 RESAMPLE_CMAKE_BOOL=    MOD_RESAMPLE
117
118 RTAUDIO_DESC=           Enable RtAudio module
119 RTAUDIO_LIB_DEPENDS=    librtaudio.so:audio/rtaudio \
120                         libpulse-simple.so:audio/pulseaudio
121 RTAUDIO_CMAKE_BOOL=     MOD_RTAUDIO
122
123 RUBBERBAND_DESC=        Enable rubberband module
124 RUBBERBAND_LIB_DEPENDS= librubberband.so:audio/rubberband
125 RUBBERBAND_CMAKE_BOOL=  MOD_RUBBERBAND
126
127 SDL2_DESC=              Enable SDL2 module
128 SDL2_USES=              sdl
129 SDL2_USE=               sdl=image2
130 SDL2_CMAKE_BOOL=        MOD_SDL2
131
132 SOX_DESC=               Enable SoX module
133 SOX_LIB_DEPENDS=        libsox.so:audio/sox
134 SOX_CMAKE_BOOL=         MOD_SOX
135
136 VIDSTAB_DESC=           Enable vid.stab module
137 VIDSTAB_LIB_DEPENDS=    libvidstab.so:multimedia/vid.stab
138 VIDSTAB_CMAKE_BOOL=     MOD_VIDSTAB
139
140 VORBIS_DESC=            Enable Vorbis module
141 VORBIS_LIB_DEPENDS=     libvorbis.so:audio/libvorbis libogg.so:audio/libogg
142 VORBIS_CMAKE_BOOL=      MOD_VORBIS
143
144 XINE_DESC=              Enable xine module
145 XINE_CMAKE_BOOL=        MOD_XINE
146
147 pre-configure:
148         ${RM} ${STAGEDIR}${PREFIX}/man/man1/melt.1
149         @${REINPLACE_CMD} -e 's,/usr/local,${LOCALBASE},' \
150                 ${WRKSRC}/src/modules/frei0r/factory.c \
151                 ${WRKSRC}/src/modules/jackrack/plugin_mgr.c
152
153 common-post-install:
154         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/melt-7
155         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmlt-7.so.${PORTVERSION}
156         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmlt++-7.so.${PORTVERSION}
157
158 post-install-DOCS-on:
159 .for f in ${PORTDOCS}
160         cd ${WRKSRC} && ${COPYTREE_SHARE} ${f} ${STAGEDIR}${DOCSDIR}
161 .endfor
162
163 post-install-EXAMPLES-on:
164 .for f in ${PORTEXAMPLES}
165         cd ${WRKSRC} && ${COPYTREE_SHARE} ${f} ${STAGEDIR}${EXAMPLESDIR}
166 .endfor
167
168 .else # Slave port.
169 PORTSCOUT=              ignore:1
170
171 # Depend on multimedia/mlt7 for child ports
172 USES+=                  mlt:7
173 PLIST?=                 ${.CURDIR}/pkg-plist
174
175 INSTALL_WRKSRC?=        ${BUILD_WRKSRC}
176 .endif
177
178 post-install: common-post-install
179         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/* 2>/dev/null || ${TRUE}
180         @${RMDIR} -p ${STAGEDIR}${PREFIX}/lib/${PORTNAME} 2>/dev/null || ${TRUE}
181
182 .include <bsd.port.mk>