Docker: Update build image with final OCIOv2, Qt 5.15.2, OTIO, Crashpad (#1489)

* Add missing xcb-util-* packages. Qt's libqxcb.so seems to require them in the newer Qt version

* Adjust breakpad install prefix to match CMake change

* Add build script for Olive for quick testing

* .n in CI image actually stands for image revision

* skipping the CI is now supported natively by GitHub Actions
This commit is contained in:
Simran
2021-03-25 03:59:42 +01:00
committed by GitHub
parent 2d420decf0
commit cc317a8b1a
16 changed files with 115 additions and 78 deletions
+2 -14
View File
@@ -36,28 +36,20 @@ jobs:
compiler-name: GCC 9.3.1 compiler-name: GCC 9.3.1
cmake-gen: Ninja cmake-gen: Ninja
os-name: Linux (CentOS 7) os-name: Linux (CentOS 7)
vfx-cy: 2021
ci-common-version: 2
- build-type: RelWithDebInfo - build-type: RelWithDebInfo
cc-compiler: clang cc-compiler: clang
cxx-compiler: clang++ cxx-compiler: clang++
compiler-name: Clang 10.0.0 compiler-name: Clang 10.0.0
cmake-gen: Ninja cmake-gen: Ninja
os-name: Linux (CentOS 7) os-name: Linux (CentOS 7)
vfx-cy: 2021
ci-common-version: 2
name: | name: |
${{ matrix.os-name }} ${{ matrix.os-name }}
<${{ matrix.compiler-name }}, <${{ matrix.compiler-name }},
${{ matrix.build-type }}, ${{ matrix.build-type }},
${{ matrix.cmake-gen }}, ${{ matrix.cmake-gen }}>
VFX CY${{ matrix.vfx-cy }},
CI Common Version ${{ matrix.ci-common-version }}>
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
image: olivevideoeditor/ci-olive:${{ matrix.vfx-cy }}.${{ matrix.ci-common-version }} image: olivevideoeditor/ci-olive:2021.3
if: >-
!contains(github.event.head_commit.message, '[skip ci]')
steps: steps:
- name: Checkout Source Code - name: Checkout Source Code
@@ -138,8 +130,6 @@ jobs:
${{ matrix.build-type }}, ${{ matrix.build-type }},
${{ matrix.cmake-gen }}> ${{ matrix.cmake-gen }}>
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
if: >-
!contains(github.event.head_commit.message, '[skip ci]')
steps: steps:
- name: Checkout Source Code - name: Checkout Source Code
@@ -284,8 +274,6 @@ jobs:
${{ matrix.build-type }}, ${{ matrix.build-type }},
${{ matrix.cmake-gen }}> ${{ matrix.cmake-gen }}>
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
if: >-
!contains(github.event.head_commit.message, '[skip ci]')
steps: steps:
- name: Checkout Source Code - name: Checkout Source Code
-1
View File
@@ -51,7 +51,6 @@ find_library(OCIO_LIBRARY
libOpenColorIO.so.2.0 # libOpenColorIO.so.2.0 (Linux) libOpenColorIO.so.2.0 # libOpenColorIO.so.2.0 (Linux)
OpenColorIO.2.0 # libOpenColorIO.2.0.dylib (macOS) OpenColorIO.2.0 # libOpenColorIO.2.0.dylib (macOS)
OpenColorIO_2_0 # OpenColorIO_2_0.lib (Windows) OpenColorIO_2_0 # OpenColorIO_2_0.lib (Windows)
OpenColorIO # (fallback)
HINTS HINTS
"${OCIO_LOCATION}" "${OCIO_LOCATION}"
"$ENV{OCIO_LOCATION}" "$ENV{OCIO_LOCATION}"
+12 -5
View File
@@ -14,7 +14,7 @@ images maintained by the Olive team as well as from
Dependency hierarchy: Dependency hierarchy:
1. `ci-common` 1. `ci-common`
2. `ci-otio`, `ci-crashpad`, `ci-ffmpeg` 2. `ci-otio`, `ci-crashpad`, `ci-ffmpeg`, `ci-ocio`
3. `ci-olive` 3. `ci-olive`
## Usage ## Usage
@@ -26,14 +26,15 @@ docker pull olivevideoeditor/ci-common:2
docker pull olivevideoeditor/ci-package-otio docker pull olivevideoeditor/ci-package-otio
docker pull olivevideoeditor/ci-package-crashpad docker pull olivevideoeditor/ci-package-crashpad
docker pull olivevideoeditor/ci-package-ffmpeg:4.2.4 docker pull olivevideoeditor/ci-package-ffmpeg:4.2.4
docker pull olivevideoeditor/ci-olive:2021.2 docker pull olivevideoeditor/ci-package-ocio:2021-2.0.0
docker pull olivevideoeditor/ci-olive:2021.3
``` ```
Use `ci-olive` image as local build container, by mounting working copy at Use `ci-olive` image as local build container, by mounting working copy at
`~/olive` into guest system at `/opt/olive/olive`: `~/olive` into guest system at `/opt/olive/olive`:
```bash ```bash
docker run --rm -it -v ~/olive:/opt/olive/olive olivevideoeditor/ci-olive:2021.2 docker run --rm -it -v ~/olive:/opt/olive/olive olivevideoeditor/ci-olive:2021.3
mkdir build mkdir build
cd build cd build
cmake .. -G Ninja cmake .. -G Ninja
@@ -48,9 +49,14 @@ docker build -t olivevideoeditor/ci-common:2 -f ci-common/Dockerfile .
docker build -t olivevideoeditor/ci-package-otio -f ci-otio/Dockerfile . docker build -t olivevideoeditor/ci-package-otio -f ci-otio/Dockerfile .
docker build -t olivevideoeditor/ci-package-crashpad -f ci-crashpad/Dockerfile . docker build -t olivevideoeditor/ci-package-crashpad -f ci-crashpad/Dockerfile .
docker build -t olivevideoeditor/ci-package-ffmpeg:4.2.4 -f ci-ffmpeg/Dockerfile . docker build -t olivevideoeditor/ci-package-ffmpeg:4.2.4 -f ci-ffmpeg/Dockerfile .
docker build -t olivevideoeditor/ci-olive:2021.2 -f ci-olive/Dockerfile . docker build -t olivevideoeditor/ci-package-ocio:2021-2.0.0 -f ci-ocio/Dockerfile .
docker build -t olivevideoeditor/ci-olive:2021.3 -f ci-olive/Dockerfile .
``` ```
Note that `2021` in `ci-olive:2021.3` stands for the
[VFX Reference Platform](http://vfxplatform.com/) calendar year and `3` for the
build image revision (should be incremented each time a new image is published).
Publish images: Publish images:
``` ```
@@ -58,5 +64,6 @@ docker push olivevideoeditor/ci-common:2
docker push olivevideoeditor/ci-package-otio docker push olivevideoeditor/ci-package-otio
docker push olivevideoeditor/ci-package-crashpad docker push olivevideoeditor/ci-package-crashpad
docker push olivevideoeditor/ci-package-ffmpeg:4.2.4 docker push olivevideoeditor/ci-package-ffmpeg:4.2.4
docker push olivevideoeditor/ci-olive:2021.2 docker push olivevideoeditor/ci-package-ocio:2021-2.0.0
docker push olivevideoeditor/ci-olive:2021.3
``` ```
+7 -7
View File
@@ -1,5 +1,6 @@
# Copyright (C) 2020 Olive Team # Copyright (C) 2020 Olive Team
# SPDX-License-Identifier: GPL-3.0-or-later # Copyright (c) Contributors to the aswf-docker Project. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
# Build image (default): # Build image (default):
# docker build -t olivevideoeditor/ci-common:2 -f ci-common/Dockerfile . # docker build -t olivevideoeditor/ci-common:2 -f ci-common/Dockerfile .
@@ -8,7 +9,7 @@ ARG OLIVE_ORG=olivevideoeditor
ARG ASWF_PKG_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting
ARG CI_COMMON_VERSION=2 ARG CI_COMMON_VERSION=2
ARG DTS_VERSION=9 ARG DTS_VERSION=9
ARG CMAKE_VERSION=3.17.3 ARG CMAKE_VERSION=3.19.3
FROM ${ASWF_PKG_ORG}/ci-package-clang:${CI_COMMON_VERSION} as ci-package-clang FROM ${ASWF_PKG_ORG}/ci-package-clang:${CI_COMMON_VERSION} as ci-package-clang
FROM ${ASWF_PKG_ORG}/ci-package-ninja:${CI_COMMON_VERSION} as ci-package-ninja FROM ${ASWF_PKG_ORG}/ci-package-ninja:${CI_COMMON_VERSION} as ci-package-ninja
@@ -31,21 +32,19 @@ LABEL org.opencontainers.image.licenses="GPL-3.0-or-later"
USER root USER root
COPY scripts/${CI_COMMON_VERSION}/versions_common.sh \ COPY scripts/common/install_yumpackages.sh \
scripts/common/install_yumpackages.sh \
scripts/common/before_build.sh \ scripts/common/before_build.sh \
scripts/common/copy_new_files.sh \ scripts/common/copy_new_files.sh \
/tmp/ /tmp/
RUN source /tmp/versions_common.sh && \ ENV DTS_VERSION=${DTS_VERSION}
/tmp/install_yumpackages.sh RUN /tmp/install_yumpackages.sh
RUN mkdir /opt/olive RUN mkdir /opt/olive
WORKDIR /opt/olive WORKDIR /opt/olive
ENV OLIVE_ORG=${OLIVE_ORG} \ ENV OLIVE_ORG=${OLIVE_ORG} \
CI_COMMON_VERSION=${CI_COMMON_VERSION} \ CI_COMMON_VERSION=${CI_COMMON_VERSION} \
DTS_VERSION=${DTS_VERSION} \
CMAKE_VERSION=${CMAKE_VERSION} \ CMAKE_VERSION=${CMAKE_VERSION} \
LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \ LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/rh/httpd24/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib64:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/lib:${LD_LIBRARY_PATH} \
PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin PATH=/opt/rh/rh-git218/root/usr/bin:/usr/local/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin:/opt/app-root/src/bin:/opt/rh/devtoolset-${DTS_VERSION}/root/usr/bin/:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin
@@ -69,3 +68,4 @@ RUN export DOWNLOADS_DIR=/tmp/downloads && \
/tmp/install_cmake.sh && \ /tmp/install_cmake.sh && \
# /tmp/patchup.sh && \ # /tmp/patchup.sh && \
rm -rf /tmp/downloads rm -rf /tmp/downloads
# TODO: Remove scripts from /tmp ?
+5 -3
View File
@@ -9,6 +9,7 @@ ARG CI_COMMON_VERSION=2
ARG FFMPEG_VERSION=4.2.4 ARG FFMPEG_VERSION=4.2.4
ARG NASM_VERSION=2.15.03 ARG NASM_VERSION=2.15.03
ARG YASM_VERSION=1.3.0 ARG YASM_VERSION=1.3.0
ARG AOM_VERSION=v2.0.1
ARG X265_VERSION=3.4 ARG X265_VERSION=3.4
ARG OGG_VERSION=1.3.4 ARG OGG_VERSION=1.3.4
ARG OPUS_VERSION=1.3.1 ARG OPUS_VERSION=1.3.1
@@ -20,7 +21,7 @@ ARG LAME_VERSION=3.100
ARG XVID_VERSION=1.3.5 ARG XVID_VERSION=1.3.5
ARG OPENJPEG_VERSION=2.3.1 ARG OPENJPEG_VERSION=2.3.1
ARG LIBPNG_VERSION=1.6.31 ARG LIBPNG_VERSION=1.6.31
# TODO: Make version of x264, x265 and libvpx selectable? # TODO: Make version of x264 selectable?
ARG NUM_JOBS=2 ARG NUM_JOBS=2
FROM ${OLIVE_ORG}/ci-common:${CI_COMMON_VERSION} as ci-ffmpeg FROM ${OLIVE_ORG}/ci-common:${CI_COMMON_VERSION} as ci-ffmpeg
@@ -30,6 +31,7 @@ ARG CI_COMMON_VERSION
ARG FFMPEG_VERSION ARG FFMPEG_VERSION
ARG NASM_VERSION ARG NASM_VERSION
ARG YASM_VERSION ARG YASM_VERSION
ARG AOM_VERSION
ARG X265_VERSION ARG X265_VERSION
ARG OGG_VERSION ARG OGG_VERSION
ARG OPUS_VERSION ARG OPUS_VERSION
@@ -41,8 +43,7 @@ ARG LAME_VERSION
ARG XVID_VERSION ARG XVID_VERSION
ARG OPENJPEG_VERSION ARG OPENJPEG_VERSION
ARG LIBPNG_VERSION ARG LIBPNG_VERSION
# TODO: Make version of x264, x265 and libvpx selectable? ARG NUM_JOBS
ARG NUM_JOBS=2
LABEL maintainer="olivevideoeditor@gmail.com" LABEL maintainer="olivevideoeditor@gmail.com"
LABEL org.opencontainers.image.name="$OLIVE_ORG/ci-ffmpeg" LABEL org.opencontainers.image.name="$OLIVE_ORG/ci-ffmpeg"
@@ -61,6 +62,7 @@ ENV OLIVE_ORG=${OLIVE_ORG} \
FFMPEG_VERSION=${FFMPEG_VERSION} \ FFMPEG_VERSION=${FFMPEG_VERSION} \
NASM_VERSION=${NASM_VERSION} \ NASM_VERSION=${NASM_VERSION} \
YASM_VERSION=${YASM_VERSION} \ YASM_VERSION=${YASM_VERSION} \
AOM_VERSION=${AOM_VERSION} \
X265_VERSION=${X265_VERSION} \ X265_VERSION=${X265_VERSION} \
OGG_VERSION=${OGG_VERSION} \ OGG_VERSION=${OGG_VERSION} \
OPUS_VERSION=${OPUS_VERSION} \ OPUS_VERSION=${OPUS_VERSION} \
+5 -1
View File
@@ -2,12 +2,14 @@
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# Build image (default): # Build image (default):
# docker build -t olivevideoeditor/ci-package-ocio:2021-2.0 -f ci-ocio/Dockerfile . # docker build -t olivevideoeditor/ci-package-ocio:2021-2.0.0 -f ci-ocio/Dockerfile .
ARG OLIVE_ORG=olivevideoeditor ARG OLIVE_ORG=olivevideoeditor
ARG ASWF_PKG_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting
ARG CI_COMMON_VERSION=2 ARG CI_COMMON_VERSION=2
ARG VFXPLATFORM_VERSION=2021 ARG VFXPLATFORM_VERSION=2021
# OCIO repo branch or tag name
ARG OCIO_VERSION=v2.0.0
# Latest configs ~3 GB because of ACES 1.0.x. # Latest configs ~3 GB because of ACES 1.0.x.
# Upstream only copies nuke-default, therefore we also use the older configs. # Upstream only copies nuke-default, therefore we also use the older configs.
ARG OCIO_CONFIGS_VERSION=1.0_r2 ARG OCIO_CONFIGS_VERSION=1.0_r2
@@ -17,6 +19,7 @@ FROM ${OLIVE_ORG}/ci-common:${CI_COMMON_VERSION} as ci-ocio
ARG OLIVE_ORG ARG OLIVE_ORG
ARG CI_COMMON_VERSION ARG CI_COMMON_VERSION
ARG VFXPLATFORM_VERSION ARG VFXPLATFORM_VERSION
ARG OCIO_VERSION
ARG OCIO_CONFIGS_VERSION ARG OCIO_CONFIGS_VERSION
LABEL maintainer="olivevideoeditor@gmail.com" LABEL maintainer="olivevideoeditor@gmail.com"
@@ -32,6 +35,7 @@ LABEL org.opencontainers.image.licenses="GPL-3.0-or-later"
ENV OLIVE_ORG=${OLIVE_ORG} \ ENV OLIVE_ORG=${OLIVE_ORG} \
CI_COMMON_VERSION=${CI_COMMON_VERSION} \ CI_COMMON_VERSION=${CI_COMMON_VERSION} \
VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} \ VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} \
OCIO_VERSION=${OCIO_VERSION} \
OCIO_CONFIGS_VERSION=${OCIO_CONFIGS_VERSION} \ OCIO_CONFIGS_VERSION=${OCIO_CONFIGS_VERSION} \
OLIVE_INSTALL_PREFIX=/usr/local OLIVE_INSTALL_PREFIX=/usr/local
+9 -2
View File
@@ -2,13 +2,17 @@
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# Build image (default): # Build image (default):
# docker build -t olivevideoeditor/ci-olive:2021.2 -f ci-olive/Dockerfile . # docker build -t olivevideoeditor/ci-olive:2021.3 -f ci-olive/Dockerfile .
#
# .n is the build image revision number. It should be incremented each time a
# new image is published (also update the GitHub Actions workflow!).
# This allows to revert to a previous image should something go wrong.
ARG OLIVE_ORG=olivevideoeditor ARG OLIVE_ORG=olivevideoeditor
ARG ASWF_PKG_ORG=aswftesting ARG ASWF_PKG_ORG=aswftesting
ARG CI_COMMON_VERSION=2 ARG CI_COMMON_VERSION=2
ARG VFXPLATFORM_VERSION=2021 ARG VFXPLATFORM_VERSION=2021
ARG OCIO_VERSION=2.0 ARG OCIO_VERSION=2.0.0
ARG FFMPEG_VERSION=4.2.4 ARG FFMPEG_VERSION=4.2.4
FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt
@@ -16,6 +20,8 @@ FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-pyth
FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost FROM ${ASWF_PKG_ORG}/ci-package-boost:${VFXPLATFORM_VERSION} as ci-package-boost
FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr FROM ${ASWF_PKG_ORG}/ci-package-openexr:${VFXPLATFORM_VERSION} as ci-package-openexr
FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio FROM ${ASWF_PKG_ORG}/ci-package-oiio:${VFXPLATFORM_VERSION} as ci-package-oiio
#FROM ${ASWF_PKG_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-${OCIO_VERSION} as ci-package-ocio
# Our package is compiled as RelWithDebInfo
FROM ${OLIVE_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-${OCIO_VERSION} as ci-package-ocio FROM ${OLIVE_ORG}/ci-package-ocio:${VFXPLATFORM_VERSION}-${OCIO_VERSION} as ci-package-ocio
FROM ${OLIVE_ORG}/ci-package-ffmpeg:${FFMPEG_VERSION} as ci-package-ffmpeg FROM ${OLIVE_ORG}/ci-package-ffmpeg:${FFMPEG_VERSION} as ci-package-ffmpeg
FROM ${OLIVE_ORG}/ci-package-crashpad:latest as ci-package-crashpad FROM ${OLIVE_ORG}/ci-package-crashpad:latest as ci-package-crashpad
@@ -50,6 +56,7 @@ COPY --from=ci-package-ocio /. /usr/local/
COPY --from=ci-package-ffmpeg /. /usr/local/ COPY --from=ci-package-ffmpeg /. /usr/local/
COPY --from=ci-package-crashpad /. /usr/local/ COPY --from=ci-package-crashpad /. /usr/local/
COPY --from=ci-package-otio /. /usr/local/ COPY --from=ci-package-otio /. /usr/local/
COPY scripts/build_olive.sh /tmp/
RUN curl --location "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" \ RUN curl --location "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" \
-o "/usr/local/linuxdeployqt-x86_64.AppImage" && \ -o "/usr/local/linuxdeployqt-x86_64.AppImage" && \
+8 -8
View File
@@ -9,9 +9,10 @@ ARG ASWF_PKG_ORG=aswftesting
ARG CI_COMMON_VERSION=2 ARG CI_COMMON_VERSION=2
ARG VFXPLATFORM_VERSION=2021 ARG VFXPLATFORM_VERSION=2021
FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python # We are currently not interested in the Python implementation and bindings
FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt #FROM ${ASWF_PKG_ORG}/ci-package-python:${VFXPLATFORM_VERSION} as ci-package-python
FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside #FROM ${ASWF_PKG_ORG}/ci-package-qt:${VFXPLATFORM_VERSION} as ci-package-qt
#FROM ${ASWF_PKG_ORG}/ci-package-pyside:${VFXPLATFORM_VERSION} as ci-package-pyside
FROM ${OLIVE_ORG}/ci-common:${CI_COMMON_VERSION} as ci-otio FROM ${OLIVE_ORG}/ci-common:${CI_COMMON_VERSION} as ci-otio
@@ -32,21 +33,20 @@ LABEL org.opencontainers.image.licenses="GPL-3.0-or-later"
ENV OLIVE_ORG=${OLIVE_ORG} \ ENV OLIVE_ORG=${OLIVE_ORG} \
CI_COMMON_VERSION=${CI_COMMON_VERSION} \ CI_COMMON_VERSION=${CI_COMMON_VERSION} \
VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} \ VFXPLATFORM_VERSION=${VFXPLATFORM_VERSION} \
PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:/usr/local/lib/python \
OLIVE_INSTALL_PREFIX=/usr/local OLIVE_INSTALL_PREFIX=/usr/local
# PYTHONPATH=/usr/local/lib/python${PYTHON_VERSION}/site-packages:/usr/local/lib/python \
COPY scripts/base/install_cmake.sh \ COPY scripts/base/install_cmake.sh \
scripts/build_otio.sh \ scripts/build_otio.sh \
/tmp/ /tmp/
COPY --from=ci-package-python /. /usr/local/ #COPY --from=ci-package-python /. /usr/local/
COPY --from=ci-package-qt /. /usr/local/ #COPY --from=ci-package-qt /. /usr/local/
COPY --from=ci-package-pyside /. /usr/local/ #COPY --from=ci-package-pyside /. /usr/local/
RUN export DOWNLOADS_DIR=/tmp/downloads && \ RUN export DOWNLOADS_DIR=/tmp/downloads && \
mkdir /tmp/downloads && \ mkdir /tmp/downloads && \
/tmp/install_cmake.sh && \ /tmp/install_cmake.sh && \
pip install flake8 tox urllib3 && \
rm -rf /tmp/downloads rm -rf /tmp/downloads
RUN /tmp/before_build.sh && \ RUN /tmp/before_build.sh && \
-9
View File
@@ -1,9 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) Contributors to the aswf-docker Project. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
set -ex
export DTS_VERSION=9
export CLANG_VERSION=10.0.0
export NINJA_VERSION=1.10.0
-13
View File
@@ -1,13 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) Contributors to the aswf-docker Project. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
set -ex
export BOOST_VERSION=1.70.0
export CMAKE_VERSION=3.17.3
export NUMPY_VERSION=1.16
export PYSIDE_VERSION=5.12.6
export PYTHON_VERSION_FULL=3.7.3
export PYTHON_VERSION=3.7
export QT_VERSION=5.12.8
+1 -1
View File
@@ -77,6 +77,6 @@ mkdir breakpad
cd breakpad cd breakpad
fetch breakpad fetch breakpad
cd src cd src
./configure --prefix="${OLIVE_INSTALL_PREFIX}/breakpad" ./configure --prefix="${OLIVE_INSTALL_PREFIX}"
make make
make install -j$(nproc) make install -j$(nproc)
+18 -2
View File
@@ -2,7 +2,7 @@
# Copyright (C) 2020 Olive Team # Copyright (C) 2020 Olive Team
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# Largely copied from https://trac.ffmpeg.org/wiki/CompilationGuide/Centos # Largely based on https://trac.ffmpeg.org/wiki/CompilationGuide/Centos
# #
# Uses { command } & pattern for parallelism https://gist.github.com/thenadz/6c0584d42fb007582fbc # Uses { command } & pattern for parallelism https://gist.github.com/thenadz/6c0584d42fb007582fbc
# #
@@ -44,6 +44,21 @@ set -ex
# join jobs, some libs depend on NASM/YASM # join jobs, some libs depend on NASM/YASM
wait wait
# Set up libaom
{
git clone --depth 1 --branch "${AOM_VERSION}" "https://aomedia.googlesource.com/aom"
cd aom
mkdir _build
cd _build
cmake .. \
-DCMAKE_INSTALL_PREFIX="${OLIVE_INSTALL_PREFIX}" \
-DBUILD_SHARED_LIBS=1
cmake --build .
cmake --install .
cd ../..
rm -rf aom
} &
# Set up libx264 # Set up libx264
{ {
# TODO: Checkout stable branch instead of master? # TODO: Checkout stable branch instead of master?
@@ -248,12 +263,13 @@ tar xf ffmpeg.tar.xz
cd ffmpeg* cd ffmpeg*
# TODO: --enable-debug? # TODO: --enable-debug?
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" ./configure \ PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH" ./configure \
--disable-doc \ --disable-doc \
--disable-ffplay \ --disable-ffplay \
--enable-gpl \ --enable-gpl \
--enable-version3 \ --enable-version3 \
--enable-shared \ --enable-shared \
--enable-libaom \
--enable-libfreetype \ --enable-libfreetype \
--enable-libx264 \ --enable-libx264 \
--enable-libx265 \ --enable-libx265 \
+1 -1
View File
@@ -7,7 +7,7 @@ set -ex
mkdir ocio mkdir ocio
cd ocio cd ocio
git clone --depth 1 https://github.com/AcademySoftwareFoundation/OpenColorIO.git git clone --depth 1 --branch "${OCIO_VERSION}" https://github.com/AcademySoftwareFoundation/OpenColorIO.git
cd OpenColorIO cd OpenColorIO
mkdir build mkdir build
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
git clone --depth 1 https://github.com/olive-editor/olive.git
cd olive
mkdir build
cd build
cmake .. -G "Ninja"
cmake --build .
cmake --install app --prefix appdir/usr
/usr/local/linuxdeployqt-x86_64.AppImage \
appdir/usr/share/applications/org.olivevideoeditor.Olive.desktop \
-appimage \
--appimage-extract-and-run
./Olive*.AppImage --appimage-extract-and-run --version
+6 -3
View File
@@ -11,13 +11,16 @@ cd OpenTimelineIO
# git checkout "tags/v${OTIO_VERSION}" -b "v${OTIO_VERSION}" # git checkout "tags/v${OTIO_VERSION}" -b "v${OTIO_VERSION}"
#fi #fi
pip install --prefix="${OLIVE_INSTALL_PREFIX}" . #pip install --prefix="${OLIVE_INSTALL_PREFIX}" .
mkdir build mkdir build
cd build cd build
cmake .. -G "Ninja" cmake .. -G "Ninja" \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX="${OLIVE_INSTALL_PREFIX}" \
-DOTIO_PYTHON_INSTALL=OFF
cmake --build . cmake --build .
cmake --install . --prefix "${OLIVE_INSTALL_PREFIX}" cmake --install .
cd ../.. cd ../..
rm -rf OpenTimelineIO rm -rf OpenTimelineIO
+24 -8
View File
@@ -14,23 +14,38 @@ yum install --setopt=tsflags=nodocs -y \
cups-libs \ cups-libs \
freetype-devel \ freetype-devel \
giflib-devel \ giflib-devel \
gstreamer1 gstreamer1-devel \ gstreamer1 \
gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free-devel \ gstreamer1-devel \
gstreamer1-plugins-bad-free \
gstreamer1-plugins-bad-free-devel \
libicu-devel \ libicu-devel \
libmng-devel \ libmng-devel \
LibRaw-devel \ LibRaw-devel \
libwebp-devel \ libwebp-devel \
libXcomposite libXcomposite-devel \ libXcomposite \
libXcursor libXcursor-devel \ libXcomposite-devel \
libxkbcommon libxkbcommon-devel \ libXcursor \
libXcursor-devel \
libxkbcommon \
libxkbcommon-devel \
libxkbcommon-x11-devel \ libxkbcommon-x11-devel \
libXScrnSaver libXScrnSaver-devel \ libXScrnSaver \
libXScrnSaver-devel \
mesa-libGL-devel \ mesa-libGL-devel \
numactl-devel \ numactl-devel \
openjpeg2-devel \ openjpeg2-devel \
pciutils-devel \ pciutils-devel \
pulseaudio-libs pulseaudio-libs-devel \ pulseaudio-libs \
pulseaudio-libs-devel \
python3-tkinter \ python3-tkinter \
xcb-util-image \
xcb-util-image-devel \
xcb-util-keysyms \
xcb-util-keysyms-devel \
xcb-util-renderutil \
xcb-util-renderutil-devel \
xcb-util-wm \
xcb-util-wm-devel \
zlib-devel zlib-devel
# This is needed for Xvfb to function properly. # This is needed for Xvfb to function properly.
@@ -56,11 +71,12 @@ yum install -y epel-release
# Additional package that are not found initially # Additional package that are not found initially
yum install -y \ yum install -y \
rh-git218 \ rh-git218
# lame-devel # lame-devel
# libcaca-devel \ # libcaca-devel \
# libdb4-devel \ # libdb4-devel \
# libdc1394-devel \ # libdc1394-devel \
# openssl11-devel \
# p7zip \ # p7zip \
# yasm-devel \ # yasm-devel \
# zvbi-devel # zvbi-devel