Name gstreamer
Description GStreamer streaming media framework
Version 1.26.3-r0
Package Base gstreamer
Homepage https://gstreamer.freedesktop.org
Maintainers []
Contributors []
Distro-repo https://gitlab.alpinelinux.org/alpine/aports/-/tree/3.22-stable/main/gstreamer
Sources ['https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.26.3-r0.tar.xz']
Dependencies ['libc.musl-x86_64.so.1', 'libgio-2.0.so.0', 'libglib-2.0.so.0', 'libgmodule-2.0.so.0', 'libgobject-2.0.so.0', 'libintl.so.8', 'pkgconfig']
Optional-Dependencies []
Build-Dependencies ['$depends_dev', 'bison', 'flex', 'glib-dev', 'gobject-introspection-dev', 'libcap-dev', 'libcap-utils', 'meson', 'perl', 'rust']
Provides ['so:libgstbase-1.0.so.0=0.2603.0', 'so:libgstcontroller-1.0.so.0=0.2603.0', 'so:libgstnet-1.0.so.0=0.2603.0', 'so:libgstreamer-1.0.so.0=0.2603.0']
Builddate 15-07-2025 12:52:16
Architecture x86_64
Distro-Version v3.22
Licenses ['LGPL-2.0-or-later']
Hash Q1H5wcBcbou+p/VdOSHY2VwUdk8PE=
maintainer="Krassy Boykinov <kboykinov@teamcentrixx.com>"
pkgname=gstreamer
pkgver=1.26.3
pkgrel=0
pkgdesc="GStreamer streaming media framework"
url="https://gstreamer.freedesktop.org"
arch="all"
license="LGPL-2.0-or-later"
replaces="gstreamer1"
depends_dev="libxml2-dev"
makedepends="$depends_dev
	bison
	flex
	glib-dev
	gobject-introspection-dev
	libcap-dev
	libcap-utils
	meson
	perl
	rust
	"
subpackages="
	$pkgname-dbg
	$pkgname-dev
	$pkgname-doc
	$pkgname-tools
	$pkgname-lang
	$pkgname-ptp-helper:ptp_helper
	"
source="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-$pkgver.tar.xz"
# setcap: gst-ptp-helper
# FIXME: two tests fail
options="setcap !check"

# secfixes:
#   1.18.4-r0:
#     - CVE-2021-3497
#     - CVE-2021-3498

build() {
	CFLAGS="$CFLAGS -O2" \
	CXXFLAGS="$CXXFLAGS -O2" \
	CPPFLAGS="$CPPFLAGS -O2" \
	abuild-meson \
		-Db_lto=true \
		-Dintrospection=enabled \
		-Dbash-completion=disabled \
		-Dptp-helper=enabled \
		-Dptp-helper-permissions=capabilities \
		-Dbenchmarks=enabled \
		-Dcheck=enabled \
		-Dcoretracers=enabled \
		-Dnls=enabled \
		-Dtests=enabled \
		-Dtools=enabled \
		-Dpackage-name="GStreamer (Alpine Linux)" \
		-Dpackage-origin="https://alpinelinux.org" \
		. output
	meson compile -C output
}

check() {
	meson test --print-errorlogs -C output
}

package() {
	DESTDIR="$pkgdir" meson install --no-rebuild -C output
}

dev() {
	default_dev

	# Support for debugging.
	amove usr/share/gdb
	amove usr/share/gstreamer-*/gdb

	# Unit test libraries.
	amove usr/bin/gst-tester-*
	amove usr/lib/libgstcheck-*.so.*
	amove usr/lib/girepository-1.0/GstCheck-*.typelib
}

doc() {
	default_doc
	replaces="${pkgname}1-doc"
}

tools() {
	pkgdesc="Tools for GStreamer streaming media framework"
	# gst-feedback needs this
	depends="pkgconfig"

	amove usr/bin
}

ptp_helper() {
	pkgdesc="$pkgdesc (ptp helper)"
	install_if="$pkgname=$pkgver-r$pkgrel"

	amove usr/libexec/gstreamer-*/gst-ptp-helper
}

sha512sums="
208b7d8284d23eb987c63ce9f32e9a4ced3e4b8fa0ee0e4f690687ae131085dd42a2e03545e28b0d68371fe5fdb4ea1353f120de77232844cbafa9dcc2740022  gstreamer-1.26.3.tar.xz
"