extra/gstreamer to 1.20.4-1

This commit is contained in:
Kevin Mihelich 2022-10-13 00:34:58 +00:00
parent fe3b22451f
commit 374e264cf2
4 changed files with 99 additions and 42 deletions

View file

@ -0,0 +1,84 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nirbheek Chauhan <nirbheek@centricular.com>
Date: Wed, 21 Sep 2022 21:48:31 +0530
Subject: [PATCH] meson: Add a new option to control the source for orc
Previously we were unconditionally cloning the orc subproject because
we want the developer environment to use the latest orc. However, some
people want to use the system orc instead, or want to auto-detect
which to use, with the system orc getting preference. This requires
adding a new option to select that. See discussion at:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2556
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1282
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3062>
---
meson.build | 22 +++++++++++++++++++++-
meson_options.txt | 1 +
subprojects/orc.wrap | 3 +++
3 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 03df4ab157df..5b714eb5ee8f 100644
--- a/meson.build
+++ b/meson.build
@@ -126,7 +126,19 @@ elif build_system == 'darwin'
subproject('macos-bison-binary')
endif
-orc_subproject = subproject('orc', required: get_option('orc'))
+orc_option = get_option('orc')
+# There is a check below to keep this in sync with subprojects/gst-plugins-base/meson.build
+orc_req = '>= 0.4.24'
+orc_source_option = get_option('orc-source')
+orc_subproject = disabler()
+if orc_option.allowed()
+ if orc_source_option == 'subproject'
+ orc_subproject = subproject('orc', required: orc_option)
+ else
+ dependency('orc-0.4', version: orc_req, required: orc_option,
+ allow_fallback: orc_source_option == 'auto')
+ endif
+endif
foreach custom_subproj: get_option('custom_subprojects').split(',')
if custom_subproj != ''
@@ -162,6 +174,14 @@ foreach sp : subprojects
subproj = subproject(project_name, required: is_required)
endif
+ if project_name == 'gst-plugins-base'
+ gst_base_orc_req = subproj.get_variable('orc_req', '')
+ if gst_base_orc_req != orc_req
+ error('orc_req is "@0@" but it should be "@1@" from subprojects/gst-plugins-base/meson.build'
+ .format(orc_req, gst_base_orc_req))
+ endif
+ endif
+
if subproj.found()
plugins = subproj.get_variable('plugins', [])
all_plugins += plugins
diff --git a/meson_options.txt b/meson_options.txt
index 7a43f3443098..a2d4203c22ef 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -33,6 +33,7 @@ option('gst-full-device-providers', type : 'string', value : '',
description : '''List of device providers to expose in gstreamer-full's ABI with the syntax plugin1:dp1;plugin2:dp1:dp2. By default '' will export all device provider of the enabled plugin.''')
option('gst-full-dynamic-types', type : 'string', value : '',
description : '''List of dynamic types to expose in gstreamer-full's ABI with the syntax plugin:dt1,dt2. By default '' will export all device provider of the enabled plugin.''')
+option('orc-source', type: 'combo', choices: ['system', 'subproject', 'auto'], value: 'subproject')
# License-related feature options
option('gpl', type: 'feature', value: 'disabled',
diff --git a/subprojects/orc.wrap b/subprojects/orc.wrap
index 690d8e368b38..a3b553a614fa 100644
--- a/subprojects/orc.wrap
+++ b/subprojects/orc.wrap
@@ -3,3 +3,6 @@ directory=orc
url=https://gitlab.freedesktop.org/gstreamer/orc.git
push-url=git@gitlab.freedesktop.org:gstreamer/orc.git
revision=887392103956a8733a750c4442e2664d5c26527d
+
+[provide]
+orc-0.4 = orc_dep

View file

@ -1,28 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Mon, 6 Jun 2022 00:29:08 +0200
Subject: [PATCH] meson: Allow building with system orc
---
meson.build | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 617ba8a41461..509565e90891 100644
--- a/meson.build
+++ b/meson.build
@@ -112,7 +112,13 @@ elif build_system == 'darwin'
subproject('macos-bison-binary')
endif
-orc_subproject = subproject('orc', required: get_option('orc'))
+orc_subproject_required = get_option('orc')
+if orc_subproject_required.allowed()
+ # Download if possible, otherwise use system orc
+ orc_subproject_required = false
+endif
+
+orc_subproject = subproject('orc', required: orc_subproject_required)
foreach custom_subproj: get_option('custom_subprojects').split(',')
if custom_subproj != ''

View file

@ -11,10 +11,10 @@ Subject: [PATCH] HACK: meson: Disable broken tests
4 files changed, 4 deletions(-)
diff --git a/subprojects/gst-editing-services/meson.build b/subprojects/gst-editing-services/meson.build
index 1a4a29b3657f..857290baf35f 100644
index 2efa61a0355f..0fe8276d5903 100644
--- a/subprojects/gst-editing-services/meson.build
+++ b/subprojects/gst-editing-services/meson.build
@@ -274,7 +274,6 @@ subdir('plugins')
@@ -273,7 +273,6 @@ subdir('plugins')
if not get_option('tools').disabled()
subdir('tools')
endif
@ -23,7 +23,7 @@ index 1a4a29b3657f..857290baf35f 100644
subdir('examples')
endif
diff --git a/subprojects/gst-python/meson.build b/subprojects/gst-python/meson.build
index dce5982e59d7..ed51d7e88f36 100644
index 2f4c544f7079..5e0aef606e10 100644
--- a/subprojects/gst-python/meson.build
+++ b/subprojects/gst-python/meson.build
@@ -104,5 +104,4 @@ if not get_option('plugin').disabled()
@ -45,7 +45,7 @@ index 229af32f8117..b9372c125d77 100644
'gst/sessionpool',
'gst/stream',
diff --git a/subprojects/gstreamer-vaapi/meson.build b/subprojects/gstreamer-vaapi/meson.build
index 702441cb7b5c..9fff27ce91b9 100644
index 491765105820..42641a22878a 100644
--- a/subprojects/gstreamer-vaapi/meson.build
+++ b/subprojects/gstreamer-vaapi/meson.build
@@ -202,7 +202,6 @@ plugins = []

View file

@ -29,8 +29,8 @@ pkgname=(
gst-python
gstreamer-docs
)
pkgver=1.20.3
pkgrel=2
pkgver=1.20.4
pkgrel=1
pkgdesc="Multimedia graph framework"
url="https://gstreamer.freedesktop.org/"
arch=(x86_64)
@ -75,19 +75,19 @@ makedepends=(
)
checkdepends=(xorg-server-xvfb)
options=(debug)
_commit=ccf22e315cedf81e0075ab179ffb1b733da5206e # tags/1.20.3^0
_commit=642730bd67d3c23ac68bd328fbddd191a7a43f25 # tags/1.20.4^0
source=(
"git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git#commit=$_commit"
"https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-1.20.3.tar.xz"{,.asc}
0001-meson-Allow-building-with-system-orc.patch
"https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-${pkgver%%+*}.tar.xz"{,.asc}
0001-meson-Add-a-new-option-to-control-the-source-for-orc.patch
0002-HACK-meson-Disable-broken-tests.patch
0003-HACK-meson-Work-around-broken-detection-of-underscor.patch
)
sha256sums=('SKIP'
'73fc428a40d6a34c2ceb80e3e572b20f19f8ebe216d566f010de11573063f1bf'
'9a40511387c5b14fa8ed4555bda1bb9dd336b4b8a00e18cc97929b4dd930a79a'
'SKIP'
'292edebc224557db08404b0d53e2824413f0aad2a99c991de2cb8ccc6e9a7683'
'11971a978e37fda3822f95fb61b59ba3ded6487066dc59fcbde7b72a3a9cfe70'
'54115800d579864db41ba9b3f62745696a9e012ca5c7afa990ee6943f0912365'
'5cd72310f9f4230ca6bba6a2b972eb783296ab622a2586683cd8623b6907d3ff'
'79d3038a0ba0c3958ffa8b5aec8431336b372906c07c0c878c3767bec0acb46f')
validpgpkeys=(D637032E45B8C6585B9456565D2EEE6F6F349D7C) # Tim Müller <tim@gstreamer-foundation.org>
@ -100,7 +100,7 @@ prepare() {
cd gstreamer
# Fix linking with system orc
git apply -3 ../0001-meson-Allow-building-with-system-orc.patch
git apply -3 ../0001-meson-Add-a-new-option-to-control-the-source-for-orc.patch
# Disable broken tests
git apply -3 ../0002-HACK-meson-Disable-broken-tests.patch
@ -118,6 +118,7 @@ build() {
-D gpl=enabled
-D gst-examples=disabled
-D libnice=disabled
-D orc-source=system
-D vaapi=enabled
-D gstreamer:dbghelp=disabled
-D gstreamer:gobject-cast-checks=disabled
@ -725,7 +726,7 @@ package_gstreamer-docs() {
# make sure there are no files left to install
find root -depth -print0 | xargs -0 rmdir
cd gstreamer-docs-$pkgver
cd gstreamer-docs-${pkgver%%+*}
mkdir -p "$pkgdir/usr/share"
cp -a devhelp "$pkgdir/usr/share/devhelp"