Files
BMLFS/build-scripts/gstreamer.build
2024-08-09 12:10:19 -05:00

71 lines
2.9 KiB
Bash

#! /bin/bash
# gstreamer
# Source: https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.24.4.tar.xz
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: GLib
# Recommended: gobject-introspection
# Optional: GTK+3, Gsl, Valgrind, bash-completion, hotdoc, libdw, and libunwind
# if optimizing with GCC:
export CFLAGS="-march=native -pipe "
export CFLAGS+="-O3 -Ofast -falign-functions=32 -ffat-lto-objects "
export CFLAGS+="-flto=auto -fno-semantic-interposition -mprefer-vector-width=256 "
export LDFLAGS="-flto=auto -Wl,-O2 -Wl,--as-needed "
meson setup --prefix=/usr \
-Dbuildtype=release \
-Dgst_debug=false \
-Dpackage-origin=https://github.com/dslm4515/BMLFS \
-Dpackage-name="GStreamer 1.22.9 BMLFS" 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------------------------------------------------------|
gstreamer: gstreamer (streaming multimedia framework)
gstreamer:
gstreamer: GStreamer is a library that allows the construction of graphs of a
gstreamer: media-handling components, ranging from simple Ogg/Vorbis playback
gstreamer: to complex audio (mixing) and video (non-linear editing) processing.
gstreamer: Applications can take advantage of advances in codec and filter
gstreamer: technology transparently. Developers can add new codecs and filters
gstreamer: by writing a simple plugin with a clean, generic interface.
gstreamer:
gstreamer: GStreamer is released under the LGPL.
gstreamer:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/gstreamer-1.24.4-$PSUFFIX &&
cd /BMAN
cat > /tmp/slack-desc << "EOF"
gstreamer-doc: Manuals for gstreamer (streaming multimedia framework)
gstreamer-doc:
gstreamer-doc: A library that allows the construction of graphs of a
gstreamer-doc: media-handling components, ranging from simple Ogg/Vorbis playback
gstreamer-doc: to complex audio (mixing) and video (non-linear editing) processing.
gstreamer-doc:
gstreamer-doc: GStreamer is released under the LGPL.
gstreamer-doc:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/gstreamer-doc-1.24.4-$NOPSUFFIX
sudo -S rm -rf /BMAN/*
sudo -S rm -rf ${BUILD}/*