2 |
|
# $FreeBSD: ports/multimedia/ffmpeg/Makefile,v 1.135 2011/08/22 21:14:34 mm Exp $ |
3 |
|
|
4 |
|
PORTNAME= ffmpeg |
5 |
< |
PORTVERSION= 0.7.3 |
6 |
< |
PORTREVISION= 1 |
5 |
> |
PORTVERSION= 0.7.17 |
6 |
> |
PORTREVISION= 2 |
7 |
|
PORTEPOCH= 1 |
8 |
|
CATEGORIES= multimedia audio ipv6 net |
9 |
|
MASTER_SITES= http://ffmpeg.org/releases/ |
12 |
|
MAINTAINER= ports@MidnightBSD.org |
13 |
|
COMMENT= Realtime audio/video encoder/converter and streaming server |
14 |
|
|
15 |
< |
LICENSE= gpl3 |
15 |
> |
LICENSE= gpl2 lgpl2.1 |
16 |
> |
LICENSE_COMB= multi |
17 |
> |
LICENSE_FILE_gpl2= ${WRKSRC}/COPYING.GPLv2 |
18 |
> |
LICENSE_FILE_lgpl2.1= ${WRKSRC}/COPYING.LGPLv2.1 |
19 |
|
|
20 |
|
BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \ |
21 |
< |
${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils |
21 |
> |
${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils \ |
22 |
> |
${LOCALBASE}/bin/texi2html:${PORTSDIR}/textproc/texi2html |
23 |
|
|
24 |
< |
CONFLICTS= ffmpeg-20* |
24 |
> |
PORTSCOUT= limit:^0\.7.* |
25 |
|
|
26 |
+ |
USES= cpe gmake perl5 pkgconfig tar:bzip2 shebangfix |
27 |
+ |
USE_LDCONFIG= ${PREFIX}/lib/ffmpeg${FFMPEG_SUFFIX} |
28 |
+ |
USE_PERL5= build |
29 |
+ |
SHEBANG_FILES= doc/texi2pod.pl |
30 |
+ |
|
31 |
+ |
FFMPEG_SUFFIX= 0 |
32 |
|
HAS_CONFIGURE= yes |
33 |
|
CONFIGURE_LOG= config.err |
34 |
< |
USES= gmake pkgconfig tar:bzip2 |
35 |
< |
WANT_SDL= yes |
34 |
> |
CONFIGURE_ENV+= EXESUF="${FFMPEG_SUFFIX}" |
35 |
> |
MAKE_ARGS+= EXESUF="${FFMPEG_SUFFIX}" |
36 |
> |
PLIST_SUB+= SUFF="${FFMPEG_SUFFIX}" |
37 |
> |
PROGS= ffmpeg ffprobe |
38 |
|
|
39 |
< |
OPTIONS= ALSA "Enable alsa input/output device" off \ |
40 |
< |
AMR_NB "AMR Narrow Band audio encoder (opencore)" off \ |
29 |
< |
AMR_WB "AMR Wide Band audio decoder (opencore)" off \ |
30 |
< |
CELT "Enable CELT/Opus decoding via libcelt" off \ |
31 |
< |
DIRAC "Dirac codec via libdirac" off \ |
32 |
< |
FAAC "FAAC mp4/aac audio encoder" off \ |
33 |
< |
FFSERVER "Build and install ffserver" on \ |
34 |
< |
FREETYPE "Text on top of video frames (freetype2)" on \ |
35 |
< |
FREI0R "Frei0r wrapper filter" on \ |
36 |
< |
GSM "GSM audio codec" off \ |
37 |
< |
LAME "LAME MP3 encoder" off \ |
38 |
< |
OPENCV "OpenCV video filtering support" on \ |
39 |
< |
OPENJPEG "JPEG 2000 decoder" off \ |
40 |
< |
OPTIMIZED_CFLAGS "Additional optimizations" off \ |
41 |
< |
RTMP "RTMP[E] support via librtmp" off \ |
42 |
< |
SCHROEDINGER "Dirac codec via libschroedinger" on \ |
43 |
< |
SDL "SDL support (build ffplay)" off \ |
44 |
< |
SPEEX "Speex audio decoder" off \ |
45 |
< |
THEORA "Theora encoder (implies OGG)" on \ |
46 |
< |
VAAPI "GPU acceleration support (libva)" off \ |
47 |
< |
VDPAU "Nvidia vdpau support" off \ |
48 |
< |
VO_AACENC "AAC audio encoder (vo-aacenc)" off \ |
49 |
< |
VO_AMRWBENC "AMR Wide Band audio encoder (vo-amrwbenc)" off \ |
50 |
< |
VORBIS "Vorbis encoder via libvorbis (implies OGG)" on \ |
51 |
< |
VP8 "VP8 codec via libvpx" on \ |
52 |
< |
X264 "H.264 encoder" on \ |
53 |
< |
XVID "Xvid encoder via xvidcore" on |
39 |
> |
CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin |
40 |
> |
MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin |
41 |
|
|
42 |
+ |
CONFIGURE_ARGS+=--prefix="${PREFIX}" \ |
43 |
+ |
--mandir="${PREFIX}/man" \ |
44 |
+ |
--incdir="${PREFIX}/include/ffmpeg${FFMPEG_SUFFIX}" \ |
45 |
+ |
--libdir="${PREFIX}/lib/ffmpeg${FFMPEG_SUFFIX}" \ |
46 |
+ |
--shlibdir="${PREFIX}/lib/ffmpeg${FFMPEG_SUFFIX}" \ |
47 |
+ |
--datadir="${DATADIR}" \ |
48 |
+ |
--build-suffix="${FFMPEG_SUFFIX}" \ |
49 |
+ |
--enable-shared \ |
50 |
+ |
--enable-gpl \ |
51 |
+ |
--enable-postproc \ |
52 |
+ |
--enable-avfilter \ |
53 |
+ |
--enable-pthreads \ |
54 |
+ |
--enable-runtime-cpudetect \ |
55 |
+ |
--cc="${CC}" \ |
56 |
+ |
--extra-cflags="${FFMPEG_CFLAGS} -I${LOCALBASE}/include" \ |
57 |
+ |
--extra-ldflags="-L${LOCALBASE}/lib ${FFMPEG_LDFLAGS}" \ |
58 |
+ |
--extra-libs="-lpthread" |
59 |
+ |
|
60 |
+ |
SHLIB_VER= 1 |
61 |
+ |
PLIST_SUB+= SHLIB_VER=${SHLIB_VER} |
62 |
+ |
|
63 |
+ |
DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX} |
64 |
+ |
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX} |
65 |
+ |
|
66 |
+ |
OPTIONS_DEFINE= AACPLUS ALSA AMR_NB AMR_WB CELT DEBUG DIRAC FAAC \ |
67 |
+ |
FFSERVER FREETYPE FREI0R GSM LAME OPENCV OPENJPEG \ |
68 |
+ |
OPTIMIZED_CFLAGS RTMP SCHROEDINGER SDL SPEEX THEORA VAAPI \ |
69 |
+ |
VDPAU VO_AACENC VO_AMRWBENC VORBIS VPX X11GRAB X264 XVID DOCS |
70 |
+ |
OPTIONS_DEFAULT= FFSERVER FREETYPE FREI0R OPENCV SCHROEDINGER \ |
71 |
+ |
THEORA VORBIS VPX X264 XVID |
72 |
+ |
OPTIONS_SUB= yes |
73 |
+ |
|
74 |
+ |
FFSERVER_DESC= Build and install ffserver |
75 |
+ |
X11GRAB_DESC= Enable x11 grabbing |
76 |
+ |
|
77 |
+ |
ALSA_LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib |
78 |
+ |
ALSA_CONFIGURE_OFF= --disable-indev=alsa \ |
79 |
+ |
--disable-outdev=alsa |
80 |
+ |
|
81 |
+ |
CELT_LIB_DEPENDS= libcelt0.so:${PORTSDIR}/audio/celt |
82 |
+ |
CELT_CONFIGURE_ENABLE= libcelt |
83 |
+ |
|
84 |
+ |
DIRAC_LIB_DEPENDS= libdirac_encoder.so:${PORTSDIR}/multimedia/dirac |
85 |
+ |
DIRAC_CONFIGURE_ENABLE= libdirac |
86 |
+ |
|
87 |
+ |
DEBUG_CONFIGURE_ON= --disable-stripping |
88 |
+ |
DEBUG_CONFIGURE_OFF= --disable-debug |
89 |
+ |
|
90 |
+ |
FFSERVER_CONFIGURE_OFF= --disable-ffserver |
91 |
+ |
|
92 |
+ |
FREETYPE_LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2 |
93 |
+ |
FREETYPE_CONFIGURE_ENABLE= libfreetype |
94 |
+ |
|
95 |
+ |
FREI0R_BUILD_DEPENDS= ${LOCALBASE}/include/frei0r.h:${PORTSDIR}/graphics/frei0r |
96 |
+ |
FREI0R_CONFIGURE_ENABLE= frei0r |
97 |
+ |
|
98 |
+ |
GSM_LIB_DEPENDS= libgsm.so:${PORTSDIR}/audio/gsm |
99 |
+ |
GSM_CONFIGURE_ENABLE= libgsm |
100 |
+ |
|
101 |
+ |
LAME_LIB_DEPENDS= libmp3lame.so:${PORTSDIR}/audio/lame |
102 |
+ |
LAME_CONFIGURE_ENABLE= libmp3lame |
103 |
+ |
|
104 |
+ |
OPENCV_LIB_DEPENDS= libopencv_imgproc.so:${PORTSDIR}/graphics/opencv-core |
105 |
+ |
OPENCV_CONFIGURE_ENABLE= libopencv |
106 |
+ |
|
107 |
+ |
OPENJPEG_LIB_DEPENDS= libopenjpeg.so:${PORTSDIR}/graphics/openjpeg15 |
108 |
+ |
OPENJPEG_CONFIGURE_ENABLE= libopenjpeg |
109 |
+ |
|
110 |
+ |
RTMP_USE= OPENSSL=yes |
111 |
+ |
|
112 |
+ |
SCHROEDINGER_LIB_DEPENDS= libschroedinger-1.0.so:${PORTSDIR}/multimedia/schroedinger |
113 |
+ |
SCHROEDINGER_CONFIGURE_ENABLE= libschroedinger |
114 |
+ |
|
115 |
+ |
SPEEX_LIB_DEPENDS= libspeex.so:${PORTSDIR}/audio/speex |
116 |
+ |
SPEEX_CONFIGURE_ENABLE= libspeex |
117 |
+ |
|
118 |
+ |
THEORA_LIB_DEPENDS= libtheora.so:${PORTSDIR}/multimedia/libtheora |
119 |
+ |
THEORA_CONFIGURE_ENABLE= libtheora |
120 |
+ |
|
121 |
+ |
X11GRAB_USE= XORG=x11,xext,xfixes |
122 |
+ |
X11GRAB_CONFIGURE_ON= --enable-x11grab |
123 |
+ |
|
124 |
+ |
X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/libx264 |
125 |
+ |
X264_CONFIGURE_ENABLE= libx264 |
126 |
+ |
|
127 |
+ |
XVID_LIB_DEPENDS= libxvidcore.so:${PORTSDIR}/multimedia/xvid |
128 |
+ |
XVID_CONFIGURE_ENABLE= libxvid |
129 |
+ |
|
130 |
+ |
VDPAU_BUILD_DEPENDS= ${LOCALBASE}/include/vdpau/vdpau.h:${PORTSDIR}/multimedia/libvdpau |
131 |
+ |
VDPAU_CONFIGURE_ENABLE= vdpau |
132 |
+ |
|
133 |
+ |
VPX_LIB_DEPENDS= libvpx.so:${PORTSDIR}/multimedia/libvpx |
134 |
+ |
VPX_CONFIGURE_ENABLE= libvpx |
135 |
+ |
|
136 |
|
COMPAT_HEADERS=libavcodec/avcodec.h \ |
137 |
|
libavcodec/opt.h \ |
138 |
|
libavcodec/vdpau.h \ |
162 |
|
|
163 |
|
.include <bsd.port.pre.mk> |
164 |
|
|
165 |
< |
CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin |
166 |
< |
MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin |
165 |
> |
.if ${OPSYS} == "FreeBSD" && ${OSVERSION} < 1000000 |
166 |
> |
CONFIGURE_ARGS+= --enable-memalign-hack |
167 |
> |
.endif |
168 |
|
|
169 |
< |
CONFIGURE_ARGS+=--prefix="${PREFIX}" \ |
170 |
< |
--mandir="${PREFIX}/man" \ |
171 |
< |
--enable-shared \ |
172 |
< |
--enable-gpl \ |
91 |
< |
--enable-postproc \ |
92 |
< |
--enable-avfilter \ |
93 |
< |
--enable-pthreads \ |
94 |
< |
--enable-x11grab \ |
95 |
< |
--enable-memalign-hack \ |
96 |
< |
--enable-runtime-cpudetect \ |
97 |
< |
--cc="${CC}" \ |
98 |
< |
--extra-cflags="${FFMPEG_CFLAGS} -I${LOCALBASE}/include" \ |
99 |
< |
--extra-ldflags="-L${LOCALBASE}/lib ${FFMPEG_LDFLAGS}" \ |
100 |
< |
--extra-libs="${PTHREAD_LIBS}" |
101 |
< |
SHLIB_VER= 1 |
102 |
< |
PLIST_SUB= SHLIB_VER=${SHLIB_VER} |
103 |
< |
USE_LDCONFIG= yes |
169 |
> |
.if ${ARCH} == armv6 |
170 |
> |
CONFIGURE_ENV+= ASFLAGS=-no-integrated-as |
171 |
> |
CFLAGS+= -no-integrated-as |
172 |
> |
.endif |
173 |
|
|
174 |
|
DOC_FILES= CREDITS INSTALL LICENSE MAINTAINERS README RELEASE |
175 |
|
# under doc subdirectory |
176 |
|
DOC_DOCFILES= APIchanges RELEASE_NOTES TODO *.txt *.html |
108 |
– |
PORTDOCS= * |
177 |
|
|
178 |
< |
.if !defined(WITH_DEBUG) |
179 |
< |
CONFIGURE_ARGS+= --disable-debug |
180 |
< |
.else |
113 |
< |
CONFIGURE_ARGS+= --disable-stripping |
178 |
> |
.if ${PORT_OPTIONS:MFFSERVER} |
179 |
> |
USE_RC_SUBR= ffserver${FFMPEG_SUFFIX} |
180 |
> |
PROGS+= ffserver |
181 |
|
.endif |
182 |
|
|
116 |
– |
.if !defined(WITHOUT_FFSERVER) |
117 |
– |
USE_RC_SUBR= ffserver |
118 |
– |
.endif |
119 |
– |
|
183 |
|
# sse hardware vector support |
184 |
|
.if defined(MACHINE_CPU) && (${MACHINE_CPU:Msse} == "sse" || ${MACHINE_CPU:Mamd64} == "amd64") |
185 |
< |
WITH_BUILTIN_VECTOR= yes |
185 |
> |
_BUILTIN_VECTOR= yes |
186 |
|
.else |
187 |
|
CONFIGURE_ARGS+= --disable-sse |
188 |
|
.endif |
190 |
|
# mmx support |
191 |
|
.if defined(MACHINE_CPU) && ${MACHINE_CPU:Mmmx} == "" && ${MACHINE_CPU:Mamd64} == "" |
192 |
|
CONFIGURE_ARGS+= --disable-mmx |
193 |
< |
WITHOUT_BUILTIN_VECTOR= yes |
193 |
> |
_NO_BUILTIN_VECTOR= yes |
194 |
|
.endif |
195 |
|
|
196 |
|
# builtin vector, requires mmx and sse |
197 |
< |
.if !defined(WITHOUT_BUILTIN_VECTOR) && defined(WITH_BUILTIN_VECTOR) |
198 |
< |
FFMPEG_CFLAGS+= -msse |
197 |
> |
.if !defined(_NO_BUILTIN_VECTOR) && defined(_BUILTIN_VECTOR) |
198 |
> |
CFLAGS+= -msse |
199 |
|
.endif |
200 |
|
|
138 |
– |
# PORTDOCS |
139 |
– |
.if !defined(NOPORTDOCS) |
140 |
– |
BUILD_DEPENDS+= texi2html:${PORTSDIR}/textproc/texi2html |
141 |
– |
MAN1+= ffmpeg.1 ffprobe.1 |
142 |
– |
. if !defined(WITHOUT_FFSERVER) |
143 |
– |
MAN1+= ffserver.1 |
144 |
– |
. endif |
145 |
– |
.endif |
146 |
– |
|
201 |
|
# optimizations |
202 |
< |
.if defined(WITH_OPTIMIZED_CFLAGS) |
202 |
> |
.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} |
203 |
|
CFLAGS+= -O3 -ffast-math -fno-finite-math-only -fomit-frame-pointer |
204 |
|
.endif |
205 |
|
|
206 |
< |
#alsa |
207 |
< |
.if defined(WITH_ALSA) |
208 |
< |
LIB_DEPENDS+= asound.2:${PORTSDIR}/audio/alsa-lib |
206 |
> |
#aacplus |
207 |
> |
.if ${PORT_OPTIONS:MAACPLUS} |
208 |
> |
FFMPEG_NONFREE= yes |
209 |
> |
LIB_DEPENDS+= libaacplus.so:${PORTSDIR}/audio/libaacplus |
210 |
> |
CONFIGURE_ARGS+= --enable-libaacplus |
211 |
|
.else |
212 |
< |
CONFIGURE_ARGS+= --disable-indev=alsa \ |
157 |
< |
--disable-outdev=alsa |
212 |
> |
CONFIGURE_ARGS+= --disable-libaacplus |
213 |
|
.endif |
214 |
|
|
215 |
|
# Opencore AMR NB |
216 |
< |
.if defined(WITH_AMR_NB) |
217 |
< |
LIB_DEPENDS+= opencore-amrnb.0:${PORTSDIR}/audio/opencore-amr |
216 |
> |
.if ${PORT_OPTIONS:MAMR_NB} |
217 |
> |
FFMPEG_LICENSE_GPL3= yes |
218 |
> |
LIB_DEPENDS+= libopencore-amrnb.so:${PORTSDIR}/audio/opencore-amr |
219 |
|
CONFIGURE_ARGS+= --enable-libopencore-amrnb |
220 |
|
.else |
221 |
|
CONFIGURE_ARGS+= --disable-libopencore-amrnb |
222 |
|
.endif |
223 |
|
|
224 |
|
# Opencore AMR WB |
225 |
< |
.if defined(WITH_AMR_WB) |
226 |
< |
LIB_DEPENDS+= opencore-amrwb.0:${PORTSDIR}/audio/opencore-amr |
225 |
> |
.if ${PORT_OPTIONS:MAMR_WB} |
226 |
> |
FFMPEG_LICENSE_GPL3= yes |
227 |
> |
LIB_DEPENDS+= libopencore-amrwb.so:${PORTSDIR}/audio/opencore-amr |
228 |
|
CONFIGURE_ARGS+= --enable-libopencore-amrwb |
229 |
|
.else |
230 |
|
CONFIGURE_ARGS+= --disable-libopencore-amrwb |
231 |
|
.endif |
232 |
|
|
176 |
– |
# celt |
177 |
– |
.if defined(WITH_CELT) |
178 |
– |
LIB_DEPENDS+= libcelt0.so:${PORTSDIR}/audio/celt |
179 |
– |
CONFIGURE_ARGS+= --enable-libcelt |
180 |
– |
.else |
181 |
– |
CONFIGURE_ARGS+= --disable-libcelt |
182 |
– |
.endif |
183 |
– |
|
184 |
– |
# dirac |
185 |
– |
.if defined(WITH_DIRAC) |
186 |
– |
LIB_DEPENDS+= libdirac_encoder.so:${PORTSDIR}/multimedia/dirac |
187 |
– |
CONFIGURE_ARGS+= --enable-libdirac |
188 |
– |
.else |
189 |
– |
CONFIGURE_ARGS+= --disable-libdirac |
190 |
– |
.endif |
191 |
– |
|
233 |
|
# faac |
234 |
< |
.if defined(WITH_FAAC) |
235 |
< |
RESTRICTED= linking to libfaac restricts redistribution |
234 |
> |
.if ${PORT_OPTIONS:MFAAC} |
235 |
> |
FFMPEG_NONFREE= yes |
236 |
|
LIB_DEPENDS+= libfaac.so:${PORTSDIR}/audio/faac |
237 |
< |
CONFIGURE_ARGS+= --enable-libfaac --enable-nonfree |
237 |
> |
CONFIGURE_ARGS+= --enable-libfaac |
238 |
|
.else |
239 |
|
CONFIGURE_ARGS+= --disable-libfaac |
240 |
|
.endif |
241 |
|
|
201 |
– |
# ffserver |
202 |
– |
.if !defined(WITHOUT_FFSERVER) |
203 |
– |
PLIST_SUB+= FFSERVER="" |
204 |
– |
.else |
205 |
– |
PLIST_SUB+= FFSERVER="@comment " |
206 |
– |
CONFIGURE_ARGS+= --disable-ffserver |
207 |
– |
.endif |
208 |
– |
|
209 |
– |
# freetype |
210 |
– |
.if !defined(WITHOUT_FREETYPE) |
211 |
– |
LIB_DEPENDS+= libfreetype.so:${PORTSDIR}/print/freetype2 |
212 |
– |
CONFIGURE_ARGS+= --enable-libfreetype |
213 |
– |
.else |
214 |
– |
CONFIGURE_ARGS+= --disable-libfreetype |
215 |
– |
.endif |
216 |
– |
|
217 |
– |
# frei0r |
218 |
– |
.if !defined(WITHOUT_FREI0R) |
219 |
– |
BUILD_DEPENDS+= ${LOCALBASE}/include/frei0r.h:${PORTSDIR}/graphics/frei0r |
220 |
– |
CONFIGURE_ARGS+= --enable-frei0r |
221 |
– |
.else |
222 |
– |
CONFIGURE_ARGS+= --disable-frei0r |
223 |
– |
.endif |
224 |
– |
|
225 |
– |
# gsm |
226 |
– |
.if defined(WITH_GSM) |
227 |
– |
LIB_DEPENDS+= libgsm.so:${PORTSDIR}/audio/gsm |
228 |
– |
CONFIGURE_ARGS+= --enable-libgsm |
229 |
– |
.else |
230 |
– |
CONFIGURE_ARGS+= --disable-libgsm |
231 |
– |
.endif |
232 |
– |
|
233 |
– |
# mp3 |
234 |
– |
.if defined(WITH_LAME) |
235 |
– |
LIB_DEPENDS+= libmp3lame.so:${PORTSDIR}/audio/lame |
236 |
– |
CONFIGURE_ARGS+= --enable-libmp3lame |
237 |
– |
.else |
238 |
– |
CONFIGURE_ARGS+= --disable-libmp3lame |
239 |
– |
.endif |
240 |
– |
|
241 |
– |
# opencv |
242 |
– |
.if !defined(WITHOUT_OPENCV) |
243 |
– |
LIB_DEPENDS+= libopencv_imgproc.so:${PORTSDIR}/graphics/opencv-core |
244 |
– |
CONFIGURE_ARGS+= --enable-libopencv |
245 |
– |
.else |
246 |
– |
CONFIGURE_ARGS+= --disable-libopencv |
247 |
– |
.endif |
248 |
– |
|
249 |
– |
# openjpeg |
250 |
– |
.if defined(WITH_OPENJPEG) |
251 |
– |
LIB_DEPENDS+= libopenjpeg.so:${PORTSDIR}/graphics/openjpeg |
252 |
– |
CONFIGURE_ARGS+= --enable-libopenjpeg |
253 |
– |
.else |
254 |
– |
CONFIGURE_ARGS+= --disable-libopenjpeg |
255 |
– |
.endif |
256 |
– |
|
242 |
|
# rtmp |
243 |
< |
.if defined(WITH_RTMP) |
244 |
< |
LIB_DEPENDS+= librtmp.so:${PORTSDIR}/multimedia/rtmpdump |
243 |
> |
.if ${PORT_OPTIONS:MRTMP} |
244 |
> |
LIB_DEPENDS+= librtmp.so:${PORTSDIR}/multimedia/librtmp |
245 |
|
CONFIGURE_ARGS+= --enable-librtmp |
246 |
+ |
. if ${OPENSSLBASE} != "/usr" |
247 |
+ |
FFMPEG_CFLAGS+= -I${OPENSSLINC} |
248 |
+ |
FFMPEG_LDFLAGS+= -L${OPENSSLLIB} |
249 |
+ |
. endif |
250 |
|
.else |
251 |
|
CONFIGURE_ARGS+= --disable-librtmp |
252 |
|
.endif |
253 |
|
|
265 |
– |
# schroedinger |
266 |
– |
.if !defined(WITHOUT_SCHROEDINGER) |
267 |
– |
LIB_DEPENDS+= schroedinger-1.0.10:${PORTSDIR}/multimedia/schroedinger |
268 |
– |
CONFIGURE_ARGS+= --enable-libschroedinger |
269 |
– |
.else |
270 |
– |
CONFIGURE_ARGS+= --disable-libschroedinger |
271 |
– |
.endif |
272 |
– |
|
254 |
|
# sdl |
255 |
< |
.if defined(WITH_SDL) |
255 |
> |
.if ${PORT_OPTIONS:MSDL} |
256 |
|
USE_SDL+= sdl |
257 |
< |
PLIST_FILES+= bin/ffplay |
258 |
< |
.if !defined(NOPORTDOCS) |
278 |
< |
MAN1+= ffplay.1 |
279 |
< |
.endif |
257 |
> |
PLIST_FILES+= bin/ffplay${FFMPEG_SUFFIX} man/man1/ffplay${FFMPEG_SUFFIX}.1.gz |
258 |
> |
PROGS+= ffplay |
259 |
|
.else |
260 |
|
CONFIGURE_ARGS+= --disable-ffplay |
261 |
|
.endif |
262 |
|
|
284 |
– |
# speex |
285 |
– |
.if defined(WITH_SPEEX) |
286 |
– |
LIB_DEPENDS+= libspeex.so:${PORTSDIR}/audio/speex |
287 |
– |
CONFIGURE_ARGS+= --enable-libspeex |
288 |
– |
.else |
289 |
– |
CONFIGURE_ARGS+= --disable-libspeex |
290 |
– |
.endif |
291 |
– |
|
292 |
– |
# theora |
293 |
– |
.if !defined(WITHOUT_THEORA) |
294 |
– |
LIB_DEPENDS+= theora.0:${PORTSDIR}/multimedia/libtheora |
295 |
– |
CONFIGURE_ARGS+= --enable-libtheora |
296 |
– |
.else |
297 |
– |
CONFIGURE_ARGS+= --disable-libtheora |
298 |
– |
.endif |
299 |
– |
|
263 |
|
# vaapi |
264 |
< |
.if !defined(WITHOUT_VAAPI) |
265 |
< |
LIB_DEPENDS+= va.1:${PORTSDIR}/multimedia/libva |
264 |
> |
.if ${PORT_OPTIONS:MVAAPI} |
265 |
> |
FFMPEG_LICENSE_GPL3= yes |
266 |
> |
LIB_DEPENDS+= libva.so:${PORTSDIR}/multimedia/libva |
267 |
|
CONFIGURE_ARGS+= --enable-vaapi |
268 |
|
.else |
269 |
|
CONFIGURE_ARGS+= --disable-vaapi |
270 |
|
.endif |
271 |
|
|
308 |
– |
# vdpau |
309 |
– |
.if !defined(WITHOUT_VDPAU) |
310 |
– |
BUILD_DEPENDS+= ${LOCALBASE}/include/vdpau/vdpau.h:${PORTSDIR}/multimedia/libvdpau |
311 |
– |
CONFIGURE_ARGS+= --enable-vdpau |
312 |
– |
.else |
313 |
– |
CONFIGURE_ARGS+= --disable-vdpau |
314 |
– |
.endif |
315 |
– |
|
272 |
|
# vo-aacenc |
273 |
< |
.if defined(WITH_VO_AACENC) |
274 |
< |
LIB_DEPENDS+= vo-aacenc.0:${PORTSDIR}/audio/vo-aacenc |
273 |
> |
.if ${PORT_OPTIONS:MVO_AACENC} |
274 |
> |
FFMPEG_LICENSE_GPL3= yes |
275 |
> |
LIB_DEPENDS+= libvo-aacenc.so:${PORTSDIR}/audio/vo-aacenc |
276 |
|
CONFIGURE_ARGS+= --enable-libvo-aacenc |
277 |
|
.else |
278 |
|
CONFIGURE_ARGS+= --disable-libvo-aacenc |
279 |
|
.endif |
280 |
|
|
281 |
|
# vo-amrwbenc |
282 |
< |
.if defined(WITH_VO_AMRWBENC) |
283 |
< |
LIB_DEPENDS+= vo-amrwbenc.0:${PORTSDIR}/audio/vo-amrwbenc |
282 |
> |
.if ${PORT_OPTIONS:MVO_AMRWBENC} |
283 |
> |
FFMPEG_LICENSE_GPL3= yes |
284 |
> |
LIB_DEPENDS+= libvo-amrwbenc.so:${PORTSDIR}/audio/vo-amrwbenc |
285 |
|
CONFIGURE_ARGS+= --enable-libvo-amrwbenc |
286 |
|
.else |
287 |
|
CONFIGURE_ARGS+= --disable-libvo-amrwbenc |
288 |
|
.endif |
289 |
|
|
290 |
|
# vorbis |
291 |
< |
.if !defined(WITHOUT_VORBIS) |
292 |
< |
LIB_DEPENDS+= vorbisenc.2:${PORTSDIR}/audio/libvorbis |
291 |
> |
.if ${PORT_OPTIONS:MVORBIS} |
292 |
> |
LIB_DEPENDS+= libvorbisenc.so:${PORTSDIR}/audio/libvorbis |
293 |
|
CONFIGURE_ARGS+= --enable-libvorbis |
294 |
|
FFMPEG_CFLAGS+= -I${LOCALBASE}/include/vorbis |
295 |
|
.else |
296 |
|
CONFIGURE_ARGS+= --disable-libvorbis |
297 |
|
.endif |
298 |
|
|
299 |
< |
# vp8 |
300 |
< |
.if !defined(WITHOUT_VP8) |
301 |
< |
LIB_DEPENDS+= vpx.0:${PORTSDIR}/multimedia/libvpx |
302 |
< |
CONFIGURE_ARGS+= --enable-libvpx |
345 |
< |
.else |
346 |
< |
CONFIGURE_ARGS+= --disable-libvpx |
299 |
> |
# License knobs |
300 |
> |
.if defined(FFMPEG_NONFREE) |
301 |
> |
RESTRICTED= linking to libfaac or libaacplus restricts redistribution |
302 |
> |
CONFIGURE_ARGS+= --enable-nonfree |
303 |
|
.endif |
304 |
|
|
305 |
< |
# x264 |
306 |
< |
.if !defined(WITHOUT_X264) |
307 |
< |
LIB_DEPENDS+= libx264.so:${PORTSDIR}/multimedia/libx264 |
308 |
< |
CONFIGURE_ARGS+= --enable-libx264 |
309 |
< |
.else |
354 |
< |
CONFIGURE_ARGS+= --disable-libx264 |
305 |
> |
.if defined(FFMPEG_LICENSE_GPL3) |
306 |
> |
LICENSE+= GPLv3 LGPL3 |
307 |
> |
LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING.GPLv3 |
308 |
> |
LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING.LGPLv3 |
309 |
> |
CONFIGURE_ARGS+= --enable-version3 |
310 |
|
.endif |
311 |
|
|
357 |
– |
# xvid |
358 |
– |
.if !defined(WITHOUT_XVID) |
359 |
– |
LIB_DEPENDS+= xvidcore.4:${PORTSDIR}/multimedia/xvid |
360 |
– |
CONFIGURE_ARGS+= --enable-libxvid |
361 |
– |
.else |
362 |
– |
CONFIGURE_ARGS+= --disable-libxvid |
363 |
– |
.endif |
364 |
– |
|
365 |
– |
pre-configure: |
366 |
– |
.if defined(WITHOUT_OGG) && (!defined(WITHOUT_VORBIS) || !defined(WITHOUT_THEORA)) |
367 |
– |
@${ECHO_MSG} WITH_VORBIS or WITH_THEORA defined, libogg will be built |
368 |
– |
.endif |
369 |
– |
|
312 |
|
post-patch: |
313 |
|
# {C,LD}FLAGS safeness |
314 |
< |
@${REINPLACE_CMD} -e 's|$$(LIBDIR)/pkgconfig|${PREFIX}/libdata/pkgconfig|' \ |
314 |
> |
@${REINPLACE_CMD} -e 's|$$(LIBDIR)/pkgconfig|$$(DESTDIR)$$(prefix)/libdata/pkgconfig|' \ |
315 |
|
${WRKSRC}/subdir.mak |
316 |
< |
@${REINPLACE_CMD} -e 's|/etc/ffserver.conf|${PREFIX}/etc/ffserver.conf|' \ |
316 |
> |
@${REINPLACE_CMD} -e 's|/etc/ffserver.conf|${PREFIX}/etc/ffserver${FFMPEG_SUFFIX}.conf|' \ |
317 |
|
${WRKSRC}/ffserver.c |
318 |
|
@${REINPLACE_CMD} -E \ |
319 |
|
-e "s|(EXTRALIBS[[:space:]]*=)|\1-L${LOCALBASE}/lib |g; \ |
320 |
|
s|%%LOCALBASE%%|${LOCALBASE}|g; \ |
379 |
– |
s|-pthread|${PTHREAD_LIBS}|g; \ |
321 |
|
s|gsm/gsm.h|gsm.h|g" \ |
322 |
|
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} |
323 |
|
@${REINPLACE_CMD} -e 's|-ldl||; s|$$(LIBMAJOR)|${SHLIB_VER}|g;' \ |
324 |
|
-e 's|opencv opencv/cxcore.h|opencv-core opencv2/core/core_c.h|g' \ |
325 |
+ |
-e 's|check_ldflags -Wl,--as-needed||' \ |
326 |
|
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} |
327 |
< |
.if defined(WITH_SDL) |
327 |
> |
.if ${PORT_OPTIONS:MSDL} |
328 |
|
@${REINPLACE_CMD} -E \ |
329 |
|
-e 's|sdl-config|${SDL_CONFIG}|g' \ |
330 |
|
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} |
334 |
|
.endif |
335 |
|
|
336 |
|
post-configure: |
337 |
< |
.if defined(WITHOUT_THEORA) |
337 |
> |
.if empty(PORT_OPTIONS:MTHEORA) |
338 |
|
@${REINPLACE_CMD} -E \ |
339 |
|
-e 's|^(CONFIG_LIBTHEORA).*$$|\1=no|' \ |
340 |
|
${WRKSRC}/config.mak |
341 |
|
.endif |
342 |
+ |
@${REINPLACE_CMD} -E \ |
343 |
+ |
-e 's|\$$\(INSTALL\) -m 644 \$$\(MANPAGES\) "\$$\(MANDIR\)/man1"||g' \ |
344 |
+ |
${WRKSRC}/Makefile |
345 |
+ |
@${REINPLACE_CMD} -E \ |
346 |
+ |
-e 's|\$$\$$\(INSTALL\) -m 644 \$$\$$\^ "\$$\(DESTDIR\)\$$\(prefix\)/libdata/pkgconfig"|\$$\$$\(INSTALL\) -m 644 \$$\$$\^ "\$$\(DESTDIR\)\$$\(prefix\)/libdata/pkgconfig/lib\$$\(NAME\)0.pc"|' \ |
347 |
+ |
${WRKSRC}/subdir.mak |
348 |
|
|
349 |
|
post-install: |
350 |
< |
.if !defined(WITHOUT_FFSERVER) |
351 |
< |
${INSTALL_DATA} ${WRKSRC}/doc/ffserver.conf ${PREFIX}/etc/ffserver.conf-dist |
404 |
< |
if [ ! -f ${PREFIX}/etc/ffserver.conf ]; then \ |
405 |
< |
${INSTALL_DATA} ${WRKSRC}/doc/ffserver.conf ${PREFIX}/etc; \ |
406 |
< |
fi |
350 |
> |
.if ${PORT_OPTIONS:MFFSERVER} |
351 |
> |
${INSTALL_DATA} ${WRKSRC}/doc/ffserver.conf ${STAGEDIR}${PREFIX}/etc/ffserver${FFMPEG_SUFFIX}.conf-dist |
352 |
|
.endif |
353 |
< |
.if !defined(NOPORTDOCS) |
409 |
< |
${MKDIR} ${DOCSDIR} |
353 |
> |
@${MKDIR} ${STAGEDIR}${DOCSDIR} |
354 |
|
.for FILE in ${DOC_FILES} |
355 |
< |
${INSTALL_DATA} ${WRKSRC}/${FILE} ${DOCSDIR} |
355 |
> |
${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${DOCSDIR} |
356 |
|
.endfor |
357 |
|
.for FILE in ${DOC_DOCFILES} |
358 |
< |
${INSTALL_DATA} ${WRKSRC}/doc/${FILE} ${DOCSDIR} |
358 |
> |
${INSTALL_DATA} ${WRKSRC}/doc/${FILE} ${STAGEDIR}${DOCSDIR} |
359 |
|
.endfor |
360 |
< |
.endif |
361 |
< |
${MKDIR} ${PREFIX}/include/ffmpeg |
418 |
< |
.for FILE in ${COMPAT_HEADERS} |
419 |
< |
${CP} -f ${PREFIX}/include/${FILE} ${PREFIX}/include/ffmpeg/${FILE:C,^[^/]+/([^/]+).*,\1,} |
360 |
> |
.for i in ${PROGS} |
361 |
> |
${INSTALL_MAN} ${WRKSRC}/doc/${i}.1 ${STAGEDIR}${MANPREFIX}/man/man1/${i}0.1 |
362 |
|
.endfor |
363 |
< |
${MKDIR} ${PREFIX}/include/postproc |
364 |
< |
${CP} -f ${PREFIX}/include/libpostproc/postprocess.h \ |
365 |
< |
${PREFIX}/include/postproc/ |
363 |
> |
@${REINPLACE_CMD} \ |
364 |
> |
-e 's|libavcodec|libavcodec0|' \ |
365 |
> |
${STAGEDIR}${PREFIX}/libdata/pkgconfig/libavformat0.pc |
366 |
> |
@${REINPLACE_CMD} \ |
367 |
> |
-e 's|libavutil|libavutil0|' \ |
368 |
> |
${STAGEDIR}${PREFIX}/libdata/pkgconfig/libavcodec0.pc \ |
369 |
> |
${STAGEDIR}${PREFIX}/libdata/pkgconfig/libpostproc0.pc \ |
370 |
> |
${STAGEDIR}${PREFIX}/libdata/pkgconfig/libswscale0.pc |
371 |
> |
@${REINPLACE_CMD} \ |
372 |
> |
-e 's|libavformat|libavformat0|' \ |
373 |
> |
${STAGEDIR}${PREFIX}/libdata/pkgconfig/libavdevice0.pc |
374 |
> |
@${RM} ${STAGEDIR}${PREFIX}/libdata/pkgconfig/libavcodec0.pc.bak \ |
375 |
> |
${STAGEDIR}${PREFIX}/libdata/pkgconfig/libpostproc0.pc.bak \ |
376 |
> |
${STAGEDIR}${PREFIX}/libdata/pkgconfig/libswscale0.pc.bak \ |
377 |
> |
${STAGEDIR}${PREFIX}/libdata/pkgconfig/libavformat0.pc.bak \ |
378 |
> |
${STAGEDIR}${PREFIX}/libdata/pkgconfig/libavdevice0.pc.bak |
379 |
|
|
380 |
|
.include <bsd.port.post.mk> |