gstreamer/docker/build-base-images/Dockerfile-fedora
2017-10-21 12:45:38 +02:00

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"