We install the rust toolchain, but then we have to manually
source it in CI since the headless containers skip over
the shell profiles that rustup typically uses.
Ideally we'd set these as variables in the main image, but
we don't have access to the buildah instance used in
ci-templates/cbuild.
However adding them to the toolbox image is good enough to
have the toolbox setup work ootb even if it doesn't call the
ci/scripts/source_image_env.sh script like the gitlab-ci jobs
will do.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
Previously the script will give you a command like:
```
toolbox create gst-toolbox ..
```
Which is a bit redundant since we are already creating
toolbox, we don't need to label it as such.
Now instead use gst-$GST_UPSTREAM_BRANCH for the name,
so we will suggest gst-main and gst-1.24 instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816>
Intead of passing around the output of the config generator program,
which consists of paths joined by a separator we can have the generator
simply produce an extra file containing those paths.
This commit only implements the new approach for the core plugins, as
this was needed to avoid spurious meson rebuilds when the pre-commit
hook regenerates the core plugins_cache.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231>
In the CI we don't have x11 or wayland compositor running,
so the va plugins don't initialize and the tests will keep
running against software encoders/decoders.
However when running locally or inside toolbox, this will
allow va plugins to initialize and be tested.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7762>
Use a path, which contains the namespace and the repo name instead of
the complete URL when triggering the Cerbero CI pipeline. Some of the
jobs in the Cerbero pipeline (specifically the examples build) need to
curl the API, and they need the path for that, not the website or git
URL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7799>
* Move the exported PATH variables into a script so
we can source it in all the wrapper scripts.
* Add a guard to only copy over the cache when the
SUBPROJECTS_CACHE_DIR variable is set, which only
happens on CI by default
* Make it possible to run the scripts with default
values for some of the variables, like WERROR and MESON_ARGS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7591>
Fixes g-ir-scanner breakage that seems to happen with latest Meson 1.6.0.
/usr/bin/ld: build/tmp-introspectki7q5vp9/GstBase-1.0.o: undefined reference to symbol 'gst_init'
/usr/bin/ld: build/subprojects/gstreamer/gst/libgstreamer-1.0.so.0: error adding symbols: DSO missing from command line
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7753>
We use rustup to source our rustc toolchain, however
due to rust being a common dependency, the toolchain
might get install when installing build depds of
packages.
Ensure rust can cargo are removed if that happens
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
This is mostly done to remove the hardcoded HOME
env var that ci-templates appends to the image. See [1]
[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2433#note_2243222
But it also allows us to add extra things useful for local
development to it, as long they don't interfere with the
build enviornment.
This also means we can switch the build image to be based
on top of the normal fedora one rather than toolbox,
so it will no longer advertise the toolbox compatible labels
since it was buggy anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>