mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-19 22:05:58 +00:00
98e3c7d8b8
We were doing a few things suboptimally: 1. Making a symlink from the current directory to ../../gstreamer/cerbero so that build-tools kept working, which should not be necessary since cerbero relocates all binaries inside the cerbero homedir after extracting the cache. 2. Hard-coding the cerbero builddir when building on Windows because `pwd` was outputting an MSYS-style path which Python can't read 3. rsync-ing all the contents of $CERBERO_HOST_DIR, which is bad because we should be building on top of the artifact cache. The only thing we want from $CERBERO_HOST_DIR is cerbero-sources (the network cache), and we can setup the toolchain during bootstrap with the new --system and --toolchains arguments which were split out of --system-only. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/350>
40 lines
2.3 KiB
Text
40 lines
2.3 KiB
Text
FROM registry.fedoraproject.org/fedora:31
|
|
|
|
ENV TERM="dumb"
|
|
|
|
ARG DEFAULT_BRANCH="master"
|
|
|
|
# System setup
|
|
RUN echo "fastestmirror=true" >> /etc/dnf/dnf.conf && \
|
|
dnf upgrade -y && \
|
|
dnf install -y sudo git lbzip2 rsync wine which
|
|
|
|
# Configure git for various usage
|
|
RUN git config --global user.email "cerbero@gstreamer.freedesktop.org" && \
|
|
git config --global user.name "Cerbero Build System"
|
|
|
|
RUN git clone -b ${DEFAULT_BRANCH} https://gitlab.freedesktop.org/gstreamer/cerbero.git && \
|
|
mkdir $HOME/.cerbero && \
|
|
echo "allow_parallel_build=True" > $HOME/.cerbero/cerbero.cbc && \
|
|
echo "use_ccache=True" >> $HOME/.cerbero/cerbero.cbc && \
|
|
cd cerbero && \
|
|
echo "local_sources=\"/cerbero/cerbero-sources\"" >> localconf.cbc && \
|
|
echo "home_dir=\"/cerbero/cerbero-build\"" >> localconf.cbc && \
|
|
./cerbero-uninstalled -t -c localconf.cbc bootstrap -y --build-tools=no --toolchains=no && \
|
|
./cerbero-uninstalled -t -c localconf.cbc fetch-bootstrap && \
|
|
./cerbero-uninstalled -t -c localconf.cbc fetch-package gstreamer-1.0 && \
|
|
./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win32.cbc fetch-bootstrap && \
|
|
./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win32.cbc fetch-package gstreamer-1.0 && \
|
|
./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win32.cbc bootstrap -y --build-tools=no --toolchains=no && \
|
|
./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win64.cbc fetch-bootstrap && \
|
|
./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win64.cbc fetch-package gstreamer-1.0 && \
|
|
./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win64.cbc bootstrap -y --build-tools=no --toolchains=no && \
|
|
./cerbero-uninstalled -t -c localconf.cbc -c config/cross-android-universal.cbc fetch-bootstrap && \
|
|
./cerbero-uninstalled -t -c localconf.cbc -c config/cross-android-universal.cbc fetch-package gstreamer-1.0 && \
|
|
./cerbero-uninstalled -t -c localconf.cbc -c config/cross-android-universal.cbc bootstrap -y --build-tools=no --toolchains=no && \
|
|
cd .. && \
|
|
rm /cerbero/cerbero-sources/android-ndk-*.zip && \
|
|
rm /cerbero/cerbero-sources/mingw-*.tar.xz && \
|
|
rm -rf /cerbero/cerbero-build/{dist,logs,sources} && \
|
|
rm -f /cerbero/cerbero-build/{linux,windows,android}*.cache && \
|
|
dnf clean all
|