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
