#! /bin/bash # GStreamer Bad Plug-ins # Source: https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.24.4.tar.xz # # $BUILD = Directory to temporarily install # $PKGS = Directory to store built packages # # DEPS # Required: gst-plugins-base # Recommended: libdvdread, libdvdnav, and SoundTouch # Optional: Bluez, Clutter, cURL, FAAC, FAAD2, fdk-aac, GnuTLS, GTK+2 or GTK+3, # Optional: LCMS, libass, libexif, libgcrypt, libgudev, libmpeg2, librsvg, # Optional: libsndfile, libssh2, libusb, libvdpau, libwebp, libxkbcommon, # Optional: neon, nettle, openJPEG, opus, Qt5, SBC, SDL, Wayland, x265, Xorg Libraries # Optional: aom, bs2b, Chromaprint, daala, dssim, Flite, FluidSynth, Game Music Emu, # Optional: GSM, hotdoc, LADSPA, libavtp, libdc1394-2, libdca, libde265, libkate, # Optional: libmfx, libmimic, libmms, libmodplug, libnice, libofa, libopenmpt, libopenni, # Optional: libsrtp, lilv, LRDF, microdns, MJPEG Tools, OpenAL, OpenEXR, OpenH264, Orc, # Optional: rtmpdump, spandsp, srt, svthevcenc, VO AAC, VO AMRWB, Vulkan, WildMidi, # Optional: WPE-WebKit, WPEBackend-fdo, ZBAR, ZVBI, and zxing # If optimizing with GCC: export CFLAGS="-march=native -pipe " export CFLAGS+="-O3 -ffat-lto-objects -flto=auto -fstack-protector-strong " export CFLAGS+="-fzero-call-used-regs=used " export CXXFLAGS=$CFLAGS export LDFLAGS="-flto=auto -Wl,-O2 -Wl,--as-needed " # if x265 is installed: # "Plugin x265 explicitly required via options but # GPL-licensed plugins disabled via options." export XARGS="-Dgpl=enabled " # If compiling with clang-17.x, add this flag: CFLAGS="-Wno-implicit-function-declaration -Wno-int-conversion " \ meson setup --prefix=/usr \ -Dbuildtype=release \ -Dpackage-origin=https://github.com/dslm4515/BMLFS \ -Dpackage-name="GStreamer 1.24.4 BMLFS" \ -Dlibde265=enabled \ -Dopenh264=enabled \ -Dx265=enabled \ -Ddoc=disabled \ -Dmpeg2enc=disabled # this fails to compile $XARGS OUT && read -p "Compile?" && ninja -C OUT -j2 && sudo -S DESTDIR=$BUILD ninja -C OUT install && unset XARGS && \ cd $BUILD && sudo -S mkdir -v ${BUILD}/install && cat > /tmp/slack-desc << "EOF" # 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: gst-plugins-bad (bad set of GStreamer plugins) gst-plugins-bad: gst-plugins-bad: GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par gst-plugins-bad: compared to the rest. They might be close to being good quality, gst-plugins-bad: but they're missing something - be it a good code review, some gst-plugins-bad: documentation, a set of tests, a real live maintainer, or some gst-plugins-bad: actual wide use. gst-plugins-bad: gst-plugins-bad: gst-plugins-bad: gst-plugins-bad: EOF sudo -S mv -v /tmp/slack-desc install/ && sudo -S makepkg -l y -c n $PKGS/gst-plugins-bad-1.24.4-$PSUFFIX && sudo -S rm -rf ${BUILD}/*