mirror of
https://github.com/dslm4515/BMLFS.git
synced 2025-08-01 19:42:55 +00:00
78 lines
3.3 KiB
Bash
78 lines
3.3 KiB
Bash
#! /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}/*
|