Hello,

This package is causing problems, since it was not updated in a
while. Important packages like GDM doesn't run because of gstreamer.
I've made a patch that syncs changes with the Arch repos. Things seem to
work well on my end after updating gstreamer.

This should fix those opened issues:

https://labs.parabola.nu/issues/3765
https://labs.parabola.nu/issues/3766
https://labs.parabola.nu/issues/3771
>From 81a2cf10293921f150eb2e800784b13f6c7caec3 Mon Sep 17 00:00:00 2001
From: Martin Sotirov <[email protected]>
Date: Wed, 24 Jun 2026 21:38:22 +0900
Subject: [PATCH] gstreamer-1.28-4-2

---
 ...0001-HACK-meson-Disable-broken-tests.patch |  76 ++++----
 ...-x265enc-Unbreak-build-with-x265-4.0.patch | 123 ------------
 libre/gstreamer/PKGBUILD                      | 182 +++++++++++-------
 3 files changed, 150 insertions(+), 231 deletions(-)
 delete mode 100644 libre/gstreamer/0002-x265enc-Unbreak-build-with-x265-4.0.patch

diff --git a/libre/gstreamer/0001-HACK-meson-Disable-broken-tests.patch b/libre/gstreamer/0001-HACK-meson-Disable-broken-tests.patch
index c75901226..365ad04a9 100644
--- a/libre/gstreamer/0001-HACK-meson-Disable-broken-tests.patch
+++ b/libre/gstreamer/0001-HACK-meson-Disable-broken-tests.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] HACK: meson: Disable broken tests
 
 ---
  subprojects/gst-editing-services/tests/check/meson.build   | 2 --
- .../gst-plugins-bad/tests/check/elements/curlhttpsrc.c     | 1 -
+ .../gst-plugins-bad/tests/check/elements/curlhttpsrc.c     | 2 --
  subprojects/gst-plugins-bad/tests/check/elements/lc3.c     | 3 ---
  subprojects/gst-plugins-bad/tests/check/meson.build        | 1 -
  subprojects/gst-plugins-bad/tests/validate/meson.build     | 7 -------
@@ -13,15 +13,14 @@ Subject: [PATCH] HACK: meson: Disable broken tests
  subprojects/gst-plugins-base/tests/validate/meson.build    | 1 -
  subprojects/gst-plugins-good/tests/check/elements/flvmux.c | 1 -
  .../gst-plugins-good/tests/check/elements/mpegaudioparse.c | 1 -
- subprojects/gst-python/testsuite/meson.build               | 1 -
- subprojects/gstreamer-vaapi/meson.build                    | 1 -
- 11 files changed, 20 deletions(-)
+ subprojects/gst-python/meson.build                         | 1 -
+ 10 files changed, 20 deletions(-)
 
 diff --git a/subprojects/gst-editing-services/tests/check/meson.build b/subprojects/gst-editing-services/tests/check/meson.build
-index f3e273d9e5d7..b7c344080841 100644
+index 1348d1209343..f9a2c421a6f6 100644
 --- a/subprojects/gst-editing-services/tests/check/meson.build
 +++ b/subprojects/gst-editing-services/tests/check/meson.build
-@@ -144,7 +144,5 @@ if build_gir
+@@ -150,7 +150,5 @@ if build_gir
      env.set('GST_PLUGIN_PATH_1_0', [meson.global_build_root()] + pluginsdirs)
      env.set('GI_TYPELIB_PATH', meson.current_build_dir() / '..' / '..' / 'ges')
  
@@ -30,10 +29,17 @@ index f3e273d9e5d7..b7c344080841 100644
    endif
  endif
 diff --git a/subprojects/gst-plugins-bad/tests/check/elements/curlhttpsrc.c b/subprojects/gst-plugins-bad/tests/check/elements/curlhttpsrc.c
-index d0901d5b23df..62b3bba4b614 100644
+index d9ef8f7a0738..4d8b18eca1fd 100644
 --- a/subprojects/gst-plugins-bad/tests/check/elements/curlhttpsrc.c
 +++ b/subprojects/gst-plugins-bad/tests/check/elements/curlhttpsrc.c
-@@ -910,7 +910,6 @@ curlhttpsrc_suite (void)
+@@ -919,14 +919,12 @@ curlhttpsrc_suite (void)
+ 
+   suite_add_tcase (s, tc_chain);
+   tcase_add_test (tc_chain, test_first_buffer_has_offset);
+-  tcase_add_test (tc_chain, test_redirect_yes);
+   tcase_add_test (tc_chain, test_redirect_no);
+   tcase_add_test (tc_chain, test_not_found);
+   tcase_add_test (tc_chain, test_not_found_with_data);
    tcase_add_test (tc_chain, test_forbidden);
    tcase_add_test (tc_chain, test_cookies);
    tcase_add_test (tc_chain, test_multiple_http_requests);
@@ -56,17 +62,17 @@ index 07d79d1765c4..85b95fb0ef7e 100644
  
    return s;
 diff --git a/subprojects/gst-plugins-bad/tests/check/meson.build b/subprojects/gst-plugins-bad/tests/check/meson.build
-index f996fb8ed46e..9d7e83945d55 100644
+index eddac3c1b6f2..24ff423d8fe9 100644
 --- a/subprojects/gst-plugins-bad/tests/check/meson.build
 +++ b/subprojects/gst-plugins-bad/tests/check/meson.build
