4 # bsd.gstreamer.mk - Support for gstreamer-plugins-based ports.
6 # Created by: Michael Johnson <ahze@FreeBSD.org>
9 # $MCom: ports/Mk/bsd.gstreamer.mk,v 1.56 2013/01/15 21:43:45 kwm Exp $
11 .if !defined(_POSTMKINCLUDED) && !defined(Gstreamer_Pre_Include)
13 Gstreamer_Include_MAINTAINER= multimedia@FreeBSD.org
14 Gstreamer_Pre_Include= bsd.gstreamer.mk
18 # Ports can use the following:
21 # USE_GSTREAMER= lame faac ffmpeg
23 # For Gstreamer 1.x the same rules apply but instead of
24 # USE_GSTREAMER=, USE_GSTREAMER1= is used.
26 # If you want to use USE_GSTREAMER after <bsd.port.pre.mk>
27 # you must follow one of the examples listed below
29 # .include <bsd.port.options.mk>
30 # .if defined(WITH_VORBIS)
31 # USE_GSTREAMER= vorbis
36 # .include <bsd.port.options.mk>
37 # .if defined(WITH_FAAD)
38 # USE_GSTREAMER+= faad
40 # .include <bsd.port.pre.mk>
42 # USE_GSTREAMER=yes will always add a dependency to
45 # The use of WANT_GSTREAMER=yes should be discouraged.
47 # "Normal" dependencies and variables
50 GSTREAMER_PORT= ${PORTSDIR}/multimedia/gstreamer-plugins
51 _GST_LIB_BASE= ${LOCALBASE}/lib/gstreamer-${GST_VERSION}
56 GSTREAMER1_PORT= ${PORTSDIR}/multimedia/gstreamer1-plugins
57 _GST1_LIB_BASE= ${LOCALBASE}/lib/gstreamer-${GST1_VERSION}
59 GST1_MINOR_VERSION= .0
61 GST1_MINIMAL_VERSION= .0
64 # missing base: alsa ivorbisdec
69 # These are the current supported gstreamer-plugins modules:
70 # Supported plugins by both 0.10 and 1.0.
72 a52dec aalib amrnb amrwbdec cairo cdio \
73 cdparanoia dts dv faac faad flac flite \
74 gdkpixbuf gl gme gnonlin gsm jack jpeg lame libcaca \
75 libmms libvisual mad mpeg2dec mpeg2enc neon ogg \
76 opencv opus pango resindvd schroedinger \
77 shout2 sidplay soundtouch soup speex taglib \
78 theora twolame v4l2 vorbis wavpack x264
80 # plugins only in 0.10
81 .if defined(USE_GSTREAMER)
82 _GSTREAMER_PLUGINS+= \
83 annodex bz2 cdaudio dvd esound ffmpeg fluendo-mp3 \
84 fluendo-mpegdemux gconf gio gnomevfs hal \
85 ladspa libpng mm mp3 musepack nas python qt4 \
86 sdl sndfile spc vdpau vp8 xvid
90 .if defined(USE_GSTREAMER1)
91 _GSTREAMER_PLUGINS+= \
92 assrender bs2b chromaprint curl dtls dvdread editing-services \
93 gtksink hls kate libav libde265 modplug mpg123 openh264 openjpeg \
94 png rsvg rtmp spandsp vpx webp x x265 ximagesrc zbar
99 _USE_GSTREAMER_ALL= bad core good ugly yes ${_GSTREAMER_PLUGINS}
101 #--------------------------------------------------------------------------#
103 core_DEPENDS= multimedia/gstreamer-plugins-core
105 yes_DEPENDS= multimedia/gstreamer-plugins
106 yes_NAME= gstreamer-plugins
107 yes_NAME10= gstreamer1-plugins
108 yes_GST_PREFIX= # empty
110 #-- audio plugins section -------------------------------------------------#
112 # Audio Plugins Section
113 a52dec_DEPENDS= audio/gstreamer-plugins-a52dec
115 amrnb_DEPENDS= audio/gstreamer-plugins-amrnb
117 amrwbdec_DEPENDS= audio/gstreamer-plugins-amrwbdec
119 artsd_DEPENDS= audio/gstreamer-plugins-artsd
121 audiofile_DEPENDS= audio/gstreamer-plugins-audiofile
123 bs2b_DEPENDS= audio/gstreamer-plugins-bs2b
125 cdaudio_DEPENDS= audio/gstreamer-plugins-cdaudio
127 cdparanoia_DEPENDS= audio/gstreamer-plugins-cdparanoia
129 chromaprint_DEPENDS= audio/gstreamer-plugins-chromaprint
131 esound_DEPENDS= audio/gstreamer-plugins-esound
133 faac_DEPENDS= audio/gstreamer-plugins-faac
135 faad_DEPENDS= audio/gstreamer-plugins-faad
137 flac_DEPENDS= audio/gstreamer-plugins-flac
139 flite_DEPENDS= audio/gstreamer-plugins-flite
141 fluendo-mp3_DEPENDS= audio/gstreamer-plugins-fluendo-mp3
143 gme_DEPENDS= audio/gstreamer-plugins-gme
145 gsm_DEPENDS= audio/gstreamer-plugins-gsm
147 hal_DEPENDS= sysutils/gstreamer-plugins-hal
149 jack_DEPENDS= audio/gstreamer-plugins-jack
151 ladspa_DEPENDS= audio/gstreamer-plugins-ladspa
153 lame_DEPENDS= audio/gstreamer-plugins-lame
155 mad_DEPENDS= audio/gstreamer-plugins-mad
157 mikmod_DEPENDS= audio/gstreamer-plugins-mikmod
159 modplug_DEPENDS= audio/gstreamer-plugins-modplug
161 mp3_DEPENDS= audio/gstreamer-plugins-mp3
163 mpg123_DEPENDS= audio/gstreamer-plugins-mpg123
165 musepack_DEPENDS= audio/gstreamer-plugins-musepack
167 nas_DEPENDS= audio/gstreamer-plugins-nas
169 neon_DEPENDS= www/gstreamer-plugins-neon
171 ogg_DEPENDS= audio/gstreamer-plugins-ogg
173 opus_DEPENDS= audio/gstreamer-plugins-opus
175 polyp_DEPENDS= audio/gstreamer-plugins-polyp
177 pulse_DEPENDS= audio/gstreamer-plugins-pulse
179 shout_DEPENDS= audio/gstreamer-plugins-shout
181 shout2_DEPENDS= audio/gstreamer-plugins-shout2
183 sidplay_DEPENDS= audio/gstreamer-plugins-sidplay
185 smoothwave_DEPENDS= audio/gstreamer-plugins-smoothwave
187 sndfile_DEPENDS= audio/gstreamer-plugins-sndfile
189 soundtouch_DEPENDS= audio/gstreamer-plugins-soundtouch
191 spc_DEPENDS= audio/gstreamer-plugins-spc
193 speex_DEPENDS= audio/gstreamer-plugins-speex
195 taglib_DEPENDS= audio/gstreamer-plugins-taglib
197 twolame_DEPENDS= audio/gstreamer-plugins-twolame
199 vorbis_DEPENDS= audio/gstreamer-plugins-vorbis
201 wavpack_DEPENDS= audio/gstreamer-plugins-wavpack
203 #-- comms plugin section --------------------------------------------------#
205 spandsp_DEPENDS= comms/gstreamer-plugins-spandsp
207 #-- devel plugin section --------------------------------------------------#
209 gconf_DEPENDS= devel/gstreamer-plugins-gconf
211 gio_DEPENDS= devel/gstreamer-plugins-gio
213 gnomevfs_DEPENDS= devel/gstreamer-plugins-gnomevfs
215 sdl_DEPENDS= devel/gstreamer-plugins-sdl
217 soup_DEPENDS= devel/gstreamer-plugins-soup
219 #-- ftp plugin section ----------------------------------------------------#
221 curl_DEPENDS= ftp/gstreamer-plugins-curl
223 #-- graphics plugin section -----------------------------------------------#
225 aalib_DEPENDS= graphics/gstreamer-plugins-aalib
227 annodex_DEPENDS= multimedia/gstreamer-plugins-annodex
229 assrender_DEPENDS= multimedia/gstreamer-plugins-assrender
231 cairo_DEPENDS= graphics/gstreamer-plugins-cairo
233 gdkpixbuf_DEPENDS= graphics/gstreamer-plugins-gdkpixbuf
235 gl_DEPENDS= graphics/gstreamer-plugins-gl
237 hermes_DEPENDS= graphics/gstreamer-plugins-hermes
239 jpeg_DEPENDS= graphics/gstreamer-plugins-jpeg
241 libcaca_DEPENDS= graphics/gstreamer-plugins-libcaca
243 libmng_DEPENDS= graphics/gstreamer-plugins-libmng
245 libpng_DEPENDS= graphics/gstreamer-plugins-libpng
247 libvisual_DEPENDS= graphics/gstreamer-plugins-libvisual
249 opencv_DEPENDS= graphics/gstreamer-plugins-opencv
251 openjpeg_DEPENDS= graphics/gstreamer-plugins-openjpeg
253 png_DEPENDS= graphics/gstreamer-plugins-png
255 rsvg_DEPENDS= graphics/gstreamer-plugins-rsvg
257 webp_DEPENDS= graphics/gstreamer-plugins-webp
259 zbar_DEPENDS= graphics/gstreamer-plugins-zbar
261 #-- multimedia plugins section --------------------------------------------#
263 bad_DEPENDS= multimedia/gstreamer-plugins-bad
265 bz2_DEPENDS= multimedia/gstreamer-plugins-bz2
267 dvdread_DEPENDS= multimedia/gstreamer-plugins-dvdread
269 editing-services_DEPENDS= multimedia/gstreamer-editing-services
270 editing-services_GST_PREFIX= gstreamer1-
271 editing-services_GST_SUFX= # empty
272 editing-services_GST_VERSION= 1.0.0
274 ffmpeg_DEPENDS= multimedia/gstreamer-ffmpeg
275 ffmpeg_GST_PREFIX= gstreamer-
276 ffmpeg_GST_SUFX= # empty
277 ffmpeg_GST_VERSION= 0.10.0
279 fluendo-mpegdemux_DEPENDS= multimedia/gstreamer-plugins-fluendo-mpegdemux
281 dts_DEPENDS= multimedia/gstreamer-plugins-dts
283 dv_DEPENDS= multimedia/gstreamer-plugins-dv
285 dvd_DEPENDS= multimedia/gstreamer-plugins-dvd
287 good_DEPENDS= multimedia/gstreamer-plugins-good
289 gnonlin_DEPENDS= multimedia/gstreamer-plugins-gnonlin
291 hls_DEPENDS= multimedia/gstreamer-plugins-hls
293 kate_DEPENDS= multimedia/gstreamer-plugins-kate
295 libav_DEPENDS= multimedia/gstreamer-libav
296 libav_GST_PREFIX= gstreamer1-
297 libav_GST_SUFX= # empty
298 libav_GST_VERSION= 1.0.0
300 libde265_DEPENDS= multimedia/gstreamer-plugins-libde265
302 libfame_DEPENDS= multimedia/gstreamer-plugins-libfame
304 mm_DEPENDS= multimedia/gstreamermm
305 mm_GST_PREFIX= gstreamer
307 mm_GST_VERSION= 0.9.4
309 mpeg2dec_DEPENDS= multimedia/gstreamer-plugins-mpeg2dec
311 mpeg2enc_DEPENDS= multimedia/gstreamer-plugins-mpeg2enc
313 mplex_DEPENDS= multimedia/gstreamer-plugins-mplex
315 openh264_DEPENDS= multimedia/gstreamer-plugins-openh264
317 qt4_DEPENDS= multimedia/gstreamer-qt4
318 qt4_GST_PREFIX= gstreamer-
320 rtmp_DEPENDS= multimedia/gstreamer1-plugins-rtmp
322 v4l2_DEPENDS= multimedia/gstreamer-plugins-v4l2
324 vaapi_DEPENDS= multimedia/gstreamer-plugins-vaapi
326 vp8_DEPENDS= multimedia/gstreamer-plugins-vp8
328 vpx_DEPENDS= multimedia/gstreamer-plugins-vpx
330 # XXX: This is a quick solution for ports with USE_GSTREAMER=python
331 # but without USE_PYTHON.
332 PYTHON_PKGNAMEPREFIX?= py*-
334 python_DEPENDS= multimedia/py-gstreamer
335 python_NAME= gstreamer
336 python_GST_PREFIX= ${PYTHON_PKGNAMEPREFIX}
337 python_GST_SUFX= # empty
338 python_GST_VERSION= 0.10.4
340 resindvd_DEPENDS= multimedia/gstreamer-plugins-resindvd
342 schroedinger_DEPENDS= multimedia/gstreamer-plugins-schroedinger
344 theora_DEPENDS= multimedia/gstreamer-plugins-theora
346 ugly_DEPENDS= multimedia/gstreamer-plugins-ugly
348 vdpau_DEPENDS= multimedia/gstreamer-plugins-vdpau
350 x264_DEPENDS= multimedia/gstreamer-plugins-x264
352 x265_DEPENDS= multimedia/gstreamer-plugins-x265
354 xvid_DEPENDS= multimedia/gstreamer-plugins-xvid
357 #-- Net Plugins Section ---------------------------------------------------#
359 libmms_DEPENDS= net/gstreamer-plugins-libmms
361 #-- security plugins section ----------------------------------------------#
363 dtls_DEPENDS= security/gstreamer-plugins-dtls
365 #-- sysutils plugins section ----------------------------------------------#
367 cdio_DEPENDS= sysutils/gstreamer-plugins-cdio
369 #-- x11 plugins section ---------------------------------------------------#
371 x_DEPENDS= x11/gstreamer-plugins-x
373 ximagesrc_DEPENDS= x11/gstreamer-plugins-ximagesrc
375 #-- x11-toolkits plugins section ------------------------------------------#
377 gtksink_DEPENDS= x11-toolkits/gstreamer-plugins-gtksink
379 pango_DEPENDS= x11-toolkits/gstreamer-plugins-pango
381 #--------------------------------------------------------------------------#
383 .if defined(_POSTMKINCLUDED) && !defined(Gstreamer_Post_Include)
384 Gstreamer_Post_Include= bsd.gstreamer.mk
386 .if (defined (USE_GSTREAMER) && defined(USE_GSTREAMER1))
387 IGNORE= USE_GSTREAMER and USE_GSTREAMER1 can't be used together
390 .if defined(USE_GSTREAMER)
391 .for ext in ${USE_GSTREAMER}
392 ${ext}_GST_PREFIX?= gstreamer-plugins-
393 ${ext}_GST_VERSION?= ${GST_VERSION}${GST_MINOR_VERSION}
395 . if ${_USE_GSTREAMER_ALL:M${ext}}!= "" && exists(${PORTSDIR}/${${ext}_DEPENDS})
396 BUILD_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${${ext}_DEPENDS}
397 RUN_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${${ext}_DEPENDS}
399 IGNORE= cannot install: unknown gstreamer ${GST_VERSION} plugin -- ${ext}
404 .if defined(USE_GSTREAMER1)
405 .for ext in ${USE_GSTREAMER1}
406 ${ext}_GST_PREFIX?= gstreamer1-plugins-
407 ${ext}_GST_VERSION?= ${GST1_VERSION}${GST1_MINIMAL_VERSION}
408 ${ext}_NAME10?= ${ext}
409 ${ext}_GST_DEPENDS?= ${${ext}_DEPENDS:S,gstreamer-,gstreamer1-,}
410 . if ${_USE_GSTREAMER_ALL:M${ext}}!= "" && exists(${PORTSDIR}/${${ext}_GST_DEPENDS})
411 BUILD_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME10}>=${${ext}_GST_VERSION}:${${ext}_GST_DEPENDS}
412 RUN_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME10}>=${${ext}_GST_VERSION}:${${ext}_GST_DEPENDS}
414 IGNORE= cannot install: unknown gstreamer ${GST1_VERSION} plugin -- ${ext}