Date: Friday, March 3, 2023 @ 19:22:44
  Author: heftig
Revision: 470201

1.22.0-5: ffmpeg 6.0 rebuild, fixes

Added:
  gstreamer/trunk/0002-zxing-update-to-2.0.0-tag.patch
    (from rev 469280, gstreamer/trunk/0002-Support-zxing-c-2.0.patch)
  gstreamer/trunk/0003-imagesequencesrc-Properly-set-default-location.patch
Modified:
  gstreamer/trunk/0001-HACK-meson-Disable-broken-tests.patch
  gstreamer/trunk/PKGBUILD
Deleted:
  gstreamer/trunk/0002-Support-zxing-c-2.0.patch
  gstreamer/trunk/0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch

-----------------------------------------------------------+
 0001-HACK-meson-Disable-broken-tests.patch                |    2 
 0002-Support-zxing-c-2.0.patch                            |   63 ------------
 0002-zxing-update-to-2.0.0-tag.patch                      |   62 +++++++++++
 0003-imagesequencesrc-Properly-set-default-location.patch |   24 ++++
 0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch   |   25 ----
 PKGBUILD                                                  |   40 ++++---
 6 files changed, 110 insertions(+), 106 deletions(-)

Modified: 0001-HACK-meson-Disable-broken-tests.patch
===================================================================
--- 0001-HACK-meson-Disable-broken-tests.patch  2023-03-03 18:28:09 UTC (rev 
470200)
+++ 0001-HACK-meson-Disable-broken-tests.patch  2023-03-03 19:22:44 UTC (rev 
470201)
@@ -45,7 +45,7 @@
    'gst/sessionpool',
    'gst/stream',
 diff --git a/subprojects/gstreamer-vaapi/meson.build 
b/subprojects/gstreamer-vaapi/meson.build
-index 9cd3fcf19cb7..4f8e6d27f9a3 100644
+index edefc0749952..5f8b5159dee2 100644
 --- a/subprojects/gstreamer-vaapi/meson.build
 +++ b/subprojects/gstreamer-vaapi/meson.build
 @@ -219,7 +219,6 @@ plugins = []