-@@ -165,7 +165,6 @@ if host_machine.system() != 'windows'
+@@ -170,7 +170,6 @@ if host_machine.system() != 'windows'
      [['elements/jifmux.c'],
          not exif_dep.found() or not cdata.has('HAVE_UNISTD_H'), [exif_dep]],
      [['elements/jpegparse.c'], not cdata.has('HAVE_UNISTD_H')],
 -    [['elements/netsim.c']],
      [['elements/shm.c'], not shm_enabled, shm_deps],
      [['elements/unixfd.c'], not gio_unix_dep.found()],
-     [['elements/voaacenc.c'],
+     [['elements/vmaf.c'], get_option('vmaf').disabled() or not libvmaf_dep.found(), [libvmaf_dep]],
 diff --git a/subprojects/gst-plugins-bad/tests/validate/meson.build b/subprojects/gst-plugins-bad/tests/validate/meson.build
 index 25eedac14829..6dd292ea670a 100644
 --- a/subprojects/gst-plugins-bad/tests/validate/meson.build
@@ -92,7 +98,7 @@ index 25eedac14829..6dd292ea670a 100644
  
  env = environment()
 diff --git a/subprojects/gst-plugins-base/tests/check/meson.build b/subprojects/gst-plugins-base/tests/check/meson.build
-index 0b8ad09afb41..11ca4820e295 100644
+index c5b3a2470744..c1a85621f867 100644
 --- a/subprojects/gst-plugins-base/tests/check/meson.build
 +++ b/subprojects/gst-plugins-base/tests/check/meson.build
 @@ -38,7 +38,6 @@ base_tests = [
@@ -104,10 +110,10 @@ index 0b8ad09afb41..11ca4820e295 100644
    [ 'elements/compositor.c', get_option('compositor').disabled()],
    [ 'elements/decodebin.c', get_option('playback').disabled()],
 diff --git a/subprojects/gst-plugins-base/tests/validate/meson.build b/subprojects/gst-plugins-base/tests/validate/meson.build
-index 569b5bfb8c3d..b1097025935c 100644
+index 5d279d6a5025..f6c1cbbeb3fa 100644
 --- a/subprojects/gst-plugins-base/tests/validate/meson.build
 +++ b/subprojects/gst-plugins-base/tests/validate/meson.build
-@@ -30,7 +30,6 @@ tests = [
+@@ -33,7 +33,6 @@ tests = [
      'videorate/duplicate_on_eos',
      'videorate/duplicate_on_eos_disbaled',
      'videorate/duplicate_on_eos_half_sec',
@@ -116,10 +122,10 @@ index 569b5bfb8c3d..b1097025935c 100644
      'compositor/renogotiate_failing_unsupported_src_format',
      'giosrc/read-growing-file',
 diff --git a/subprojects/gst-plugins-good/tests/check/elements/flvmux.c b/subprojects/gst-plugins-good/tests/check/elements/flvmux.c
-index 6efa928fb09b..1f1950ef323d 100644
+index 28bee56f9ecb..949c184b3793 100644
 --- a/subprojects/gst-plugins-good/tests/check/elements/flvmux.c
 +++ b/subprojects/gst-plugins-good/tests/check/elements/flvmux.c
-@@ -1162,7 +1162,6 @@ flvmux_suite (void)
+@@ -1740,7 +1740,6 @@ flvmux_suite (void)
  
    tcase_add_test (tc_chain, test_speex_streamable);
    tcase_add_test (tc_chain, test_increasing_timestamp_when_pts_none);
@@ -128,10 +134,10 @@ index 6efa928fb09b..1f1950ef323d 100644
    tcase_add_test (tc_chain, test_video_caps_change_streamable);
    tcase_add_test (tc_chain, test_audio_caps_change_streamable_single);
 diff --git a/subprojects/gst-plugins-good/tests/check/elements/mpegaudioparse.c b/subprojects/gst-plugins-good/tests/check/elements/mpegaudioparse.c
-index db2075a450c7..65692304bfc8 100644
+index a567647024b4..1539c72b4e0d 100644
 --- a/subprojects/gst-plugins-good/tests/check/elements/mpegaudioparse.c
 +++ b/subprojects/gst-plugins-good/tests/check/elements/mpegaudioparse.c
-@@ -432,7 +432,6 @@ mpegaudioparse_suite (void)
+@@ -429,7 +429,6 @@ mpegaudioparse_suite (void)
    tcase_add_test (tc_chain, test_parse_split);
    tcase_add_test (tc_chain, test_parse_skip_garbage);
    tcase_add_test (tc_chain, test_parse_detect_stream);
@@ -139,27 +145,15 @@ index db2075a450c7..65692304bfc8 100644
  
    return s;
  }
-diff --git a/subprojects/gst-python/testsuite/meson.build b/subprojects/gst-python/testsuite/meson.build
-index 731003edcbde..557285182273 100644
---- a/subprojects/gst-python/testsuite/meson.build
-+++ b/subprojects/gst-python/testsuite/meson.build
-@@ -3,7 +3,6 @@ runtests = files('runtests.py')
- tests = [
-     ['Test gst', 'test_gst.py'],
-     ['Test fundamentals', 'test_types.py'],
--    ['Test plugins', 'test_plugin.py'],
-     ['Test analytics', 'test_analytics.py', ['gst-plugins-bad/gst-libs/gst/analytics', 'gst-plugins-base/gst-libs/gst/video']],
- ]
- 
-diff --git a/subprojects/gstreamer-vaapi/meson.build b/subprojects/gstreamer-vaapi/meson.build
-index 8238b1aa1b57..14b24c3d7cd6 100644
---- a/subprojects/gstreamer-vaapi/meson.build
-+++ b/subprojects/gstreamer-vaapi/meson.build
-@@ -214,7 +214,6 @@ plugins = []
- 
- subdir('gst-libs')
- subdir('gst')
--subdir('tests')
- subdir('docs')
+diff --git a/subprojects/gst-python/meson.build b/subprojects/gst-python/meson.build
+index 953ecf4239ad..2dbd674817a8 100644
+--- a/subprojects/gst-python/meson.build
++++ b/subprojects/gst-python/meson.build
+@@ -155,7 +155,6 @@ if not get_option('plugin').disabled()
+   endif
+ endif
+ if not get_option('tests').disabled()
+-  subdir('testsuite')
+ endif
  
- warning ('GStreamer VA-API is deprecated in favor of GstVA in gst-plugins-bad')
+ # This makes "import gi" load or overrides, see gi/__init__.py
diff --git a/libre/gstreamer/0002-x265enc-Unbreak-build-with-x265-4.0.patch b/libre/gstreamer/0002-x265enc-Unbreak-build-with-x265-4.0.patch
deleted file mode 100644
index f6b7f540f..000000000
--- a/libre/gstreamer/0002-x265enc-Unbreak-build-with-x265-4.0.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <[email protected]>
-Date: Sat, 5 Oct 2024 04:21:10 +0200
-Subject: [PATCH] x265enc: Unbreak build with x265 4.0
-
-Following a [similar change][1] in FFmpeg. x265 also reverted the change
-post-4.0 and FFmpeg [adapted again][2].
-
-[1]: https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/1f801dfdb5066aadf0ade9cb5e94d620f33eacdc
-[2]: https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/099f88b8641dfc299f3896d17d9addc5b9ae7799
----
- .../gst-plugins-bad/ext/x265/gstx265enc.c     | 29 ++++++++++++++-----
- 1 file changed, 21 insertions(+), 8 deletions(-)
-
-diff --git a/subprojects/gst-plugins-bad/ext/x265/gstx265enc.c b/subprojects/gst-plugins-bad/ext/x265/gstx265enc.c
-index ee72389720ef..470d334b8ffb 100644
---- a/subprojects/gst-plugins-bad/ext/x265/gstx265enc.c
-+++ b/subprojects/gst-plugins-bad/ext/x265/gstx265enc.c
-@@ -1519,7 +1519,12 @@ gst_x265_enc_encode_frame (GstX265Enc * encoder, x265_picture * pic_in,
- {
-   GstVideoCodecFrame *frame = NULL;
-   GstBuffer *out_buf = NULL;
--  x265_picture pic_out;
-+#if (X265_BUILD >= 210) && (X265_BUILD < 213)
-+  x265_picture pics_out[MAX_SCALABLE_LAYERS], *pics_outp[MAX_SCALABLE_LAYERS];
-+#else
-+  x265_picture pics_out[1];
-+#endif
-+  x265_picture *pic_out = &pics_out[0];
-   x265_nal *nal;
-   int i_size, i, offset;
-   int encoder_return;
-@@ -1554,75 +1559,83 @@ gst_x265_enc_encode_frame (GstX265Enc * encoder, x265_picture * pic_in,
-   if (G_UNLIKELY (update_latency))
-     gst_x265_enc_set_latency (encoder);
- 
-+#if (X265_BUILD >= 210) && (X265_BUILD < 213)
-+  for (i = 0; i < MAX_SCALABLE_LAYERS; i++)
-+    pics_outp[i] = &pics_out[i];
-+
-   encoder_return = api->encoder_encode (encoder->x265enc,
--      &nal, i_nal, pic_in, &pic_out);
-+      &nal, i_nal, pic_in, pics_outp);
-+#else
-+  encoder_return = api->encoder_encode (encoder->x265enc,
-+      &nal, i_nal, pic_in, pic_out);
-+#endif
- 
-   GST_DEBUG_OBJECT (encoder, "encoder result (%d) with %u nal units",
-       encoder_return, *i_nal);
- 
-   if (encoder_return < 0) {
-     GST_ELEMENT_ERROR (encoder, STREAM, ENCODE, ("Encode x265 frame failed."),
-         ("x265_encoder_encode return code=%d", encoder_return));
-     ret = GST_FLOW_ERROR;
-     /* Make sure we finish this frame */
-     frame = input_frame;
-     goto out;
-   }
- 
-   /* Input frame is now queued */
-   if (input_frame)
-     gst_video_codec_frame_unref (input_frame);
- 
-   if (!*i_nal) {
-     ret = GST_FLOW_OK;
-     GST_LOG_OBJECT (encoder, "no output yet");
-     goto out;
-   }
- 
-   frame = gst_video_encoder_get_frame (GST_VIDEO_ENCODER (encoder),
--      GPOINTER_TO_INT (pic_out.userData));
-+      GPOINTER_TO_INT (pic_out->userData));
-   g_assert (frame || !send);
- 
-   GST_DEBUG_OBJECT (encoder,
--      "output picture ready POC=%d system=%d frame found %d", pic_out.poc,
--      GPOINTER_TO_INT (pic_out.userData), frame != NULL);
-+      "output picture ready POC=%d system=%d frame found %d", pic_out->poc,
-+      GPOINTER_TO_INT (pic_out->userData), frame != NULL);
- 
-   if (!send || !frame) {
-     GST_LOG_OBJECT (encoder, "not sending (%d) or frame not found (%d)", send,
-         frame != NULL);
-     ret = GST_FLOW_OK;
-     goto out;
-   }
- 
-   i_size = 0;
-   offset = 0;
-   for (i = 0; i < *i_nal; i++)
-     i_size += nal[i].sizeBytes;
-   out_buf = gst_buffer_new_allocate (NULL, i_size, NULL);
-   for (i = 0; i < *i_nal; i++) {
-     gst_buffer_fill (out_buf, offset, nal[i].payload, nal[i].sizeBytes);
-     offset += nal[i].sizeBytes;
-   }
- 
--  if (pic_out.sliceType == X265_TYPE_IDR || pic_out.sliceType == X265_TYPE_I) {
-+  if (pic_out->sliceType == X265_TYPE_IDR || pic_out->sliceType == X265_TYPE_I) {
-     GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT (frame);
-   }
- 
-   frame->output_buffer = out_buf;
- 
-   if (encoder->push_header) {
-     GstBuffer *header;
- 
-     header = gst_x265_enc_get_header_buffer (encoder);
-     frame->output_buffer = gst_buffer_append (header, frame->output_buffer);
-     encoder->push_header = FALSE;
-   }
- 
-   GST_LOG_OBJECT (encoder,
-       "output: dts %" G_GINT64_FORMAT " pts %" G_GINT64_FORMAT,
--      (gint64) pic_out.dts, (gint64) pic_out.pts);
-+      (gint64) pic_out->dts, (gint64) pic_out->pts);
- 
--  frame->dts = pic_out.dts + encoder->dts_offset;
-+  frame->dts = pic_out->dts + encoder->dts_offset;
- 
- out:
-   if (frame) {
diff --git a/libre/gstreamer/PKGBUILD b/libre/gstreamer/PKGBUILD
index 518df7a2a..0ae241a84 100644
--- a/libre/gstreamer/PKGBUILD
+++ b/libre/gstreamer/PKGBUILD
@@ -56,6 +56,7 @@ pkgname=(
   gst-plugins-ugly
   gst-libav
   gst-plugin-gtk
+  gst-plugin-hip
   gst-plugin-msdk
   gst-plugin-onnx
   gst-plugin-opencv
@@ -64,11 +65,11 @@ pkgname=(
   gst-plugin-qsv
   gst-plugin-va
   gst-plugin-wpe
+  gst-plugin-wpe2
   gst-devtools-libs
   gst-devtools
   gst-rtsp-server
   gst-editing-services
-  gstreamer-vaapi
   gst-python
   gstreamer-docs
 )
@@ -80,13 +81,13 @@ pkgname=( ${pkgname[*]/$([[ "${CARCH}" == x86_64 ]] || echo gst-plugin-msdk)/} )
 pkgname=( ${pkgname[*]/$([[ "${CARCH}" == x86_64 ]] || echo gst-plugin-onnx)/} ) # x86_64 only
 pkgname=( ${pkgname[*]/$([[ "${CARCH}" != armv7h ]] || echo gst-plugin-qsv)/}  ) # x86 only
 pkgname=( ${pkgname[*]/gst-plugin-opencv/} ) # FIXME: dep: 'opencv' package FTBS
-pkgver=1.26.0
-pkgrel=1
+pkgver=1.28.4
+pkgrel=2
 # _pkgver_i686=1.20.5 # NOTE: v1.20.5 fails to compile for i686 - after this moves ahead,
 # _pkgrel_i686=3.0    #       try to remove the LOCs with comment: "# n/a in v1.20.5"
 # eval "[[ -v _pkgver_${CARCH} ]] && pkgver=\$_pkgver_${CARCH}" # our different arches do not
 # eval "[[ -v _pkgrel_${CARCH} ]] && pkgrel=\$_pkgrel_${CARCH}" # always roll at the same speed
-pkgrel+=.parabola2
+pkgrel+=.parabola1
 pkgdesc="Multimedia graph framework"
 url="https://gstreamer.freedesktop.org/";
 arch=(x86_64)
@@ -109,7 +110,6 @@ makedepends=(
   ffmpeg
   flac
   fluidsynth
-  gcc-libs
   gdk-pixbuf2
   git
   glib2
@@ -144,6 +144,7 @@ makedepends=(
   libelf
   libfdk-aac
   libfreeaptx
+  libgcc
   libglvnd
   libgme
   libgudev
@@ -168,6 +169,7 @@ makedepends=(
   libsndfile
   libsoup3
   libsrtp
+  libstdc++
   libtheora
   libunwind
   libusb
@@ -205,7 +207,6 @@ makedepends=(
   openexr
   openh264
   openjpeg2
-  openmpi
   openssl
   opentimelineio
   opus
@@ -213,9 +214,11 @@ makedepends=(
   pango
   python
   python-cairo
+  python-commonmark
   python-gobject
   python-lxml
   python-setuptools
+  python-typing_extensions
   qrencode
   qt5-base
   qt5-declarative
@@ -226,7 +229,6 @@ makedepends=(
   qt6-declarative
   qt6-shadertools
   qt6-tools
-  qt6-wayland
   rtmpdump
   rust
   sbc
@@ -243,6 +245,7 @@ makedepends=(
   twolame
   v4l-utils
   valgrind
+  vmaf
   vulkan-headers
   vulkan-icd-loader
   vulkan-validation-layers
@@ -295,20 +298,18 @@ source=(
   "git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git?signed#tag=$pkgver";
   "https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-$pkgver.tar.xz"{,.asc}
   0001-HACK-meson-Disable-broken-tests.patch
-  0002-x265enc-Unbreak-build-with-x265-4.0.patch
 )
 # source_i686=( 0003-Support-zxing-c-2.0.patch
 #               0004-meson-Use-implicit-builtin-dirs-in-pkgconfig-generat.patch )
 _srcball_url=https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/${pkgver}/gstreamer-${pkgver}.tar.gz
 source=( ${source[*]/git+*/${_srcball_url}} ) # use source-ball, not VCS
-b2sums=('8c90fe57ae67c5097cf427bca73cb687bc5087256444ec9227f4a294b2889d2042643ed4230414c151ecbae8490984e2b8c52cfea494e4f10f79866a26326029'
-        '5ee163d6f0dd14457740cbc2e131bdc3499517b0c6d57153a6ff3ef5af4ab2f5502e3131c7045f1d0829d0f6d5d1ed599b803d7396155e34a3ad99c0f2f3974a'
+b2sums=('3a8a3d89bfc9be8b2b1cbd24b6e7e1dbea25c4619045dd97df4631b94ad5d59d9ac54ffc54eccdec10b0195aee87e0dadd8f560e5cdc499dee99b033d141f7e9'
+        'd75fa25315a17b78ecc6f131b7e33cdac54106dc36ff2aa6ac4aee83d13dbb12bfcb72f4577775821eb74c926f90cf4d9148be848ab74224a3e3e43d02831912'
         'SKIP'
-        '6b4e34286318ca591077779e713ec9a94cb2e5b73a9dd6df35afdefcc709c0f9d1ee4cae6c99d2bbf2e075eda03e94cacb57bfc202fdb8c263b4b0d335541b23'
-        '94250c1317ce1e3444c2e0effc190ab544eca21c177e43143c3f3a8690c541cbe068604c6ff6401072a6b09f54683eac03128c918a2a16c7013622c24da11348')
+        'a346129eb6bf79b2d7766e5345e290c0ae57e57ca32641a629e702ae79f562cdf590121bfcec320a5c9d81c4d70bc2ca89f685952d47ade59598d5e6feee5803')
 # b2sums_i686=(88af02805ab7a0a6f79fd1fbf56206b6325f1bbeef9415d8bead83331dc04bddf28f4731bc1ab60b37fc7bd1473547838f4de930d9179e842b6190aee7e068a4   # 0003-Support-zxing-c-2.0.patch
 #              1d3747cd203fbc941d1f0f1f328d84758a2058b3812bb23b7e0d5599ee60f0feebc071ec2570be57d9dafc628d2de6ce3e793f4c4c09d5cf08c9356e27d4a3c2 ) # 0004-meson-Use-implicit-builtin-dirs-in-pkgconfig-generat.patch
-b2sums[0]=c2650dba92926aa3143d0b502f4035554acf1060d584c035ef7f184be5796c21ce23d02b492eb898c83a945d1adc868d1412a7dc05d032925a27e7ee437b8213 # upstream source-ball
+b2sums[0]=7fdcb5aff60ca33b50fd52296eb1fa3f516f34d3433f2cbdb626a61f334007930084cd867a9e98a265f4c83038ba35b91e7b7ff980cba67a3c77e6c68f27faa8 # upstream source-ball
 # _b2sum0_armv7h=c2650dba92926aa3143d0b502f4035554acf1060d584c035ef7f184be5796c21ce23d02b492eb898c83a945d1adc868d1412a7dc05d032925a27e7ee437b8213 # upstream source-ball
 # _b2sum0_i686=518a025591e2d03296197dd4b6d30dbdd1a4c2b1d435df62cf451f13c1233c7fc1ad877344765c7b5c863e4886b7df750096fdb8835151cccf9618590801f1ea   # upstream source-ball
 # _b2sum0_x86_64=${_b2sum0_armv7h}                                                                                                                # upstream source-ball
@@ -344,9 +345,6 @@ prepare() {
 #   *)
   # Disable broken tests
   patch -Np1 < ../0001-HACK-meson-Disable-broken-tests.patch # DIFF: use source-ball, not VCS
-
-  # Fix build with x265 4.0
-  patch -Np1 < ../0002-x265enc-Unbreak-build-with-x265-4.0.patch # DIFF: use source-ball, not VCS
 #   ;;
 #   esac
 
@@ -398,12 +396,14 @@ build() {
     -D gst-plugins-bad:lcevcencoder=disabled
     -D gst-plugins-bad:magicleap=disabled
     -D gst-plugins-bad:mfx_api=oneVPL
+    -D gst-plugins-bad:mpeghdec=disabled
     -D gst-plugins-bad:nvcomp=disabled
     -D gst-plugins-bad:nvdswrapper=disabled
     -D gst-plugins-bad:openni2=disabled
     -D gst-plugins-bad:opensles=disabled
     -D gst-plugins-bad:qt6d3d11=disabled
     -D gst-plugins-bad:svtjpegxs=disabled
+    -D gst-plugins-bad:tflite=disabled
     -D gst-plugins-bad:tinyalsa=disabled
     -D gst-plugins-bad:voaacenc=disabled
     -D gst-plugins-bad:voamrwbenc=disabled
@@ -419,14 +419,13 @@ build() {
     -D orc-source=system
     -D package-name="Arch Linux GStreamer ${epoch:+$epoch:}$pkgver-$pkgrel"
     -D package-origin="https://www.archlinux.org/";
-    -D vaapi=enabled
   )
 
   # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3197
   export GI_SCANNER_DISABLE_CACHE=1
 
   # Cargo sub-build: Use debug and LTO
-  export CARGO_PROFILE_RELEASE_DEBUG=2
+  export CARGO_PROFILE_RELEASE_DEBUG=2 CARGO_PROFILE_RELEASE_STRIP=false
   export CARGO_PROFILE_RELEASE_LTO=true CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1
 
 
@@ -490,11 +489,12 @@ check() (
   export XDG_RUNTIME_DIR="$PWD/runtime-dir"
   mkdir -p -m 700 "$XDG_RUNTIME_DIR"
 
+  export CK_TIMEOUT_MULTIPLIER=5
   export NO_AT_BRIDGE=1 GTK_A11Y=none
 
   # Flaky due to timeouts
   xvfb-run -s "-nolisten local" \
-    meson test -C build --print-errorlogs -t 5
+    meson test -C build --print-errorlogs -t $CK_TIMEOUT_MULTIPLIER
 )
 
 _install() {
@@ -509,14 +509,15 @@ _install() {
 package_gstreamer() {
   pkgdesc+=" - core"
   depends=(
-    gcc-libs
     glib2
     glibc
     libcap
     libelf
+    libgcc
     libunwind
   )
   optdepends=("python: gst-plugins-doc-cache-generator")
+  conflicts=('gstreamer-vaapi<=1.26.10-5')
   install=gstreamer.install
 
   meson install -C build --destdir "$srcdir/root"
@@ -555,13 +556,14 @@ package_gst-plugins-bad-libs() {
   depends=(
     "gst-plugins-base-libs=$pkgver-$pkgrel"
     "gstreamer=$pkgver-$pkgrel"
-    gcc-libs
     glib2
     glibc
     libdrm
+    libgcc
     libglvnd
     libgudev
     libnice
+    libstdc++
     libusb
     libva
     libx11
@@ -572,6 +574,7 @@ package_gst-plugins-bad-libs() {
     orc
     vulkan-icd-loader
     wayland
+    vmaf
     zlib
   )
   cd root; local files=(
@@ -580,8 +583,8 @@ package_gst-plugins-bad-libs() {
     usr/lib/libgst{adaptivedemux,analytics,badaudio,basecamerabinsrc,codecparsers,codecs,cuda,dxva,insertbin,isoff,mpegts,mse}-1.0.so*
     usr/lib/libgst{photography,play,player,sctp,transcoder,uridownloader,va,vulkan,wayland,webrtc,webrtcnice}-1.0.so*
     usr/lib/pkgconfig/gstreamer-{analytics,bad-audio,codecparsers,cuda,insertbin,mpegts,mse,photography,play,player,sctp,transcoder,vulkan{,-wayland,-xcb},va,wayland,webrtc{,-nice}}-1.0.pc
-    usr/lib/girepository-1.0/{CudaGst,Gst{Analytics,BadAudio,Codecs,Cuda,Dxva,InsertBin,Mpegts,Mse,Play,Player,Transcoder,Va,Vulkan{,Wayland,XCB},WebRTC}}-1.0.typelib
-    usr/share/gir-1.0/{CudaGst,Gst{Analytics,BadAudio,Codecs,Cuda,Dxva,InsertBin,Mpegts,Mse,Play,Player,Transcoder,Va,Vulkan{,Wayland,XCB},WebRTC}}-1.0.gir
+    usr/lib/girepository-1.0/{CudaGst,Gst{Analytics,BadAudio,CodecParsers,Codecs,Cuda,Dxva,InsertBin,Mpegts,Mse,Play,Player,Transcoder,Va,Vulkan{,Wayland,XCB},WebRTC}}-1.0.typelib
+    usr/share/gir-1.0/{CudaGst,Gst{Analytics,BadAudio,CodecParsers,Codecs,Cuda,Dxva,InsertBin,Mpegts,Mse,Play,Player,Transcoder,Va,Vulkan{,Wayland,XCB},WebRTC}}-1.0.gir
 
     usr/lib/pkgconfig/gstreamer-plugins-bad-1.0.pc
     usr/lib/gstreamer-1.0/libgstaccurip.so
@@ -663,10 +666,10 @@ package_gst-plugins-bad-libs() {
     usr/lib/gstreamer-1.0/libgstvideoframe_audiolevel.so
     usr/lib/gstreamer-1.0/libgstvideoparsersbad.so
     usr/lib/gstreamer-1.0/libgstvideosignal.so
+    usr/lib/gstreamer-1.0/libgstvmaf.so
     usr/lib/gstreamer-1.0/libgstvmnc.so
     usr/lib/gstreamer-1.0/libgstvulkan.so
     usr/lib/gstreamer-1.0/libgstwaylandsink.so
-    usr/lib/gstreamer-1.0/libgsty4mdec.so
 
     usr/share/gstreamer-1.0/encoding-profiles
     usr/share/gstreamer-1.0/presets/GstFreeverb.prs
@@ -687,10 +690,13 @@ package_gst-plugins-base-libs() {
     "gstreamer=$pkgver-$pkgrel"
     glib2
     glibc
+    graphene
     iso-codes
     libdrm
     libglvnd
     libgudev
+    libjpeg-turbo
+    libpng
     libx11
     libxcb
     libxext
@@ -725,6 +731,7 @@ package_gst-plugins-base-libs() {
     usr/lib/gstreamer-1.0/libgstdsd.so
     usr/lib/gstreamer-1.0/libgstencoding.so
     usr/lib/gstreamer-1.0/libgstgio.so
+    usr/lib/gstreamer-1.0/libgstopengl.so
     usr/lib/gstreamer-1.0/libgstoverlaycomposition.so
     usr/lib/gstreamer-1.0/libgstpbtypes.so
     usr/lib/gstreamer-1.0/libgstplayback.so
@@ -758,13 +765,10 @@ package_gst-plugins-base() {
     cdparanoia
     glib2
     glibc
-    graphene
-    libjpeg-turbo
+    libgcc
     libogg
-    libpng
     libtheora
     libvorbis
-    libx11
     opus
     pango
   )
@@ -773,7 +777,6 @@ package_gst-plugins-base() {
     usr/lib/gstreamer-1.0/libgstalsa.so
     usr/lib/gstreamer-1.0/libgstcdparanoia.so
     usr/lib/gstreamer-1.0/libgstogg.so
-    usr/lib/gstreamer-1.0/libgstopengl.so
     usr/lib/gstreamer-1.0/libgstopus.so
     usr/lib/gstreamer-1.0/libgstpango.so
     usr/lib/gstreamer-1.0/libgsttheora.so
@@ -790,7 +793,6 @@ package_gst-plugins-good() {
     bzip2
     cairo
     flac
-    gcc-libs
     gdk-pixbuf2
     glib2
     glibc
@@ -798,6 +800,7 @@ package_gst-plugins-good() {
     libavc1394
     libcaca
     libdv
+    libgcc
     libgudev
     libiec61883
     libjpeg-turbo
@@ -806,6 +809,7 @@ package_gst-plugins-good() {
     libraw1394
     libshout
     libsoup3
+    libstdc++
     libvpx
     libx11
     libxdamage
@@ -900,7 +904,7 @@ package_gst-plugins-good() {
     usr/lib/gstreamer-1.0/libgstwavparse.so
     usr/lib/gstreamer-1.0/libgstximagesrc.so
     usr/lib/gstreamer-1.0/libgstxingmux.so
-    usr/lib/gstreamer-1.0/libgsty4menc.so
+    usr/lib/gstreamer-1.0/libgsty4m.so
 
     usr/share/gstreamer-1.0/presets/GstIirEqualizer{3,10}Bands.prs
     usr/share/gstreamer-1.0/presets/GstQTMux.prs
@@ -924,7 +928,6 @@ package_gst-plugins-bad() {
     faac
     faad2
     fluidsynth
-    gcc-libs
     glib2
     glibc
     gsm
@@ -941,6 +944,7 @@ package_gst-plugins-bad() {
     libdvdread
     libfdk-aac
     libfreeaptx
+    libgcc
     libgme
     liblc3
     libldac
@@ -953,6 +957,7 @@ package_gst-plugins-bad() {
     librsvg
     libsndfile
     libsrtp
+    libstdc++
     libwebp
     libxml2
     lilv
@@ -965,7 +970,6 @@ package_gst-plugins-bad() {
     openjpeg2
     openssl
     opus
-    orc
     pango
     qrencode
     rtmpdump
@@ -982,6 +986,18 @@ package_gst-plugins-bad() {
     zvbi
     zxing-cpp
   )
+  optdepends=(
+    'gst-plugin-gtk: gtk plugin'
+    'gst-plugin-hip: hip plugin and library'
+    'gst-plugin-msdk: msdk plugin'
+    'gst-plugin-onnx: onnx plugin'
+    'gst-plugin-opencv: opencv plugin and library'
+    'gst-plugin-qml6: qml6 plugin'
+    'gst-plugin-qmlgl: qmlgl plugin'
+    'gst-plugin-qsv: qsv plugin'
+    'gst-plugin-va: va plugin'
+    'gst-plugin-wpe: wpe plugin'
+  )
 
   # parabola over-rides
   depends=( ${depends[*]/faac/}                                           ) # non-free
@@ -1077,7 +1093,6 @@ package_gst-plugins-ugly() {
     libcdio
     libdvdread
     libmpeg2
-    orc
     x264
   )
 
@@ -1133,6 +1148,35 @@ package_gst-plugin-gtk() {
   ); _install
 }
 
+package_gst-plugin-hip() {
+  pkgdesc+=" - hip plugin and library"
+  depends=(
+    "gst-plugins-bad-libs=$pkgver-$pkgrel"
+    "gst-plugins-base-libs=$pkgver-$pkgrel"
+    "gstreamer=$pkgver-$pkgrel"
+    glib2
+    glibc
+    libdrm
+    libgcc
+    libgudev
+    libstdc++
+    libx11
+    mesa
+    orc
+    wayland
+  )
+
+  cd root; local files=(
+    usr/include/gstreamer-1.0/gst/hip
+    usr/lib/libgsthip.so*
+    usr/lib/pkgconfig/gstreamer-hip{,-gl}-1.0.pc
+    usr/lib/girepository-1.0/GstHip{,GL}-1.0.typelib
+    usr/share/gir-1.0/GstHip{,GL}-1.0.gir
+
+    usr/lib/gstreamer-1.0/libgsthip.so
+  ); _install
+}
+
 package_gst-plugin-msdk() {
   pkgdesc+=" - msdk plugin"
   depends=(
@@ -1161,11 +1205,9 @@ package_gst-plugin-onnx() {
     "gst-plugins-bad-libs=$pkgver-$pkgrel"
     "gst-plugins-base-libs=$pkgver-$pkgrel"
     "gstreamer=$pkgver-$pkgrel"
-    gcc-libs
     glib2
     glibc
     onnxruntime
-    openmpi
   )
 
   cd root; local files=(
@@ -1174,13 +1216,14 @@ package_gst-plugin-onnx() {
 }
 
 package_gst-plugin-opencv() {
-  pkgdesc+=" - opencv plugin"
+  pkgdesc+=" - opencv plugin and library"
   depends=(
     "gst-plugins-base-libs=$pkgver-$pkgrel"
     "gstreamer=$pkgver-$pkgrel"
-    gcc-libs
     glib2
     glibc
+    libgcc
+    libstdc++
     opencv
   )
 
@@ -1197,13 +1240,13 @@ package_gst-plugin-qml6() {
   depends=(
     "gst-plugins-base-libs=$pkgver-$pkgrel"
     "gstreamer=$pkgver-$pkgrel"
-    gcc-libs
     glib2
     glibc
+    libgcc
     libglvnd
+    libstdc++
     qt6-base
     qt6-declarative
-    qt6-wayland
   )
 
   cd root; local files=(
@@ -1216,10 +1259,11 @@ package_gst-plugin-qmlgl() {
   depends=(
     "gst-plugins-base-libs=$pkgver-$pkgrel"
     "gstreamer=$pkgver-$pkgrel"
-    gcc-libs
     glib2
     glibc
+    libgcc
     libglvnd
+    libstdc++
     qt5-base
     qt5-declarative
     qt5-wayland
@@ -1237,9 +1281,10 @@ package_gst-plugin-qsv() {
     "gst-plugins-bad-libs=$pkgver-$pkgrel"
     "gst-plugins-base-libs=$pkgver-$pkgrel"
     "gstreamer=$pkgver-$pkgrel"
-    gcc-libs
     glib2
     glibc
+    libgcc
+    libstdc++
   )
   optdepends=(
     "intel-media-sdk: runtime for legacy Intel GPUs"
@@ -1263,6 +1308,7 @@ package_gst-plugin-va() {
     libgudev
     libva
   )
+  replaces=('gstreamer-vaapi<=1.26.10-5')
 
   cd root; local files=(
     usr/lib/gstreamer-1.0/libgstva.so
@@ -1274,9 +1320,10 @@ package_gst-plugin-wpe() {
   depends=(
     "gst-plugins-base-libs=$pkgver-$pkgrel"
     "gstreamer=$pkgver-$pkgrel"
-    gcc-libs
     glib2
     glibc
+    libgcc
+    libstdc++
     libwpe
     libxkbcommon
     wayland
@@ -1290,6 +1337,25 @@ package_gst-plugin-wpe() {
   ); _install
 }
 
+package_gst-plugin-wpe2() {
+  pkgdesc+=" - wpe2 plugin"
+  depends=(
+    "gst-plugins-base-libs=$pkgver-$pkgrel"
+    "gstreamer=$pkgver-$pkgrel"
+    glib2
+    glibc
+    libgcc
+    libglvnd
+    libstdc++
+    libxkbcommon
+    wpewebkit
+  )
+
+  cd root; local files=(
+    usr/lib/gstreamer-1.0/libgstwpe2.so
+  ); _install
+}
+
 package_gst-devtools-libs() {
   pkgdesc+=" - development and debugging libraries"
   depends=(
@@ -1325,8 +1391,10 @@ package_gst-devtools() {
     gtk3
     hicolor-icon-theme
     json-glib
+    libgcc
     python
     python-cairo
+    python-commonmark
     python-gobject
     python-lxml
   )
@@ -1393,9 +1461,7 @@ package_gst-editing-services() {
     python-gobject
     zlib
   )
-  optdepends=(
-    "opentimelineio: Support for the OpenTimelineIO format"
-  )
+  optdepends=("opentimelineio: Support for the OpenTimelineIO format")
 
   cd root; local files=(
     usr/include/gstreamer-1.0/ges
@@ -1406,6 +1472,7 @@ package_gst-editing-services() {
 
     usr/lib/gstreamer-1.0/libgstges.so
     usr/lib/gstreamer-1.0/libgstnle.so
+    usr/lib/gstreamer-1.0/python/gesotioformatter.py
 
     usr/lib/python*/site-packages/gi/overrides/GES.py
     usr/lib/python*/site-packages/gi/overrides/__pycache__/GES.*.pyc
@@ -1417,27 +1484,6 @@ package_gst-editing-services() {
   ); _install
 }
 
-package_gstreamer-vaapi() {
-  pkgdesc+=" - vaapi plugin"
-  depends=(
-    "gst-plugins-bad-libs=$pkgver-$pkgrel"
-    "gst-plugins-base-libs=$pkgver-$pkgrel"
-    "gstreamer=$pkgver-$pkgrel"
-    glib2
-    glibc
-    libglvnd
-    libva
-    libx11
-    libxrandr
-    systemd-libs
-    wayland
-  )
-
-  cd root; local files=(
-    usr/lib/gstreamer-1.0/libgstvaapi.so
-  ); _install
-}
-
 package_gst-python() {
   pkgdesc+=" - python plugin"
   depends=(
@@ -1447,7 +1493,9 @@ package_gst-python() {
     glibc
     python
     python-gobject
+    python-typing_extensions
   )
+  optdepends=("gst-plugins-bad-libs: GstAnalytics support")
 
   cd root; local files=(
     usr/lib/gstreamer-1.0/libgstpython.so
-- 
2.54.0

_______________________________________________
Dev mailing list
[email protected]
https://lists.parabola.nu/mailman/listinfo/dev

Reply via email to