aboutsummaryrefslogtreecommitdiff
path: root/Mk/bsd.gstreamer.mk
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2017-07-22 11:35:44 +0000
committerKoop Mast <kwm@FreeBSD.org>2017-07-22 11:35:44 +0000
commitd566d54fa6c982cb4bed8330d51cb11bfe3674ed (patch)
treedb8ae1482499741d4dbb123637dac45579f28eb5 /Mk/bsd.gstreamer.mk
parent190ced69a285efe9780eea205067282568a3063f (diff)
downloadports-d566d54fa6c982cb4bed8330d51cb11bfe3674ed.tar.gz
ports-d566d54fa6c982cb4bed8330d51cb11bfe3674ed.zip
Update GStreamer1 ports to 1.12.2.
Rework the adding of dependancies in Mk/bsd.gstreamer.mk. Previous when using USE_GSTREAMER[1] it would just add the request modules to BUILD/RUN_DEPENDS. This caused the qa script to complain because the old code didn't implicit depend on the gstreamer1 and gstreamer1-plugins[-bad] ports for the libraries they carried, even if they where present via the plugins! The new code adds implicit depends on these ports so USE_GSTREAMER[1] using ports have all the libraries included. * The mad mp3 plugin was removed, mpg123 plugin also provides mp3 decoding. Switch over ports that used the gstreamer1 mad plugin. * gtksink plugin renamed -> gtk * Hook up the sndio plugin into the framework * Add some indirect dependacies where needed * Reorder the plugin list in bsd.gstreamer.mk so only one plugin per line. When changing plugins it doesn't result in multiple lines being changed. * Remove mentions in bsd.gstreamer.mk of plugins mentions that where removed. * Depend on libunwind on i386/amd64, GStreamer links to it if it is present. PR: 220753 Exp-run by: antoine@
Notes
Notes: svn path=/head/; revision=446388
Diffstat (limited to 'Mk/bsd.gstreamer.mk')
-rw-r--r--Mk/bsd.gstreamer.mk357
1 files changed, 298 insertions, 59 deletions
diff --git a/Mk/bsd.gstreamer.mk b/Mk/bsd.gstreamer.mk
index f76a45deaa22..a172cd321d49 100644
--- a/Mk/bsd.gstreamer.mk
+++ b/Mk/bsd.gstreamer.mk
@@ -60,40 +60,127 @@ GST1_MINOR_VERSION= .0
GST1_SHLIB_VERSION= 0
GST1_MINIMAL_VERSION= .0
-#
-# missing base: alsa ivorbisdec
-# missing good: -
-# missing ugly: -
-# missing bad: openal
-
# 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 lame libcaca \
- libmms libvisual mad mpeg2dec mpeg2enc neon ogg \
- opencv opus pango pulse resindvd schroedinger \
- shout2 sidplay soundtouch soup speex taglib \
- theora twolame v4l2 vorbis wavpack x264
+ 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 \
+ opencv \
+ opus \
+ pango \
+ pulse \
+ resindvd \
+ schroedinger \
+ shout2 \
+ sndfile \
+ sndio \
+ sidplay \
+ soundtouch \
+ soup \
+ spc \
+ speex \
+ taglib \
+ theora \
+ twolame \
+ v4l2 \
+ vorbis \
+ wavpack \
+ x264
# plugins only in 0.10
.if defined(USE_GSTREAMER)
_GSTREAMER_PLUGINS+= \
- annodex bz2 cdaudio dvd esound ffmpeg fluendo-mp3 \
- fluendo-mpegdemux gconf gio gnomevfs hal \
- ladspa libpng mm mp3 musepack nas python qt4 \
- sdl sndfile spc vdpau vp8 xvid
-.endif
+ annodex \
+ bz2 \
+ cdaudio \
+ dvd \
+ esound \
+ ffmpeg \
+ fluendo-mp3 \
+ fluendo-mpegdemux \
+ gconf \
+ gio \
+ gnomevfs \
+ hal \
+ libpng \
+ mad \
+ mm \
+ mp3 \
+ nas \
+ python \
+ qt4 \
+ sdl \
+ vdpau \
+ vp8 \
+ xvid
+.endif # USE_GSTREAMER
# plugins only in 1.0
.if defined(USE_GSTREAMER1)
_GSTREAMER_PLUGINS+= \
- assrender bs2b chromaprint curl dtls dvdread editing-services \
- gtksink hls kate libav libde265 modplug mpg123 openh264 openjpeg \
- png rsvg rtmp spandsp vpx webp x x265 ximagesrc zbar
-# vaapi?
-.endif
+ assrender \
+ bs2b \
+ chromaprint \
+ curl \
+ dash \
+ dtls \
+ dvdread \
+ editing-services \
+ gtk \
+ hls \
+ kate \
+ kms \
+ libav \
+ libde265 \
+ modplug \
+ mpg123 \
+ mplex \
+ openexr \
+ openh264 \
+ openjpeg \
+ png \
+ rsvg \
+ rtmp \
+ smoothstreaming \
+ spandsp \
+ srtp \
+ ttml \
+ vpx \
+ webp \
+ x \
+ x265 \
+ ximagesrc \
+ zbar
+# vaapi webrtcdsp
+.endif # USE_GSTREAMER1
# other plugins
_USE_GSTREAMER_ALL= bad core good ugly yes ${_GSTREAMER_PLUGINS}
@@ -101,231 +188,324 @@ _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
-
-artsd_DEPENDS= audio/gstreamer-plugins-artsd
-
-audiofile_DEPENDS= audio/gstreamer-plugins-audiofile
+amrwbdec_IMPL= ugly
bs2b_DEPENDS= audio/gstreamer-plugins-bs2b
+bs2b_IMPL= bad
cdaudio_DEPENDS= audio/gstreamer-plugins-cdaudio
+cdaudio_IMPL= bad
cdparanoia_DEPENDS= audio/gstreamer-plugins-cdparanoia
+cdparanoia_IMPL= #
chromaprint_DEPENDS= audio/gstreamer-plugins-chromaprint
+chromeprint_IMPL= bad
esound_DEPENDS= audio/gstreamer-plugins-esound
+esound_IMPL= good
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
fluendo-mp3_DEPENDS= audio/gstreamer-plugins-fluendo-mp3
+fluendo_IMPL= #
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
mad_DEPENDS= audio/gstreamer-plugins-mad
-
-mikmod_DEPENDS= audio/gstreamer-plugins-mikmod
+mad_IMPL= ugly
modplug_DEPENDS= audio/gstreamer-plugins-modplug
+modplug_IMPL= bad
mp3_DEPENDS= audio/gstreamer-plugins-mp3
+mp3_IMPL= #
mpg123_DEPENDS= audio/gstreamer-plugins-mpg123
+mpg123_IMPL= ugly
musepack_DEPENDS= audio/gstreamer-plugins-musepack
+musepack_IMPL= bad
nas_DEPENDS= audio/gstreamer-plugins-nas
+nas_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
-
-polyp_DEPENDS= audio/gstreamer-plugins-polyp
+opus_IMPL= #
pulse_DEPENDS= audio/gstreamer-plugins-pulse
-
-shout_DEPENDS= audio/gstreamer-plugins-shout
+pulse_IMPL= good
shout2_DEPENDS= audio/gstreamer-plugins-shout2
+shout2_IMPL= good
sidplay_DEPENDS= audio/gstreamer-plugins-sidplay
+sidplay_IMPL= ugly
-smoothwave_DEPENDS= audio/gstreamer-plugins-smoothwave
+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
spc_DEPENDS= audio/gstreamer-plugins-spc
+spc_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
#-- comms plugin section --------------------------------------------------#
spandsp_DEPENDS= comms/gstreamer-plugins-spandsp
+spandsp_IMPL= bad
#-- devel plugin section --------------------------------------------------#
gconf_DEPENDS= devel/gstreamer-plugins-gconf
+gconf_IMPL= good
gio_DEPENDS= devel/gstreamer-plugins-gio
+gio_IMPL= #
gnomevfs_DEPENDS= devel/gstreamer-plugins-gnomevfs
+gnomevfs_IMPL= #
sdl_DEPENDS= devel/gstreamer-plugins-sdl
+sdl_IMPL= bad
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
annodex_DEPENDS= multimedia/gstreamer-plugins-annodex
+annodex_IMPL= good
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
-
-hermes_DEPENDS= graphics/gstreamer-plugins-hermes
+gl_DEPENDS= graphics/gstreamer-plugins-gl
+gl_IMPL= bad
jpeg_DEPENDS= graphics/gstreamer-plugins-jpeg
+jpeg_IMPL= good
-libcaca_DEPENDS= graphics/gstreamer-plugins-libcaca
+kms_DEPENDS= graphics/gstreamer-plugins-kms
+kms_IMPL= bad
-libmng_DEPENDS= graphics/gstreamer-plugins-libmng
+libcaca_DEPENDS= graphics/gstreamer-plugins-libcaca
+libcaca_IMPL= good
libpng_DEPENDS= graphics/gstreamer-plugins-libpng
+libpng_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
png_DEPENDS= graphics/gstreamer-plugins-png
+png_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= #
bz2_DEPENDS= multimedia/gstreamer-plugins-bz2
+bz2_IMPL= bad
+
+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= #
ffmpeg_DEPENDS= multimedia/gstreamer-ffmpeg
ffmpeg_GST_PREFIX= gstreamer-
ffmpeg_GST_SUFX= # empty
ffmpeg_GST_VERSION= 0.10.0
+ffmpeg_IMPL= #
fluendo-mpegdemux_DEPENDS= multimedia/gstreamer-plugins-fluendo-mpegdemux
+fluendo-mpegdemux_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
-
-libfame_DEPENDS= multimedia/gstreamer-plugins-libfame
+libde265_IMPL= bad
mm_DEPENDS= multimedia/gstreamermm
mm_GST_PREFIX= gstreamer
mm_GST_SUFX= # empty
mm_GST_VERSION= 0.9.4
+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
qt4_DEPENDS= multimedia/gstreamer-qt4
qt4_GST_PREFIX= gstreamer-
+qt4_IMPL= #
-rtmp_DEPENDS= multimedia/gstreamer1-plugins-rtmp
+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
-vaapi_DEPENDS= multimedia/gstreamer-plugins-vaapi
+# hmmm
+vaapi_DEPENDS= multimedia/gstreamer-vaapi
+vaapi_IMPL= bad
vp8_DEPENDS= multimedia/gstreamer-plugins-vp8
+vp8_IMPL= bad
vpx_DEPENDS= multimedia/gstreamer-plugins-vpx
+vpx_IMPL= good
# XXX: This is a quick solution for ports with USE_GSTREAMER=python
# but without USE_PYTHON.
@@ -336,47 +516,69 @@ python_NAME= gstreamer
python_GST_PREFIX= ${PYTHON_PKGNAMEPREFIX}
python_GST_SUFX= # empty
python_GST_VERSION= 0.10.4
+python_IMPL= #
resindvd_DEPENDS= multimedia/gstreamer-plugins-resindvd
+resindvd_IMPL= bad
schroedinger_DEPENDS= multimedia/gstreamer-plugins-schroedinger
+schroedinger_IMPL= bad
theora_DEPENDS= multimedia/gstreamer-plugins-theora
+theora_IMPL= #
ugly_DEPENDS= multimedia/gstreamer-plugins-ugly
+ugly_IMPL= #
vdpau_DEPENDS= multimedia/gstreamer-plugins-vdpau
+vdpau_IMPL= bad
+
+webrtcdsp_DEPENDS= multimedia/gstreamer-plugins-webrtcdsp
+webrtcdsp_IMPL= bad
x264_DEPENDS= multimedia/gstreamer-plugins-x264
+x264_IMPL= ugly
x265_DEPENDS= multimedia/gstreamer-plugins-x265
+x265_IMPL= bad
xvid_DEPENDS= multimedia/gstreamer-plugins-xvid
+xvid_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 ------------------------------------------#
-gtksink_DEPENDS= x11-toolkits/gstreamer-plugins-gtksink
+gtk_DEPENDS= x11-toolkits/gstreamer-plugins-gtk
+gtk_IMPL= bad
pango_DEPENDS= x11-toolkits/gstreamer-plugins-pango
+pango_IMPL= #
#--------------------------------------------------------------------------#
@@ -387,33 +589,70 @@ Gstreamer_Post_Include= bsd.gstreamer.mk
IGNORE= USE_GSTREAMER and USE_GSTREAMER1 can't be used together
.endif
+_GST_IMPL_LIST:= #
+
.if defined(USE_GSTREAMER)
-.for ext in ${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})
-BUILD_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${${ext}_DEPENDS}
-RUN_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME}>=${${ext}_GST_VERSION}:${${ext}_DEPENDS}
-. else
+. 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
+. 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}
+. for ext in ${USE_GSTREAMER1}
${ext}_GST_PREFIX?= gstreamer1-plugins-
-${ext}_GST_VERSION?= ${GST1_VERSION}${GST1_MINIMAL_VERSION}
+${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})
-BUILD_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME10}>=${${ext}_GST_VERSION}:${${ext}_GST_DEPENDS}
-RUN_DEPENDS+= ${${ext}_GST_PREFIX}${${ext}_NAME10}>=${${ext}_GST_VERSION}:${${ext}_GST_DEPENDS}
-. else
+. 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
+. 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