mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 19:21:06 +00:00
Build documentation for rust plugins
- Update the docker image we use, starting using the standard one adding `gtk4-doc` as required by rust plugins - Update the plugins_doc_caches as required, some more plugins are built with the new image - Install ninja from pip as the version from F31 is too old - Avoid buildings all GSreamer plugins when building the doc as it takes time and resources for no good reason - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib documentation, leading to warnings in hotdoc. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
This commit is contained in:
parent
a75f74d2cd
commit
339e5916c6
6 changed files with 59 additions and 27 deletions
|
@ -24,7 +24,7 @@ variables:
|
|||
# If you are hacking on them or need a them to rebuild, its enough
|
||||
# to change any part of the string of the image you want.
|
||||
###
|
||||
FEDORA_TAG: '2022-09-02.0'
|
||||
FEDORA_TAG: '2022-09-14.0'
|
||||
INDENT_TAG: '2022-03-07.1'
|
||||
WINDOWS_TAG: "2022-09-02.0"
|
||||
|
||||
|
@ -658,25 +658,28 @@ valgrind ges:
|
|||
# ---- Integration ----- #
|
||||
|
||||
.documentation:
|
||||
image: $FEDORA_DOCS_IMAGE
|
||||
extends:
|
||||
- '.build_ccache_vars'
|
||||
extends: '.build fedora x86_64'
|
||||
variables:
|
||||
MESON_ARGS: *simple_build
|
||||
MESON_BUILDTYPE_ARGS: "-Ddoc=enabled -Drs=enabled"
|
||||
MESON_BUILDTYPE_ARGS: "-Ddoc=enabled -Drs=enabled -Dgst-docs:fatal_warnings=true"
|
||||
# Disable werror for the docs build, we don't need it
|
||||
MESON_GST_WERROR: ''
|
||||
CI_ARTIFACTS_URL: "${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/"
|
||||
script:
|
||||
# FIXME: should rebuild the image with newer versions!
|
||||
- pip3 install --upgrade hotdoc
|
||||
- pip3 install --upgrade meson
|
||||
- *build
|
||||
- export PATH=/usr/local/cargo/bin/:/usr/local/bin/:$PATH
|
||||
- export RUSTUP_HOME='/usr/local/rustup'
|
||||
|
||||
- ci/scripts/handle-subprojects-cache.py subprojects/
|
||||
- echo $MESON_ARGS
|
||||
- meson build/ $MESON_ARGS
|
||||
- ccache --show-stats
|
||||
|
||||
- ./gst-env.py ninja -C build/ plugins_doc_caches
|
||||
# Ignore modifications to wrap files made by meson
|
||||
- git checkout subprojects/*.wrap
|
||||
- ./ci/scripts/check-documentation-diff.py
|
||||
- ./gst-env.py hotdoc run --conf-file=build/subprojects/gst-docs/GStreamer-doc.json --fatal-warnings
|
||||
|
||||
- ./gst-env.py ninja -C build subprojects/gst-docs/GStreamer-doc
|
||||
- mv build/subprojects/gst-docs/GStreamer-doc/html documentation/
|
||||
|
||||
artifacts:
|
||||
|
@ -694,7 +697,8 @@ documentation:
|
|||
stage: integrate
|
||||
extends:
|
||||
- '.documentation'
|
||||
needs: []
|
||||
needs:
|
||||
- "fedora amd64 docker"
|
||||
rules:
|
||||
- if: '$CI_PROJECT_NAMESPACE == "gstreamer" && $CI_COMMIT_BRANCH == "main"'
|
||||
|
||||
|
@ -707,7 +711,7 @@ build documentation:
|
|||
- '.documentation'
|
||||
stage: build
|
||||
needs:
|
||||
- "trigger"
|
||||
- "fedora amd64 docker"
|
||||
rules:
|
||||
# Never run post merge, we have the `documentation` always running for that
|
||||
- if: '$CI_PROJECT_NAMESPACE == "gstreamer" && $CI_COMMIT_BRANCH == $GST_UPSTREAM_BRANCH'
|
||||
|
|
|
@ -4,7 +4,7 @@ set -eux
|
|||
# We need them to cleanly build our doc.
|
||||
sed -i "s/tsflags=nodocs//g" /etc/dnf/dnf.conf
|
||||
|
||||
dnf install -y git-core ninja-build dnf-plugins-core python3-pip
|
||||
dnf install -y git-core dnf-plugins-core python3-pip
|
||||
|
||||
# Configure git for various usage
|
||||
git config --global user.email "gstreamer@gstreamer.net"
|
||||
|
@ -41,6 +41,8 @@ dnf install -y \
|
|||
glslc \
|
||||
gtk3 \
|
||||
gtk3-devel \
|
||||
gtk4 \
|
||||
gtk4-devel \
|
||||
gtest \
|
||||
gtest-devel \
|
||||
graphene \
|
||||
|
@ -202,7 +204,10 @@ dnf builddep -y gstreamer1 \
|
|||
python3-gstreamer1
|
||||
|
||||
dnf remove -y meson
|
||||
pip3 install meson==0.60.3 hotdoc python-gitlab
|
||||
# FIXME: Install ninja from rpm when we update our base image as we fail building
|
||||
# documentation with rust plugins as we the version from F31 we hit:
|
||||
# `ninja: error: build.ninja:26557: multiple outputs aren't (yet?) supported by depslog; bring this up on the mailing list if it affects you
|
||||
pip3 install meson==0.60.3 hotdoc python-gitlab ninja tomli
|
||||
|
||||
|
||||
# Remove gst-devel packages installed by builddep above
|
||||
|
@ -210,13 +215,13 @@ dnf remove -y "gstreamer1*devel"
|
|||
|
||||
# FIXME: Why does installing directly with dnf doesn't actually install
|
||||
# the documentation files?
|
||||
dnf download glib2-doc gdk-pixbuf2-devel*x86_64* gtk3-devel-docs
|
||||
dnf download glib2-doc gdk-pixbuf2-devel*x86_64* gtk3-devel-docs gtk4-devel-docs
|
||||
rpm -i --reinstall *.rpm
|
||||
rm -f *.rpm
|
||||
|
||||
# Install Rust
|
||||
RUSTUP_VERSION=1.24.3
|
||||
RUST_VERSION=1.55.0
|
||||
RUSTUP_VERSION=1.25.1
|
||||
RUST_VERSION=1.63.0
|
||||
RUST_ARCH="x86_64-unknown-linux-gnu"
|
||||
|
||||
dnf install -y wget
|
||||
|
@ -233,6 +238,7 @@ chmod +x rustup-init;
|
|||
rm rustup-init;
|
||||
chmod -R a+w $RUSTUP_HOME $CARGO_HOME
|
||||
|
||||
cargo install cargo-c --version 0.9.12+cargo-0.64
|
||||
rustup --version
|
||||
cargo --version
|
||||
rustc --version
|
||||
|
|
|
@ -44016,7 +44016,7 @@
|
|||
"long-name": "libav Avid 1:1 10-bit RGB Packer encoder",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n",
|
||||
"caps": "video/x-raw:\n format: GBR_10LE\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
|
@ -64983,7 +64983,7 @@
|
|||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "128000",
|
||||
"default": "6300",
|
||||
"max": "2147483647",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
|
@ -100948,7 +100948,7 @@
|
|||
"long-name": "libav Apple ProRes encoder",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE }\n",
|
||||
"caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE, A444_10LE }\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
|
@ -102118,7 +102118,7 @@
|
|||
"long-name": "libav Apple ProRes encoder",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE }\n",
|
||||
"caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE, A444_10LE }\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
|
@ -105682,7 +105682,7 @@
|
|||
"long-name": "libav AJA Kona 10-bit RGB Codec encoder",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n",
|
||||
"caps": "video/x-raw:\n format: GBR_10LE\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
|
@ -134070,7 +134070,7 @@
|
|||
"long-name": "libav Zip Motion Blocks Video encoder",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n format: RGB8P\n",
|
||||
"caps": "video/x-raw:\n format: { RGB8P, RGB15, RGB16, BGRx }\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
|
@ -141543,6 +141543,11 @@
|
|||
"name": "qpel",
|
||||
"value": "0x00000010"
|
||||
},
|
||||
{
|
||||
"desc": "Drop frames whose parameters differ from first decoded frame",
|
||||
"name": "drop_changed",
|
||||
"value": "0x00000020"
|
||||
},
|
||||
{
|
||||
"desc": "use loop filter",
|
||||
"name": "loop",
|
||||
|
|
|
@ -221367,6 +221367,17 @@
|
|||
"tracers": {},
|
||||
"url": "Unknown package origin"
|
||||
},
|
||||
"qsv": {
|
||||
"description": "Intel Quick Sync Video plugin",
|
||||
"elements": {},
|
||||
"filename": "gstqsv",
|
||||
"license": "LGPL",
|
||||
"other-types": {},
|
||||
"package": "GStreamer Bad Plug-ins",
|
||||
"source": "gst-plugins-bad",
|
||||
"tracers": {},
|
||||
"url": "Unknown package origin"
|
||||
},
|
||||
"removesilence": {
|
||||
"description": "Removes silence from an audio stream",
|
||||
"elements": {
|
||||
|
|
|
@ -21,6 +21,12 @@
|
|||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* plugin-qsv:
|
||||
*
|
||||
* Since: 1.22
|
||||
*/
|
||||
|
||||
#include <gst/gst.h>
|
||||
#include <mfx.h>
|
||||
#include "gstqsvav1enc.h"
|
||||
|
|
|
@ -1759,9 +1759,9 @@ gst_element_get_metadata (GstElement * element, const gchar * key)
|
|||
*
|
||||
* Retrieves a list of the pad templates associated with @element_class. The
|
||||
* list must not be modified by the calling code.
|
||||
* > If you use this function in the #GInstanceInitFunc of an object class
|
||||
* > If you use this function in the GInstanceInitFunc of an object class
|
||||
* > that has subclasses, make sure to pass the g_class parameter of the
|
||||
* > #GInstanceInitFunc here.
|
||||
* > GInstanceInitFunc here.
|
||||
*
|
||||
* Returns: (transfer none) (element-type Gst.PadTemplate): the #GList of
|
||||
* pad templates.
|
||||
|
@ -1801,9 +1801,9 @@ gst_element_get_pad_template_list (GstElement * element)
|
|||
* @name: the name of the #GstPadTemplate to get.
|
||||
*
|
||||
* Retrieves a padtemplate from @element_class with the given name.
|
||||
* > If you use this function in the #GInstanceInitFunc of an object class
|
||||
* > If you use this function in the GInstanceInitFunc of an object class
|
||||
* > that has subclasses, make sure to pass the g_class parameter of the
|
||||
* > #GInstanceInitFunc here.
|
||||
* > GInstanceInitFunc here.
|
||||
*
|
||||
* Returns: (transfer none) (nullable): the #GstPadTemplate with the
|
||||
* given name, or %NULL if none was found. No unreferencing is
|
||||
|
|
Loading…
Reference in a new issue