Deleted: 0002-Support-zxing-c-2.0.patch
===================================================================
--- 0002-Support-zxing-c-2.0.patch      2023-03-03 18:28:09 UTC (rev 470200)
+++ 0002-Support-zxing-c-2.0.patch      2023-03-03 19:22:44 UTC (rev 470201)
@@ -1,63 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <[email protected]>
-Date: Sat, 7 Jan 2023 16:18:03 +0100
-Subject: [PATCH] Support zxing-c++ 2.0
-
-format is a C++ string in 2.0
----
- subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp 
b/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
-index 7836dbbcf18e..a8a0f7b49aa4 100644
---- a/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
-+++ b/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
-@@ -62,6 +62,7 @@
- 
- #include "ReadBarcode.h"
- #include "TextUtfEncoding.h"
-+#include "ZXVersion.h"
- 
- using namespace ZXing;
- 
-@@ -369,32 +370,40 @@ gst_zxing_transform_frame_ip (GstVideoFilter * vfilter, 
GstVideoFrame * frame)
-   if (result.isValid ()) {
-     GST_DEBUG_OBJECT (zxing, "Symbol found. Text: %s Format: %s",
-         result.text ().c_str (),
-+#if ZXING_VERSION_MAJOR >= 2
-+        ToString (result.format ()).c_str ());
-+#else
-         ToString (result.format ()));
-+#endif
-   } else {
-     goto out;
-   }
- 
-   /* extract results */
-   if (zxing->message) {
-     GstMessage *m;
-     GstStructure *s;
-     GstSample *sample;
-     GstCaps *sample_caps;
-     GstClockTime timestamp, running_time, stream_time;
- 
-     timestamp = GST_BUFFER_TIMESTAMP (frame->buffer);
-     running_time =
-         gst_segment_to_running_time (&GST_BASE_TRANSFORM (zxing)->segment,
-         GST_FORMAT_TIME, timestamp);
-     stream_time =
-         gst_segment_to_stream_time (&GST_BASE_TRANSFORM (zxing)->segment,
-         GST_FORMAT_TIME, timestamp);
- 
-     s = gst_structure_new ("barcode",
-         "timestamp", G_TYPE_UINT64, timestamp,
-         "stream-time", G_TYPE_UINT64, stream_time,
-         "running-time", G_TYPE_UINT64, running_time,
-+#if ZXING_VERSION_MAJOR >= 2
-+        "type", G_TYPE_STRING, ToString (result.format ()).c_str (),
-+#else
-         "type", G_TYPE_STRING, ToString (result.format ()),
-+#endif
-         "symbol", G_TYPE_STRING,
-         result.text ().c_str (), NULL);
- 

Copied: gstreamer/trunk/0002-zxing-update-to-2.0.0-tag.patch (from rev 469280, 
gstreamer/trunk/0002-Support-zxing-c-2.0.patch)
===================================================================
--- 0002-zxing-update-to-2.0.0-tag.patch                                (rev 0)
+++ 0002-zxing-update-to-2.0.0-tag.patch        2023-03-03 19:22:44 UTC (rev 
470201)
@@ -0,0 +1,62 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <[email protected]>
+Date: Fri, 3 Mar 2023 16:46:35 +0000
+Subject: [PATCH] zxing: update to 2.0.0 tag
+
+---
+ subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp | 4 ++--
+ subprojects/gst-plugins-bad/ext/zxing/meson.build  | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp 
b/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
+index 7836dbbcf18e..a7a24168383f 100644
+--- a/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
++++ b/subprojects/gst-plugins-bad/ext/zxing/gstzxing.cpp
+@@ -369,32 +369,32 @@ gst_zxing_transform_frame_ip (GstVideoFilter * vfilter, 
GstVideoFrame * frame)
+   if (result.isValid ()) {
+     GST_DEBUG_OBJECT (zxing, "Symbol found. Text: %s Format: %s",
+         result.text ().c_str (),
+-        ToString (result.format ()));
++        ToString (result.format ()).c_str ());
+   } else {
+     goto out;
+   }
+ 
+   /* extract results */
+   if (zxing->message) {
+     GstMessage *m;
+     GstStructure *s;
+     GstSample *sample;
+     GstCaps *sample_caps;
+     GstClockTime timestamp, running_time, stream_time;
+ 
+     timestamp = GST_BUFFER_TIMESTAMP (frame->buffer);
+     running_time =
+         gst_segment_to_running_time (&GST_BASE_TRANSFORM (zxing)->segment,
+         GST_FORMAT_TIME, timestamp);
+     stream_time =
+         gst_segment_to_stream_time (&GST_BASE_TRANSFORM (zxing)->segment,
+         GST_FORMAT_TIME, timestamp);
+ 
+     s = gst_structure_new ("barcode",
+         "timestamp", G_TYPE_UINT64, timestamp,
+         "stream-time", G_TYPE_UINT64, stream_time,
+         "running-time", G_TYPE_UINT64, running_time,
+-        "type", G_TYPE_STRING, ToString (result.format ()),
++        "type", G_TYPE_STRING, ToString (result.format ()).c_str (),
+         "symbol", G_TYPE_STRING,
+         result.text ().c_str (), NULL);
+ 
+diff --git a/subprojects/gst-plugins-bad/ext/zxing/meson.build 
b/subprojects/gst-plugins-bad/ext/zxing/meson.build
+index 2dbad9ab1eea..89e1f6592e7a 100644
+--- a/subprojects/gst-plugins-bad/ext/zxing/meson.build
++++ b/subprojects/gst-plugins-bad/ext/zxing/meson.build
+@@ -2,7 +2,7 @@ zxing_sources = [
+   'gstzxing.cpp',
+   'gstzxingplugin.c',
+ ]
+-zxing_dep = dependency('zxing', version : '>= 1.4.0', required : 
get_option('zxing'))
++zxing_dep = dependency('zxing', version : '>= 2.0.0', required : 
get_option('zxing'))
+ if zxing_dep.found()
+       gstzxing = library('gstzxing',
+         zxing_sources,

Added: 0003-imagesequencesrc-Properly-set-default-location.patch
===================================================================
--- 0003-imagesequencesrc-Properly-set-default-location.patch                   
        (rev 0)
+++ 0003-imagesequencesrc-Properly-set-default-location.patch   2023-03-03 
19:22:44 UTC (rev 470201)
@@ -0,0 +1,24 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <[email protected]>
+Date: Fri, 3 Mar 2023 18:40:22 +0000
+Subject: [PATCH] imagesequencesrc: Properly set default location
+
+Noticed this because the generic_states test kept segfaulting at random.
+GLibC 2.37 can crash when NULL is supplied as a format string.
+---
+ .../gst-plugins-good/gst/multifile/gstimagesequencesrc.c        | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/subprojects/gst-plugins-good/gst/multifile/gstimagesequencesrc.c 
b/subprojects/gst-plugins-good/gst/multifile/gstimagesequencesrc.c
+index 8581e73e3a94..3d59ec74a7c9 100644
+--- a/subprojects/gst-plugins-good/gst/multifile/gstimagesequencesrc.c
++++ b/subprojects/gst-plugins-good/gst/multifile/gstimagesequencesrc.c
+@@ -356,7 +356,7 @@ gst_image_sequence_src_init (GstImageSequenceSrc * self)
+   self->start_index = DEFAULT_START_INDEX;
+   self->index = 0;
+   self->stop_index = DEFAULT_STOP_INDEX;
+-  self->path = NULL;
++  self->path = g_strdup (DEFAULT_LOCATION);
+   self->caps = NULL;
+   self->n_frames = 0;
+   self->fps_n = 30;

Deleted: 0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch
===================================================================
--- 0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch     2023-03-03 
18:28:09 UTC (rev 470200)
+++ 0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch     2023-03-03 
19:22:44 UTC (rev 470201)
@@ -1,25 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <[email protected]>
-Date: Tue, 24 Jan 2023 02:52:49 +0000
-Subject: [PATCH] vaapi: Skip plugin pc file for shared plugins
-
-Following similar logic in the other subprojects.
----
- subprojects/gstreamer-vaapi/meson.build | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/subprojects/gstreamer-vaapi/meson.build 
b/subprojects/gstreamer-vaapi/meson.build
-index 4f8e6d27f9a3..5f8b5159dee2 100644
---- a/subprojects/gstreamer-vaapi/meson.build
-+++ b/subprojects/gstreamer-vaapi/meson.build
-@@ -240,6 +240,10 @@ meson.add_dist_script('scripts/gen-changelog.py', 
meson.project_name(), '1.20.0'
- 
- pkgconfig = import('pkgconfig')
- plugins_pkgconfig_install_dir = join_paths(plugins_install_dir, 'pkgconfig')
-+if get_option('default_library') == 'shared'
-+  # If we don't build static plugins there is no need to generate pc files
-+  plugins_pkgconfig_install_dir = disabler()
-+endif
- 
- plugin_names = []
- gst_plugins = []

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2023-03-03 18:28:09 UTC (rev 470200)
+++ PKGBUILD    2023-03-03 19:22:44 UTC (rev 470201)
@@ -26,7 +26,7 @@
   gstreamer-docs
 )
 pkgver=1.22.0
-pkgrel=4
+pkgrel=5
 pkgdesc="Multimedia graph framework"
 url="https://gstreamer.freedesktop.org/";
 arch=(x86_64)
@@ -51,11 +51,11 @@
   # 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 lv2
-  libmicrodns mjpegtools libmpcdec neon openal libdvdnav rtmpdump sbc 
soundtouch
-  spandsp libsrtp svt-hevc zvbi libnice webrtc-audio-processing wildmidi
-  zxing-cpp zbar libxml2 gsm libopenmpt wpewebkit libldac libfreeaptx qrencode
-  json-glib libva libxkbcommon-x11
+  libfdk-aac fluidsynth libgme libkate liblrdf ladspa libde265 lilv libmodplug
+  lv2 libmicrodns mjpegtools libmpcdec neon openal libdvdnav rtmpdump sbc
+  soundtouch spandsp libsrtp svt-hevc zvbi libnice webrtc-audio-processing
+  wildmidi zxing-cpp zbar libxml2 gsm libopenmpt wpewebkit libldac libfreeaptx
+  qrencode json-glib libva libxkbcommon-x11
 
   # gst-plugins-ugly
   a52dec opencore-amr libcdio libdvdread libmpeg2 libsidplay x264
@@ -74,28 +74,34 @@
   
"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-Support-zxing-c-2.0.patch
-  0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch
+  0002-zxing-update-to-2.0.0-tag.patch
+  0003-imagesequencesrc-Properly-set-default-location.patch
 )
 b2sums=('SKIP'
         
'78152f7dccbefa6a8bb2c844b4ef4e1eab97c6e54a017bbe896fe3afb646942449a87387c66499f454e968b63f00a8040c9360ca7248c6dd7819228cf22fd94f'
         'SKIP'
-        
'a90340cd3285882fb8416aae8bce44e3354e43790b947c93c749bc6dce8fa74c900ae933eb24ec872b319dffe16d42eaef6f6d41ddeccd61ea093b2b46e89e3b'
-        
'88af02805ab7a0a6f79fd1fbf56206b6325f1bbeef9415d8bead83331dc04bddf28f4731bc1ab60b37fc7bd1473547838f4de930d9179e842b6190aee7e068a4'
-        
'621ed5ad8051fa513c8ebd987b5a856bf4468f7d0150673783b4010b5c87b0a5ec7f62e402bbea1de493c5d029f3c3f1897cf9289e2168c430632e12ff80c423')
+        
'84a85c03a51343ef5be3ca8911b6204ec634409f12838ad258ff8ff8074fec374ce72e2432b2a0911435b52978fa5e5a52b849bb008c4aecba0f903df5159081'
+        
'9934ab83fb55e2c8b48ede8d1d018d3757725dc869bb9fe20bd66982d04ca164f41a07968c83105be96e4262fd05d9917ed365cd7eb360259174ee9ba6d8f1ad'
+        
'fd5bfeaf5a08f225bfb81df1beac55c3d7332aa4ffb1ba0a3e662dccea6b5ca43eecee92578c54d2fc1e3aa2edc73eb09a02e9c0a8ac3ad2002995a6a0396fa2')
 validpgpkeys=(D637032E45B8C6585B9456565D2EEE6F6F349D7C) # Tim Müller 
