mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-19 08:11:16 +00:00
76 lines
2.1 KiB
Text
76 lines
2.1 KiB
Text
FROM gstreamer/base-fedora:latest
|
|
|
|
# Add rpmfusion repositories and install all build dependencies of GStreamer
|
|
RUN dnf builddep -y \
|
|
gstreamer1 \
|
|
gstreamer1-plugins-base \
|
|
gstreamer1-plugins-good \
|
|
gstreamer1-plugins-good-extras \
|
|
gstreamer1-plugins-ugly \
|
|
gstreamer1-plugins-ugly-free \
|
|
gstreamer1-plugins-bad-nonfree \
|
|
gstreamer1-plugins-bad-free \
|
|
gstreamer1-plugins-bad-free-extras \
|
|
gstreamer1-plugins-bad-freeworld \
|
|
gstreamer1-libav \
|
|
gstreamer1-rtsp-server \
|
|
&& \
|
|
rpm -e \
|
|
gstreamer1 \
|
|
gstreamer1-plugins-base \
|
|
gstreamer1-devel \
|
|
gstreamer1-plugins-base-devel \
|
|
&& \
|
|
dnf install -y \
|
|
ccache \
|
|
gcc-c++ \
|
|
git \
|
|
json-glib-devel \
|
|
libunwind-devel \
|
|
opencv-devel \
|
|
openjpeg2-devel \
|
|
patch \
|
|
redhat-rpm-config \
|
|
xorg-x11-server-Xvfb \
|
|
xorg-x11-server-utils \
|
|
wget \
|
|
&& \
|
|
dnf clean all
|
|
|
|
# Clone copies of all repositories to avoid extra downloads
|
|
RUN mkdir /repositories && \
|
|
cd /repositories && \
|
|
for i in orc \
|
|
common \
|
|
gstreamer \
|
|
gst-plugins-base \
|
|
gst-plugins-good \
|
|
gst-plugins-bad \
|
|
gst-plugins-ugly \
|
|
gst-libav \
|
|
gst-build \
|
|
gst-devtools\
|
|
gst-docs \
|
|
gst-editing-services \
|
|
gst-omx \
|
|
gst-python \
|
|
gst-rtsp-server; \
|
|
do \
|
|
git clone --mirror https://anongit.freedesktop.org/git/gstreamer/$i; \
|
|
done
|
|
|
|
# Install repo tool
|
|
RUN wget -nd https://storage.googleapis.com/git-repo-downloads/repo -O /usr/bin/repo && chmod a+x /usr/bin/repo
|
|
|
|
# Add the user UID:1000, GID:1000, home at /gstbuild
|
|
RUN groupadd -r gstbuild -g 1000 && useradd -u 1000 -r -g gstbuild -m -d /gstbuild -s /sbin/nologin -c "Gstbuild user" gstbuild && \
|
|
chmod 755 /gstbuild
|
|
|
|
# Set the working directory to gstbuild home directory
|
|
WORKDIR /gstbuild
|
|
|
|
# Specify the user to execute all commands below
|
|
USER gstbuild
|
|
|
|
# Configure git for various usage
|
|
RUN git config --global user.email "gstbuild@gstreamer.net" && git config --global user.name "Gstbuild Runner"
|