multimedia/gst-plugins-bad-nonfree: Added (encumbered GStreamer plugins).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2022-03-08 13:51:10 -05:00 committed by Willy Sudiarto Raharjo
parent 97dc562b4e
commit 4cd92b73ae
No known key found for this signature in database
GPG key ID: 3F617144D7238786
5 changed files with 292 additions and 0 deletions

View file

@ -0,0 +1,24 @@
gst-plugins-bad-nonfree (encumbered set of GStreamer plugins)
GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par
compared to the rest. They might be close to being good quality,
but they're missing something - be it a good code review, some
documentation, a set of tests, a real live maintainer, or some actual
wide use.
Since gst-plugins-bad-free is part of Slackware, this package only
includes the plugins that are not already in gst-plugins-bad-free.
This optionally depends on TiMidity++, aom, amrnb, amrwb, celt,
chromaprint, DirectFB, faac, faad2, flite, gsm, ladspa_sdk, libass,
libcdaudio, libdc1394, libdca, libfdk-aac, libkate, liblrdf, libmimic,
libmodplug, libmusicbrainz, libofa, libquicktime, libsrtp, lv2,
musepack-tools, rtmpdump, schroedinger, srt, soundtouch, swfdec,
xvidcore, and nvidia*driver. And probably a few more that we've
missed.
Note that if you have any version of the nvidia drivers installed
the script would autodetect them and will try to build its nvdec
support, requiring the presence on the system of cudatoolkit too: as
cudatoolkit is *huge*, cuda support is disabled by default but it can
be explicitly enabled passing the script the variable CUDA=yes

View file

@ -0,0 +1,3 @@
If you're looking for the documentation, see:
/usr/doc/gst-plugins-bad-free-*/

View file

