Newer
Older
stages:
- container
- build
FDO_UPSTREAM_REPO: 'pipewire/wireplumber'
# change to build against a different tag or branch of pipewire
PIPEWIRE_HEAD: 'master'
# ci-templates as of May 1st 2020
.templates_sha: &templates_sha 59de540b620c45739871d1a073d76d5521989d11
include:
- project: 'freedesktop/ci-templates'
ref: *templates_sha
file: '/templates/fedora.yml'
.fedora:
variables:
# Update this tag when you want to trigger a rebuild
FDO_DISTRIBUTION_TAG: '2020-08-31.1'
FDO_DISTRIBUTION_VERSION: '32'
# findutils: used by the .build script below
# cmake: required for cpptoml submodule & hotdoc
# dbus-devel: required by pipewire
# dbus-daemon: required by GDBus unit tests
# libxml, json-glib: required by hotdoc
FDO_DISTRIBUTION_PACKAGES: >-
findutils
gcc
gcc-c++
git
meson
cmake
glib2-devel
gobject-introspection-devel
dbus-devel
dbus-daemon
libxml2-devel
json-glib-devel
# build hotdoc via pip, since there is no rpm package and make sure
# to remove its build-deps afterwards to save space.
# also install glib2-doc (required to make documentation links to GLib work)
# manually, to remove the 'tsflags=nodocs' flag that is enabled by default
# in the fedora docker image
FDO_DISTRIBUTION_EXEC: >-
dnf -y install python3-pip make python3-devel flex clang ;
HOTDOC_BUILD_C_EXTENSION=enabled pip3 install --no-cache-dir hotdoc ;
rm -rf ~/.cache/pip ;
dnf -y remove python3-pip make python3-devel flex clang ;
dnf -y install glib2-doc --setopt='tsflags='
# setup the environment
- export BUILD_ID="$CI_JOB_NAME"
- export PREFIX="$PWD/prefix-$BUILD_ID"
- export PW_BUILD_DIR="$PWD/build-pipewire-$BUILD_ID"
# Fedora also ships that, but without the test plugins that we need...
- git clone --depth=1 --branch="$PIPEWIRE_HEAD"
https://gitlab.freedesktop.org/pipewire/pipewire.git
- meson "$PW_BUILD_DIR" pipewire --prefix="$PREFIX"

George Kiagiadakis
committed
-Dpipewire-alsa=false -Dpipewire-pulseaudio=false -Dpipewire-jack=false
-Dalsa=false -Dv4l2=false -Djack=false -Dbluez5=false -Dvulkan=false
-Dgstreamer=false -Dsystemd=false
-Ddocs=false -Dman=false -Dexamples=false -Dpw-cat=false
-Dvideotestsrc=true -Daudiotestsrc=true -Dtest=true
- ninja -C "$PW_BUILD_DIR" install
# misc environment only for wireplumber
- export WP_BUILD_DIR="$PWD/build-wireplumber-$BUILD_ID"
- export XDG_RUNTIME_DIR="$(mktemp -p $PWD -d xdg-runtime-XXXXXX)"
- export PKG_CONFIG_PATH="$(dirname $(find "$PREFIX" -name 'libpipewire-*.pc')):$PKG_CONFIG_PATH"
script:
- meson "$WP_BUILD_DIR" . --prefix="$PREFIX"
-Dintrospection=enabled -Ddoc=enabled
- cd "$WP_BUILD_DIR"
- ninja
- ninja test
- ninja install
artifacts:
name: wireplumber-$CI_COMMIT_SHA
paths:
- build-*/meson-logs
container_fedora:
extends:
- .fedora
- .fdo.container-build@fedora
stage: container
build_on_fedora:
extends:
- .fedora
- .fdo.distribution-image@fedora
- .build
stage: build
pages:
stage: pages
dependencies:
- build_on_fedora
script:
- export PREFIX="$PWD/prefix-build_on_fedora"
- mkdir public
- cp -R $PREFIX/share/doc/wireplumber/html/* public/
artifacts:
paths:
- public