diff options
author | Matteo Bernardini | 2020-08-18 20:11:13 +0200 |
---|---|---|
committer | Matteo Bernardini | 2020-08-18 20:11:13 +0200 |
commit | 4c181899d4e4c41770825ac2c4812b01ac807468 (patch) | |
tree | 8d7863eb97c787e2ea1198ec5f20d911aafff14d /multimedia/gst-plugins-bad | |
parent | 039623ea867a44e41cbf62cada3efca35cd703b8 (diff) | |
download | slackbuilds-21bb94ea2069d3df6f84eb07d75fc60834a244f4.tar.gz |
20200818.1 global branch merge.current-20200818.1
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Diffstat (limited to 'multimedia/gst-plugins-bad')
5 files changed, 188 insertions, 15 deletions
diff --git a/multimedia/gst-plugins-bad/README b/multimedia/gst-plugins-bad/README index d71085b6fc..451f8b2f79 100644 --- a/multimedia/gst-plugins-bad/README +++ b/multimedia/gst-plugins-bad/README @@ -3,8 +3,14 @@ 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. -This optionally depends on OpenAL, TiMidity++, amrnb, amrwb, celt, faac, -faad2, flite, fluidsynth, gsm, libass, libcdaudio, libdc1394, libdca, -libkate, liblrdf, libmimic, libmodplug, libmusicbrainz, libofa, -libquicktime, libwebp, lv2, musepack-tools, opencv, rtmpdump, -schroedinger, soundtouch, swfdec, and xvidcore. +This optionally depends on TiMidity++, amrnb, amrwb, celt, faac, faad2 +flite, gsm, libass, libcdaudio, libdc1394, libdca, libfdk-aac, libkate, +liblrdf, libmimic, libmodplug, libmusicbrainz, libofa, libquicktime, +lv2, musepack-tools, opencv, rtmpdump, schroedinger, soundtouch, swfdec +nvidia*driver, and xvidcore. + +Note that if you have any version of the nvidia drivers installed the +script will 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 diff --git a/multimedia/gst-plugins-bad/gst-plugins-bad.SlackBuild b/multimedia/gst-plugins-bad/gst-plugins-bad.SlackBuild index c9cfb68a14..ad827c9aa8 100644 --- a/multimedia/gst-plugins-bad/gst-plugins-bad.SlackBuild +++ b/multimedia/gst-plugins-bad/gst-plugins-bad.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for gst-plugins-bad -# Copyright 2013-2015 Robby Workman, Tuscaloosa, Alabama, USA +# Copyright 2013-2020 Robby Workman, Tuscaloosa, Alabama, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,13 +23,13 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=gst-plugins-bad -VERSION=${VERSION:-1.6.2} -BUILD=${BUILD:-2} +VERSION=${VERSION:-1.16.2} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -40,8 +40,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -54,6 +54,12 @@ else LIBDIRSUFFIX="" fi +if [ "${CUDA:-no}" != "no" ]; then + cuda="" +else + cuda="--disable-cuda --disable-nvdec --disable-nvenc" +fi + set -e rm -rf $PKG @@ -69,8 +75,16 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# Needed for the newer vulkan-sdk, thanks to Skaendo! +# https://github.com/KhronosGroup/Vulkan-Docs/issues/1230 +patch -p1 < $CWD/vulkan.patch + +# Needed for gcc >= 10.x +patch -p1 < $CWD/gstreamer1-plugins-bad-lv2-make-it-build-with-fno-common.patch + +autoreconf -fiv CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS -std=c++11" \ +CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ @@ -78,6 +92,8 @@ CXXFLAGS="$SLKCFLAGS -std=c++11" \ --localstatedir=/var \ --mandir=/usr/man \ --docdir=/usr/doc/$PRGNAM-$VERSION \ + --disable-examples \ + $cuda \ --build=$ARCH-slackware-linux make diff --git a/multimedia/gst-plugins-bad/gst-plugins-bad.info b/multimedia/gst-plugins-bad/gst-plugins-bad.info index 553c0edef7..d810dafa50 100644 --- a/multimedia/gst-plugins-bad/gst-plugins-bad.info +++ b/multimedia/gst-plugins-bad/gst-plugins-bad.info @@ -1,8 +1,8 @@ PRGNAM="gst-plugins-bad" -VERSION="1.6.2" +VERSION="1.16.2" HOMEPAGE="https://gstreamer.freedesktop.org/" -DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.6.2.tar.xz" -MD5SUM="7c73bec1d389f0e184ebbbbb9e9f883d" +DOWNLOAD="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.16.2.tar.xz" +MD5SUM="ccc7404230afddec723bbdb63c89feec" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/multimedia/gst-plugins-bad/gstreamer1-plugins-bad-lv2-make-it-build-with-fno-common.patch b/multimedia/gst-plugins-bad/gstreamer1-plugins-bad-lv2-make-it-build-with-fno-common.patch new file mode 100644 index 0000000000..5bbb441108 --- /dev/null +++ b/multimedia/gst-plugins-bad/gstreamer1-plugins-bad-lv2-make-it-build-with-fno-common.patch @@ -0,0 +1,139 @@ +From 89d17470cfa9b52402e97cbafdd95242b880856e Mon Sep 17 00:00:00 2001 +From: Debarshi Ray <rishi@gnu.org> +Date: Fri, 20 Mar 2020 15:49:06 +0100 +Subject: [PATCH] lv2: Make it build with -fno-common + +GCC 10 defaults to -fno-common. This means that global variables shared +across multiple translation units should be declared as 'extern' in +header files and defined in exactly one C file. See: +https://gcc.gnu.org/gcc-10/porting_to.html + +https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125 +--- + ext/lv2/gstlv2.c | 33 ++++++++++++++++++++++++++ + ext/lv2/gstlv2.h | 62 ++++++++++++++++++++++++------------------------ + 2 files changed, 64 insertions(+), 31 deletions(-) + +diff --git a/ext/lv2/gstlv2.c b/ext/lv2/gstlv2.c +index 60d502f41af9..7feeee192144 100644 +--- a/ext/lv2/gstlv2.c ++++ b/ext/lv2/gstlv2.c +@@ -69,6 +69,39 @@ GST_DEBUG_CATEGORY (lv2_debug); + #error "Unsupported OS" + #endif + ++LilvWorld *world = NULL; ++LilvNode *atom_class = NULL; ++LilvNode *audio_class = NULL; ++LilvNode *control_class = NULL; ++LilvNode *cv_class = NULL; ++LilvNode *event_class = NULL; ++LilvNode *input_class = NULL; ++LilvNode *output_class = NULL; ++LilvNode *preset_class = NULL; ++LilvNode *state_iface = NULL; ++LilvNode *state_uri = NULL; ++ ++LilvNode *integer_prop = NULL; ++LilvNode *toggled_prop = NULL; ++LilvNode *designation_pred = NULL; ++LilvNode *in_place_broken_pred = NULL; ++LilvNode *optional_pred = NULL; ++LilvNode *group_pred = NULL; ++LilvNode *supports_event_pred = NULL; ++LilvNode *label_pred = NULL; ++ ++LilvNode *center_role = NULL; ++LilvNode *left_role = NULL; ++LilvNode *right_role = NULL; ++LilvNode *rear_center_role = NULL; ++LilvNode *rear_left_role = NULL; ++LilvNode *rear_right_role = NULL; ++LilvNode *lfe_role = NULL; ++LilvNode *center_left_role = NULL; ++LilvNode *center_right_role = NULL; ++LilvNode *side_left_role = NULL; ++LilvNode *side_right_role = NULL; ++ + GstStructure *lv2_meta_all = NULL; + + static void +diff --git a/ext/lv2/gstlv2.h b/ext/lv2/gstlv2.h +index 177f9b2c19cd..9f7258229445 100644 +--- a/ext/lv2/gstlv2.h ++++ b/ext/lv2/gstlv2.h +@@ -28,40 +28,40 @@ + + #include "gstlv2utils.h" + +-LilvWorld *world; +-LilvNode *atom_class; +-LilvNode *audio_class; +-LilvNode *control_class; +-LilvNode *cv_class; +-LilvNode *event_class; +-LilvNode *input_class; +-LilvNode *output_class; +-LilvNode *preset_class; +-LilvNode *state_iface; +-LilvNode *state_uri; ++extern LilvWorld *world; ++extern LilvNode *atom_class; ++extern LilvNode *audio_class; ++extern LilvNode *control_class; ++extern LilvNode *cv_class; ++extern LilvNode *event_class; ++extern LilvNode *input_class; ++extern LilvNode *output_class; ++extern LilvNode *preset_class; ++extern LilvNode *state_iface; ++extern LilvNode *state_uri; + +-LilvNode *integer_prop; +-LilvNode *toggled_prop; +-LilvNode *designation_pred; +-LilvNode *in_place_broken_pred; +-LilvNode *optional_pred; +-LilvNode *group_pred; +-LilvNode *supports_event_pred; +-LilvNode *label_pred; ++extern LilvNode *integer_prop; ++extern LilvNode *toggled_prop; ++extern LilvNode *designation_pred; ++extern LilvNode *in_place_broken_pred; ++extern LilvNode *optional_pred; ++extern LilvNode *group_pred; ++extern LilvNode *supports_event_pred; ++extern LilvNode *label_pred; + +-LilvNode *center_role; +-LilvNode *left_role; +-LilvNode *right_role; +-LilvNode *rear_center_role; +-LilvNode *rear_left_role; +-LilvNode *rear_right_role; +-LilvNode *lfe_role; +-LilvNode *center_left_role; +-LilvNode *center_right_role; +-LilvNode *side_left_role; +-LilvNode *side_right_role; ++extern LilvNode *center_role; ++extern LilvNode *left_role; ++extern LilvNode *right_role; ++extern LilvNode *rear_center_role; ++extern LilvNode *rear_left_role; ++extern LilvNode *rear_right_role; ++extern LilvNode *lfe_role; ++extern LilvNode *center_left_role; ++extern LilvNode *center_right_role; ++extern LilvNode *side_left_role; ++extern LilvNode *side_right_role; + +-GstStructure *lv2_meta_all; ++extern GstStructure *lv2_meta_all; + + void gst_lv2_filter_register_element (GstPlugin *plugin, + GstStructure * lv2_meta); +-- +2.24.1 + diff --git a/multimedia/gst-plugins-bad/vulkan.patch b/multimedia/gst-plugins-bad/vulkan.patch new file mode 100644 index 0000000000..70c65903d8 --- /dev/null +++ b/multimedia/gst-plugins-bad/vulkan.patch @@ -0,0 +1,12 @@ +diff -Naur gst-plugins-bad-1.16.2.orig/ext/vulkan/vkerror.c gst-plugins-bad-1.16.2/ext/vulkan/vkerror.c +--- gst-plugins-bad-1.16.2.orig/ext/vulkan/vkerror.c 2019-04-19 11:16:36.000000000 +0200 ++++ gst-plugins-bad-1.16.2/ext/vulkan/vkerror.c 2020-06-21 18:46:08.911292000 +0200 +@@ -63,8 +63,6 @@ + + if (result >= 0) + return NULL; +- if (result < VK_RESULT_BEGIN_RANGE) +- return "Unknown Error"; + + for (i = 0; i < G_N_ELEMENTS (vk_result_string_map); i++) { + if (result == vk_result_string_map[i].result) |