ba3ffd9b12
To avoid confusion, the main port is to track the latest release. Whether to rename includes/libraries as well making it possible to install 2.x and 3.x side-by-side remains to be investigated. PR: 210505 (for tracking) Inspired by: PkgSrc
528 lines
11 KiB
Text
528 lines
11 KiB
Text
# $FreeBSD$
|
|
|
|
BASE_GST_ALL_PLUGINS= \
|
|
alsa \
|
|
cdparanoia \
|
|
ivorbis \
|
|
libvisual \
|
|
ogg \
|
|
opus \
|
|
pango \
|
|
theora \
|
|
vorbis \
|
|
x \
|
|
xvideo
|
|
|
|
BAD_GST_ALL_PLUGINS+= \
|
|
assrender \
|
|
bs2b \
|
|
chromaprint \
|
|
curl \
|
|
dtls \
|
|
dts \
|
|
faac \
|
|
faad \
|
|
flite \
|
|
gme \
|
|
gsm \
|
|
gtksink \
|
|
hls \
|
|
kate \
|
|
libde265 \
|
|
libmms \
|
|
librfb \
|
|
modplug \
|
|
mpeg2enc \
|
|
mplex \
|
|
neon \
|
|
ofa \
|
|
openal \
|
|
opencv \
|
|
opengl \
|
|
openh264 \
|
|
openjpeg \
|
|
resindvd \
|
|
rtmp \
|
|
rsvg \
|
|
schro \
|
|
soundtouch \
|
|
spandsp \
|
|
vdpau \
|
|
webp \
|
|
x265 \
|
|
zbar \
|
|
|
|
# plugins not yet ported to the 1.0 API, or not portable
|
|
BAD_GST_ALL_PLUGINS+= \
|
|
acm \
|
|
apexsink \
|
|
cdxaparse \
|
|
dc1394 \
|
|
dccp \
|
|
faceoverlay \
|
|
hdvparse \
|
|
linsys \
|
|
lv2 \
|
|
musepack \
|
|
mve \
|
|
nas \
|
|
nuvdemux \
|
|
patchdetect \
|
|
sdi \
|
|
sdl \
|
|
sndio \
|
|
teletextdec \
|
|
timidity \
|
|
tta \
|
|
wininet \
|
|
xvid
|
|
|
|
# --with-egl-window-system=none --disable-opengl --disable-gles2 --disable-egl --disable-glx \
|
|
|
|
BAD_GST_NON_PLUGINS= \
|
|
--disable-gles2 \
|
|
--disable-egl \
|
|
--disable-glx \
|
|
--disable-wayland \
|
|
--enable-bz2 \
|
|
--enable-dvb \
|
|
--enable-shm \
|
|
--disable-wgl \
|
|
--disable-acm \
|
|
--disable-android_media \
|
|
--disable-apple_media \
|
|
--disable-avc \
|
|
--disable-dc1394 \
|
|
--disable-dccp \
|
|
--disable-direct3d \
|
|
--disable-directsound \
|
|
--disable-fbdev \
|
|
--disable-uvch264 \
|
|
--disable-vcd \
|
|
--disable-vulkan \
|
|
--disable-wildmidi \
|
|
--disable-wininet
|
|
|
|
GOOD_GST_ALL_PLUGINS+= \
|
|
aalib \
|
|
cairo \
|
|
flac \
|
|
gdk_pixbuf \
|
|
jack \
|
|
jpeg \
|
|
libcaca \
|
|
libdv \
|
|
libpng \
|
|
gst_v4l2 \
|
|
shout2 \
|
|
soup \
|
|
speex \
|
|
taglib \
|
|
vpx \
|
|
wavpack \
|
|
x \
|
|
pulse
|
|
|
|
GOOD_GST_NON_PLUGINS= \
|
|
--disable-dv1394 \
|
|
--disable-directsound \
|
|
--disable-osx_audio \
|
|
--disable-osx_video \
|
|
--disable-sunaudio \
|
|
--disable-waveform \
|
|
--enable-bz2 \
|
|
--enable-oss \
|
|
--enable-oss4 \
|
|
--enable-zlib
|
|
|
|
UGLY_GST_ALL_PLUGINS+= \
|
|
a52dec \
|
|
amrnb \
|
|
amrwb \
|
|
cdio \
|
|
dvdread \
|
|
lame \
|
|
mad \
|
|
mpeg2dec \
|
|
mpg123 \
|
|
sidplay \
|
|
twolame \
|
|
x264
|
|
|
|
UGLY_GST_NON_PLUGINS=
|
|
|
|
# Disable all plugins by default
|
|
.if ${DIST}=="base"
|
|
.for d in ${BASE_GST_ALL_PLUGINS}
|
|
CONFIGURE_ARGS+= --disable-${d}
|
|
.endfor
|
|
.endif
|
|
|
|
.if ${DIST}=="bad"
|
|
.for d in ${BAD_GST_ALL_PLUGINS}
|
|
CONFIGURE_ARGS+= --disable-${d}
|
|
.endfor
|
|
CONFIGURE_ARGS+= ${BAD_GST_NON_PLUGINS}
|
|
.endif
|
|
|
|
.if ${DIST}=="good"
|
|
.for d in ${GOOD_GST_ALL_PLUGINS}
|
|
CONFIGURE_ARGS+= --disable-${d}
|
|
.endfor
|
|
CONFIGURE_ARGS+= ${GOOD_GST_NON_PLUGINS}
|
|
.endif
|
|
|
|
.if ${DIST}=="ugly"
|
|
.for d in ${UGLY_GST_ALL_PLUGINS}
|
|
CONFIGURE_ARGS+= --disable-${d}
|
|
.endfor
|
|
CONFIGURE_ARGS+= ${UGLY_GST_NON_PLUGINS}
|
|
.endif
|
|
|
|
.if ${GST_PLUGIN}!="base" && ${GST_PLUGIN}!="bad" && \
|
|
${GST_PLUGIN}!="good" && ${GST_PLUGIN}!="ugly"
|
|
CONFIGURE_ARGS+= --enable-${GST_PLUGIN}
|
|
.endif
|
|
|
|
.if !defined(NO_GSTREAMER_COMMON)
|
|
GST_PLUGIN_SUFFIX?= -${GST_PLUGIN}
|
|
|
|
# Enable the right plugin
|
|
CONFIGURE_ARGS:=${CONFIGURE_ARGS:S|--disable-${GST_PLUGIN}|--enable-${GST_PLUGIN}|}
|
|
|
|
GST_INC_DIR= include/gstreamer-${VERSION}
|
|
GST_LIB_DIR= lib/gstreamer-${VERSION}
|
|
|
|
# Auto create PLIST
|
|
PLIST?= ${NONEXISTENT}
|
|
|
|
# ------- plugins ---------
|
|
|
|
# a52dec
|
|
gst_a52dec_LIB_DEPENDS= liba52.so:audio/liba52
|
|
|
|
# aalib
|
|
gst_aalib_LIB_DEPENDS= libaa.so:graphics/aalib
|
|
gst_aalib_PLIST_FILES= ${GST_LIB_DIR}/libgstaasink.so
|
|
|
|
# amrnb
|
|
gst_amrnb_LIB_DEPENDS= libopencore-amrnb.so:audio/opencore-amr
|
|
gst_amrnb_PLIST_FILES= ${GST_LIB_DIR}/libgstamrnb.so \
|
|
share/gstreamer-${VERSION}/presets/GstAmrnbEnc.prs
|
|
|
|
# amrwb
|
|
gst_amrwb_LIB_DEPENDS= libopencore-amrwb.so:audio/opencore-amr
|
|
gst_amrwb_GST_PLUGIN_DIR= ext/amrwbdec
|
|
gst_amrwb_PLIST_FILES= ${GST_LIB_DIR}/libgstamrwbdec.so
|
|
|
|
# assrender
|
|
gst_assrender_LIB_DEPENDS= libass.so:multimedia/libass
|
|
|
|
# bs2b
|
|
gst_bs2b_LIB_DEPENDS= libbs2b.so:audio/libbs2b
|
|
|
|
# cairo
|
|
gst_cairo_USE_GNOME= cairo
|
|
|
|
# cdparanoia
|
|
gst_cdparanoia_LIB_DEPENDS= libcdda_interface.so:audio/cdparanoia
|
|
|
|
# cdio
|
|
gst_cdio_LIB_DEPENDS= libcdio.so:sysutils/libcdio
|
|
|
|
# chromaprint
|
|
gst_chromaprint_LIB_DEPENDS= libchromaprint.so:audio/chromaprint
|
|
|
|
# curl
|
|
gst_curl_LIB_DEPENDS= libcurl.so:ftp/curl
|
|
|
|
# dtls
|
|
gst_dtls_USES= compiler:c11
|
|
|
|
# dts
|
|
gst_dts_LIB_DEPENDS= libdca.so:multimedia/libdca
|
|
gst_dts_PLIST_FILES= ${GST_LIB_DIR}/libgstdtsdec.so
|
|
|
|
# libdv
|
|
gst_libdv_LIB_DEPENDS= libdv.so:multimedia/libdv
|
|
gst_libdv_GST_PLUGIN_DIR= ext/dv
|
|
gst_libdv_PLIST_FILES= ${GST_LIB_DIR}/libgstdv.so
|
|
|
|
# dvdread
|
|
gst_dvdread_LIB_DEPENDS=libdvdread.so:multimedia/libdvdread
|
|
|
|
# faac
|
|
gst_faac_LIB_DEPENDS= libfaac.so:audio/faac
|
|
|
|
# faad
|
|
gst_faad_LIB_DEPENDS= libfaad.so:audio/faad
|
|
|
|
# flac
|
|
gst_flac_LIB_DEPENDS= libFLAC.so:audio/flac
|
|
|
|
# flite
|
|
gst_flite_LIB_DEPENDS= libflite.so:audio/flite
|
|
|
|
# gdk_pixbuf
|
|
gst_gdk_pixbuf_USE_GNOME= gdkpixbuf2
|
|
gst_gdk_pixbuf_PLIST_FILES= ${GST_LIB_DIR}/libgstgdkpixbuf.so
|
|
|
|
# gl
|
|
gst_gl_USE_GL= gl glu glesv2 egl
|
|
#xxxx do we need it?
|
|
#gst_gl_USE_GNOME= introspection:build
|
|
gst_gl_CONFIGURE_ARGS= --enable-gl --enable-glx \
|
|
--enable-egl --enable-gles2
|
|
gst_gl_PLIST_FILES= #
|
|
|
|
# gme
|
|
gst_gme_LIB_DEPENDS= libgme.so:audio/libgme
|
|
|
|
# gsm
|
|
gst_gsm_LIB_DEPENDS= libgsm.so:audio/gsm
|
|
|
|
# gtksink
|
|
gst_gtksink_USE_GNOME= gtk30
|
|
gst_gtksink_GST_PLUGIN_DIR=ext/gtk
|
|
|
|
# hls
|
|
gst_hls_LIB_DEPENDS= libnettle.so:security/nettle
|
|
|
|
# jack
|
|
gst_jack_LIB_DEPENDS= libjack.so:audio/jack
|
|
|
|
# jpeg
|
|
gst_jpeg_USES= jpeg
|
|
|
|
# kate
|
|
gst_kate_LIB_DEPENDS= libkate.so:multimedia/libkate
|
|
|
|
# lame
|
|
gst_lame_LIB_DEPENDS= libmp3lame.so:audio/lame
|
|
|
|
# libcaca
|
|
gst_libcaca_LIB_DEPENDS= libcaca.so:graphics/libcaca
|
|
gst_libcaca_PLIST_FILES= ${GST_LIB_DIR}/libgstcacasink.so
|
|
|
|
# libde265
|
|
gst_libde265_LIB_DEPENDS= libde265.so:multimedia/libde265
|
|
|
|
# libmms
|
|
gst_libmms_LIB_DEPENDS= libmms.so:net/libmms
|
|
gst_libmms_PLIST_FILES= ${GST_LIB_DIR}/libgstmms.so
|
|
|
|
# png
|
|
gst_libpng_LIB_DEPENDS= libpng.so:graphics/png
|
|
gst_libpng_PLIST_FILES= ${GST_LIB_DIR}/libgstpng.so
|
|
|
|
# libvisual
|
|
gst_libvisual_LIB_DEPENDS= libvisual-0.4.so:graphics/libvisual04
|
|
|
|
# mad
|
|
gst_mad_LIB_DEPENDS= libmad.so:audio/libmad
|
|
|
|
# modplug
|
|
gst_modplug_LIB_DEPENDS= libmodplug.so:audio/libmodplug
|
|
|
|
# mpeg2enc
|
|
gst_mpeg2enc_LIB_DEPENDS= libmjpegutils.so:multimedia/mjpegtools
|
|
|
|
# mpeg2dec
|
|
gst_mpeg2dec_LIB_DEPENDS= libmpeg2.so:multimedia/libmpeg2
|
|
|
|
# mpg123
|
|
gst_mpg123_LIB_DEPENDS= libmpg123.so:audio/mpg123
|
|
|
|
# neon
|
|
gst_neon_LIB_DEPENDS+= libneon.so:www/neon
|
|
gst_neon_PLIST_FILES= ${GST_LIB_DIR}/libgstneonhttpsrc.so
|
|
|
|
# ogg
|
|
gst_ogg_LIB_DEPENDS= libogg.so:audio/libogg
|
|
|
|
# opencv
|
|
gst_opencv_LIB_DEPENDS= libopencv_highgui.so:graphics/opencv2
|
|
gst_opencv_PLIST_FILES= ${GST_LIB_DIR}/libgstopencv.so \
|
|
share/gst-plugins-bad/${VERSION}/opencv_haarcascades/fist.xml \
|
|
share/gst-plugins-bad/${VERSION}/opencv_haarcascades/palm.xml
|
|
gst_opencv_USES= compiler:c++11-lib
|
|
|
|
# openjpeg
|
|
gst_openjpeg_LIB_DEPENDS= libopenjpeg.so:graphics/openjpeg15
|
|
|
|
# openh264
|
|
gst_openh264_LIB_DEPENDS= libopenh264.so:multimedia/openh264
|
|
|
|
# opus
|
|
gst_opus_LIB_DEPENDS= libopus.so:audio/opus
|
|
|
|
# pango
|
|
gst_pango_USE_GNOME= pango
|
|
|
|
# pulse
|
|
gst_pulse_LIB_DEPENDS= libpulse.so:audio/pulseaudio
|
|
|
|
# resindvd
|
|
gst_resindvd_BUILD_DEPENDS= libdvdnav>=4.1.2:multimedia/libdvdnav
|
|
gst_resindvd_RUN_DEPENDS= libdvdnav>=4.1.2:multimedia/libdvdnav
|
|
|
|
# rtmp xxx
|
|
gst_rtmp_LIB_DEPENDS= librtmp.so:multimedia/librtmp
|
|
|
|
# rsvg
|
|
gst_rsvg_USE_GNOME= librsvg2
|
|
|
|
# shout2
|
|
gst_shout2_LIB_DEPENDS= libshout.so:audio/libshout
|
|
|
|
# sidplay
|
|
gst_sidplay_LIB_DEPENDS= libsidplay.so:audio/libsidplay
|
|
gst_sidplay_PLIST_FILES= ${GST_LIB_DIR}/libgstsid.so
|
|
|
|
# soundtouch
|
|
gst_soundtouch_LIB_DEPENDS= libSoundTouch.so:audio/soundtouch
|
|
|
|
# souphttpsrc
|
|
gst_soup_LIB_DEPENDS= libsoup-2.4.so:devel/libsoup
|
|
gst_soup_GST_PLUGIN_DIR=ext/soup
|
|
gst_soup_PLIST_FILES= ${GST_LIB_DIR}/libgstsouphttpsrc.so
|
|
|
|
# spandsp
|
|
gst_spandsp_LIB_DEPENDS= libspandsp.so:comms/spandsp
|
|
|
|
# speex
|
|
gst_speex_LIB_DEPENDS= libspeex.so:audio/speex
|
|
|
|
# schroedinger or schro for short
|
|
gst_schro_LIB_DEPENDS= libschroedinger-1.0.so:multimedia/schroedinger
|
|
gst_schro_GST_PLUGIN_DIR= ext/schroedinger
|
|
|
|
# taglib
|
|
gst_taglib_LIB_DEPENDS= libtag.so:audio/taglib
|
|
|
|
# theora
|
|
gst_theora_LIB_DEPENDS= libtheora.so:multimedia/libtheora
|
|
|
|
# twolame
|
|
gst_twolame_LIB_DEPENDS= libtwolame.so:audio/twolame
|
|
|
|
# gst_v4l2
|
|
gst_gst_v4l2_BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
|
|
gst_gst_v4l2_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
|
|
gst_gst_v4l2_RUN_DEPENDS= webcamd:multimedia/webcamd
|
|
gst_gst_v4l2_PLIST_FILES= ${GST_LIB_DIR}/libgstvideo4linux2.so
|
|
gst_gst_v4l2_GST_PLUGIN_DIR= sys/v4l2
|
|
|
|
# vorbis
|
|
gst_vorbis_USE_GSTREAMER1= ogg
|
|
gst_vorbis_LIB_DEPENDS= libvorbis.so:audio/libvorbis
|
|
|
|
# vpx
|
|
gst_vpx_LIB_DEPENDS= libvpx.so:multimedia/libvpx
|
|
gst_vpx_PLIST_FILES= ${GST_LIB_DIR}/libgstvpx.so \
|
|
share/gstreamer-${VERSION}/presets/GstVP8Enc.prs
|
|
|
|
# vdpau
|
|
gst_vdpau_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
|
|
gst_vdpau_GST_PLUGIN_DIR= sys/vdpau
|
|
|
|
# webp
|
|
gst_webp_LIB_DEPENDS= libwebp.so:graphics/webp
|
|
|
|
# X ximage and xvimage sinks aka output
|
|
.if ${DIST} == base
|
|
gst_x_USE_XORG= x11 xv xext
|
|
gst_x_CONFIGURE_ARGS= --enable-xvideo --enable-xshm
|
|
gst_x_GST_PLUGIN_DIR= sys/ximage sys/xvimage
|
|
gst_x_PLIST_FILES= ${GST_LIB_DIR}/libgstximagesink.so \
|
|
${GST_LIB_DIR}/libgstxvimagesink.so
|
|
.endif
|
|
|
|
.if ${DIST} == good
|
|
# Ximagesrc
|
|
gst_x_USE_XORG= x11 xfixes xdamage xext
|
|
gst_x_CONFIGURE_ARGS= --enable-x
|
|
gst_x_GST_PLUGIN_DIR= sys/ximage
|
|
gst_x_PLIST_FILES= ${GST_LIB_DIR}/libgstximagesrc.so
|
|
.endif
|
|
|
|
# x264
|
|
gst_x264_LIB_DEPENDS= libx264.so:multimedia/libx264
|
|
gst_x264_PLIST_FILES= ${GST_LIB_DIR}/libgstx264.so \
|
|
share/gstreamer-${VERSION}/presets/GstX264Enc.prs
|
|
|
|
# x265
|
|
gst_x265_LIB_DEPENDS= libx265.so:multimedia/x265
|
|
|
|
# xvid
|
|
gst_xvid_LIB_DEPENDS= libxvidcore.so:multimedia/xvid
|
|
|
|
# wavpack
|
|
gst_wavpack_LIB_DEPENDS= libwavpack.so:audio/wavpack
|
|
|
|
# zbar
|
|
gst_zbar_LIB_DEPENDS= libzbar.so:graphics/zbar
|
|
|
|
.endif # NO_GSTREAMER_COMMON
|
|
|
|
.if !defined(NO_GSTREAMER_COMMON)
|
|
gst_${GST_PLUGIN}_BUILD_DEPENDS?=
|
|
gst_${GST_PLUGIN}_LIB_DEPENDS?=
|
|
gst_${GST_PLUGIN}_RUN_DEPENDS?=
|
|
gst_${GST_PLUGIN}_USES?=
|
|
gst_${GST_PLUGIN}_USE_XORG?=
|
|
gst_${GST_PLUGIN}_PLIST_FILES?= \
|
|
${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.so
|
|
gst_${GST_PLUGIN}_EXTRA_LIBS?=
|
|
gst_${GST_PLUGIN}_PREBUILD_DIR?=
|
|
gst_${GST_PLUGIN}_GST_PLUGIN_DIR?= ext/${GST_PLUGIN}
|
|
gst_${GST_PLUGIN}_POSTBUILD_DIR?=
|
|
gst_${GST_PLUGIN}_USE_GNOME?=
|
|
gst_${GST_PLUGIN}_CONFIGURE_ENV?=
|
|
gst_${GST_PLUGIN}_GLIB_SCHEMAS?=
|
|
gst_${GST_PLUGIN}_CONFIGURE_ARGS?=
|
|
gst_${GST_PLUGIN}_USE_SDL?=
|
|
gst_${GST_PLUGIN}_USE_GSTREAMER1?=
|
|
|
|
BUILD_DEPENDS+= ${gst_${GST_PLUGIN}_BUILD_DEPENDS}
|
|
LIB_DEPENDS+= ${gst_${GST_PLUGIN}_LIB_DEPENDS}
|
|
RUN_DEPENDS+= ${gst_${GST_PLUGIN}_RUN_DEPENDS}
|
|
USES+= ${gst_${GST_PLUGIN}_USES}
|
|
PLIST_FILES= ${gst_${GST_PLUGIN}_PLIST_FILES}
|
|
EXTRA_LIBS+= ${gst_${GST_PLUGIN}_EXTRA_LIBS}
|
|
USE_XORG+= ${gst_${GST_PLUGIN}_USE_XORG}
|
|
USE_GNOME+= ${gst_${GST_PLUGIN}_USE_GNOME}
|
|
CONFIGURE_ENV+= ${gst_${GST_PLUGIN}_CONFIGURE_ENV}
|
|
USE_GL+= ${gst_${GST_PLUGIN}_USE_GL}
|
|
|
|
.if ${gst_${GST_PLUGIN}_GLIB_SCHEMAS}!=""
|
|
GLIB_SCHEMAS= ${gst_${GST_PLUGIN}_GLIB_SCHEMAS}
|
|
.endif
|
|
|
|
CONFIGURE_ARGS+= ${gst_${GST_PLUGIN}_CONFIGURE_ARGS}
|
|
|
|
.if ${gst_${GST_PLUGIN}_USE_SDL}!=""
|
|
USE_SDL= ${gst_${GST_PLUGIN}_USE_SDL}
|
|
.endif
|
|
|
|
USE_GSTREAMER1+= ${gst_${GST_PLUGIN}_USE_GSTREAMER1} ${DIST:base=yes}
|
|
GST_PREBUILD_DIR= ${gst_${GST_PLUGIN}_GST_PREBUILD_DIR}
|
|
GST_PLUGIN_DIR= ${gst_${GST_PLUGIN}_GST_PLUGIN_DIR}
|
|
GST_POSTBUILD_DIR= ${gst_${GST_PLUGIN}_GST_POSTBUILD_DIR}
|
|
|
|
.if !target(do-build)
|
|
do-build:
|
|
.for dir in ${GST_PREBUILD_DIR} ${GST_PLUGIN_DIR} ${GST_POSTBUILD_DIR}
|
|
@cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
|
|
${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}
|
|
.endfor
|
|
.endif
|
|
|
|
.if !target(do-install)
|
|
do-install:
|
|
.for dir in ${GST_PLUGIN_DIR}
|
|
@cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
|
|
${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}
|
|
.endfor
|
|
.endif
|
|
.endif
|