summaryrefslogtreecommitdiff
path: root/user/gstreamer
diff options
context:
space:
mode:
Diffstat (limited to 'user/gstreamer')
-rw-r--r--user/gstreamer/APKBUILD55
-rw-r--r--user/gstreamer/disable-tests.patch24
2 files changed, 56 insertions, 23 deletions
diff --git a/user/gstreamer/APKBUILD b/user/gstreamer/APKBUILD
index f443c5954..7d112894e 100644
--- a/user/gstreamer/APKBUILD
+++ b/user/gstreamer/APKBUILD
@@ -1,48 +1,57 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gstreamer
-pkgver=1.16.2
+pkgver=1.20.1
pkgrel=0
pkgdesc="GStreamer multimedia framework"
url="https://gstreamer.freedesktop.org/"
arch="all"
-options="!check"
license="LGPL-2.0+"
depends=""
depends_dev="libxml2-dev"
-makedepends="$depends_dev bison flex gobject-introspection-dev glib-dev"
+makedepends="$depends_dev bison flex gobject-introspection-dev glib-dev
+ meson ninja"
subpackages="$pkgname-dev $pkgname-doc $pkgname-tools $pkgname-lang"
source="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-$pkgver.tar.xz
+ disable-tests.patch
"
build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --enable-introspection \
- --with-package-name="GStreamer (${DISTRO_NAME:-Adélie Linux})" \
- --with-package-origin="${DISTRO_URL:-https://www.adelielinux.org/}" \
- --disable-fatal-warnings \
- --with-ptp-helper-permissions=none
- make
+ meson \
+ -Dprefix=/usr \
+ -Dintrospection=enabled \
+ -Dpackage-name="GStreamer (${DISTRO_NAME:-Adélie Linux})" \
+ -Dpackage-origin="${DISTRO_URL:-https://www.adelielinux.org/}" \
+ -Dglib-asserts=disabled \
+ -Dnls=enabled \
+ -Dptp-helper-permissions=none \
+ _build
+ ninja -C _build
+}
+
+check() {
+ ninja -C _build test
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" ninja -C _build install
+}
+
+dev() {
+ default_dev
+ mkdir -p "$subpkgdir"/usr/share/gstreamer-1.0
+ mv "$pkgdir"/usr/share/gdb "$subpkgdir"/usr/share/
+ mv "$pkgdir"/usr/share/gstreamer-1.0/gdb \
+ "$subpkgdir"/usr/share/gstreamer-1.0/
}
tools() {
pkgdesc="Tools and files for GStreamer streaming media framework"
# gst-feedback needs this
- depends="pkgconfig"
- mkdir -p "$subpkgdir"/usr/
+ depends="cmd:pkg-config"
+ mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
+ mv "$pkgdir"/usr/lib/libgstcheck-1.0.so.* "$subpkgdir"/usr/lib/
}
-doc() {
- default_doc
- replaces="${pkgname}1-doc"
-}
-sha512sums="a8dcdb452a88f411676e54016fcf83149068b2f0b60422bebdbc81220078c61c415512006010ba0299df81ffb59853695c3ce00580f8fc46a079f6aaaa42609f gstreamer-1.16.2.tar.xz"
+sha512sums="d6f67cce81ba15fba3fcf70850e3c84b25e8da3e53fd56e6f2c87c7ee1701071ea44deb754a0ea371b3cb17877f26aab94d9eccb6729cbb370d6d6d5c324aa1a gstreamer-1.20.1.tar.xz
+39e6bfb52ebe85beefa2550eb404f83c5bbb3546cc1733b99e757401d2d182f95d829b90df99d5f43506d7c85d4f44ac797f35653cd42a935f1dc56d0b844c02 disable-tests.patch"
diff --git a/user/gstreamer/disable-tests.patch b/user/gstreamer/disable-tests.patch
new file mode 100644
index 000000000..7fc78e9e4
--- /dev/null
+++ b/user/gstreamer/disable-tests.patch
@@ -0,0 +1,24 @@
+elements_leaks:
+ Fails due to heavy parallelisation on ppc64.
+ It always succeeds when run serially.
+
+elements_filesink:
+ Seems to be disabled on other musl distros as well.
+ Filed at: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1194
+
+--- gstreamer-1.20.1/tests/check/meson.build.old 2022-03-14 06:33:40.000000000 -0500
++++ gstreamer-1.20.1/tests/check/meson.build 2022-05-02 01:55:00.352168066 -0500
+@@ -84,11 +84,11 @@
+ [ 'elements/fakesrc.c', not gst_registry ],
+ # FIXME: blocked forever on Windows due to missing fcntl (.. O_NONBLOCK)
+ [ 'elements/fdsrc.c', not gst_registry or host_system == 'windows' ],
+- [ 'elements/filesink.c', not gst_registry ],
++ [ 'elements/filesink.c', true ],
+ [ 'elements/filesrc.c', not gst_registry ],
+ [ 'elements/funnel.c', not gst_registry ],
+ [ 'elements/identity.c', not gst_registry or not gst_parse ],
+- [ 'elements/leaks.c', not tracer_hooks or not gst_debug ],
++ [ 'elements/leaks.c', true ],
+ [ 'elements/multiqueue.c', not gst_registry ],
+ [ 'elements/selector.c', not gst_registry ],
+ [ 'elements/streamiddemux.c', not gst_registry ],