@ -0,0 +1,236 @@
#!/bin/bash
# Slackware build script for gst-plugins-bad-nonfree
# Copyright 2013-2021 Robby Workman, Tuscaloosa, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# 20220307 bkw: this is a rename and rework of the old SBo
# gst-plugins-bad. Here we build only the portions of gst-plugins-bad
# that are missing from Slackware's gst-plugins-bad-free. Despite
# the -nonfree in the name, not all of these are encumbered (some
# just aren't included in Slackware because it lacks the optional
# dependencies).
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=gst-plugins-bad-nonfree
VERSION=${VERSION:-1.18.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
SRCNAM=gst-plugins-bad
# 20220307 bkw: libsrtp is disabled by default because it currently breaks
# the build.
[ "${SRTP:-no}" = "no" ] && SRTPOPT="-Dsrtp=disabled"
# 20220307 bkw: nvcodec is disabled by default, per Robby's README.
[ "${CUDA:-no}" = "no" ] && CUDAOPT="-Dnvcodec=disabled"
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.xz
cd $SRCNAM-$VERSION
chown -R root:root .
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
# 20220307 bkw: the massive list of -Dfoo=disabled below took a minute
# to put together. Notice that shm is *not* in the list, though it
# should be. This is because the build fails with -Dshm=disabled.
# So we build it, then remove it from $PKG after it's installed.
mkdir build
cd build
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
meson .. \
--buildtype=release \
--infodir=/usr/info \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--localstatedir=/var \
--mandir=/usr/man \
--prefix=/usr \
--sysconfdir=/etc \
-Dexamples=disabled \
-Dopencv=disabled \
$SRTPOPT \
$CUDAOPT \
-Daccurip=disabled \
-Dadpcmdec=disabled \
-Dadpcmenc=disabled \
-Daiff=disabled \
-Dasfmux=disabled \
-Daudiobuffersplit=disabled \
-Daudiofxbad=disabled \
-Daudiomixmatrix=disabled \
-Daudiolatency=disabled \
-Daudiovisualizers=disabled \
-Dautoconvert=disabled \
-Dbayer=disabled \
-Dcamerabin2=disabled \
-Dcoloreffects=disabled \
-Ddebugutils=disabled \
-Ddvbsubenc=disabled \
-Dfaceoverlay=disabled \
-Dfestival=disabled \
-Dfieldanalysis=disabled \
-Dfreeverb=disabled \
-Dfrei0r=disabled \
-Dgaudieffects=disabled \
-Dgdp=disabled \
-Dgeometrictransform=disabled \
-Did3tag=disabled \
-Dinter=disabled \
-Dinterlace=disabled \
-Divfparse=disabled \
-Divtc=disabled \
-Djp2kdecimator=disabled \
-Djpegformat=disabled \
-Dlibrfb=disabled \
-Dmidi=disabled \
-Dmpegdemux=disabled \
-Dmpegpsmux=disabled \
-Dmpegtsdemux=disabled \
-Dmpegtsmux=disabled \
-Dmxf=disabled \
-Dnetsim=disabled \
-Drtp=disabled \
-Dpcapparse=disabled \
-Dpnm=disabled \
-Dproxy=disabled \
-Drawparse=disabled \
-Dremovesilence=disabled \
-Drist=disabled \
-Drtmp2=disabled \
-Drtp=disabled \
-Dsdp=disabled \
-Dsegmentclip=disabled \
-Dsmooth=disabled \
-Dspeed=disabled \
-Dsubenc=disabled \
-Dswitchbin=disabled \
-Dtimecode=disabled \
-Dvideoframe_audiolevel=disabled \
-Dvideofilters=disabled \
-Dvideoparsers=disabled \
-Dvideosignal=disabled \
-Dvmnc=disabled \
-Dy4m=disabled \
-Dbluez=disabled \
-Ddecklink=disabled \
-Ddvb=disabled \
-Dfbdev=disabled \
-Dipcpipeline=disabled \
-Dkms=disabled \
-Duvch264=disabled \
-Dv4l2codecs=disabled \
-Dva=disabled \
-Dbz2=disabled \
-Dclosedcaption=disabled \
-Dcolormanagement=disabled \
-Dcurl=disabled \
-Ddash=disabled \
-Ddtls=disabled \
-Dfluidsynth=disabled \
-Dhls=disabled \
-Dneon=disabled \
-Donvif=disabled \
-Dopenal=disabled \
-Dopencv=disabled \
-Dopenexr=disabled \
-Dopenjpeg=disabled \
-Dopus=disabled \
-Dresindvd=disabled \
-Drsvg=disabled \
-Dsbc=disabled \
-Dsctp=disabled \
-Dsmoothstreaming=disabled \
-Dsndfile=disabled \
-Dttml=disabled \
-Dtranscode=disabled \
-Dvulkan=disabled \
-Dwayland=disabled \
-Dwebrtc=disabled \
-Dwebp=disabled
"${NINJA:=ninja}"
DESTDIR=$PKG $NINJA install
cd ..
# 20220307 bkw: remove all the things that already exist in Slackware.
rm -rf $PKG/usr/lib*/gstreamer-*/libgstshm.so \
$PKG/usr/lib*/*.so* \
$PKG/usr/lib*/girepository* \
$PKG/usr/lib*/pkgconfig \
$PKG/usr/share \
$PKG/usr/include \
$PKG/usr/bin
strip $PKG/usr/lib*/gstreamer-*/*.so
# 20220308 bkw: don't even include the docs. they already exist in Pat's
# gst-plugins-bad-free package.
PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
mkdir -p $PKGDOC
cat $CWD/README_docs.txt > $PKGDOC/README_docs.txt
cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE

View file

@ -0,0 +1,10 @@
PRGNAM="gst-plugins-bad-nonfree"
VERSION="1.18.5"
HOMEPAGE="https://gstreamer.freedesktop.org/"
DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.18.5.tar.xz"
MD5SUM="4ab1c19c3cf1ba79c20c65f6be78e7fd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Robby Workman"
EMAIL="rworkman@slackbuilds.org"

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
gst-plugins-bad-nonfree: gst-plugins-bad-nonfree (encumbered set of GStreamer plugins)
gst-plugins-bad-nonfree:
gst-plugins-bad-nonfree: GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par
gst-plugins-bad-nonfree: compared to the rest. They might be close to being good quality,
gst-plugins-bad-nonfree: but they're missing something - be it a good code review, some
gst-plugins-bad-nonfree: documentation, a set of tests, a real live maintainer, or some actual
gst-plugins-bad-nonfree: wide use.
gst-plugins-bad-nonfree:
gst-plugins-bad-nonfree: Since gst-plugins-bad-free is part of Slackware, this package only
gst-plugins-bad-nonfree: includes the plugins that are not already in gst-plugins-bad-free.
gst-plugins-bad-nonfree: