diff mbox series

[v2] gstreamer1.0-vaapi: Enable hotdoc to produce doc

Message ID 20260304072430.9478-1-liuyd.fnst@fujitsu.com
State New
Headers show
Series [v2] gstreamer1.0-vaapi: Enable hotdoc to produce doc | expand

Commit Message

Liu Yiding March 4, 2026, 7:24 a.m. UTC
1. Add two patches to make generating doc works.
  0001-Disable-cross_build-check-to-make-doc-work-in-yocto.patch
  0002-Make-doc-build-in-default-rule.patch

2. Add INSANE_SKIP to fix do_package QA Issue

Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
---
 ...uild-check-to-make-doc-work-in-yocto.patch | 32 +++++++++++++++++++
 .../0002-Make-doc-build-in-default-rule.patch | 28 ++++++++++++++++
 .../gstreamer/gstreamer1.0-vaapi_1.26.9.bb    | 27 ++++++++++++++--
 3 files changed, 85 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-Disable-cross_build-check-to-make-doc-work-in-yocto.patch
 create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0002-Make-doc-build-in-default-rule.patch
diff mbox series

Patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-Disable-cross_build-check-to-make-doc-work-in-yocto.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-Disable-cross_build-check-to-make-doc-work-in-yocto.patch
new file mode 100644
index 0000000000..e628e3f61e
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-Disable-cross_build-check-to-make-doc-work-in-yocto.patch
@@ -0,0 +1,32 @@ 
+Subject: [PATCH] Disable cross_build check to make doc work in yocto.
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
+---
+ docs/meson.build | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/docs/meson.build b/docs/meson.build
+index ad5f785..1e7a808 100644
+--- a/docs/meson.build
++++ b/docs/meson.build
+@@ -4,15 +4,6 @@ if get_option('doc').disabled()
+   subdir_done()
+ endif
+ 
+-if meson.is_cross_build()
+-    if get_option('doc').enabled()
+-        error('Documentation enabled but building the doc while cross building is not supported yet.')
+-    endif
+-
+-    message('Documentation not built as building it while cross building is not supported yet.')
+-    subdir_done()
+-endif
+-
+ if static_build
+     if get_option('doc').enabled()
+         error('Documentation enabled but not supported when building statically.')
+-- 
+2.43.0
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0002-Make-doc-build-in-default-rule.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0002-Make-doc-build-in-default-rule.patch
new file mode 100644
index 0000000000..0e6801b858
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0002-Make-doc-build-in-default-rule.patch
@@ -0,0 +1,28 @@ 
+From 2c83bc5af6ada0e297bebb43e0e39a21d1914f75 Mon Sep 17 00:00:00 2001
+From: Liu Yiding <liuyd.fnst@fujitsu.com>
+Date: Wed, 4 Mar 2026 06:43:30 +0000
+Subject: [PATCH] Make doc build in default rule.
+
+Set docs/vaapi-doc as default build rule, so it can be build automaticallye.
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
+---
+ docs/meson.build | 2 +
+ 1 file changed, 2 insertion(+)
+
+diff --git a/docs/meson.build b/docs/meson.build
+index 1e7a808..19b5e86 100644
+--- a/docs/meson.build
++++ b/docs/meson.build
+@@ -76,4 +76,6 @@ plugins_doc = [hotdoc.generate_doc('vaapi',
+     gst_plugin_name: 'vaapi',
+     dependencies: [gstbase_dep, gstvideo_dep, gstallocators_dep, gstpbutils_dep,
+     libva_dep, gstlibvaapi_dep, gstgl_dep, libm] + plugins,
++    build_by_default: true,
++    install: true
+ )]
+-- 
+2.43.0
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.9.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.9.bb
index dc5055bb0c..ef6525ba2f 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.9.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.9.bb
@@ -9,7 +9,13 @@  REALPN = "gstreamer-vaapi"
 LICENSE = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
 
-SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
+SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz \
+          ${@bb.utils.contains('PACKAGECONFIG', 'hotdoc', d.getVar('SRC_URI_DOC'), '', d)} \
+          "
+
+SRC_URI_DOC = "file://0001-Disable-cross_build-check-to-make-doc-work-in-yocto.patch \
+               file://0002-Make-doc-build-in-default-rule.patch \
+"
 
 SRC_URI[sha256sum] = "bf989040404515dc9b042f4fdc49ff33a6dccf49d544736150e967b42665598e"
 
@@ -21,7 +27,6 @@  inherit meson pkgconfig features_check upstream-version-is-even
 REQUIRED_DISTRO_FEATURES ?= "opengl"
 
 EXTRA_OEMESON += " \
-    -Ddoc=disabled \
     -Dexamples=disabled \
     -Dtests=enabled \
 "
@@ -44,10 +49,28 @@  PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,udev libdrm"
 PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl"
 PACKAGECONFIG[encoders] = "-Dencoders=enabled,-Dencoders=disabled"
 PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/libgl"
+PACKAGECONFIG[hotdoc] = "-Ddoc=enabled,-Ddoc=disabled,hotdoc-native"
 PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols"
 PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxrandr libxrender"
 
+set_llvm_env() {
+    if ${@bb.utils.contains('PACKAGECONFIG', 'hotdoc', 'true', 'false', d)}; then
+        export LLVM_CONFIG=${STAGING_BINDIR_NATIVE}/llvm-config
+    fi
+}
+
+do_compile:prepend:class-target () {
+    set_llvm_env
+}
+
+do_install:prepend:class-target () {
+    set_llvm_env
+}
+
 FILES:${PN} += "${libdir}/gstreamer-*/*.so"
 FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
 FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
 FILES:${PN}-tests = "${bindir}/*"
+
+# Fix do_package_qa: QA Issue: non -staticdev package contains static .a library: gstreamer1.0-vaapi-doc path '/usr/share/doc/gstreamer1.0-vaapi/html/assets/js/search/annex.a' [staticdev], annex.a is a text file
+INSANE_SKIP:${PN}-doc += "staticdev"