From 2aa1d55903850ed5737fcaefdfcd58df8f7f70e9 Mon Sep 17 00:00:00 2001 From: kth5 Date: Thu, 10 Aug 2023 15:26:45 +0200 Subject: [PATCH] * update gstreamer to 1.22.5-1 --- ...0001-HACK-meson-Disable-broken-tests.patch | 6 +- gstreamer/PKGBUILD | 177 +++++++++++------- ...37032E45B8C6585B9456565D2EEE6F6F349D7C.asc | 102 ++++++++++ 3 files changed, 213 insertions(+), 72 deletions(-) create mode 100644 gstreamer/keys/pgp/D637032E45B8C6585B9456565D2EEE6F6F349D7C.asc diff --git a/gstreamer/0001-HACK-meson-Disable-broken-tests.patch b/gstreamer/0001-HACK-meson-Disable-broken-tests.patch index 055e384e06..e8d06c1569 100644 --- a/gstreamer/0001-HACK-meson-Disable-broken-tests.patch +++ b/gstreamer/0001-HACK-meson-Disable-broken-tests.patch @@ -12,7 +12,7 @@ Subject: [PATCH] HACK: meson: Disable broken tests 5 files changed, 5 deletions(-) diff --git a/subprojects/gst-editing-services/meson.build b/subprojects/gst-editing-services/meson.build -index 89078bbd7a3b..5745256d3b2f 100644 +index 48c6fed5fc2e..35714bee4a66 100644 --- a/subprojects/gst-editing-services/meson.build +++ b/subprojects/gst-editing-services/meson.build @@ -270,7 +270,6 @@ subdir('ges') @@ -36,7 +36,7 @@ index 53a8e634e41a..f270c1d11bfb 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-python/meson.build b/subprojects/gst-python/meson.build -index 9f35ee5a4a16..6698e392b72c 100644 +index 4c41baad2fc8..8a91267fc8fe 100644 --- a/subprojects/gst-python/meson.build +++ b/subprojects/gst-python/meson.build @@ -107,5 +107,4 @@ if not get_option('plugin').disabled() @@ -58,7 +58,7 @@ index 229af32f8117..b9372c125d77 100644 'gst/sessionpool', 'gst/stream', diff --git a/subprojects/gstreamer-vaapi/meson.build b/subprojects/gstreamer-vaapi/meson.build -index 8fef4f81e833..16d96d6a4ed6 100644 +index 654b7e3fd2be..035e8e2c1cf0 100644 --- a/subprojects/gstreamer-vaapi/meson.build +++ b/subprojects/gstreamer-vaapi/meson.build @@ -219,7 +219,6 @@ plugins = [] diff --git a/gstreamer/PKGBUILD b/gstreamer/PKGBUILD index 0cea50a29e..d8b1db1a90 100644 --- a/gstreamer/PKGBUILD +++ b/gstreamer/PKGBUILD @@ -25,7 +25,7 @@ pkgname=( gstreamer-docs ) [ "${CARCH}" == 'x86_64' ] && pkgname+=(gst-plugin-msdk gst-plugin-qsv) -pkgver=1.22.4 +pkgver=1.22.5 pkgrel=1 pkgdesc="Multimedia graph framework" url="https://gstreamer.freedesktop.org/" @@ -36,29 +36,29 @@ makedepends=( git meson # gstreamer - valgrind libunwind gobject-introspection bash-completion gtk3 libcap python + bash-completion gobject-introspection gtk3 libcap libunwind python valgrind # gst-plugins-base - cdparanoia graphene opus libtheora libxv sdl2 qt5-base qt5-tools zlib libglvnd - wayland wayland-protocols libx11 libgudev libdrm mesa orc libxi + cdparanoia graphene libdrm libglvnd libgudev libtheora libx11 libxi libxv mesa + opus orc qt5-base qt5-tools sdl2 wayland wayland-protocols zlib # gst-plugins-good - v4l-utils aalib flac jack2 lame libcaca libdv mpg123 libraw1394 - libavc1394 libiec61883 qt5-declarative qt5-x11extras qt5-wayland libpulse - libshout taglib twolame libvpx wavpack cairo libsoup3 qt6-declarative - qt6-wayland qt6-tools nettle libsoup + aalib cairo flac jack2 lame libavc1394 libcaca libdv libiec61883 libpulse + libraw1394 libshout libsoup3 libvpx mpg123 nettle qt5-declarative + qt5-wayland qt5-x11extras qt6-declarative qt6-tools qt6-wayland taglib twolame + v4l-utils wavpack # gst-plugins-bad - opencv vulkan-icd-loader vulkan-headers vulkan-validation-layers shaderc - libltc bluez-libs libavtp libbs2b bzip2 chromaprint libdca faac faad2 - libfdk-aac fluidsynth libgme libkate liblrdf ladspa libde265 lilv libmodplug - lv2 libmicrodns mjpegtools libmpcdec neon openal libdvdnav rtmpdump sbc - soundtouch spandsp libsrtp zvbi libnice webrtc-audio-processing wildmidi - zxing-cpp zbar libxml2 gsm libopenmpt wpewebkit libfreeaptx qrencode - json-glib libva libxkbcommon-x11 gupnp-igd + bluez-libs bzip2 chromaprint faac faad2 fluidsynth gsm json-glib ladspa + libavtp libbs2b libdca libde265 libdvdnav libfdk-aac libfreeaptx libgme + libkate liblrdf libltc libmicrodns libmodplug libmpcdec libnice + libopenmpt libsrtp libva libxkbcommon-x11 libxml2 lilv lv2 mjpegtools neon + openal opencv qrencode rtmpdump sbc shaderc soundtouch spandsp + vulkan-headers vulkan-icd-loader vulkan-validation-layers + webrtc-audio-processing wildmidi wpewebkit zbar zvbi zxing-cpp # gst-plugins-ugly - a52dec opencore-amr libcdio libdvdread libmpeg2 libsidplay x264 + a52dec libcdio libdvdread libmpeg2 opencore-amr x264 # gst-libav ffmpeg @@ -73,23 +73,29 @@ makedepends_powerpc64le=(libldac) makedepends_riscv64=(libldac) makedepends_x86_64=(libldac nasm svt-hevc) checkdepends=(xorg-server-xvfb) -options=(!distcc) 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-qt-Unbreak-build-with-qt-egl-enabled-but-viv_fb-miss.patch ) b2sums=('SKIP' - '17360d92e2bb37b26fbe49016bbfaece839ef02c4ebf6e7ef24aff9f1e85929cab6380177df3276a792532a32a87724353cb197d6329fd2d89ed247f5924b141' + 'c35189d49f6091392ac368c848dfca47b185420f850c77ef145c8a9275123c920d5098ba7e75d302e5f278a8fd12197fd625c4aa755c9c17a98f595a533b78a8' 'SKIP' - '9437da39122a15e6501a325193bce135b2706de72f6dd0133120b70ad1b05b8b0191aae4d740430ddfb9787164930cb184afa57ebd0b431edd9452317661d2e5') -validpgpkeys=(D637032E45B8C6585B9456565D2EEE6F6F349D7C) # Tim Müller + 'c64482a040ada8c2ba6433b6d9aa8619e53866b2d9b512cc91dff2e32d6c405339ec22e909dbce197595521c014b1bdad661e92b9d092f8e14c51c9cde7a74da' + '829686c230d75bf4124366162c754ddc37d7ed49fb797e504ca5cf3e9a5db621d15911d9c8db3439348f442fb873c1c3e29683cfe9f47c1a0b00e7e48c4db21f') +validpgpkeys=( + D637032E45B8C6585B9456565D2EEE6F6F349D7C # Tim Müller +) prepare() { cd gstreamer # Disable broken tests git apply -3 ../0001-HACK-meson-Disable-broken-tests.patch + + # Unbreak qt-egl build + git apply -3 ../0002-qt-Unbreak-build-with-qt-egl-enabled-but-viv_fb-miss.patch } build() { @@ -103,7 +109,7 @@ build() { -D gst-examples=disabled -D libnice=disabled -D orc-source=system - -D package-origin="https://archlinuxpower.org/" + -D package-origin="https://www.archlinuxpower.org/" -D vaapi=enabled # Package names @@ -141,6 +147,7 @@ build() { -D gst-plugins-bad:wasapi=disabled -D gst-plugins-bad:wic=disabled -D gst-plugins-bad:win32ipc=disabled + -D gst-plugins-ugly:sidplay=disabled -D gst-editing-services:validate=disabled ) @@ -161,7 +168,7 @@ build() { ) ;; esac - arch-meson gstreamer build --wrap-mode=default "${meson_options[@]}" #FIXME: libnice is required but can't use system's + arch-meson gstreamer build "${meson_options[@]}" meson configure build # Print config meson compile -C build } @@ -186,7 +193,9 @@ _install() { package_gstreamer() { pkgdesc+=" - core" - depends=(libxml2 glib2 libunwind libcap libelf) + depends=( + glib2 libcap libelf libunwind libxml2 + ) optdepends=('python: gst-plugins-doc-cache-generator') install=gstreamer.install @@ -225,7 +234,7 @@ package_gst-plugins-bad-libs() { pkgdesc+=" - bad" depends=( "gst-plugins-base-libs=$pkgver" - orc libdrm libx11 libgudev libusb libxkbcommon-x11 libva libnice + libdrm libgudev libnice libusb libva libx11 libxkbcommon-x11 orc vulkan-icd-loader wayland wayland-protocols ) @@ -331,7 +340,7 @@ package_gst-plugins-base-libs() { pkgdesc+=" - base" depends=( "gstreamer=$pkgver" - orc libxv iso-codes libgudev libgl mesa libxi wayland + iso-codes libgl libgudev libxi libxv mesa orc wayland ) cd root; local files=( @@ -380,7 +389,7 @@ package_gst-plugins-base() { pkgdesc+=" - base plugins" depends=( "gst-plugins-base-libs=$pkgver" - alsa-lib cdparanoia libvorbis libtheora pango opus graphene libpng libjpeg + alsa-lib cdparanoia graphene libjpeg libpng libtheora libvorbis opus pango ) cd root; local files=( @@ -399,9 +408,9 @@ package_gst-plugins-good() { pkgdesc+=" - good plugins" depends=( "gst-plugins-base-libs=$pkgver" - libpulse libsoup3 gst-plugins-base-libs wavpack aalib taglib libdv libshout - libvpx gdk-pixbuf2 libcaca libavc1394 libiec61883 libxdamage v4l-utils cairo - libgudev speex flac libraw1394 lame mpg123 twolame nettle + aalib cairo flac gdk-pixbuf2 gst-plugins-base-libs lame libavc1394 libcaca + libdv libgudev libiec61883 libpulse libraw1394 libshout libsoup3 libvpx + libxdamage mpg123 nettle speex taglib twolame v4l-utils wavpack libjack.so ) @@ -490,13 +499,13 @@ package_gst-plugins-bad() { pkgdesc+=" - bad plugins" depends=( "gst-plugins-bad-libs=$pkgver" - aom libass libbs2b bzip2 chromaprint pango lcms2 curl libxml2 libdc1394 - libde265 openssl libdca faac faad2 libfdk-aac fluidsynth libgme nettle - libkate liblrdf lilv libmodplug mjpegtools libmpcdec neon openal openexr - openjpeg2 opus libdvdnav libdvdread librsvg rtmpdump sbc libsndfile libltc - soundtouch spandsp srt libsrtp zvbi libwebp webrtc-audio-processing wildmidi - x265 zbar gsm libopenmpt libfreeaptx qrencode json-glib libavtp - libmicrodns zxing-cpp + aom bzip2 chromaprint curl faac faad2 fluidsynth gsm json-glib lcms2 libass + libavtp libbs2b libdc1394 libdca libde265 libdvdnav libdvdread libfdk-aac + libfreeaptx libgme libkate liblrdf libltc libmicrodns libmodplug + libmpcdec libopenmpt librsvg libsndfile libsrtp libwebp libxml2 lilv + mjpegtools neon nettle openal openexr openjpeg2 openssl opus pango qrencode + rtmpdump sbc soundtouch spandsp srt webrtc-audio-processing + wildmidi x265 zbar zvbi zxing-cpp ) depends_powerpc64le=(libldac) depends_riscv64=(libldac) @@ -563,23 +572,28 @@ package_gst-plugins-bad() { usr/lib/gstreamer-1.0/libgstzbar.so usr/lib/gstreamer-1.0/libgstzxing.so ); - case "${CARCH}" in - powerpc64le|riscv64) - files+=(usr/lib/gstreamer-1.0/libgstldac.so) - ;; - x86_64) - files+=( - usr/lib/gstreamer-1.0/libgstldac.so - usr/lib/gstreamer-1.0/libgstsvthevcenc.so - ) - ;; - esac - _install + + case "${CARCH}" in + powerpc64le|riscv64) + files+=(usr/lib/gstreamer-1.0/libgstldac.so) + ;; + x86_64) + files+=( + usr/lib/gstreamer-1.0/libgstldac.so + usr/lib/gstreamer-1.0/libgstsvthevcenc.so + ) + ;; + esac + + _install } package_gst-plugin-gtk() { pkgdesc+=" - gtk plugin" - depends=("gst-plugins-bad-libs=$pkgver" gtk3) + depends=( + "gst-plugins-bad-libs=$pkgver" + gtk3 + ) cd root; local files=( usr/lib/gstreamer-1.0/libgstgtk.so @@ -589,7 +603,10 @@ package_gst-plugin-gtk() { package_gst-plugin-msdk() { pkgdesc+=" - msdk plugin" - depends=("gst-plugins-bad-libs=$pkgver" libmfx) + depends=( + "gst-plugins-bad-libs=$pkgver" + libmfx + ) cd root; local files=( usr/lib/gstreamer-1.0/libgstmsdk.so @@ -598,7 +615,10 @@ package_gst-plugin-msdk() { package_gst-plugin-opencv() { pkgdesc+=" - opencv plugin" - depends=("gst-plugins-base-libs=$pkgver" opencv) + depends=( + "gst-plugins-base-libs=$pkgver" + opencv + ) cd root; local files=( usr/include/gstreamer-1.0/gst/opencv @@ -624,7 +644,7 @@ package_gst-plugin-qmlgl() { pkgdesc+=" - qmlgl plugin" depends=( "gst-plugins-base-libs=$pkgver" - qt5-declarative qt5-x11extras qt5-wayland + qt5-declarative qt5-wayland qt5-x11extras ) cd root; local files=( @@ -634,7 +654,10 @@ package_gst-plugin-qmlgl() { package_gst-plugin-qsv() { pkgdesc+=" - qsv plugin" - depends=("gst-plugins-bad-libs=$pkgver" libmfx) + depends=( + "gst-plugins-bad-libs=$pkgver" + libmfx + ) cd root; local files=( usr/lib/gstreamer-1.0/libgstqsv.so @@ -653,7 +676,10 @@ package_gst-plugin-va() { package_gst-plugin-wpe() { pkgdesc+=" - wpe plugin" - depends=("gst-plugins-base-libs=$pkgver" wpewebkit) + depends=( + "gst-plugins-base-libs=$pkgver" + wpewebkit + ) cd root; local files=( usr/lib/gstreamer-1.0/libgstwpe.so @@ -665,7 +691,7 @@ package_gst-plugins-ugly() { pkgdesc+=" - ugly plugins" depends=( "gst-plugins-base-libs=$pkgver" - libdvdread libmpeg2 a52dec libsidplay libcdio x264 opencore-amr + a52dec libcdio libdvdread libmpeg2 opencore-amr x264 ) cd root; local files=( @@ -679,7 +705,6 @@ package_gst-plugins-ugly() { usr/lib/gstreamer-1.0/libgstdvdsub.so usr/lib/gstreamer-1.0/libgstmpeg2dec.so usr/lib/gstreamer-1.0/libgstrealmedia.so - usr/lib/gstreamer-1.0/libgstsid.so usr/lib/gstreamer-1.0/libgstx264.so usr/share/gstreamer-1.0/presets/Gst{Amrnb,X264}Enc.prs @@ -690,7 +715,10 @@ package_gst-plugins-ugly() { package_gst-libav() { pkgdesc+=" - libav plugin" - depends=("gst-plugins-base-libs=$pkgver" bzip2 ffmpeg) + depends=( + "gst-plugins-base-libs=$pkgver" + bzip2 ffmpeg + ) provides=("gst-ffmpeg=$pkgver") cd root; local files=( @@ -715,7 +743,10 @@ package_gst-rtsp-server() { package_gst-editing-services() { pkgdesc+=" - editing services" - depends=("gst-plugins-base-libs=$pkgver" python) + depends=( + "gst-plugins-base-libs=$pkgver" + python + ) cd root; local files=( usr/include/gstreamer-1.0/ges @@ -728,20 +759,21 @@ package_gst-editing-services() { usr/lib/gstreamer-1.0/libgstnle.so usr/lib/python*/site-packages/gi/overrides/GES.py + usr/lib/python*/site-packages/gi/overrides/__pycache__/GES.*.pyc usr/bin/ges-launch-1.0 usr/share/man/man1/ges-launch-1.0.1 usr/share/bash-completion/completions/ges-launch-1.0 ); _install - - python -m compileall -d /usr/lib "$pkgdir/usr/lib" - python -O -m compileall -d /usr/lib "$pkgdir/usr/lib" } package_gstreamer-vaapi() { pkgdesc+=" - vaapi plugin" - depends=("gst-plugins-bad-libs=$pkgver" libxrandr) + depends=( + "gst-plugins-bad-libs=$pkgver" + libxrandr + ) cd root; local files=( usr/lib/gstreamer-1.0/libgstvaapi.so @@ -750,24 +782,31 @@ package_gstreamer-vaapi() { package_gst-python() { pkgdesc+=" - python plugin" - depends=("gst-plugins-base-libs=$pkgver" python-gobject) + depends=( + "gst-plugins-base-libs=$pkgver" + python-gobject + ) cd root; local files=( usr/lib/gstreamer-1.0/libgstpython.so usr/lib/python*/site-packages/gi/overrides ); _install - - python -m compileall -d /usr/lib "$pkgdir/usr/lib" - python -O -m compileall -d /usr/lib "$pkgdir/usr/lib" } package_gstreamer-docs() { pkgdesc+=" - documentation" - license=(GPL3 LGPL custom:BSD custom:CC-BY-SA-4.0 custom:MIT custom:OPL) + license=( + GPL3 + LGPL + custom:BSD + custom:CC-BY-SA-4.0 + custom:MIT + custom:OPL + ) # make sure there are no files left to install find root -depth ! -type d - find root -depth -print0 | xargs -0 rm -r + find root -depth -print0 | xargs -0 rmdir cd gstreamer-docs-${pkgver%%+*} @@ -777,4 +816,4 @@ package_gstreamer-docs() { install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING LICENSE* } -# vim:set sw=2 sts=-1 et: +# vim:set sw=2 sts=-1 et tw=80: diff --git a/gstreamer/keys/pgp/D637032E45B8C6585B9456565D2EEE6F6F349D7C.asc b/gstreamer/keys/pgp/D637032E45B8C6585B9456565D2EEE6F6F349D7C.asc new file mode 100644 index 0000000000..fc06c9b80a --- /dev/null +++ b/gstreamer/keys/pgp/D637032E45B8C6585B9456565D2EEE6F6F349D7C.asc @@ -0,0 +1,102 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +JCL/cyRfp0xaKjSQSMmLwnN0VnUlEDpqB3qi +=5zjV +-----END PGP PUBLIC KEY BLOCK-----