Files
TheRock/third-party/sysdeps/linux/amd-mesa/mesa-fork/.gitlab-ci/container/build-gstreamer.sh
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

55 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
# When changing this file, you need to bump the following
# .gitlab-ci/image-tags.yml tags:
# DEBIAN_TEST_VIDEO_TAG
set -uex
section_start gstreamer "Building gstreamer"
GSTREAMER_VERSION=1.29.2
mkdir /gstreamer-build
pushd /gstreamer-build
git init
git fetch --depth 1 https://gitlab.freedesktop.org/gstreamer/gstreamer.git "$GSTREAMER_VERSION"
git checkout FETCH_HEAD
# FIXME: drop this when a release includes either fix:
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9568
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10895
git fetch --depth 2 https://gitlab.freedesktop.org/gstreamer/gstreamer.git \
62c43771825c10804c490c78edacb0a8362733ea 968cbebb8d6516c955de75b15746bc8c6324a92a
git cherry-pick 62c43771825c10804c490c78edacb0a8362733ea 968cbebb8d6516c955de75b15746bc8c6324a92a
# FIXME: `--libdir` should not be needed, meson is supposed to detect that this
# is debian and set the libdir to the debian format, but something's going wrong
libdir="lib/$(dpkg-architecture -qDEB_TARGET_MULTIARCH)"
meson setup build \
--buildtype release \
--prefix /usr \
--libdir "$libdir" \
-D gst-plugins-good:ximagesrc=disabled \
-D gst-plugins-bad:vulkan=enabled \
-D gst-plugins-bad:vulkan-video=enabled
# FIXME: gstreamer installs tons of other libs and files, some of which
# overwrite existing files and break unrelated functionality (eg. curl), so we
# need to filter and actually install only the gstreamer files.
DESTDIR="$PWD/install" ninja -C build install
for file in \
install/usr/bin/gst-* \
install/usr/"$libdir"/libgst* \
install/usr/"$libdir"/gstreamer-1.0/ \
install/usr/libexec/gstreamer-1.0/ \
install/usr/share/gstreamer-1.0/ \
; do
mv -v "$file" "${file#install}"
done
popd
rm -r /gstreamer-build
section_end gstreamer