commit:     92103eee9acba549fd4d4708015d7405989b96bc
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue May 30 21:55:29 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue May 30 21:55:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92103eee

media-plugins/gst-plugins-opencv: wire up opencv patch for 1.22.x and add 
commentary

Thanks to leio for explaining it.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...plugins-bad-1.22.3-use-system-libs-opencv.patch | 99 ++++++++++++++++++++++
 ....ebuild => gst-plugins-opencv-1.22.3-r1.ebuild} |  8 +-
 2 files changed, 103 insertions(+), 4 deletions(-)

diff --git 
a/media-plugins/gst-plugins-opencv/files/gst-plugins-bad-1.22.3-use-system-libs-opencv.patch
 
b/media-plugins/gst-plugins-opencv/files/gst-plugins-bad-1.22.3-use-system-libs-opencv.patch
new file mode 100644
index 000000000000..cb05c45c2c31
--- /dev/null
+++ 
b/media-plugins/gst-plugins-opencv/files/gst-plugins-bad-1.22.3-use-system-libs-opencv.patch
@@ -0,0 +1,99 @@
+libgstopencv.so is "normally" installed by gst-plugins-bad, but we want it to
+be part of our gst-plugins-opencv package (installing it as part of 
gst-plugins-bad
+would at least be confusing, and also not ideal given it'd have to depend on 
opencv,
+even though we have gst-plugins-opencv).
+
+bad currently doesn't have a way to allow disabling everything but the opencv
+plugin bit, so that's what this patch does as a hack. It only keeps the bare
+minimum to build the opencv helper (i.e. disable everything that 
gst-plugins-bad
+does to not collide, but keep opencv).
+
+TODO: replace this with something more maintainable, e.g. possible hacks
+with submodules or creating a drop-in meson.build in the ebuild to just build
+the plugin & helper libs.
+--- a/ext/meson.build
++++ b/ext/meson.build
+@@ -64,7 +64,6 @@ subdir('ttml')
+ subdir('voaacenc')
+ subdir('voamrwbenc')
+ subdir('vulkan')
+-subdir('wayland')
+ subdir('webrtc')
+ subdir('webrtcdsp')
+ subdir('webp')
+--- a/gst-libs/gst/meson.build
++++ b/gst-libs/gst/meson.build
+@@ -1,24 +1 @@
+-subdir('uridownloader')
+-
+-subdir('adaptivedemux')
+-subdir('audio')
+-subdir('basecamerabinsrc')
+-subdir('codecparsers')
+-subdir('codecs')
+-subdir('d3d11')
+-# cuda can depend on d3d11
+-subdir('cuda')
+-subdir('insertbin')
+-subdir('interfaces')
+-subdir('isoff')
+-subdir('mpegts')
+ subdir('opencv')
+-subdir('play')
+-subdir('player')
+-subdir('sctp')
+-subdir('transcoder')
+-subdir('va')
+-subdir('vulkan')
+-subdir('wayland')
+-subdir('webrtc')
+-subdir('winrt')
+--- a/meson.build
++++ b/meson.build
+@@ -530,23 +530,10 @@ pkgconfig_variables = ['exec_prefix=${prefix}',
+ 
+ pkgconfig_subdirs = ['gstreamer-1.0']
+ 
+-pkgconfig.generate(
+-  libraries : [gst_dep],
+-  variables : pkgconfig_variables,
+-  subdirs : pkgconfig_subdirs,
+-  name : 'gstreamer-plugins-bad-1.0',
+-  description : 'Streaming media framework, bad plugins libraries',
+-)
+-
+ gpl_allowed = get_option('gpl').allowed()
+ 
+ subdir('gst-libs')
+-subdir('gst')
+-subdir('sys')
+ subdir('ext')
+-subdir('tests')
+-subdir('data')
+-subdir('tools')
+ 
+ if have_orcc
+   update_orc_dist_files = find_program('scripts/update-orc-dist-files.py')
+--- a/sys/meson.build
++++ b/sys/meson.build
+@@ -18,7 +18,6 @@ subdir('msdk')
+ subdir('nvcodec')
+ subdir('opensles')
+ subdir('qsv')
+-subdir('shm')
+ subdir('tinyalsa')
+ subdir('uvch264')
+ subdir('v4l2codecs')
+diff --git a/ext/meson.build b/ext/meson.build
+index ebf7e3b..4124917 100644
+--- a/ext/meson.build
++++ b/ext/meson.build
+@@ -64,8 +64,6 @@ subdir('ttml')
+ subdir('voaacenc')
+ subdir('voamrwbenc')
+ subdir('vulkan')
+-subdir('webrtc')
+-subdir('webrtcdsp')
+ subdir('webp')
+ subdir('wildmidi')
+ subdir('wpe')

diff --git a/media-plugins/gst-plugins-opencv/gst-plugins-opencv-1.22.3.ebuild 
b/media-plugins/gst-plugins-opencv/gst-plugins-opencv-1.22.3-r1.ebuild
similarity index 82%
rename from media-plugins/gst-plugins-opencv/gst-plugins-opencv-1.22.3.ebuild
rename to media-plugins/gst-plugins-opencv/gst-plugins-opencv-1.22.3-r1.ebuild
index 1356163c0ab0..dd4e9c41a067 100644
--- a/media-plugins/gst-plugins-opencv/gst-plugins-opencv-1.22.3.ebuild
+++ b/media-plugins/gst-plugins-opencv/gst-plugins-opencv-1.22.3-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 GST_ORG_MODULE=gst-plugins-bad
-PYTHON_COMPAT=( python3_{8,9,10,11} )
+PYTHON_COMPAT=( python3_{10..11} )
 inherit gstreamer-meson python-any-r1
 
 DESCRIPTION="OpenCV elements for GStreamer"
@@ -16,9 +16,9 @@ RDEPEND="
 DEPEND="${RDEPEND}"
 BDEPEND="${PYTHON_DEPS}"
 
-#PATCHES=(
-#      "${FILESDIR}"/gst-plugins-bad-1.20.1-use-system-libs-opencv.patch
-#)
+PATCHES=(
+       "${FILESDIR}"/gst-plugins-bad-1.22.3-use-system-libs-opencv.patch
+)
 
 src_prepare() {
        default

Reply via email to