<[email protected]>
 
 prepare() {
   cd gstreamer
 
+  # Fix install
+  git cherry-pick -n bfe16f29a70d9fd0799472cc224620db239e27d9
+
+  # Fix build with ffmpeg 6.0
+  git cherry-pick -n cde31d23c071ee93fae96331805f696856084254
+
   # Disable broken tests
   git apply -3 ../0001-HACK-meson-Disable-broken-tests.patch
 
   # Fix build with zxing-cpp 2.0
-  git apply -3 ../0002-Support-zxing-c-2.0.patch
+  git apply -3 ../0002-zxing-update-to-2.0.0-tag.patch
 
-  # Fix install
-  git apply -3 ../0003-vaapi-Skip-plugin-pc-file-for-shared-plugins.patch
+  # Fix crash
+  git apply -3 ../0003-imagesequencesrc-Properly-set-default-location.patch
 }
 
 build() {
@@ -156,8 +162,8 @@
 }
 
 check() (
-  mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}"
-  export XDG_RUNTIME_DIR
+  export XDG_RUNTIME_DIR="$PWD/runtime-dir"
+  mkdir -p -m 700 "$XDG_RUNTIME_DIR"
 
   # Flaky due to timeouts
   xvfb-run -s '-nolisten local' \
@@ -215,7 +221,7 @@
   depends=(
     "gst-plugins-base-libs=$pkgver"
     orc libdrm libx11 libgudev libusb libxkbcommon-x11 libva libnice
-    vulkan-icd-loader wayland
+    vulkan-icd-loader wayland wayland-protocols
   )
 
   cd root; local files=(

Reply via email to