23dab349f2
Rationale: libkate is going away in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268179 after being unmaintained upstream for a long time. PR: 268183 Reviewed by: riggs
435 lines
12 KiB
Makefile
435 lines
12 KiB
Makefile
#
|
|
# gstreamer.mk - Support for gstreamer-plugins-based ports.
|
|
#
|
|
# Usage:
|
|
# USES= gstreamer[:version]
|
|
# USE_GSTREAMER= [list of components]
|
|
#
|
|
# Supported versions: 1 -- default
|
|
# #
|
|
|
|
.if ! defined(_INCLUDE_USES_GSTREAMER_MK)
|
|
_INCLUDE_USES_GSTREAMER_MK= YES
|
|
|
|
#== Argument handling
|
|
|
|
# Preparations to support multiple gstreamer versions
|
|
_GST_VER_SUPPORTED= 1
|
|
_GST_VER_DEFAULT= 1
|
|
_GST_VER= #
|
|
. for ver in ${_GST_VER_SUPPORTED:O:u}
|
|
. if ${gstreamer_ARGS:M${ver}}
|
|
. if empty(_GST_VER)
|
|
_GST_VER= ${ver}
|
|
. else
|
|
INGORE= Incorrect USES=gstreamer:${gstramer_ARGS} - multiple versions defined
|
|
. endif
|
|
. endif
|
|
. endfor
|
|
|
|
. if empty(_GST_VER)
|
|
_GST_VER= ${_GST_VER_DEFAULT}
|
|
. endif
|
|
|
|
#== Component setup
|
|
|
|
_GST1_VERSION= 1.16.2
|
|
_GST1_LIB_VER= 1.0
|
|
|
|
_GST1_CATEGORIES= audio comms devel ftp graphics multimedia net security \
|
|
sysutils www x11 x11-toolkits
|
|
_GST1_PLUGINS_audio= a52dec amrnb amrwbdec bs2b cdparanoia chromaprint faac \
|
|
faad flac flite gme gsm jack ladspa lame lv2 modplug \
|
|
mpg123 musepack ogg openmpt opus pulse shout2 sidplay \
|
|
sndfile sndio soundtouch speex taglib twolame vorbis \
|
|
wavpack webrtcdsp
|
|
_GST1_PLUGINS_comms= spandsp
|
|
_GST1_PLUGINS_devel= soup
|
|
_GST1_PLUGINS_ftp= curl
|
|
_GST1_PLUGINS_graphics= aalib cairo gdkpixbuf gl jpeg kms libcaca libvisual \
|
|
opencv openexr openjpeg png qt rsvg vulkan webp zbar
|
|
_GST1_PLUGINS_multimedia= aom assrender bad dash dts dv dvdread \
|
|
editing-services gnonlin good hls libav libde265 \
|
|
mpeg2dec mpeg2enc mplex mm openh264 resindvd rtmp \
|
|
smoothstreaming theora ttml ugly v4l2 vpx x264 x265
|
|
_GST1_PLUGINS_net= srtp
|
|
_GST1_PLUGINS_security= dtls
|
|
_GST1_PLUGINS_sysutils= cdio
|
|
_GST1_PLUGINS_www= neon
|
|
_GST1_PLUGINS_x11= x ximagesrc
|
|
_GST1_PLUGINS_x11-toolkits= gtk pango
|
|
|
|
# == Unversioned information
|
|
|
|
# Gather all available plugins for the chosen version
|
|
_GST_PLUGINS_BASE= bad core good ugly libgstreamer plugins
|
|
_GST_PLUGINS_VER:= ${_GST${_GST_VER}_CATEGORIES:S/^/\${_GST${_GST_VER}_PLUGINS_/:S/$/}/}
|
|
|
|
_GST_VERSION= ${_GST${_GST_VER}_VERSION}
|
|
|
|
# List of all available components
|
|
_USE_GSTREAMER_ALL= ${_GST_PLUGINS_BASE} \
|
|
${_GST_PLUGINS_VER}
|
|
|
|
#== Dependency setup
|
|
|
|
#==== Top-level components
|
|
|
|
gst-plugins_PORT= multimedia/gstreamer${_GST_VER}-plugins
|
|
gst-plugins_IMPL= # empty
|
|
gst-plugins_SUFFIX= #
|
|
|
|
gst-bad_PORT= multimedia/gstreamer${_GST_VER}-plugins-bad
|
|
gst-bad_IMPL= #
|
|
|
|
gst-core_PORT= multimedia/gstreamer${_GST_VER}-plugins-core
|
|
gst-core_IMPL= #
|
|
gst-core_GST1_VERSION= 1.16
|
|
gst-core_VERSION= ${gst-core_GST${_GST_VER}_VERSION}
|
|
|
|
gst-good_PORT= multimedia/gstreamer${_GST_VER}-plugins-good
|
|
gst-good_IMPL= #
|
|
|
|
gst-ugly_PORT= multimedia/gstreamer${_GST_VER}-plugins-ugly
|
|
gst-ugly_IMPL= #
|
|
|
|
gst-libgstreamer_LIB= libgstreamer${_GST${_GST_VER}_LIB_VER:D-${_GST${_GST_VER}_LIB_VER}}.so
|
|
gst-libgstreamer_PORT= multimedia/gstreamer${_GST_VER}
|
|
|
|
#==== Audio Plugins Section
|
|
|
|
gst-a52dec_PORT= audio/gstreamer${_GST_VER}-plugins-a52dec
|
|
gst-a52dec_IMPL= ugly
|
|
|
|
gst-amrnb_PORT= audio/gstreamer${_GST_VER}-plugins-amrnb
|
|
gst-amrnb_IMPL= ugly
|
|
|
|
gst-amrwbdec_PORT= audio/gstreamer${_GST_VER}-plugins-amrwbdec
|
|
gst-amrwbdec_IMPL= ugly
|
|
|
|
gst-bs2b_PORT= audio/gstreamer${_GST_VER}-plugins-bs2b
|
|
gst-bs2b_IMPL= bad
|
|
|
|
gst-cdparanoia_PORT= audio/gstreamer${_GST_VER}-plugins-cdparanoia
|
|
gst-cdparanoia_IMPL= #
|
|
|
|
gst-chromaprint_PORT= audio/gstreamer${_GST_VER}-plugins-chromaprint
|
|
gst-chromeprint_IMPL= bad
|
|
|
|
gst-faac_PORT= audio/gstreamer${_GST_VER}-plugins-faac
|
|
gst-faac_IMPL= bad
|
|
|
|
gst-faad_PORT= audio/gstreamer${_GST_VER}-plugins-faad
|
|
gst-faad_IMPL= bad
|
|
|
|
gst-flac_PORT= audio/gstreamer${_GST_VER}-plugins-flac
|
|
gst-flac_IMPL= good
|
|
|
|
gst-flite_PORT= audio/gstreamer${_GST_VER}-plugins-flite
|
|
gst-flite_IMPL= bad
|
|
|
|
gst-gme_PORT= audio/gstreamer${_GST_VER}-plugins-gme
|
|
gst-gme_IMPL= bad
|
|
|
|
gst-gsm_PORT= audio/gstreamer${_GST_VER}-plugins-gsm
|
|
gst-gsm_IMPL= bad
|
|
|
|
gst-jack_PORT= audio/gstreamer${_GST_VER}-plugins-jack
|
|
gst-jack_IMPL= good
|
|
|
|
gst-ladspa_PORT= audio/gstreamer${_GST_VER}-plugins-ladspa
|
|
gst-ladspa_IMPL= bad
|
|
|
|
gst-lame_PORT= audio/gstreamer${_GST_VER}-plugins-lame
|
|
gst-lame_IMPL= ugly
|
|
|
|
gst-lv2_PORT= audio/gstreamer${_GST_VER}-plugins-lv2
|
|
gst-lv2_IMPL= bad
|
|
|
|
gst-modplug_PORT= audio/gstreamer${_GST_VER}-plugins-modplug
|
|
gst-modplug_IMPL= bad
|
|
|
|
gst-mpg123_PORT= audio/gstreamer${_GST_VER}-plugins-mpg123
|
|
gst-mpg123_IMPL= ugly
|
|
|
|
gst-musepack_PORT= audio/gstreamer${_GST_VER}-plugins-musepack
|
|
gst-musepack_IMPL= bad
|
|
|
|
gst-neon_PORT= www/gstreamer${_GST_VER}-plugins-neon
|
|
gst-neon_IMPL= bad
|
|
|
|
gst-ogg_PORT= audio/gstreamer${_GST_VER}-plugins-ogg
|
|
gst-ogg_IMPL= #
|
|
|
|
gst-opus_PORT= audio/gstreamer${_GST_VER}-plugins-opus
|
|
gst-opus_IMPL= #
|
|
|
|
gst-pulse_PORT= audio/gstreamer${_GST_VER}-plugins-pulse
|
|
gst-pulse_IMPL= good
|
|
|
|
gst-shout2_PORT= audio/gstreamer${_GST_VER}-plugins-shout2
|
|
gst-shout2_IMPL= good
|
|
|
|
gst-sidplay_PORT= audio/gstreamer${_GST_VER}-plugins-sidplay
|
|
gst-sidplay_IMPL= ugly
|
|
|
|
gst-sndio_PORT= audio/gstreamer${_GST_VER}-plugins-sndio
|
|
gst-sndio_IMPL= #
|
|
gst-sndio_VERSION= 1.8.0
|
|
|
|
gst-sndfile_PORT= audio/gstreamer${_GST_VER}-plugins-sndfile
|
|
gst-sndfile_IMPL= bad
|
|
|
|
gst-soundtouch_PORT= audio/gstreamer${_GST_VER}-plugins-soundtouch
|
|
gst-soundtouch_IMPL= bad
|
|
|
|
gst-speex_PORT= audio/gstreamer${_GST_VER}-plugins-speex
|
|
gst-speex_IMPL= good
|
|
|
|
gst-taglib_PORT= audio/gstreamer${_GST_VER}-plugins-taglib
|
|
gst-taglib_IMPL= good
|
|
|
|
gst-twolame_PORT= audio/gstreamer${_GST_VER}-plugins-twolame
|
|
gst-twolame_IMPL= ugly
|
|
|
|
gst-vorbis_PORT= audio/gstreamer${_GST_VER}-plugins-vorbis
|
|
gst-vorbis_IMPL= #
|
|
|
|
gst-wavpack_PORT= audio/gstreamer${_GST_VER}-plugins-wavpack
|
|
gst-wavpack_IMPL= good
|
|
|
|
gst-webrtcdsp_PORT= audio/gstreamer${_GST_VER}-plugins-webrtcdsp
|
|
gst-webrtcdsp_IMPL= bad
|
|
|
|
#==== comms plugin section
|
|
|
|
gst-spandsp_PORT= comms/gstreamer${_GST_VER}-plugins-spandsp
|
|
gst-spandsp_IMPL= bad
|
|
|
|
#==== devel plugin section
|
|
|
|
gst-soup_PORT= devel/gstreamer${_GST_VER}-plugins-soup
|
|
gst-soup_IMPL= good
|
|
|
|
#==== ftp plugin section
|
|
|
|
gst-curl_PORT= ftp/gstreamer${_GST_VER}-plugins-curl
|
|
gst-curl_IMPL= bad
|
|
|
|
#==== graphics plugin section
|
|
|
|
gst-aalib_PORT= graphics/gstreamer${_GST_VER}-plugins-aalib
|
|
gst-aalib_IMPL= good
|
|
|
|
gst-aom_PORT= multimedia/gstreamer${_GST_VER}-plugins-aom
|
|
gst-aom_IMPL= bad
|
|
|
|
gst-assrender_PORT= multimedia/gstreamer${_GST_VER}-plugins-assrender
|
|
gst-assrender_IMPL= bad
|
|
|
|
gst-cairo_PORT= graphics/gstreamer${_GST_VER}-plugins-cairo
|
|
gst-cairo_IMPL= good
|
|
|
|
gst-gdkpixbuf_PORT= graphics/gstreamer${_GST_VER}-plugins-gdkpixbuf
|
|
gst-gdkpixbuf_IMPL= good
|
|
|
|
gst-gl_PORT= graphics/gstreamer${_GST_VER}-plugins-gl
|
|
gst-gl_IMPL= bad
|
|
|
|
gst-jpeg_PORT= graphics/gstreamer${_GST_VER}-plugins-jpeg
|
|
gst-jpeg_IMPL= good
|
|
|
|
gst-kms_PORT= graphics/gstreamer${_GST_VER}-plugins-kms
|
|
gst-kms_IMPL= bad
|
|
|
|
gst-libcaca_PORT= graphics/gstreamer${_GST_VER}-plugins-libcaca
|
|
gst-libcaca_IMPL= good
|
|
|
|
gst-libvisual_PORT= graphics/gstreamer${_GST_VER}-plugins-libvisual
|
|
gst-libvisual_IMPL= #
|
|
|
|
gst-opencv_PORT= graphics/gstreamer${_GST_VER}-plugins-opencv
|
|
gst-opencv_IMPL= bad
|
|
|
|
gst-openexr_PORT= graphics/gstreamer${_GST_VER}-plugins-openexr
|
|
gst-openexr_IMPL= bad
|
|
|
|
gst-openjpeg_PORT= graphics/gstreamer${_GST_VER}-plugins-openjpeg
|
|
gst-openjpeg_IMPL= bad
|
|
|
|
gst-openmpt_PORT= audio/gstreamer${_GST_VER}-plugins-openmpt
|
|
gst-openmpt_IMPL= bad
|
|
|
|
gst-png_PORT= graphics/gstreamer${_GST_VER}-plugins-png
|
|
gst-png_IMPL= good
|
|
|
|
gst-qt_PORT= graphics/gstreamer${_GST_VER}-plugins-qt
|
|
gst-qt_IMPL= good
|
|
|
|
gst-rsvg_PORT= graphics/gstreamer${_GST_VER}-plugins-rsvg
|
|
gst-rsvg_IMPL= bad
|
|
|
|
gst-webp_PORT= graphics/gstreamer${_GST_VER}-plugins-webp
|
|
gst-webp_IMPL= bad
|
|
|
|
gst-zbar_PORT= graphics/gstreamer${_GST_VER}-plugins-zbar
|
|
gst-zbar_IMPL= bad
|
|
|
|
#==== multimedia plugins section
|
|
|
|
gst-dash_PORT= multimedia/gstreamer${_GST_VER}-plugins-dash
|
|
gst-dash_IMPL= bad
|
|
|
|
gst-dvdread_PORT= multimedia/gstreamer${_GST_VER}-plugins-dvdread
|
|
gst-dvdread_IMPL= ugly
|
|
|
|
gst-editing-services_PORT= multimedia/gstreamer${_GST_VER}-editing-services
|
|
gst-editing-services_SUFFIX= #
|
|
gst-editing-services_IMPL= #
|
|
|
|
gst-dts_PORT= multimedia/gstreamer${_GST_VER}-plugins-dts
|
|
gst-dts_IMPL= bad
|
|
|
|
gst-dv_PORT= multimedia/gstreamer${_GST_VER}-plugins-dv
|
|
gst-dv_IMPL= good
|
|
|
|
gst-gnonlin_PORT= multimedia/gstreamer${_GST_VER}-plugins-gnonlin
|
|
gst-gnonlin_IMPL= good
|
|
gst-gnonlin_VERSION= 1.4.0
|
|
|
|
gst-hls_PORT= multimedia/gstreamer${_GST_VER}-plugins-hls
|
|
gst-hls_IMPL= bad
|
|
|
|
gst-libav_PORT= multimedia/gstreamer${_GST_VER}-libav
|
|
gst-libav_SUFFIX= #
|
|
gst-libav_IMPL= #
|
|
|
|
gst-libde265_PORT= multimedia/gstreamer${_GST_VER}-plugins-libde265
|
|
gst-libde265_IMPL= bad
|
|
|
|
gst-mm_PORT= multimedia/gstreamermm
|
|
gst-mm_PREFIX= gstreamer
|
|
gst-mm_SUFFIX= #
|
|
gst-mm_IMPL= #
|
|
gst-mm_GST1_VERSION= 1.10.0
|
|
gst-mm_VERSION= ${gst-mm_GST${_GST_VER}_VERSION}
|
|
|
|
gst-mpeg2dec_PORT= multimedia/gstreamer${_GST_VER}-plugins-mpeg2dec
|
|
gst-mpeg2dec_IMPL= ugly
|
|
|
|
gst-mpeg2enc_PORT= multimedia/gstreamer${_GST_VER}-plugins-mpeg2enc
|
|
gst-mpeg2enc_IMPL= bad
|
|
|
|
gst-mplex_PORT= multimedia/gstreamer${_GST_VER}-plugins-mplex
|
|
gst-mplex_IMPL= bad
|
|
|
|
gst-openh264_PORT= multimedia/gstreamer${_GST_VER}-plugins-openh264
|
|
gst-openh264_IMPL= bad
|
|
|
|
gst-rtmp_PORT= multimedia/gstreamer${_GST_VER}-plugins-rtmp
|
|
gst-rtmp_IMPL= bad
|
|
|
|
gst-smoothstreaming_PORT= multimedia/gstreamer${_GST_VER}-plugins-smoothstreaming
|
|
gst-smoothstreaming_IMPL= bad
|
|
|
|
gst-ttml_PORT= multimedia/gstreamer${_GST_VER}-plugins-ttml
|
|
gst-ttml_IMPL= bad
|
|
|
|
gst-v4l2_PORT= multimedia/gstreamer${_GST_VER}-plugins-v4l2
|
|
gst-v4l2_IMPL= good
|
|
|
|
# hmmm
|
|
gst-vaapi_PORT= multimedia/gstreamer-vaapi
|
|
gst-vaapi_IMPL= bad
|
|
|
|
gst-vpx_PORT= multimedia/gstreamer${_GST_VER}-plugins-vpx
|
|
gst-vpx_IMPL= good
|
|
|
|
gst-vulkan_PORT= graphics/gstreamer${_GST_VER}-plugins-vulkan
|
|
gst-vulkan_IMPL= bad
|
|
|
|
gst-resindvd_PORT= multimedia/gstreamer${_GST_VER}-plugins-resindvd
|
|
gst-resindvd_IMPL= bad
|
|
|
|
gst-theora_PORT= multimedia/gstreamer${_GST_VER}-plugins-theora
|
|
gst-theora_IMPL= #
|
|
|
|
gst-x264_PORT= multimedia/gstreamer${_GST_VER}-plugins-x264
|
|
gst-x264_IMPL= ugly
|
|
|
|
gst-x265_PORT= multimedia/gstreamer${_GST_VER}-plugins-x265
|
|
gst-x265_IMPL= bad
|
|
|
|
#==== Net Plugins Section
|
|
|
|
gst-srtp_PORT= net/gstreamer${_GST_VER}-plugins-srtp
|
|
gst-srtp_IMPL= bad
|
|
|
|
#==== security plugins section
|
|
|
|
gst-dtls_PORT= security/gstreamer${_GST_VER}-plugins-dtls
|
|
gst-dtls_IMPL= bad
|
|
|
|
#==== sysutils plugins section
|
|
|
|
gst-cdio_PORT= sysutils/gstreamer${_GST_VER}-plugins-cdio
|
|
gst-cdio_IMPL= ugly
|
|
|
|
#==== x11 plugins section
|
|
|
|
gst-x_PORT= x11/gstreamer${_GST_VER}-plugins-x
|
|
gst-x_IMPL= #
|
|
|
|
gst-ximagesrc_PORT= x11/gstreamer${_GST_VER}-plugins-ximagesrc
|
|
gst-ximagesrc_IMPL= good
|
|
|
|
#==== x11-toolkits plugins section
|
|
|
|
gst-gtk_PORT= x11-toolkits/gstreamer${_GST_VER}-plugins-gtk
|
|
gst-gtk_IMPL= bad
|
|
|
|
gst-pango_PORT= x11-toolkits/gstreamer${_GST_VER}-plugins-pango
|
|
gst-pango_IMPL= #
|
|
|
|
#== Dependency creation
|
|
|
|
_GST_BR_DEPENDS= #
|
|
_GST_LIB_DEPENDS= #
|
|
|
|
USE_GSTREAMER?= #
|
|
# everything wants this
|
|
USE_GSTREAMER+= libgstreamer
|
|
. if ${PORTDIRNAME} != gstreamer${_GST_VER}-plugins
|
|
USE_GSTREAMER+= plugins
|
|
. endif
|
|
|
|
# Gather all Impl values
|
|
_GST_IMPL_LIST:= ${USE_GSTREAMER:S/^/\${gst-/:S/$/_IMPL}/}
|
|
|
|
# Combine the wanted copmonents and the required implementations
|
|
_USE_GSTREAMER= ${USE_GSTREAMER} \
|
|
${_GST_IMPL_LIST}
|
|
|
|
. for component in ${_USE_GSTREAMER:O:u}
|
|
# Fill in the common default component values
|
|
gst-${component}_VERSION?= ${_GST_VERSION}
|
|
gst-${component}_NAME?= ${component}
|
|
gst-${component}_PREFIX?= gstreamer${_GST_VER}-
|
|
gst-${component}_SUFFIX?= plugins-
|
|
gst-${component}_PKG?= ${gst-${component}_PREFIX}${gst-${component}_SUFFIX}${gst-${component}_NAME}
|
|
|
|
. if empty(_USE_GSTREAMER_ALL:M${component})
|
|
IGNORE= unknown gstreamer component '${component}' for gstreamer:${_GST_VER}
|
|
. endif
|
|
. if !empty(gst-${component}_LIB)
|
|
_GST_LIB_DEPENDS+= ${gst-${component}_LIB}:${gst-${component}_PORT}
|
|
. else
|
|
_GST_BR_DEPENDS+= ${gst-${component}_PKG}>=${gst-${component}_VERSION}:${gst-${component}_PORT}
|
|
. endif
|
|
. endfor
|
|
|
|
LIB_DEPENDS+= ${_GST_LIB_DEPENDS:O:u}
|
|
BUILD_DEPENDS+= ${_GST_BR_DEPENDS:O:u}
|
|
RUN_DEPENDS+= ${_GST_BR_DEPENDS:O:u}
|
|
|
|
.endif
|