#! /bin/bash # GStreamer Base Plug-ins # Source: https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.24.4.tar.xz # # $BUILD = Directory to temporarily install # $PKGS = Directory to store built packages # # DEPS # Required: gstreamer # Recommended: alsa-lib, CDParanoia-III (for building the CDDA plugin), gobject-introspection, # Recommended: ISO Codes, libgudev, libogg, libtheora, libvorbis, wayland-protocols, # Recommended: orc, and Xorg Libraries # Optional: gl-headers # if optimizing with GCC: export CFLAGS="-march=native -pipe " export CFLAGS+="-O3 -ffat-lto-objects -flto=auto " export CXXFLAGS=$CFLAGS export LDFLAGS="-flto=auto -Wl,-O2 -Wl,--as-needed " # First fix a build failure caused by a change in meson-0.58.0: #sed -i 's|implicit_include_directories : false||' gst-libs/gst/gl/meson.build # For no Xorg & GLX (Pure Wayland) # export NOX_CONFIG='-Dgl_platform=egl -Dx11=disabled -Dgl_winsys="wayland,egl" -Dgl_api=gles2' meson setup --prefix=/usr \ -Dbuildtype=release \ -Dpackage-origin=https://github.com/dslm4515/BMLFS \ -Dpackage-name="GStreamer 1.22.9 BMLFS" \ -Dexamples=disabled --wrap-mode=nodownload $NOX_CONFIG OUT && read -p "Compile?" && ninja -C OUT -j2 && sudo -S DESTDIR=$BUILD ninja -C OUT install && sudo -S mkdir -pv /BMAN/install && \ sudo -S mkdir -pv /BMAN/usr/share && \ sudo -S mv $BUILD/usr/share/man /BMAN/usr/share/ && \ 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-base: gst-plugins-base (a set of GStreamer plugins) gst-plugins-base: gst-plugins-base: GStreamer Base Plug-ins is a well-groomed and well-maintained gst-plugins-base: collection of GStreamer plug-ins and elements, spanning the gst-plugins-base: range of possible types of elements one would want to write gst-plugins-base: for GStreamer. It also contains helper libraries and base gst-plugins-base: classes useful for writing elements. A wide range of video gst-plugins-base: and audio decoders, encoders, and filters are included. gst-plugins-base: gst-plugins-base: gst-plugins-base is a an essential exemplary set of plugins gst-plugins-base: EOF sudo -S mv -v /tmp/slack-desc install/ && sudo -S makepkg -l y -c n $PKGS/gst-plugins-base-1.24.4-$PSUFFIX && cd /BMAN cat > /tmp/slack-desc << "EOF" gst-plugins-base-doc: Manuals for gst-plugins-base (a set of GStreamer plugins) gst-plugins-base-doc: gst-plugins-base-doc: A well-groomed and well-maintained collection of GStreamer plug-ins gst-plugins-base-doc: and elements, spanning the range of possible types of elements gst-plugins-base-doc: one would want to write for GStreamer. gst-plugins-base-doc: gst-plugins-base-doc: gst-plugins-base is a an essential exemplary set of plugins gst-plugins-base-doc: EOF sudo -S mv -v /tmp/slack-desc install/ && sudo -S makepkg -l y -c n $PKGS/gst-plugins-base-doc-1.24.4-$NOPSUFFIX sudo -S rm -rf /BMAN/* ${BUILD}/*