summaryrefslogtreecommitdiff
path: root/Mk/bsd.gstreamer.mk
blob: 356a69e4f9ffe54f0530f1dfc7f5aae0c9f88be0 (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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
#-*- tab-width: 4; -*-
# ex:ts=4
#
# bsd.gstreamer.mk - Support for gstreamer-plugins-based ports.
#
# Created by: Michael Johnson <ahze@FreeBSD.org>
#
# $FreeBSD$
#    $MCom: ports/Mk/bsd.gstreamer.mk,v 1.56 2013/01/15 21:43:45 kwm Exp $

.if !defined(_POSTMKINCLUDED) && !defined(Gstreamer_Pre_Include)

Gstreamer_Include_MAINTAINER=	multimedia@FreeBSD.org
Gstreamer_Pre_Include=		bsd.gstreamer.mk

.endif

# Ports can use the following:
#
# For Gstreamer 1.x the same rules apply but instead of 
#   USE_GSTREAMER=, USE_GSTREAMER1= is used.
#
# If you want to use USE_GSTREAMER after <bsd.port.pre.mk>
# you must follow one of the examples listed below
#
#	.include <bsd.port.options.mk>
#	.if defined(WITH_VORBIS)
#	USE_GSTREAMER=	vorbis
#	.endif
#
# or
#       USE_GSTREAMER=	yes
#       .include <bsd.port.options.mk>
#       .if defined(WITH_FAAD)
#       USE_GSTREAMER+=	faad
#       .endif
#	.include <bsd.port.pre.mk>
#
#	USE_GSTREAMER=yes will always add a dependency to
#		gstreamer-plugins
#
# "Normal" dependencies and variables
#

GSTREAMER1_PORT=	${PORTSDIR}/multimedia/gstreamer1-plugins
_GST1_LIB_BASE=		${LOCALBASE}/lib/gstreamer-${GST1_VERSION}
GST1_VERSION=		1.4
GST1_MINOR_VERSION=	.0
GST1_SHLIB_VERSION=	0
GST1_MINIMAL_VERSION=	.0

# These are the current supported gstreamer-plugins modules:
# Supported plugins by both 0.10 and 1.0.
_GSTREAMER_PLUGINS= \
		a52dec \
		aalib \
		amrnb \
		amrwbdec \
		cairo \
		cdio \
		cdparanoia \
		dts \
		dv \
		faac \
		faad \
		flac \
		flite \
		gdkpixbuf \
		gl \
		gme \
		gnonlin \
		gsm \
		jack \
		jpeg \
		ladspa \
		lame \
		libcaca \
		libmms \
		libvisual \
		mpeg2dec \
		mpeg2enc \
		musepack \
		neon \
		ogg \
		opus \
		pango \
		pulse \
		resindvd \
		shout2 \
		sndfile \
		sndio \
		sidplay \
		soundtouch \
		soup \
		speex \
		taglib \
		theora \
		twolame \
		v4l2 \
		vorbis \
		wavpack \
		x264

# plugins only in 1.0
.if defined(USE_GSTREAMER1)
_GSTREAMER_PLUGINS+= \
		aom \
		assrender \
		bs2b \
		chromaprint \
		curl \
		dash \
		dtls \
		dvdread \
		editing-services \
		gtk \
		hls \
		kate \
		kms \
		libav \
		libde265 \
		lv2 \
		mm \
		modplug \
		mpg123 \
		mplex \
		opencv \
		openexr \
		openh264 \
		openjpeg \
		openmpt \
		png \
		qt \
		rsvg \
		rtmp \
		smoothstreaming \
		spandsp \
		srtp \
		ttml \
		vpx \
		vulkan \
		webp \
		webrtcdsp \
		x \
		x265 \
		ximagesrc \
		zbar
# vaapi
.endif # USE_GSTREAMER1

# other plugins
_USE_GSTREAMER_ALL=	bad core good ugly yes ${_GSTREAMER_PLUGINS}

#--------------------------------------------------------------------------#

core_DEPENDS=	multimedia/gstreamer-plugins-core
core_IMPL=	#

yes_DEPENDS=	multimedia/gstreamer-plugins
yes_NAME=	gstreamer-plugins
yes_NAME10=	gstreamer1-plugins
yes_GST_PREFIX=	# empty
yes_IMPL=	# empty

# XXX check if IMPL is correct for both 0.10 and 1.0

#-- audio plugins section -------------------------------------------------#

# Audio Plugins Section
a52dec_DEPENDS=	audio/gstreamer-plugins-a52dec
a52dec_IMPL=	ugly

amrnb_DEPENDS=	audio/gstreamer-plugins-amrnb
amrnb_IMPL=	ugly

amrwbdec_DEPENDS=	audio/gstreamer-plugins-amrwbdec
amrwbdec_IMPL=		ugly

bs2b_DEPENDS=	audio/gstreamer-plugins-bs2b
bs2b_IMPL=	bad

cdparanoia_DEPENDS=	audio/gstreamer-plugins-cdparanoia
cdparanoia_IMPL=	#

chromaprint_DEPENDS=	audio/gstreamer-plugins-chromaprint
chromeprint_IMPL=	bad

faac_DEPENDS=	audio/gstreamer-plugins-faac
faac_IMPL=	bad

faad_DEPENDS=	audio/gstreamer-plugins-faad
faad_IMPL=	bad

flac_DEPENDS=	audio/gstreamer-plugins-flac
flac_IMPL=	good

flite_DEPENDS=	audio/gstreamer-plugins-flite
flite_IMPL=	bad

gme_DEPENDS=	audio/gstreamer-plugins-gme
gme_IMPL=	bad

gsm_DEPENDS=	audio/gstreamer-plugins-gsm
gsm_IMPL=	bad

hal_DEPENDS=	sysutils/gstreamer-plugins-hal
hal_IMPL=	good

jack_DEPENDS=	audio/gstreamer-plugins-jack
jack_IMPL=	good

ladspa_DEPENDS=	audio/gstreamer-plugins-ladspa
ladspa_IMPL=	bad

lame_DEPENDS=	audio/gstreamer-plugins-lame
lame_IMPL=	ugly

lv2_DEPENDS=	audio/gstreamer-plugins-lv2
lv2_IMPL=	bad

modplug_DEPENDS=	audio/gstreamer-plugins-modplug
modplug_IMPL=		bad

mpg123_DEPENDS=	audio/gstreamer-plugins-mpg123
mpg123_IMPL=	ugly

musepack_DEPENDS=	audio/gstreamer-plugins-musepack
musepack_IMPL=		bad

neon_DEPENDS=	www/gstreamer-plugins-neon
neon_IMPL=	bad

ogg_DEPENDS=	audio/gstreamer-plugins-ogg
ogg_IMPL=	#

opus_DEPENDS=	audio/gstreamer-plugins-opus
opus_IMPL=	#

pulse_DEPENDS=	audio/gstreamer-plugins-pulse
pulse_IMPL=	good

shout2_DEPENDS=	audio/gstreamer-plugins-shout2
shout2_IMPL=	good

sidplay_DEPENDS=	audio/gstreamer-plugins-sidplay
sidplay_IMPL=		ugly

sndio_DEPENDS=	audio/gstreamer-plugins-sndio
sndio_IMPL=	#

sndfile_DEPENDS=	audio/gstreamer-plugins-sndfile
sndfile_IMPL=		bad

soundtouch_DEPENDS=	audio/gstreamer-plugins-soundtouch
soundtouch_IMPL=	bad

speex_DEPENDS=	audio/gstreamer-plugins-speex
speex_IMPL=	good

taglib_DEPENDS=	audio/gstreamer-plugins-taglib
taglib_IMPL=	good

twolame_DEPENDS=	audio/gstreamer-plugins-twolame
twolame_IMPL=		ugly

vorbis_DEPENDS=	audio/gstreamer-plugins-vorbis
vorbis_IMPL=	#

wavpack_DEPENDS=	audio/gstreamer-plugins-wavpack
wavpack_IMPL=		good

webrtcdsp_DEPENDS=	audio/gstreamer-plugins-webrtcdsp
webrtcdsp_IMPL=		bad

#-- comms plugin section --------------------------------------------------#

spandsp_DEPENDS=	comms/gstreamer-plugins-spandsp
spandsp_IMPL=		bad

#-- devel plugin section --------------------------------------------------#

soup_DEPENDS=	devel/gstreamer-plugins-soup
soup_IMPL=	good

#-- ftp plugin section ----------------------------------------------------#

curl_DEPENDS=	ftp/gstreamer-plugins-curl
curl_IMPL=	bad

#-- graphics plugin section -----------------------------------------------#

aalib_DEPENDS=	graphics/gstreamer-plugins-aalib
aalib_IMPL=	good

aom_DEPENDS=	multimedia/gstreamer-plugins-aom
aom_IMPL=	bad

assrender_DEPENDS=	multimedia/gstreamer-plugins-assrender
assrender_IMPL=		bad

cairo_DEPENDS=	graphics/gstreamer-plugins-cairo
cairo_IMPL=	good

gdkpixbuf_DEPENDS=	graphics/gstreamer-plugins-gdkpixbuf
gdkpixbuf_IMPL=		good

gl_DEPENDS=	graphics/gstreamer-plugins-gl
gl_IMPL=	bad

jpeg_DEPENDS=	graphics/gstreamer-plugins-jpeg
jpeg_IMPL=	good

kms_DEPENDS=	graphics/gstreamer-plugins-kms
kms_IMPL=	bad

libcaca_DEPENDS=	graphics/gstreamer-plugins-libcaca
libcaca_IMPL=		good

libvisual_DEPENDS=	graphics/gstreamer-plugins-libvisual
libvisual_IMPL=		#

opencv_DEPENDS=	graphics/gstreamer-plugins-opencv
opencv_IMPL=	bad

openexr_DEPENDS=	graphics/gstreamer-plugins-openexr
openexr_IMPL=		bad

openjpeg_DEPENDS=	graphics/gstreamer-plugins-openjpeg
openjpeg_IMPL=		bad

openmpt_DEPENDS=	audio/gstreamer-plugins-openmpt
openmpt_IMPL=		bad

png_DEPENDS=	graphics/gstreamer-plugins-png
png_IMPL=	good

qt_DEPENDS=	graphics/gstreamer-plugins-qt
qt_IMPL=	good

rsvg_DEPENDS=	graphics/gstreamer-plugins-rsvg
rsvg_IMPL=	bad

webp_DEPENDS=	graphics/gstreamer-plugins-webp
webp_IMPL=	bad

zbar_DEPENDS=	graphics/gstreamer-plugins-zbar
zbar_IMPL=	bad

#-- multimedia plugins section --------------------------------------------#

bad_DEPENDS=	multimedia/gstreamer-plugins-bad
bad_IMPL=	#

dash_DEPENDS=	multimedia/gstreamer-plugins-dash
dash_IMPL=	bad

dvdread_DEPENDS=	multimedia/gstreamer-plugins-dvdread
dvdread_IMPL=		ugly

editing-services_DEPENDS=	multimedia/gstreamer-editing-services
editing-services_GST_PREFIX=	gstreamer1-
editing-services_GST_SUFX=	# empty
editing-services_GST_VERSION=	1.0.0
editing-services_IMPL=		#

dts_DEPENDS=	multimedia/gstreamer-plugins-dts
dts_IMPL=	bad

dv_DEPENDS=	multimedia/gstreamer-plugins-dv
dv_IMPL=	good

dvd_DEPENDS=	multimedia/gstreamer-plugins-dvd
dvd_IMPL=	ugly

good_DEPENDS=	multimedia/gstreamer-plugins-good
good_IMPL=	#

gnonlin_DEPENDS=	multimedia/gstreamer-plugins-gnonlin
gnonlin_IMPL=		good

hls_DEPENDS=	multimedia/gstreamer-plugins-hls
hls_IMPL=	bad

kate_DEPENDS=		multimedia/gstreamer-plugins-kate
kate_IMPL=		bad

libav_DEPENDS=		multimedia/gstreamer-libav
libav_GST_PREFIX=	gstreamer1-
libav_GST_SUFX=		# empty
libav_GST_VERSION=	1.0.0
libav_IMPL=		#

libde265_DEPENDS=	multimedia/gstreamer-plugins-libde265
libde265_IMPL=		bad

mm_DEPENDS=	multimedia/gstreamermm
mm_GST_PREFIX=	gstreamer
mm_GST_SUFX=	# empty
mm_GST_VERSION=	1.10.0
mm_IMPL=	#

mpeg2dec_DEPENDS=	multimedia/gstreamer-plugins-mpeg2dec
mpeg2dec_IMPL=		ugly

mpeg2enc_DEPENDS=	multimedia/gstreamer-plugins-mpeg2enc
mpeg2enc_IMPL=		bad

mplex_DEPENDS=	multimedia/gstreamer-plugins-mplex
mplex_IMPL=	bad

openh264_DEPENDS=	multimedia/gstreamer-plugins-openh264
openh264_IMPL=		bad

rtmp_DEPENDS=	multimedia/gstreamer-plugins-rtmp
rtmp_IMPL=	bad

smoothstreaming_DEPENDS=	multimedia/gstreamer-plugins-smoothstreaming
smoothstreaming_IMPL=		bad

ttml_DEPENDS=	multimedia/gstreamer-plugins-ttml
ttml_IMPL=	bad

v4l2_DEPENDS=	multimedia/gstreamer-plugins-v4l2
v4l2_IMPL=	good

# hmmm
vaapi_DEPENDS=	multimedia/gstreamer-vaapi
vaapi_IMPL=	bad

vpx_DEPENDS=	multimedia/gstreamer-plugins-vpx
vpx_IMPL=	good

vulkan_DEPENDS=	graphics/gstreamer-plugins-vulkan
vulkan_IMPL=	bad

resindvd_DEPENDS=	multimedia/gstreamer-plugins-resindvd
resindvd_IMPL=		bad

theora_DEPENDS=	multimedia/gstreamer-plugins-theora
theora_IMPL=	#

ugly_DEPENDS=	multimedia/gstreamer-plugins-ugly
ugly_IMPL=	#

x264_DEPENDS=	multimedia/gstreamer-plugins-x264
x264_IMPL=	ugly

x265_DEPENDS=	multimedia/gstreamer-plugins-x265
x265_IMPL=	bad

#-- Net Plugins Section ---------------------------------------------------#

libmms_DEPENDS=	net/gstreamer-plugins-libmms
libmms_IMPL=	bad

srtp_DEPENDS=	net/gstreamer-plugins-srtp
srtp_IMPL=	bad

#-- security plugins section ----------------------------------------------#

dtls_DEPENDS=	security/gstreamer-plugins-dtls
dtls_IMPL=	bad

#-- sysutils plugins section ----------------------------------------------#

cdio_DEPENDS=	sysutils/gstreamer-plugins-cdio
cdio_IMPL=	ugly

#-- x11 plugins section ---------------------------------------------------#

x_DEPENDS=	x11/gstreamer-plugins-x
x_IMPL=		#

ximagesrc_DEPENDS=	x11/gstreamer-plugins-ximagesrc
ximagesrc_IMPL=		good

#-- x11-toolkits plugins section ------------------------------------------#

gtk_DEPENDS=	x11-toolkits/gstreamer-plugins-gtk
gtk_IMPL=	bad

pango_DEPENDS=	x11-toolkits/gstreamer-plugins-pango
pango_IMPL=	#

#--------------------------------------------------------------------------#

.if defined(_POSTMKINCLUDED) && !defined(Gstreamer_Post_Include)
Gstreamer_Post_Include=	bsd.gstreamer.mk

.if (defined (USE_GSTREAMER) && defined(USE_GSTREAMER1))
IGNORE=	USE_GSTREAMER and USE_GSTREAMER1 can't be used together
.endif

_GST_IMPL_LIST:=	#

.if defined(USE_GSTREAMER)
# update this with the gst 1.0 version below
. for ext in ${USE_GSTREAMER}
${ext}_GST_PREFIX?=	gstreamer-plugins-
${ext}_GST_VERSION?=	${GST_VERSION}${GST_MINOR_VERSION}
${ext}_NAME?=		${ext}
.  if ${_USE_GSTREAMER_ALL:M${ext}}!= "" && exists(${PORTSDIR}/${${ext}_DEPENDS})
_GST_BUILD_DEPENDS+=	${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${${ext}_DEPENDS}
_GST_RUN_DEPENDS+=	${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${${ext}_DEPENDS}
_GST_GST_IMPL_LIST+=	${${ext}_IMPL}
.  else
IGNORE=	cannot install: unknown gstreamer ${GST_VERSION} plugin -- ${ext}
.  endif
. endfor

# everything wants this
_GST_BUILD_DEPENDS+= gstreamer-plugins>=0:multimedia/gstreamer-plugins
_GST_LIB_DEPENDS+=   libgstreamer-0.10.so:multimedia/gstreamer
_GST_RUN_DEPENDS+=   gstreamer-plugins>=0:multimedia/gstreamer-plugins

. for plugin in ${_GST_IMPL_LIST:O:u}
_GST_BUILD_DEPENDS+=	gstreamer-plugins-${plugin}>=0:multimedia/gstreamer-plugins-${plugin}
_GST_RUN_DEPENDS+=	gstreamer-plugins-${plugin}>=0:multimedia/gstreamer-plugins-${plugin}
. endfor

BUILD_DEPENDS+= ${_GST_BUILD_DEPENDS:O:u}
LIB_DEPENDS+=   ${_GST_LIB_DEPENDS:O:u}
RUN_DEPENDS+=   ${_GST_RUN_DEPENDS:O:u}
.endif

.if defined(USE_GSTREAMER1)
. for ext in ${USE_GSTREAMER1}
${ext}_GST_PREFIX?=	gstreamer1-plugins-
${ext}_GST_VERSION?=	${GST1_VERSION}
${ext}_NAME10?=		${ext}
${ext}_GST_DEPENDS?=	${${ext}_DEPENDS:S,gstreamer-,gstreamer1-,}
.  if ${_USE_GSTREAMER_ALL:M${ext}}!= "" && exists(${PORTSDIR}/${${ext}_GST_DEPENDS})
_GST_BUILD_DEPENDS+=	${${ext}_GST_PREFIX}${${ext}_NAME10}>=${${ext}_GST_VERSION}:${${ext}_GST_DEPENDS}
_GST_RUN_DEPENDS+=	${${ext}_GST_PREFIX}${${ext}_NAME10}>=${${ext}_GST_VERSION}:${${ext}_GST_DEPENDS}
.   if defined(${ext}1_IMPL)
_GST_IMPL_LIST+=	${${ext}1_IMPL}
.   else
_GST_IMPL_LIST+=	${${ext}_IMPL}
.   endif
.  else
IGNORE=	cannot install: unknown gstreamer ${GST1_VERSION} plugin -- ${ext}
.  endif
. endfor

# everything wants this
_GST_BUILD_DEPENDS+=	gstreamer1-plugins>=${GST1_VERSION}:multimedia/gstreamer1-plugins
_GST_LIB_DEPENDS+=	libgstreamer-1.0.so:multimedia/gstreamer1
_GST_RUN_DEPENDS+=	gstreamer1-plugins>=${GST1_VERSION}:multimedia/gstreamer1-plugins

. for plugin in ${_GST_IMPL_LIST:O:u}
_GST_BUILD_DEPENDS+=	gstreamer1-plugins-${plugin}>=${GST1_VERSION}:multimedia/gstreamer1-plugins-${plugin}
_GST_RUN_DEPENDS+=	gstreamer1-plugins-${plugin}>=${GST1_VERSION}:multimedia/gstreamer1-plugins-${plugin}
. endfor

BUILD_DEPENDS+=	${_GST_BUILD_DEPENDS:O:u}
LIB_DEPENDS+=	${_GST_LIB_DEPENDS:O:u}
RUN_DEPENDS+=	${_GST_RUN_DEPENDS:O:u}
.endif

# The End
.endif