From 9b46da20dc02073bc3e7cda25062108cda250573 Mon Sep 17 00:00:00 2001 From: Henry Vindin Date: Sun, 8 Mar 2020 00:41:54 +0000 Subject: [PATCH 1/2] Make the azure pipelines really test new contaiers. Currently, in the case of a failure to build an image,the "test" to check buildconf just causes the pipeline to download the latest successful version from dockerhub If we create a dummy named container just for the purposes of running that sanity check then there won't be a container on dockerhub which might not wor I expect this PR will expose quite a few (likely ffmpeg v3.2) containers where the build has been broken for a while now but the pipeline _appears_ to succeed. Let's just preempt some of the 3.2 variants that are definitely going to fail as a result of recent ubuntu 16.04 -> 18.04 and alpine 3.8 -> 3.11 version bumps. --- azure-pipelines.yml | 175 +++--- .../3.2/{alpine => alpine38}/Dockerfile | 15 +- docker-images/3.2/centos7/Dockerfile | 11 +- .../3.2/{nvidia => nvidia1604}/Dockerfile | 13 +- .../3.2/{scratch => scratch38}/Dockerfile | 21 +- .../3.2/{ubuntu => ubuntu1604}/Dockerfile | 13 +- .../3.2/{vaapi => vaapi1604}/Dockerfile | 13 +- .../3.3/{alpine => alpine311}/Dockerfile | 11 +- docker-images/3.3/centos7/Dockerfile | 11 +- docker-images/3.3/centos8/Dockerfile | 11 +- .../3.3/{nvidia => nvidia1804}/Dockerfile | 13 +- .../3.3/{scratch => scratch311}/Dockerfile | 22 +- docker-images/3.3/ubuntu1604/Dockerfile | 499 +++++++++++++++++ .../3.3/{ubuntu => ubuntu1804}/Dockerfile | 11 +- .../3.3/{vaapi => vaapi1804}/Dockerfile | 13 +- .../3.4/{alpine => alpine311}/Dockerfile | 11 +- docker-images/3.4/centos7/Dockerfile | 11 +- docker-images/3.4/centos8/Dockerfile | 11 +- .../3.4/{nvidia => nvidia1804}/Dockerfile | 13 +- .../3.4/{scratch => scratch311}/Dockerfile | 22 +- docker-images/3.4/ubuntu1604/Dockerfile | 499 +++++++++++++++++ .../3.4/{ubuntu => ubuntu1804}/Dockerfile | 11 +- .../3.4/{vaapi => vaapi1804}/Dockerfile | 13 +- .../4.0/{alpine => alpine311}/Dockerfile | 13 +- docker-images/4.0/centos7/Dockerfile | 13 +- docker-images/4.0/centos8/Dockerfile | 13 +- .../4.0/{nvidia => nvidia1804}/Dockerfile | 21 +- .../4.0/{scratch => scratch311}/Dockerfile | 24 +- docker-images/4.0/ubuntu1604/Dockerfile | 501 ++++++++++++++++++ .../4.0/{ubuntu => ubuntu1804}/Dockerfile | 13 +- .../4.0/{vaapi => vaapi1804}/Dockerfile | 15 +- .../4.1/{alpine => alpine311}/Dockerfile | 13 +- docker-images/4.1/centos7/Dockerfile | 13 +- docker-images/4.1/centos8/Dockerfile | 13 +- .../4.1/{nvidia => nvidia1804}/Dockerfile | 21 +- .../4.1/{scratch => scratch311}/Dockerfile | 24 +- docker-images/4.1/ubuntu1604/Dockerfile | 501 ++++++++++++++++++ .../4.1/{ubuntu => ubuntu1804}/Dockerfile | 13 +- .../4.1/{vaapi => vaapi1804}/Dockerfile | 15 +- .../4.2/{alpine => alpine311}/Dockerfile | 13 +- docker-images/4.2/centos7/Dockerfile | 13 +- docker-images/4.2/centos8/Dockerfile | 13 +- .../4.2/{nvidia => nvidia1804}/Dockerfile | 21 +- .../4.2/{scratch => scratch311}/Dockerfile | 24 +- docker-images/4.2/ubuntu1604/Dockerfile | 501 ++++++++++++++++++ .../4.2/{ubuntu => ubuntu1804}/Dockerfile | 13 +- .../4.2/{vaapi => vaapi1804}/Dockerfile | 15 +- docker-images/gitlab-ci.yml | 264 +++++---- .../snapshot/{alpine => alpine311}/Dockerfile | 13 +- docker-images/snapshot/centos7/Dockerfile | 13 +- docker-images/snapshot/centos8/Dockerfile | 13 +- .../{nvidia => nvidia1804}/Dockerfile | 21 +- .../{scratch => scratch311}/Dockerfile | 24 +- docker-images/snapshot/ubuntu1604/Dockerfile | 501 ++++++++++++++++++ .../{ubuntu => ubuntu1804}/Dockerfile | 13 +- .../snapshot/{vaapi => vaapi1804}/Dockerfile | 15 +- templates/Dockerfile-run | 37 +- ...e.alpine => Dockerfile-template.alpine311} | 0 templates/Dockerfile-template.alpine38 | 64 +++ templates/Dockerfile-template.nvidia1604 | 94 ++++ ....nvidia => Dockerfile-template.nvidia1804} | 0 templates/Dockerfile-template.scratch311 | 69 +++ ....scratch => Dockerfile-template.scratch38} | 10 +- templates/Dockerfile-template.ubuntu1604 | 65 +++ ....ubuntu => Dockerfile-template.ubuntu1804} | 0 templates/Dockerfile-template.vaapi1604 | 71 +++ ...te.vaapi => Dockerfile-template.vaapi1804} | 0 templates/azure.template | 5 +- update.py | 212 +++++--- 69 files changed, 4160 insertions(+), 626 deletions(-) rename docker-images/3.2/{alpine => alpine38}/Dockerfile (99%) rename docker-images/3.2/{nvidia => nvidia1604}/Dockerfile (99%) rename docker-images/3.2/{scratch => scratch38}/Dockerfile (98%) rename docker-images/3.2/{ubuntu => ubuntu1604}/Dockerfile (99%) rename docker-images/3.2/{vaapi => vaapi1604}/Dockerfile (99%) rename docker-images/3.3/{alpine => alpine311}/Dockerfile (99%) rename docker-images/3.3/{nvidia => nvidia1804}/Dockerfile (99%) rename docker-images/3.3/{scratch => scratch311}/Dockerfile (98%) create mode 100644 docker-images/3.3/ubuntu1604/Dockerfile rename docker-images/3.3/{ubuntu => ubuntu1804}/Dockerfile (99%) rename docker-images/3.3/{vaapi => vaapi1804}/Dockerfile (99%) rename docker-images/3.4/{alpine => alpine311}/Dockerfile (99%) rename docker-images/3.4/{nvidia => nvidia1804}/Dockerfile (99%) rename docker-images/3.4/{scratch => scratch311}/Dockerfile (98%) create mode 100644 docker-images/3.4/ubuntu1604/Dockerfile rename docker-images/3.4/{ubuntu => ubuntu1804}/Dockerfile (99%) rename docker-images/3.4/{vaapi => vaapi1804}/Dockerfile (99%) rename docker-images/4.0/{alpine => alpine311}/Dockerfile (99%) rename docker-images/4.0/{nvidia => nvidia1804}/Dockerfile (99%) rename docker-images/4.0/{scratch => scratch311}/Dockerfile (97%) create mode 100644 docker-images/4.0/ubuntu1604/Dockerfile rename docker-images/4.0/{ubuntu => ubuntu1804}/Dockerfile (99%) rename docker-images/4.0/{vaapi => vaapi1804}/Dockerfile (99%) rename docker-images/4.1/{alpine => alpine311}/Dockerfile (99%) rename docker-images/4.1/{nvidia => nvidia1804}/Dockerfile (99%) rename docker-images/4.1/{scratch => scratch311}/Dockerfile (97%) create mode 100644 docker-images/4.1/ubuntu1604/Dockerfile rename docker-images/4.1/{ubuntu => ubuntu1804}/Dockerfile (99%) rename docker-images/4.1/{vaapi => vaapi1804}/Dockerfile (99%) rename docker-images/4.2/{alpine => alpine311}/Dockerfile (99%) rename docker-images/4.2/{nvidia => nvidia1804}/Dockerfile (99%) rename docker-images/4.2/{scratch => scratch311}/Dockerfile (97%) create mode 100644 docker-images/4.2/ubuntu1604/Dockerfile rename docker-images/4.2/{ubuntu => ubuntu1804}/Dockerfile (99%) rename docker-images/4.2/{vaapi => vaapi1804}/Dockerfile (99%) rename docker-images/snapshot/{alpine => alpine311}/Dockerfile (99%) rename docker-images/snapshot/{nvidia => nvidia1804}/Dockerfile (99%) rename docker-images/snapshot/{scratch => scratch311}/Dockerfile (97%) create mode 100644 docker-images/snapshot/ubuntu1604/Dockerfile rename docker-images/snapshot/{ubuntu => ubuntu1804}/Dockerfile (99%) rename docker-images/snapshot/{vaapi => vaapi1804}/Dockerfile (99%) rename templates/{Dockerfile-template.alpine => Dockerfile-template.alpine311} (100%) create mode 100644 templates/Dockerfile-template.alpine38 create mode 100644 templates/Dockerfile-template.nvidia1604 rename templates/{Dockerfile-template.nvidia => Dockerfile-template.nvidia1804} (100%) create mode 100644 templates/Dockerfile-template.scratch311 rename templates/{Dockerfile-template.scratch => Dockerfile-template.scratch38} (88%) create mode 100644 templates/Dockerfile-template.ubuntu1604 rename templates/{Dockerfile-template.ubuntu => Dockerfile-template.ubuntu1804} (100%) create mode 100644 templates/Dockerfile-template.vaapi1604 rename templates/{Dockerfile-template.vaapi => Dockerfile-template.vaapi1804} (100%) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index bed4cbc41..3a0e23a7d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -10,14 +10,19 @@ jobs: strategy: maxParallel: 10 matrix: - snapshot_ubuntu: + snapshot_ubuntu1604: VERSION: snapshot - VARIANT: ubuntu + VARIANT: ubuntu1604 + PARENT: ubuntu + ISPARENT: False + snapshot_ubuntu1804: + VERSION: snapshot + VARIANT: ubuntu1804 PARENT: ubuntu ISPARENT: True - snapshot_alpine: + snapshot_alpine311: VERSION: snapshot - VARIANT: alpine + VARIANT: alpine311 PARENT: alpine ISPARENT: True snapshot_centos7: @@ -30,29 +35,34 @@ jobs: VARIANT: centos8 PARENT: centos ISPARENT: True - snapshot_scratch: + snapshot_scratch311: VERSION: snapshot - VARIANT: scratch + VARIANT: scratch311 PARENT: scratch ISPARENT: True - snapshot_vaapi: + snapshot_vaapi1804: VERSION: snapshot - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: vaapi ISPARENT: True - snapshot_nvidia: + snapshot_nvidia1804: VERSION: snapshot - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: nvidia ISPARENT: True - 4_2_ubuntu: + 4_2_ubuntu1604: VERSION: 4.2 - VARIANT: ubuntu + VARIANT: ubuntu1604 + PARENT: ubuntu + ISPARENT: False + 4_2_ubuntu1804: + VERSION: 4.2 + VARIANT: ubuntu1804 PARENT: ubuntu ISPARENT: True - 4_2_alpine: + 4_2_alpine311: VERSION: 4.2 - VARIANT: alpine + VARIANT: alpine311 PARENT: alpine ISPARENT: True 4_2_centos7: @@ -65,29 +75,34 @@ jobs: VARIANT: centos8 PARENT: centos ISPARENT: True - 4_2_scratch: + 4_2_scratch311: VERSION: 4.2 - VARIANT: scratch + VARIANT: scratch311 PARENT: scratch ISPARENT: True - 4_2_vaapi: + 4_2_vaapi1804: VERSION: 4.2 - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: vaapi ISPARENT: True - 4_2_nvidia: + 4_2_nvidia1804: VERSION: 4.2 - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: nvidia ISPARENT: True - 4_1_ubuntu: + 4_1_ubuntu1604: + VERSION: 4.1 + VARIANT: ubuntu1604 + PARENT: ubuntu + ISPARENT: False + 4_1_ubuntu1804: VERSION: 4.1 - VARIANT: ubuntu + VARIANT: ubuntu1804 PARENT: ubuntu ISPARENT: True - 4_1_alpine: + 4_1_alpine311: VERSION: 4.1 - VARIANT: alpine + VARIANT: alpine311 PARENT: alpine ISPARENT: True 4_1_centos7: @@ -100,29 +115,34 @@ jobs: VARIANT: centos8 PARENT: centos ISPARENT: True - 4_1_scratch: + 4_1_scratch311: VERSION: 4.1 - VARIANT: scratch + VARIANT: scratch311 PARENT: scratch ISPARENT: True - 4_1_vaapi: + 4_1_vaapi1804: VERSION: 4.1 - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: vaapi ISPARENT: True - 4_1_nvidia: + 4_1_nvidia1804: VERSION: 4.1 - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: nvidia ISPARENT: True - 4_0_ubuntu: + 4_0_ubuntu1604: VERSION: 4.0 - VARIANT: ubuntu + VARIANT: ubuntu1604 + PARENT: ubuntu + ISPARENT: False + 4_0_ubuntu1804: + VERSION: 4.0 + VARIANT: ubuntu1804 PARENT: ubuntu ISPARENT: True - 4_0_alpine: + 4_0_alpine311: VERSION: 4.0 - VARIANT: alpine + VARIANT: alpine311 PARENT: alpine ISPARENT: True 4_0_centos7: @@ -135,29 +155,34 @@ jobs: VARIANT: centos8 PARENT: centos ISPARENT: True - 4_0_scratch: + 4_0_scratch311: VERSION: 4.0 - VARIANT: scratch + VARIANT: scratch311 PARENT: scratch ISPARENT: True - 4_0_vaapi: + 4_0_vaapi1804: VERSION: 4.0 - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: vaapi ISPARENT: True - 4_0_nvidia: + 4_0_nvidia1804: VERSION: 4.0 - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: nvidia ISPARENT: True - 3_4_ubuntu: + 3_4_ubuntu1604: VERSION: 3.4 - VARIANT: ubuntu + VARIANT: ubuntu1604 + PARENT: ubuntu + ISPARENT: False + 3_4_ubuntu1804: + VERSION: 3.4 + VARIANT: ubuntu1804 PARENT: ubuntu ISPARENT: True - 3_4_alpine: + 3_4_alpine311: VERSION: 3.4 - VARIANT: alpine + VARIANT: alpine311 PARENT: alpine ISPARENT: True 3_4_centos7: @@ -170,29 +195,34 @@ jobs: VARIANT: centos8 PARENT: centos ISPARENT: True - 3_4_scratch: + 3_4_scratch311: VERSION: 3.4 - VARIANT: scratch + VARIANT: scratch311 PARENT: scratch ISPARENT: True - 3_4_vaapi: + 3_4_vaapi1804: VERSION: 3.4 - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: vaapi ISPARENT: True - 3_4_nvidia: + 3_4_nvidia1804: VERSION: 3.4 - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: nvidia ISPARENT: True - 3_3_ubuntu: + 3_3_ubuntu1604: + VERSION: 3.3 + VARIANT: ubuntu1604 + PARENT: ubuntu + ISPARENT: False + 3_3_ubuntu1804: VERSION: 3.3 - VARIANT: ubuntu + VARIANT: ubuntu1804 PARENT: ubuntu ISPARENT: True - 3_3_alpine: + 3_3_alpine311: VERSION: 3.3 - VARIANT: alpine + VARIANT: alpine311 PARENT: alpine ISPARENT: True 3_3_centos7: @@ -205,29 +235,29 @@ jobs: VARIANT: centos8 PARENT: centos ISPARENT: True - 3_3_scratch: + 3_3_scratch311: VERSION: 3.3 - VARIANT: scratch + VARIANT: scratch311 PARENT: scratch ISPARENT: True - 3_3_vaapi: + 3_3_vaapi1804: VERSION: 3.3 - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: vaapi ISPARENT: True - 3_3_nvidia: + 3_3_nvidia1804: VERSION: 3.3 - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: nvidia ISPARENT: True - 3_2_ubuntu: + 3_2_ubuntu1604: VERSION: 3.2 - VARIANT: ubuntu + VARIANT: ubuntu1604 PARENT: ubuntu ISPARENT: True - 3_2_alpine: + 3_2_alpine38: VERSION: 3.2 - VARIANT: alpine + VARIANT: alpine38 PARENT: alpine ISPARENT: True 3_2_centos7: @@ -235,25 +265,28 @@ jobs: VARIANT: centos7 PARENT: centos ISPARENT: True - 3_2_scratch: + 3_2_scratch38: VERSION: 3.2 - VARIANT: scratch + VARIANT: scratch38 PARENT: scratch ISPARENT: True - 3_2_vaapi: + 3_2_vaapi1604: VERSION: 3.2 - VARIANT: vaapi + VARIANT: vaapi1604 PARENT: vaapi ISPARENT: True - 3_2_nvidia: + 3_2_nvidia1604: VERSION: 3.2 - VARIANT: nvidia + VARIANT: nvidia1604 PARENT: nvidia ISPARENT: True steps: - bash: | docker build -t ${DOCKER}:${VERSION}-${VARIANT} --build-arg MAKEFLAGS="-j$(($(grep -c ^processor /proc/cpuinfo) + 1))" docker-images/${VERSION}/${VARIANT} - docker run --rm ${DOCKER}:${VERSION}-${VARIANT} -buildconf + # Create a uniquely tagged version of the container to avoid pulling a version that was already on docker hub + docker tag ${DOCKER}:${VERSION}-${VARIANT} ${DOCKER}:${VERSION}-${VARIANT}-$(Build.BuildId) + # Run -buildconf from the unique version we just tagged to make sure the build was ok + docker run --rm ${DOCKER}:${VERSION}-${VARIANT}-$(Build.BuildId) -buildconf displayName: Build docker image - bash: | docker login --username ${DOCKER_LOGIN} --password ${DOCKER_PASSWORD} diff --git a/docker-images/3.2/alpine/Dockerfile b/docker-images/3.2/alpine38/Dockerfile similarity index 99% rename from docker-images/3.2/alpine/Dockerfile rename to docker-images/3.2/alpine38/Dockerfile index 729981e9b..0d6a700c3 100644 --- a/docker-images/3.2/alpine/Dockerfile +++ b/docker-images/3.2/alpine38/Dockerfile @@ -4,9 +4,9 @@ # # -FROM alpine:3.11 AS base +FROM alpine:3.8 AS base -RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 libgomp expat git FROM base AS build @@ -448,7 +448,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -461,16 +460,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.2/centos7/Dockerfile b/docker-images/3.2/centos7/Dockerfile index ddb0697ea..217404781 100644 --- a/docker-images/3.2/centos7/Dockerfile +++ b/docker-images/3.2/centos7/Dockerfile @@ -485,7 +485,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -498,16 +497,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.2/nvidia/Dockerfile b/docker-images/3.2/nvidia1604/Dockerfile similarity index 99% rename from docker-images/3.2/nvidia/Dockerfile rename to docker-images/3.2/nvidia1604/Dockerfile index eeda979b6..659b72ef2 100644 --- a/docker-images/3.2/nvidia/Dockerfile +++ b/docker-images/3.2/nvidia1604/Dockerfile @@ -464,7 +464,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-nvenc \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -475,7 +474,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -488,16 +486,17 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ - --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64/ -L/usr/local/cuda/lib32/" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-nvenc \ + --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ + --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib32/" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.2/scratch/Dockerfile b/docker-images/3.2/scratch38/Dockerfile similarity index 98% rename from docker-images/3.2/scratch/Dockerfile rename to docker-images/3.2/scratch38/Dockerfile index 3fe6f5ec8..ce6ded341 100644 --- a/docker-images/3.2/scratch/Dockerfile +++ b/docker-images/3.2/scratch38/Dockerfile @@ -80,8 +80,13 @@ RUN buildDeps="autoconf \ yasm \ nasm \ zlib-dev \ - git" && \ - apk add --update ${buildDeps} libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 + git \ + libgcc \ + libstdc++ \ + ca-certificates \ + libcrypto1.0 \ + libssl1.0" && \ + apk add --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -445,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -458,16 +462,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ @@ -494,6 +498,5 @@ ENTRYPOINT ["/bin/ffmpeg"] COPY --from=build /tmp/fakeroot/ / - # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/3.2/ubuntu/Dockerfile b/docker-images/3.2/ubuntu1604/Dockerfile similarity index 99% rename from docker-images/3.2/ubuntu/Dockerfile rename to docker-images/3.2/ubuntu1604/Dockerfile index a22556bbb..f58b52454 100644 --- a/docker-images/3.2/ubuntu/Dockerfile +++ b/docker-images/3.2/ubuntu1604/Dockerfile @@ -5,7 +5,7 @@ # https://hub.docker.com/r/jrottenberg/ffmpeg/ # # -FROM ubuntu:18.04 AS base +FROM ubuntu:16.04 AS base WORKDIR /tmp/workdir @@ -449,7 +449,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -462,16 +461,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.2/vaapi/Dockerfile b/docker-images/3.2/vaapi1604/Dockerfile similarity index 99% rename from docker-images/3.2/vaapi/Dockerfile rename to docker-images/3.2/vaapi1604/Dockerfile index 6f3cf3f57..795c17c0e 100644 --- a/docker-images/3.2/vaapi/Dockerfile +++ b/docker-images/3.2/vaapi1604/Dockerfile @@ -440,7 +440,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-vaapi \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -451,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +462,17 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-vaapi \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.3/alpine/Dockerfile b/docker-images/3.3/alpine311/Dockerfile similarity index 99% rename from docker-images/3.3/alpine/Dockerfile rename to docker-images/3.3/alpine311/Dockerfile index a2cb2b36b..ebc693a48 100644 --- a/docker-images/3.3/alpine/Dockerfile +++ b/docker-images/3.3/alpine311/Dockerfile @@ -448,7 +448,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -461,16 +460,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.3/centos7/Dockerfile b/docker-images/3.3/centos7/Dockerfile index d544fef00..b4ebf944b 100644 --- a/docker-images/3.3/centos7/Dockerfile +++ b/docker-images/3.3/centos7/Dockerfile @@ -485,7 +485,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -498,16 +497,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.3/centos8/Dockerfile b/docker-images/3.3/centos8/Dockerfile index 69b60d318..a90052e68 100644 --- a/docker-images/3.3/centos8/Dockerfile +++ b/docker-images/3.3/centos8/Dockerfile @@ -451,7 +451,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +463,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.3/nvidia/Dockerfile b/docker-images/3.3/nvidia1804/Dockerfile similarity index 99% rename from docker-images/3.3/nvidia/Dockerfile rename to docker-images/3.3/nvidia1804/Dockerfile index a1f081f83..2db622529 100644 --- a/docker-images/3.3/nvidia/Dockerfile +++ b/docker-images/3.3/nvidia1804/Dockerfile @@ -464,7 +464,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-nvenc \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -475,7 +474,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -488,16 +486,17 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ - --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64/ -L/usr/local/cuda/lib32/" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-nvenc \ + --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ + --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib32/" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.3/scratch/Dockerfile b/docker-images/3.3/scratch311/Dockerfile similarity index 98% rename from docker-images/3.3/scratch/Dockerfile rename to docker-images/3.3/scratch311/Dockerfile index 76ff124b6..02d590086 100644 --- a/docker-images/3.3/scratch/Dockerfile +++ b/docker-images/3.3/scratch311/Dockerfile @@ -4,7 +4,7 @@ # # -FROM alpine:3.8 AS build +FROM alpine:3.11 AS build WORKDIR /tmp/workdir @@ -80,8 +80,13 @@ RUN buildDeps="autoconf \ yasm \ nasm \ zlib-dev \ - git" && \ - apk add --update ${buildDeps} libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 + git \ + libgcc \ + libstdc++ \ + ca-certificates \ + libcrypto1.1 \ + libssl1.1" && \ + apk add --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -445,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -458,16 +462,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.3/ubuntu1604/Dockerfile b/docker-images/3.3/ubuntu1604/Dockerfile new file mode 100644 index 000000000..edb0b3832 --- /dev/null +++ b/docker-images/3.3/ubuntu1604/Dockerfile @@ -0,0 +1,499 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# From https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# +FROM ubuntu:16.04 AS base + +WORKDIR /tmp/workdir + +RUN apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ca-certificates expat libgomp1 && \ + apt-get autoremove -y && \ + apt-get clean -y + +FROM base as build + +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j2" + +ENV FFMPEG_VERSION=3.3.9 \ + AOM_VERSION=v1.0.0 \ + FDKAAC_VERSION=0.1.5 \ + FONTCONFIG_VERSION=2.12.4 \ + FREETYPE_VERSION=2.5.5 \ + FRIBIDI_VERSION=0.19.7 \ + KVAZAAR_VERSION=1.2.0 \ + LAME_VERSION=3.100 \ + LIBASS_VERSION=0.13.7 \ + LIBPTHREAD_STUBS_VERSION=0.4 \ + LIBVIDSTAB_VERSION=1.1.0 \ + LIBXCB_VERSION=1.13.1 \ + XCBPROTO_VERSION=1.13 \ + OGG_VERSION=1.3.2 \ + OPENCOREAMR_VERSION=0.1.5 \ + OPUS_VERSION=1.2 \ + OPENJPEG_VERSION=2.1.2 \ + THEORA_VERSION=1.1.1 \ + VORBIS_VERSION=1.3.5 \ + VPX_VERSION=1.8.0 \ + WEBP_VERSION=1.0.2 \ + X264_VERSION=20170226-2245-stable \ + X265_VERSION=3.1.1 \ + XAU_VERSION=1.0.9 \ + XORG_MACROS_VERSION=1.19.2 \ + XPROTO_VERSION=7.0.31 \ + XVID_VERSION=1.3.4 \ + LIBXML2_VERSION=2.9.10 \ + LIBBLURAY_VERSION=1.1.2 \ + SRC=/usr/local + +ARG FREETYPE_SHA256SUM="5d03dd76c2171a7601e9ce10551d52d4471cf92cd205948e60289251daddffa8 freetype-2.5.5.tar.gz" +ARG FRIBIDI_SHA256SUM="3fc96fa9473bd31dcb5500bdf1aa78b337ba13eb8c301e7c28923fea982453a8 0.19.7.tar.gz" +ARG LIBASS_SHA256SUM="8fadf294bf701300d4605e6f1d92929304187fca4b8d8a47889315526adbafd7 0.13.7.tar.gz" +ARG LIBVIDSTAB_SHA256SUM="14d2a053e56edad4f397be0cb3ef8eb1ec3150404ce99a426c4eb641861dc0bb v1.1.0.tar.gz" +ARG OGG_SHA256SUM="e19ee34711d7af328cb26287f4137e70630e7261b17cbe3cd41011d73a654692 libogg-1.3.2.tar.gz" +ARG OPUS_SHA256SUM="77db45a87b51578fbc49555ef1b10926179861d854eb2613207dc79d9ec0a9a9 opus-1.2.tar.gz" +ARG THEORA_SHA256SUM="40952956c47811928d1e7922cda3bc1f427eb75680c3c37249c91e949054916b libtheora-1.1.1.tar.gz" +ARG VORBIS_SHA256SUM="6efbcecdd3e5dfbf090341b485da9d176eb250d893e3eb378c428a2db38301ce libvorbis-1.3.5.tar.gz" +ARG XVID_SHA256SUM="4e9fd62728885855bc5007fe1be58df42e5e274497591fec37249e1052ae316f xvidcore-1.3.4.tar.gz" +ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20fe13b8571ee9501 libxml2-v2.9.10.tar.gz" +ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" + + + +RUN buildDeps="autoconf \ + automake \ + cmake \ + curl \ + bzip2 \ + libexpat1-dev \ + g++ \ + gcc \ + git \ + gperf \ + libtool \ + make \ + nasm \ + perl \ + pkg-config \ + python \ + libssl-dev \ + yasm \ + zlib1g-dev" && \ + apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ${buildDeps} +## opencore-amr https://sourceforge.net/projects/opencore-amr/ +RUN \ + DIR=/tmp/opencore-amr && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-${OPENCOREAMR_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## x264 http://www.videolan.org/developers/x264.html +RUN \ + DIR=/tmp/x264 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-${X264_VERSION}.tar.bz2 | \ + tar -jx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared --enable-pic --disable-cli && \ + make && \ + make install && \ + rm -rf ${DIR} +### x265 http://x265.org/ +RUN \ + DIR=/tmp/x265 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x265/x265_${X265_VERSION}.tar.gz | \ + tar -zx && \ + cd x265_${X265_VERSION}/build/linux && \ + sed -i "/-DEXTRA_LIB/ s/$/ -DCMAKE_INSTALL_PREFIX=\${PREFIX}/" multilib.sh && \ + sed -i "/^cmake/ s/$/ -DENABLE_CLI=OFF/" multilib.sh && \ + ./multilib.sh && \ + make -C 8bit install && \ + rm -rf ${DIR} +### libogg https://www.xiph.org/ogg/ +RUN \ + DIR=/tmp/ogg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz && \ + echo ${OGG_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libogg-${OGG_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libopus https://www.opus-codec.org/ +RUN \ + DIR=/tmp/opus && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz && \ + echo ${OPUS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f opus-${OPUS_VERSION}.tar.gz && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvorbis https://xiph.org/vorbis/ +RUN \ + DIR=/tmp/vorbis && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz && \ + echo ${VORBIS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libvorbis-${VORBIS_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libtheora http://www.theora.org/ +RUN \ + DIR=/tmp/theora && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.gz && \ + echo ${THEORA_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libtheora-${THEORA_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvpx https://www.webmproject.org/code/ +RUN \ + DIR=/tmp/vpx && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://codeload.github.com/webmproject/libvpx/tar.gz/v${VPX_VERSION} | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-vp8 --enable-vp9 --enable-vp9-highbitdepth --enable-pic --enable-shared \ + --disable-debug --disable-examples --disable-docs --disable-install-bins && \ + make && \ + make install && \ + rm -rf ${DIR} +### libwebp https://developers.google.com/speed/webp/ +RUN \ + DIR=/tmp/vebp && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libmp3lame http://lame.sourceforge.net/ +RUN \ + DIR=/tmp/lame && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + make && \ + make install && \ + rm -rf ${DIR} +### xvid https://www.xvid.com/ +RUN \ + DIR=/tmp/xvid && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xvid.org/downloads/xvidcore-${XVID_VERSION}.tar.gz && \ + echo ${XVID_SHA256SUM} | sha256sum --check && \ + tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ + cd xvidcore/build/generic && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### fdk-aac https://github.com/mstorsjo/fdk-aac +RUN \ + DIR=/tmp/fdk-aac && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/mstorsjo/fdk-aac/archive/v${FDKAAC_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared --datadir="${DIR}" && \ + make && \ + make install && \ + rm -rf ${DIR} +## openjpeg https://github.com/uclouvain/openjpeg +RUN \ + DIR=/tmp/openjpeg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + cmake -DBUILD_THIRDPARTY:BOOL=ON -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## freetype https://www.freetype.org/ +RUN \ + DIR=/tmp/freetype && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.gz && \ + echo ${FREETYPE_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f freetype-${FREETYPE_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libvstab https://github.com/georgmartius/vid.stab +RUN \ + DIR=/tmp/vid.stab && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## fridibi https://www.fribidi.org/ +# + https://github.com/fribidi/fribidi/issues/8 +RUN \ + DIR=/tmp/fribidi && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ + echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ + ./bootstrap --no-config && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j 1 && \ + make install && \ + rm -rf ${DIR} +## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ +RUN \ + DIR=/tmp/fontconfig && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libass https://github.com/libass/libass +RUN \ + DIR=/tmp/libass && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + echo ${LIBASS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## kvazaar https://github.com/ultravideo/kvazaar +RUN \ + DIR=/tmp/kvazaar && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/aom && \ + git clone --branch ${AOM_VERSION} --depth 1 https://aomedia.googlesource.com/aom ${DIR} ; \ + cd ${DIR} ; \ + rm -rf CMakeCache.txt CMakeFiles ; \ + mkdir -p ./aom_build ; \ + cd ./aom_build ; \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DBUILD_SHARED_LIBS=1 ..; \ + make ; \ + make install ; \ + rm -rf ${DIR} + +## libxcb (and supporting libraries) for screen capture https://xcb.freedesktop.org/ +RUN \ + DIR=/tmp/xorg-macros && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/xproto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libXau && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libpthread-stubs && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb-proto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## libxml2 - for libbluray +RUN \ + DIR=/tmp/libxml2 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ + echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ + tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + make && \ + make install && \ + rm -rf ${DIR} + + +## libbluray - Requires libxml, freetype, and fontconfig +RUN \ + DIR=/tmp/libbluray && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ + tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## ffmpeg https://ffmpeg.org/ +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + curl -sLO https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2 && \ + tar -jx --strip-components=1 -f ffmpeg-${FFMPEG_VERSION}.tar.bz2 + + + +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + ./configure \ + --disable-debug \ + --disable-doc \ + --disable-ffplay \ + --enable-shared \ + --enable-avresample \ + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --enable-gpl \ + --enable-libass \ + --enable-fontconfig \ + --enable-libfreetype \ + --enable-libvidstab \ + --enable-libmp3lame \ + --enable-libopus \ + --enable-libtheora \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libxcb \ + --enable-libx265 \ + --enable-libxvid \ + --enable-libx264 \ + --enable-nonfree \ + --enable-openssl \ + --enable-libfdk_aac \ + --enable-postproc \ + --enable-small \ + --enable-version3 \ + --enable-libbluray \ + --extra-libs=-ldl \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ + make && \ + make install && \ + make distclean && \ + hash -r && \ + cd tools && \ + make qt-faststart && \ + cp qt-faststart ${PREFIX}/bin + +## cleanup +RUN \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + cp ${PREFIX}/bin/* /usr/local/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf + +FROM base AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib + +COPY --from=build /usr/local /usr/local/ + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/3.3/ubuntu/Dockerfile b/docker-images/3.3/ubuntu1804/Dockerfile similarity index 99% rename from docker-images/3.3/ubuntu/Dockerfile rename to docker-images/3.3/ubuntu1804/Dockerfile index 59456ff71..d4591773f 100644 --- a/docker-images/3.3/ubuntu/Dockerfile +++ b/docker-images/3.3/ubuntu1804/Dockerfile @@ -449,7 +449,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -462,16 +461,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.3/vaapi/Dockerfile b/docker-images/3.3/vaapi1804/Dockerfile similarity index 99% rename from docker-images/3.3/vaapi/Dockerfile rename to docker-images/3.3/vaapi1804/Dockerfile index 2d1a95fcf..779c70581 100644 --- a/docker-images/3.3/vaapi/Dockerfile +++ b/docker-images/3.3/vaapi1804/Dockerfile @@ -440,7 +440,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-vaapi \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -451,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +462,17 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-vaapi \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.4/alpine/Dockerfile b/docker-images/3.4/alpine311/Dockerfile similarity index 99% rename from docker-images/3.4/alpine/Dockerfile rename to docker-images/3.4/alpine311/Dockerfile index 31c8c8b16..cefed537f 100644 --- a/docker-images/3.4/alpine/Dockerfile +++ b/docker-images/3.4/alpine311/Dockerfile @@ -448,7 +448,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -461,16 +460,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.4/centos7/Dockerfile b/docker-images/3.4/centos7/Dockerfile index 334a3da3d..185a3534b 100644 --- a/docker-images/3.4/centos7/Dockerfile +++ b/docker-images/3.4/centos7/Dockerfile @@ -485,7 +485,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -498,16 +497,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.4/centos8/Dockerfile b/docker-images/3.4/centos8/Dockerfile index 9e258fdf6..aa19978f7 100644 --- a/docker-images/3.4/centos8/Dockerfile +++ b/docker-images/3.4/centos8/Dockerfile @@ -451,7 +451,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +463,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.4/nvidia/Dockerfile b/docker-images/3.4/nvidia1804/Dockerfile similarity index 99% rename from docker-images/3.4/nvidia/Dockerfile rename to docker-images/3.4/nvidia1804/Dockerfile index cb3d29b3a..1a18fd998 100644 --- a/docker-images/3.4/nvidia/Dockerfile +++ b/docker-images/3.4/nvidia1804/Dockerfile @@ -464,7 +464,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-nvenc \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -475,7 +474,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -488,16 +486,17 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ - --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64/ -L/usr/local/cuda/lib32/" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-nvenc \ + --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ + --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib32/" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.4/scratch/Dockerfile b/docker-images/3.4/scratch311/Dockerfile similarity index 98% rename from docker-images/3.4/scratch/Dockerfile rename to docker-images/3.4/scratch311/Dockerfile index 6f38093d1..dcee3ac89 100644 --- a/docker-images/3.4/scratch/Dockerfile +++ b/docker-images/3.4/scratch311/Dockerfile @@ -4,7 +4,7 @@ # # -FROM alpine:3.8 AS build +FROM alpine:3.11 AS build WORKDIR /tmp/workdir @@ -80,8 +80,13 @@ RUN buildDeps="autoconf \ yasm \ nasm \ zlib-dev \ - git" && \ - apk add --update ${buildDeps} libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 + git \ + libgcc \ + libstdc++ \ + ca-certificates \ + libcrypto1.1 \ + libssl1.1" && \ + apk add --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -445,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -458,16 +462,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.4/ubuntu1604/Dockerfile b/docker-images/3.4/ubuntu1604/Dockerfile new file mode 100644 index 000000000..373c662d4 --- /dev/null +++ b/docker-images/3.4/ubuntu1604/Dockerfile @@ -0,0 +1,499 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# From https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# +FROM ubuntu:16.04 AS base + +WORKDIR /tmp/workdir + +RUN apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ca-certificates expat libgomp1 && \ + apt-get autoremove -y && \ + apt-get clean -y + +FROM base as build + +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j2" + +ENV FFMPEG_VERSION=3.4.7 \ + AOM_VERSION=v1.0.0 \ + FDKAAC_VERSION=0.1.5 \ + FONTCONFIG_VERSION=2.12.4 \ + FREETYPE_VERSION=2.5.5 \ + FRIBIDI_VERSION=0.19.7 \ + KVAZAAR_VERSION=1.2.0 \ + LAME_VERSION=3.100 \ + LIBASS_VERSION=0.13.7 \ + LIBPTHREAD_STUBS_VERSION=0.4 \ + LIBVIDSTAB_VERSION=1.1.0 \ + LIBXCB_VERSION=1.13.1 \ + XCBPROTO_VERSION=1.13 \ + OGG_VERSION=1.3.2 \ + OPENCOREAMR_VERSION=0.1.5 \ + OPUS_VERSION=1.2 \ + OPENJPEG_VERSION=2.1.2 \ + THEORA_VERSION=1.1.1 \ + VORBIS_VERSION=1.3.5 \ + VPX_VERSION=1.8.0 \ + WEBP_VERSION=1.0.2 \ + X264_VERSION=20170226-2245-stable \ + X265_VERSION=3.1.1 \ + XAU_VERSION=1.0.9 \ + XORG_MACROS_VERSION=1.19.2 \ + XPROTO_VERSION=7.0.31 \ + XVID_VERSION=1.3.4 \ + LIBXML2_VERSION=2.9.10 \ + LIBBLURAY_VERSION=1.1.2 \ + SRC=/usr/local + +ARG FREETYPE_SHA256SUM="5d03dd76c2171a7601e9ce10551d52d4471cf92cd205948e60289251daddffa8 freetype-2.5.5.tar.gz" +ARG FRIBIDI_SHA256SUM="3fc96fa9473bd31dcb5500bdf1aa78b337ba13eb8c301e7c28923fea982453a8 0.19.7.tar.gz" +ARG LIBASS_SHA256SUM="8fadf294bf701300d4605e6f1d92929304187fca4b8d8a47889315526adbafd7 0.13.7.tar.gz" +ARG LIBVIDSTAB_SHA256SUM="14d2a053e56edad4f397be0cb3ef8eb1ec3150404ce99a426c4eb641861dc0bb v1.1.0.tar.gz" +ARG OGG_SHA256SUM="e19ee34711d7af328cb26287f4137e70630e7261b17cbe3cd41011d73a654692 libogg-1.3.2.tar.gz" +ARG OPUS_SHA256SUM="77db45a87b51578fbc49555ef1b10926179861d854eb2613207dc79d9ec0a9a9 opus-1.2.tar.gz" +ARG THEORA_SHA256SUM="40952956c47811928d1e7922cda3bc1f427eb75680c3c37249c91e949054916b libtheora-1.1.1.tar.gz" +ARG VORBIS_SHA256SUM="6efbcecdd3e5dfbf090341b485da9d176eb250d893e3eb378c428a2db38301ce libvorbis-1.3.5.tar.gz" +ARG XVID_SHA256SUM="4e9fd62728885855bc5007fe1be58df42e5e274497591fec37249e1052ae316f xvidcore-1.3.4.tar.gz" +ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20fe13b8571ee9501 libxml2-v2.9.10.tar.gz" +ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" + + + +RUN buildDeps="autoconf \ + automake \ + cmake \ + curl \ + bzip2 \ + libexpat1-dev \ + g++ \ + gcc \ + git \ + gperf \ + libtool \ + make \ + nasm \ + perl \ + pkg-config \ + python \ + libssl-dev \ + yasm \ + zlib1g-dev" && \ + apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ${buildDeps} +## opencore-amr https://sourceforge.net/projects/opencore-amr/ +RUN \ + DIR=/tmp/opencore-amr && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-${OPENCOREAMR_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## x264 http://www.videolan.org/developers/x264.html +RUN \ + DIR=/tmp/x264 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-${X264_VERSION}.tar.bz2 | \ + tar -jx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared --enable-pic --disable-cli && \ + make && \ + make install && \ + rm -rf ${DIR} +### x265 http://x265.org/ +RUN \ + DIR=/tmp/x265 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x265/x265_${X265_VERSION}.tar.gz | \ + tar -zx && \ + cd x265_${X265_VERSION}/build/linux && \ + sed -i "/-DEXTRA_LIB/ s/$/ -DCMAKE_INSTALL_PREFIX=\${PREFIX}/" multilib.sh && \ + sed -i "/^cmake/ s/$/ -DENABLE_CLI=OFF/" multilib.sh && \ + ./multilib.sh && \ + make -C 8bit install && \ + rm -rf ${DIR} +### libogg https://www.xiph.org/ogg/ +RUN \ + DIR=/tmp/ogg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz && \ + echo ${OGG_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libogg-${OGG_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libopus https://www.opus-codec.org/ +RUN \ + DIR=/tmp/opus && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz && \ + echo ${OPUS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f opus-${OPUS_VERSION}.tar.gz && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvorbis https://xiph.org/vorbis/ +RUN \ + DIR=/tmp/vorbis && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz && \ + echo ${VORBIS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libvorbis-${VORBIS_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libtheora http://www.theora.org/ +RUN \ + DIR=/tmp/theora && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.gz && \ + echo ${THEORA_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libtheora-${THEORA_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvpx https://www.webmproject.org/code/ +RUN \ + DIR=/tmp/vpx && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://codeload.github.com/webmproject/libvpx/tar.gz/v${VPX_VERSION} | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-vp8 --enable-vp9 --enable-vp9-highbitdepth --enable-pic --enable-shared \ + --disable-debug --disable-examples --disable-docs --disable-install-bins && \ + make && \ + make install && \ + rm -rf ${DIR} +### libwebp https://developers.google.com/speed/webp/ +RUN \ + DIR=/tmp/vebp && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libmp3lame http://lame.sourceforge.net/ +RUN \ + DIR=/tmp/lame && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + make && \ + make install && \ + rm -rf ${DIR} +### xvid https://www.xvid.com/ +RUN \ + DIR=/tmp/xvid && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xvid.org/downloads/xvidcore-${XVID_VERSION}.tar.gz && \ + echo ${XVID_SHA256SUM} | sha256sum --check && \ + tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ + cd xvidcore/build/generic && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### fdk-aac https://github.com/mstorsjo/fdk-aac +RUN \ + DIR=/tmp/fdk-aac && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/mstorsjo/fdk-aac/archive/v${FDKAAC_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared --datadir="${DIR}" && \ + make && \ + make install && \ + rm -rf ${DIR} +## openjpeg https://github.com/uclouvain/openjpeg +RUN \ + DIR=/tmp/openjpeg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + cmake -DBUILD_THIRDPARTY:BOOL=ON -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## freetype https://www.freetype.org/ +RUN \ + DIR=/tmp/freetype && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.gz && \ + echo ${FREETYPE_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f freetype-${FREETYPE_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libvstab https://github.com/georgmartius/vid.stab +RUN \ + DIR=/tmp/vid.stab && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## fridibi https://www.fribidi.org/ +# + https://github.com/fribidi/fribidi/issues/8 +RUN \ + DIR=/tmp/fribidi && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ + echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ + ./bootstrap --no-config && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j 1 && \ + make install && \ + rm -rf ${DIR} +## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ +RUN \ + DIR=/tmp/fontconfig && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libass https://github.com/libass/libass +RUN \ + DIR=/tmp/libass && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + echo ${LIBASS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## kvazaar https://github.com/ultravideo/kvazaar +RUN \ + DIR=/tmp/kvazaar && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/aom && \ + git clone --branch ${AOM_VERSION} --depth 1 https://aomedia.googlesource.com/aom ${DIR} ; \ + cd ${DIR} ; \ + rm -rf CMakeCache.txt CMakeFiles ; \ + mkdir -p ./aom_build ; \ + cd ./aom_build ; \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DBUILD_SHARED_LIBS=1 ..; \ + make ; \ + make install ; \ + rm -rf ${DIR} + +## libxcb (and supporting libraries) for screen capture https://xcb.freedesktop.org/ +RUN \ + DIR=/tmp/xorg-macros && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/xproto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libXau && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libpthread-stubs && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb-proto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## libxml2 - for libbluray +RUN \ + DIR=/tmp/libxml2 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ + echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ + tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + make && \ + make install && \ + rm -rf ${DIR} + + +## libbluray - Requires libxml, freetype, and fontconfig +RUN \ + DIR=/tmp/libbluray && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ + tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## ffmpeg https://ffmpeg.org/ +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + curl -sLO https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2 && \ + tar -jx --strip-components=1 -f ffmpeg-${FFMPEG_VERSION}.tar.bz2 + + + +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + ./configure \ + --disable-debug \ + --disable-doc \ + --disable-ffplay \ + --enable-shared \ + --enable-avresample \ + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --enable-gpl \ + --enable-libass \ + --enable-fontconfig \ + --enable-libfreetype \ + --enable-libvidstab \ + --enable-libmp3lame \ + --enable-libopus \ + --enable-libtheora \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libxcb \ + --enable-libx265 \ + --enable-libxvid \ + --enable-libx264 \ + --enable-nonfree \ + --enable-openssl \ + --enable-libfdk_aac \ + --enable-postproc \ + --enable-small \ + --enable-version3 \ + --enable-libbluray \ + --extra-libs=-ldl \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ + make && \ + make install && \ + make distclean && \ + hash -r && \ + cd tools && \ + make qt-faststart && \ + cp qt-faststart ${PREFIX}/bin + +## cleanup +RUN \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + cp ${PREFIX}/bin/* /usr/local/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf + +FROM base AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib + +COPY --from=build /usr/local /usr/local/ + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/3.4/ubuntu/Dockerfile b/docker-images/3.4/ubuntu1804/Dockerfile similarity index 99% rename from docker-images/3.4/ubuntu/Dockerfile rename to docker-images/3.4/ubuntu1804/Dockerfile index 7658b2112..0cd1a1c32 100644 --- a/docker-images/3.4/ubuntu/Dockerfile +++ b/docker-images/3.4/ubuntu1804/Dockerfile @@ -449,7 +449,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -462,16 +461,16 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/3.4/vaapi/Dockerfile b/docker-images/3.4/vaapi1804/Dockerfile similarity index 99% rename from docker-images/3.4/vaapi/Dockerfile rename to docker-images/3.4/vaapi1804/Dockerfile index 7e74de08e..30225c298 100644 --- a/docker-images/3.4/vaapi/Dockerfile +++ b/docker-images/3.4/vaapi1804/Dockerfile @@ -440,7 +440,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-vaapi \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -451,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +462,17 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-vaapi \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.0/alpine/Dockerfile b/docker-images/4.0/alpine311/Dockerfile similarity index 99% rename from docker-images/4.0/alpine/Dockerfile rename to docker-images/4.0/alpine311/Dockerfile index 3bc633d75..cf4257661 100644 --- a/docker-images/4.0/alpine/Dockerfile +++ b/docker-images/4.0/alpine311/Dockerfile @@ -448,7 +448,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -461,16 +460,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.0/centos7/Dockerfile b/docker-images/4.0/centos7/Dockerfile index 6fe0d9f24..0e8d23b52 100644 --- a/docker-images/4.0/centos7/Dockerfile +++ b/docker-images/4.0/centos7/Dockerfile @@ -485,7 +485,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -498,16 +497,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.0/centos8/Dockerfile b/docker-images/4.0/centos8/Dockerfile index ea1dc1e70..57a614c4a 100644 --- a/docker-images/4.0/centos8/Dockerfile +++ b/docker-images/4.0/centos8/Dockerfile @@ -451,7 +451,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +463,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.0/nvidia/Dockerfile b/docker-images/4.0/nvidia1804/Dockerfile similarity index 99% rename from docker-images/4.0/nvidia/Dockerfile rename to docker-images/4.0/nvidia1804/Dockerfile index 87092b729..17e639057 100644 --- a/docker-images/4.0/nvidia/Dockerfile +++ b/docker-images/4.0/nvidia1804/Dockerfile @@ -464,10 +464,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-cuda \ - --enable-nvenc \ - --enable-cuvid \ - --enable-libnpp \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -478,7 +474,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -491,16 +486,22 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ - --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64/ -L/usr/local/cuda/lib32/" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --enable-nvenc \ + --enable-cuda \ + --enable-cuvid \ + --enable-libnpp \ + --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ + --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib32/" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.0/scratch/Dockerfile b/docker-images/4.0/scratch311/Dockerfile similarity index 97% rename from docker-images/4.0/scratch/Dockerfile rename to docker-images/4.0/scratch311/Dockerfile index 93d61051a..06ea4c605 100644 --- a/docker-images/4.0/scratch/Dockerfile +++ b/docker-images/4.0/scratch311/Dockerfile @@ -4,7 +4,7 @@ # # -FROM alpine:3.8 AS build +FROM alpine:3.11 AS build WORKDIR /tmp/workdir @@ -80,8 +80,13 @@ RUN buildDeps="autoconf \ yasm \ nasm \ zlib-dev \ - git" && \ - apk add --update ${buildDeps} libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 + git \ + libgcc \ + libstdc++ \ + ca-certificates \ + libcrypto1.1 \ + libssl1.1" && \ + apk add --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -445,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -458,16 +462,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.0/ubuntu1604/Dockerfile b/docker-images/4.0/ubuntu1604/Dockerfile new file mode 100644 index 000000000..610594b38 --- /dev/null +++ b/docker-images/4.0/ubuntu1604/Dockerfile @@ -0,0 +1,501 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# From https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# +FROM ubuntu:16.04 AS base + +WORKDIR /tmp/workdir + +RUN apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ca-certificates expat libgomp1 && \ + apt-get autoremove -y && \ + apt-get clean -y + +FROM base as build + +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j2" + +ENV FFMPEG_VERSION=4.0.5 \ + AOM_VERSION=v1.0.0 \ + FDKAAC_VERSION=0.1.5 \ + FONTCONFIG_VERSION=2.12.4 \ + FREETYPE_VERSION=2.5.5 \ + FRIBIDI_VERSION=0.19.7 \ + KVAZAAR_VERSION=1.2.0 \ + LAME_VERSION=3.100 \ + LIBASS_VERSION=0.13.7 \ + LIBPTHREAD_STUBS_VERSION=0.4 \ + LIBVIDSTAB_VERSION=1.1.0 \ + LIBXCB_VERSION=1.13.1 \ + XCBPROTO_VERSION=1.13 \ + OGG_VERSION=1.3.2 \ + OPENCOREAMR_VERSION=0.1.5 \ + OPUS_VERSION=1.2 \ + OPENJPEG_VERSION=2.1.2 \ + THEORA_VERSION=1.1.1 \ + VORBIS_VERSION=1.3.5 \ + VPX_VERSION=1.8.0 \ + WEBP_VERSION=1.0.2 \ + X264_VERSION=20170226-2245-stable \ + X265_VERSION=3.1.1 \ + XAU_VERSION=1.0.9 \ + XORG_MACROS_VERSION=1.19.2 \ + XPROTO_VERSION=7.0.31 \ + XVID_VERSION=1.3.4 \ + LIBXML2_VERSION=2.9.10 \ + LIBBLURAY_VERSION=1.1.2 \ + SRC=/usr/local + +ARG FREETYPE_SHA256SUM="5d03dd76c2171a7601e9ce10551d52d4471cf92cd205948e60289251daddffa8 freetype-2.5.5.tar.gz" +ARG FRIBIDI_SHA256SUM="3fc96fa9473bd31dcb5500bdf1aa78b337ba13eb8c301e7c28923fea982453a8 0.19.7.tar.gz" +ARG LIBASS_SHA256SUM="8fadf294bf701300d4605e6f1d92929304187fca4b8d8a47889315526adbafd7 0.13.7.tar.gz" +ARG LIBVIDSTAB_SHA256SUM="14d2a053e56edad4f397be0cb3ef8eb1ec3150404ce99a426c4eb641861dc0bb v1.1.0.tar.gz" +ARG OGG_SHA256SUM="e19ee34711d7af328cb26287f4137e70630e7261b17cbe3cd41011d73a654692 libogg-1.3.2.tar.gz" +ARG OPUS_SHA256SUM="77db45a87b51578fbc49555ef1b10926179861d854eb2613207dc79d9ec0a9a9 opus-1.2.tar.gz" +ARG THEORA_SHA256SUM="40952956c47811928d1e7922cda3bc1f427eb75680c3c37249c91e949054916b libtheora-1.1.1.tar.gz" +ARG VORBIS_SHA256SUM="6efbcecdd3e5dfbf090341b485da9d176eb250d893e3eb378c428a2db38301ce libvorbis-1.3.5.tar.gz" +ARG XVID_SHA256SUM="4e9fd62728885855bc5007fe1be58df42e5e274497591fec37249e1052ae316f xvidcore-1.3.4.tar.gz" +ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20fe13b8571ee9501 libxml2-v2.9.10.tar.gz" +ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" + + + +RUN buildDeps="autoconf \ + automake \ + cmake \ + curl \ + bzip2 \ + libexpat1-dev \ + g++ \ + gcc \ + git \ + gperf \ + libtool \ + make \ + nasm \ + perl \ + pkg-config \ + python \ + libssl-dev \ + yasm \ + zlib1g-dev" && \ + apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ${buildDeps} +## opencore-amr https://sourceforge.net/projects/opencore-amr/ +RUN \ + DIR=/tmp/opencore-amr && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-${OPENCOREAMR_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## x264 http://www.videolan.org/developers/x264.html +RUN \ + DIR=/tmp/x264 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-${X264_VERSION}.tar.bz2 | \ + tar -jx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared --enable-pic --disable-cli && \ + make && \ + make install && \ + rm -rf ${DIR} +### x265 http://x265.org/ +RUN \ + DIR=/tmp/x265 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x265/x265_${X265_VERSION}.tar.gz | \ + tar -zx && \ + cd x265_${X265_VERSION}/build/linux && \ + sed -i "/-DEXTRA_LIB/ s/$/ -DCMAKE_INSTALL_PREFIX=\${PREFIX}/" multilib.sh && \ + sed -i "/^cmake/ s/$/ -DENABLE_CLI=OFF/" multilib.sh && \ + ./multilib.sh && \ + make -C 8bit install && \ + rm -rf ${DIR} +### libogg https://www.xiph.org/ogg/ +RUN \ + DIR=/tmp/ogg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz && \ + echo ${OGG_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libogg-${OGG_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libopus https://www.opus-codec.org/ +RUN \ + DIR=/tmp/opus && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz && \ + echo ${OPUS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f opus-${OPUS_VERSION}.tar.gz && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvorbis https://xiph.org/vorbis/ +RUN \ + DIR=/tmp/vorbis && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz && \ + echo ${VORBIS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libvorbis-${VORBIS_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libtheora http://www.theora.org/ +RUN \ + DIR=/tmp/theora && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.gz && \ + echo ${THEORA_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libtheora-${THEORA_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvpx https://www.webmproject.org/code/ +RUN \ + DIR=/tmp/vpx && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://codeload.github.com/webmproject/libvpx/tar.gz/v${VPX_VERSION} | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-vp8 --enable-vp9 --enable-vp9-highbitdepth --enable-pic --enable-shared \ + --disable-debug --disable-examples --disable-docs --disable-install-bins && \ + make && \ + make install && \ + rm -rf ${DIR} +### libwebp https://developers.google.com/speed/webp/ +RUN \ + DIR=/tmp/vebp && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libmp3lame http://lame.sourceforge.net/ +RUN \ + DIR=/tmp/lame && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + make && \ + make install && \ + rm -rf ${DIR} +### xvid https://www.xvid.com/ +RUN \ + DIR=/tmp/xvid && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xvid.org/downloads/xvidcore-${XVID_VERSION}.tar.gz && \ + echo ${XVID_SHA256SUM} | sha256sum --check && \ + tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ + cd xvidcore/build/generic && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### fdk-aac https://github.com/mstorsjo/fdk-aac +RUN \ + DIR=/tmp/fdk-aac && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/mstorsjo/fdk-aac/archive/v${FDKAAC_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared --datadir="${DIR}" && \ + make && \ + make install && \ + rm -rf ${DIR} +## openjpeg https://github.com/uclouvain/openjpeg +RUN \ + DIR=/tmp/openjpeg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + cmake -DBUILD_THIRDPARTY:BOOL=ON -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## freetype https://www.freetype.org/ +RUN \ + DIR=/tmp/freetype && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.gz && \ + echo ${FREETYPE_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f freetype-${FREETYPE_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libvstab https://github.com/georgmartius/vid.stab +RUN \ + DIR=/tmp/vid.stab && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## fridibi https://www.fribidi.org/ +# + https://github.com/fribidi/fribidi/issues/8 +RUN \ + DIR=/tmp/fribidi && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ + echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ + ./bootstrap --no-config && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j 1 && \ + make install && \ + rm -rf ${DIR} +## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ +RUN \ + DIR=/tmp/fontconfig && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libass https://github.com/libass/libass +RUN \ + DIR=/tmp/libass && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + echo ${LIBASS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## kvazaar https://github.com/ultravideo/kvazaar +RUN \ + DIR=/tmp/kvazaar && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/aom && \ + git clone --branch ${AOM_VERSION} --depth 1 https://aomedia.googlesource.com/aom ${DIR} ; \ + cd ${DIR} ; \ + rm -rf CMakeCache.txt CMakeFiles ; \ + mkdir -p ./aom_build ; \ + cd ./aom_build ; \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DBUILD_SHARED_LIBS=1 ..; \ + make ; \ + make install ; \ + rm -rf ${DIR} + +## libxcb (and supporting libraries) for screen capture https://xcb.freedesktop.org/ +RUN \ + DIR=/tmp/xorg-macros && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/xproto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libXau && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libpthread-stubs && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb-proto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## libxml2 - for libbluray +RUN \ + DIR=/tmp/libxml2 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ + echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ + tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + make && \ + make install && \ + rm -rf ${DIR} + + +## libbluray - Requires libxml, freetype, and fontconfig +RUN \ + DIR=/tmp/libbluray && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ + tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## ffmpeg https://ffmpeg.org/ +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + curl -sLO https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2 && \ + tar -jx --strip-components=1 -f ffmpeg-${FFMPEG_VERSION}.tar.bz2 + + + +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + ./configure \ + --disable-debug \ + --disable-doc \ + --disable-ffplay \ + --enable-shared \ + --enable-avresample \ + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --enable-gpl \ + --enable-libass \ + --enable-fontconfig \ + --enable-libfreetype \ + --enable-libvidstab \ + --enable-libmp3lame \ + --enable-libopus \ + --enable-libtheora \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libxcb \ + --enable-libx265 \ + --enable-libxvid \ + --enable-libx264 \ + --enable-nonfree \ + --enable-openssl \ + --enable-libfdk_aac \ + --enable-postproc \ + --enable-small \ + --enable-version3 \ + --enable-libbluray \ + --extra-libs=-ldl \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ + make && \ + make install && \ + make distclean && \ + hash -r && \ + cd tools && \ + make qt-faststart && \ + cp qt-faststart ${PREFIX}/bin + +## cleanup +RUN \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + cp ${PREFIX}/bin/* /usr/local/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf + +FROM base AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib + +COPY --from=build /usr/local /usr/local/ + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/4.0/ubuntu/Dockerfile b/docker-images/4.0/ubuntu1804/Dockerfile similarity index 99% rename from docker-images/4.0/ubuntu/Dockerfile rename to docker-images/4.0/ubuntu1804/Dockerfile index d68cb8357..b272ac01b 100644 --- a/docker-images/4.0/ubuntu/Dockerfile +++ b/docker-images/4.0/ubuntu1804/Dockerfile @@ -449,7 +449,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -462,16 +461,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.0/vaapi/Dockerfile b/docker-images/4.0/vaapi1804/Dockerfile similarity index 99% rename from docker-images/4.0/vaapi/Dockerfile rename to docker-images/4.0/vaapi1804/Dockerfile index 21359b563..b92938f45 100644 --- a/docker-images/4.0/vaapi/Dockerfile +++ b/docker-images/4.0/vaapi1804/Dockerfile @@ -440,7 +440,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-vaapi \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -451,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +462,19 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --enable-vaapi \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.1/alpine/Dockerfile b/docker-images/4.1/alpine311/Dockerfile similarity index 99% rename from docker-images/4.1/alpine/Dockerfile rename to docker-images/4.1/alpine311/Dockerfile index f86c73520..c47e8b3fd 100644 --- a/docker-images/4.1/alpine/Dockerfile +++ b/docker-images/4.1/alpine311/Dockerfile @@ -448,7 +448,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -461,16 +460,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.1/centos7/Dockerfile b/docker-images/4.1/centos7/Dockerfile index 20731872d..e2fc83989 100644 --- a/docker-images/4.1/centos7/Dockerfile +++ b/docker-images/4.1/centos7/Dockerfile @@ -485,7 +485,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -498,16 +497,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.1/centos8/Dockerfile b/docker-images/4.1/centos8/Dockerfile index e9b934a02..f2b51a1f2 100644 --- a/docker-images/4.1/centos8/Dockerfile +++ b/docker-images/4.1/centos8/Dockerfile @@ -451,7 +451,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +463,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.1/nvidia/Dockerfile b/docker-images/4.1/nvidia1804/Dockerfile similarity index 99% rename from docker-images/4.1/nvidia/Dockerfile rename to docker-images/4.1/nvidia1804/Dockerfile index 368857b88..ecba42b29 100644 --- a/docker-images/4.1/nvidia/Dockerfile +++ b/docker-images/4.1/nvidia1804/Dockerfile @@ -464,10 +464,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-cuda \ - --enable-nvenc \ - --enable-cuvid \ - --enable-libnpp \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -478,7 +474,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -491,16 +486,22 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ - --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64/ -L/usr/local/cuda/lib32/" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --enable-nvenc \ + --enable-cuda \ + --enable-cuvid \ + --enable-libnpp \ + --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ + --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib32/" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.1/scratch/Dockerfile b/docker-images/4.1/scratch311/Dockerfile similarity index 97% rename from docker-images/4.1/scratch/Dockerfile rename to docker-images/4.1/scratch311/Dockerfile index d648a7f8b..2a0dc3e27 100644 --- a/docker-images/4.1/scratch/Dockerfile +++ b/docker-images/4.1/scratch311/Dockerfile @@ -4,7 +4,7 @@ # # -FROM alpine:3.8 AS build +FROM alpine:3.11 AS build WORKDIR /tmp/workdir @@ -80,8 +80,13 @@ RUN buildDeps="autoconf \ yasm \ nasm \ zlib-dev \ - git" && \ - apk add --update ${buildDeps} libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 + git \ + libgcc \ + libstdc++ \ + ca-certificates \ + libcrypto1.1 \ + libssl1.1" && \ + apk add --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -445,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -458,16 +462,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.1/ubuntu1604/Dockerfile b/docker-images/4.1/ubuntu1604/Dockerfile new file mode 100644 index 000000000..7294a2340 --- /dev/null +++ b/docker-images/4.1/ubuntu1604/Dockerfile @@ -0,0 +1,501 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# From https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# +FROM ubuntu:16.04 AS base + +WORKDIR /tmp/workdir + +RUN apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ca-certificates expat libgomp1 && \ + apt-get autoremove -y && \ + apt-get clean -y + +FROM base as build + +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j2" + +ENV FFMPEG_VERSION=4.1.5 \ + AOM_VERSION=v1.0.0 \ + FDKAAC_VERSION=0.1.5 \ + FONTCONFIG_VERSION=2.12.4 \ + FREETYPE_VERSION=2.5.5 \ + FRIBIDI_VERSION=0.19.7 \ + KVAZAAR_VERSION=1.2.0 \ + LAME_VERSION=3.100 \ + LIBASS_VERSION=0.13.7 \ + LIBPTHREAD_STUBS_VERSION=0.4 \ + LIBVIDSTAB_VERSION=1.1.0 \ + LIBXCB_VERSION=1.13.1 \ + XCBPROTO_VERSION=1.13 \ + OGG_VERSION=1.3.2 \ + OPENCOREAMR_VERSION=0.1.5 \ + OPUS_VERSION=1.2 \ + OPENJPEG_VERSION=2.1.2 \ + THEORA_VERSION=1.1.1 \ + VORBIS_VERSION=1.3.5 \ + VPX_VERSION=1.8.0 \ + WEBP_VERSION=1.0.2 \ + X264_VERSION=20170226-2245-stable \ + X265_VERSION=3.1.1 \ + XAU_VERSION=1.0.9 \ + XORG_MACROS_VERSION=1.19.2 \ + XPROTO_VERSION=7.0.31 \ + XVID_VERSION=1.3.4 \ + LIBXML2_VERSION=2.9.10 \ + LIBBLURAY_VERSION=1.1.2 \ + SRC=/usr/local + +ARG FREETYPE_SHA256SUM="5d03dd76c2171a7601e9ce10551d52d4471cf92cd205948e60289251daddffa8 freetype-2.5.5.tar.gz" +ARG FRIBIDI_SHA256SUM="3fc96fa9473bd31dcb5500bdf1aa78b337ba13eb8c301e7c28923fea982453a8 0.19.7.tar.gz" +ARG LIBASS_SHA256SUM="8fadf294bf701300d4605e6f1d92929304187fca4b8d8a47889315526adbafd7 0.13.7.tar.gz" +ARG LIBVIDSTAB_SHA256SUM="14d2a053e56edad4f397be0cb3ef8eb1ec3150404ce99a426c4eb641861dc0bb v1.1.0.tar.gz" +ARG OGG_SHA256SUM="e19ee34711d7af328cb26287f4137e70630e7261b17cbe3cd41011d73a654692 libogg-1.3.2.tar.gz" +ARG OPUS_SHA256SUM="77db45a87b51578fbc49555ef1b10926179861d854eb2613207dc79d9ec0a9a9 opus-1.2.tar.gz" +ARG THEORA_SHA256SUM="40952956c47811928d1e7922cda3bc1f427eb75680c3c37249c91e949054916b libtheora-1.1.1.tar.gz" +ARG VORBIS_SHA256SUM="6efbcecdd3e5dfbf090341b485da9d176eb250d893e3eb378c428a2db38301ce libvorbis-1.3.5.tar.gz" +ARG XVID_SHA256SUM="4e9fd62728885855bc5007fe1be58df42e5e274497591fec37249e1052ae316f xvidcore-1.3.4.tar.gz" +ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20fe13b8571ee9501 libxml2-v2.9.10.tar.gz" +ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" + + + +RUN buildDeps="autoconf \ + automake \ + cmake \ + curl \ + bzip2 \ + libexpat1-dev \ + g++ \ + gcc \ + git \ + gperf \ + libtool \ + make \ + nasm \ + perl \ + pkg-config \ + python \ + libssl-dev \ + yasm \ + zlib1g-dev" && \ + apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ${buildDeps} +## opencore-amr https://sourceforge.net/projects/opencore-amr/ +RUN \ + DIR=/tmp/opencore-amr && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-${OPENCOREAMR_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## x264 http://www.videolan.org/developers/x264.html +RUN \ + DIR=/tmp/x264 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-${X264_VERSION}.tar.bz2 | \ + tar -jx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared --enable-pic --disable-cli && \ + make && \ + make install && \ + rm -rf ${DIR} +### x265 http://x265.org/ +RUN \ + DIR=/tmp/x265 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x265/x265_${X265_VERSION}.tar.gz | \ + tar -zx && \ + cd x265_${X265_VERSION}/build/linux && \ + sed -i "/-DEXTRA_LIB/ s/$/ -DCMAKE_INSTALL_PREFIX=\${PREFIX}/" multilib.sh && \ + sed -i "/^cmake/ s/$/ -DENABLE_CLI=OFF/" multilib.sh && \ + ./multilib.sh && \ + make -C 8bit install && \ + rm -rf ${DIR} +### libogg https://www.xiph.org/ogg/ +RUN \ + DIR=/tmp/ogg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz && \ + echo ${OGG_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libogg-${OGG_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libopus https://www.opus-codec.org/ +RUN \ + DIR=/tmp/opus && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz && \ + echo ${OPUS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f opus-${OPUS_VERSION}.tar.gz && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvorbis https://xiph.org/vorbis/ +RUN \ + DIR=/tmp/vorbis && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz && \ + echo ${VORBIS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libvorbis-${VORBIS_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libtheora http://www.theora.org/ +RUN \ + DIR=/tmp/theora && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.gz && \ + echo ${THEORA_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libtheora-${THEORA_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvpx https://www.webmproject.org/code/ +RUN \ + DIR=/tmp/vpx && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://codeload.github.com/webmproject/libvpx/tar.gz/v${VPX_VERSION} | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-vp8 --enable-vp9 --enable-vp9-highbitdepth --enable-pic --enable-shared \ + --disable-debug --disable-examples --disable-docs --disable-install-bins && \ + make && \ + make install && \ + rm -rf ${DIR} +### libwebp https://developers.google.com/speed/webp/ +RUN \ + DIR=/tmp/vebp && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libmp3lame http://lame.sourceforge.net/ +RUN \ + DIR=/tmp/lame && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + make && \ + make install && \ + rm -rf ${DIR} +### xvid https://www.xvid.com/ +RUN \ + DIR=/tmp/xvid && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xvid.org/downloads/xvidcore-${XVID_VERSION}.tar.gz && \ + echo ${XVID_SHA256SUM} | sha256sum --check && \ + tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ + cd xvidcore/build/generic && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### fdk-aac https://github.com/mstorsjo/fdk-aac +RUN \ + DIR=/tmp/fdk-aac && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/mstorsjo/fdk-aac/archive/v${FDKAAC_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared --datadir="${DIR}" && \ + make && \ + make install && \ + rm -rf ${DIR} +## openjpeg https://github.com/uclouvain/openjpeg +RUN \ + DIR=/tmp/openjpeg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + cmake -DBUILD_THIRDPARTY:BOOL=ON -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## freetype https://www.freetype.org/ +RUN \ + DIR=/tmp/freetype && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.gz && \ + echo ${FREETYPE_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f freetype-${FREETYPE_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libvstab https://github.com/georgmartius/vid.stab +RUN \ + DIR=/tmp/vid.stab && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## fridibi https://www.fribidi.org/ +# + https://github.com/fribidi/fribidi/issues/8 +RUN \ + DIR=/tmp/fribidi && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ + echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ + ./bootstrap --no-config && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j 1 && \ + make install && \ + rm -rf ${DIR} +## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ +RUN \ + DIR=/tmp/fontconfig && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libass https://github.com/libass/libass +RUN \ + DIR=/tmp/libass && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + echo ${LIBASS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## kvazaar https://github.com/ultravideo/kvazaar +RUN \ + DIR=/tmp/kvazaar && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/aom && \ + git clone --branch ${AOM_VERSION} --depth 1 https://aomedia.googlesource.com/aom ${DIR} ; \ + cd ${DIR} ; \ + rm -rf CMakeCache.txt CMakeFiles ; \ + mkdir -p ./aom_build ; \ + cd ./aom_build ; \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DBUILD_SHARED_LIBS=1 ..; \ + make ; \ + make install ; \ + rm -rf ${DIR} + +## libxcb (and supporting libraries) for screen capture https://xcb.freedesktop.org/ +RUN \ + DIR=/tmp/xorg-macros && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/xproto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libXau && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libpthread-stubs && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb-proto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## libxml2 - for libbluray +RUN \ + DIR=/tmp/libxml2 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ + echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ + tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + make && \ + make install && \ + rm -rf ${DIR} + + +## libbluray - Requires libxml, freetype, and fontconfig +RUN \ + DIR=/tmp/libbluray && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ + tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## ffmpeg https://ffmpeg.org/ +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + curl -sLO https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2 && \ + tar -jx --strip-components=1 -f ffmpeg-${FFMPEG_VERSION}.tar.bz2 + + + +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + ./configure \ + --disable-debug \ + --disable-doc \ + --disable-ffplay \ + --enable-shared \ + --enable-avresample \ + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --enable-gpl \ + --enable-libass \ + --enable-fontconfig \ + --enable-libfreetype \ + --enable-libvidstab \ + --enable-libmp3lame \ + --enable-libopus \ + --enable-libtheora \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libxcb \ + --enable-libx265 \ + --enable-libxvid \ + --enable-libx264 \ + --enable-nonfree \ + --enable-openssl \ + --enable-libfdk_aac \ + --enable-postproc \ + --enable-small \ + --enable-version3 \ + --enable-libbluray \ + --extra-libs=-ldl \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ + make && \ + make install && \ + make distclean && \ + hash -r && \ + cd tools && \ + make qt-faststart && \ + cp qt-faststart ${PREFIX}/bin + +## cleanup +RUN \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + cp ${PREFIX}/bin/* /usr/local/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf + +FROM base AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib + +COPY --from=build /usr/local /usr/local/ + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/4.1/ubuntu/Dockerfile b/docker-images/4.1/ubuntu1804/Dockerfile similarity index 99% rename from docker-images/4.1/ubuntu/Dockerfile rename to docker-images/4.1/ubuntu1804/Dockerfile index b8e20abd7..d3cae0415 100644 --- a/docker-images/4.1/ubuntu/Dockerfile +++ b/docker-images/4.1/ubuntu1804/Dockerfile @@ -449,7 +449,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -462,16 +461,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.1/vaapi/Dockerfile b/docker-images/4.1/vaapi1804/Dockerfile similarity index 99% rename from docker-images/4.1/vaapi/Dockerfile rename to docker-images/4.1/vaapi1804/Dockerfile index d00f3e364..1bed78485 100644 --- a/docker-images/4.1/vaapi/Dockerfile +++ b/docker-images/4.1/vaapi1804/Dockerfile @@ -440,7 +440,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-vaapi \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -451,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +462,19 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --enable-vaapi \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.2/alpine/Dockerfile b/docker-images/4.2/alpine311/Dockerfile similarity index 99% rename from docker-images/4.2/alpine/Dockerfile rename to docker-images/4.2/alpine311/Dockerfile index c9e7c6d2c..97c16d114 100644 --- a/docker-images/4.2/alpine/Dockerfile +++ b/docker-images/4.2/alpine311/Dockerfile @@ -448,7 +448,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -461,16 +460,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.2/centos7/Dockerfile b/docker-images/4.2/centos7/Dockerfile index b17f35474..b52267792 100644 --- a/docker-images/4.2/centos7/Dockerfile +++ b/docker-images/4.2/centos7/Dockerfile @@ -485,7 +485,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -498,16 +497,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.2/centos8/Dockerfile b/docker-images/4.2/centos8/Dockerfile index 287e774c1..021a3300f 100644 --- a/docker-images/4.2/centos8/Dockerfile +++ b/docker-images/4.2/centos8/Dockerfile @@ -451,7 +451,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +463,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.2/nvidia/Dockerfile b/docker-images/4.2/nvidia1804/Dockerfile similarity index 99% rename from docker-images/4.2/nvidia/Dockerfile rename to docker-images/4.2/nvidia1804/Dockerfile index 2e1db697c..8169b3320 100644 --- a/docker-images/4.2/nvidia/Dockerfile +++ b/docker-images/4.2/nvidia1804/Dockerfile @@ -464,10 +464,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-cuda \ - --enable-nvenc \ - --enable-cuvid \ - --enable-libnpp \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -478,7 +474,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -491,16 +486,22 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ - --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64/ -L/usr/local/cuda/lib32/" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --enable-nvenc \ + --enable-cuda \ + --enable-cuvid \ + --enable-libnpp \ + --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ + --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib32/" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.2/scratch/Dockerfile b/docker-images/4.2/scratch311/Dockerfile similarity index 97% rename from docker-images/4.2/scratch/Dockerfile rename to docker-images/4.2/scratch311/Dockerfile index fc9b66354..4a6a40f01 100644 --- a/docker-images/4.2/scratch/Dockerfile +++ b/docker-images/4.2/scratch311/Dockerfile @@ -4,7 +4,7 @@ # # -FROM alpine:3.8 AS build +FROM alpine:3.11 AS build WORKDIR /tmp/workdir @@ -80,8 +80,13 @@ RUN buildDeps="autoconf \ yasm \ nasm \ zlib-dev \ - git" && \ - apk add --update ${buildDeps} libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 + git \ + libgcc \ + libstdc++ \ + ca-certificates \ + libcrypto1.1 \ + libssl1.1" && \ + apk add --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -445,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -458,16 +462,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.2/ubuntu1604/Dockerfile b/docker-images/4.2/ubuntu1604/Dockerfile new file mode 100644 index 000000000..fcfbacdd2 --- /dev/null +++ b/docker-images/4.2/ubuntu1604/Dockerfile @@ -0,0 +1,501 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# From https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# +FROM ubuntu:16.04 AS base + +WORKDIR /tmp/workdir + +RUN apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ca-certificates expat libgomp1 && \ + apt-get autoremove -y && \ + apt-get clean -y + +FROM base as build + +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j2" + +ENV FFMPEG_VERSION=4.2.2 \ + AOM_VERSION=v1.0.0 \ + FDKAAC_VERSION=0.1.5 \ + FONTCONFIG_VERSION=2.12.4 \ + FREETYPE_VERSION=2.5.5 \ + FRIBIDI_VERSION=0.19.7 \ + KVAZAAR_VERSION=1.2.0 \ + LAME_VERSION=3.100 \ + LIBASS_VERSION=0.13.7 \ + LIBPTHREAD_STUBS_VERSION=0.4 \ + LIBVIDSTAB_VERSION=1.1.0 \ + LIBXCB_VERSION=1.13.1 \ + XCBPROTO_VERSION=1.13 \ + OGG_VERSION=1.3.2 \ + OPENCOREAMR_VERSION=0.1.5 \ + OPUS_VERSION=1.2 \ + OPENJPEG_VERSION=2.1.2 \ + THEORA_VERSION=1.1.1 \ + VORBIS_VERSION=1.3.5 \ + VPX_VERSION=1.8.0 \ + WEBP_VERSION=1.0.2 \ + X264_VERSION=20170226-2245-stable \ + X265_VERSION=3.1.1 \ + XAU_VERSION=1.0.9 \ + XORG_MACROS_VERSION=1.19.2 \ + XPROTO_VERSION=7.0.31 \ + XVID_VERSION=1.3.4 \ + LIBXML2_VERSION=2.9.10 \ + LIBBLURAY_VERSION=1.1.2 \ + SRC=/usr/local + +ARG FREETYPE_SHA256SUM="5d03dd76c2171a7601e9ce10551d52d4471cf92cd205948e60289251daddffa8 freetype-2.5.5.tar.gz" +ARG FRIBIDI_SHA256SUM="3fc96fa9473bd31dcb5500bdf1aa78b337ba13eb8c301e7c28923fea982453a8 0.19.7.tar.gz" +ARG LIBASS_SHA256SUM="8fadf294bf701300d4605e6f1d92929304187fca4b8d8a47889315526adbafd7 0.13.7.tar.gz" +ARG LIBVIDSTAB_SHA256SUM="14d2a053e56edad4f397be0cb3ef8eb1ec3150404ce99a426c4eb641861dc0bb v1.1.0.tar.gz" +ARG OGG_SHA256SUM="e19ee34711d7af328cb26287f4137e70630e7261b17cbe3cd41011d73a654692 libogg-1.3.2.tar.gz" +ARG OPUS_SHA256SUM="77db45a87b51578fbc49555ef1b10926179861d854eb2613207dc79d9ec0a9a9 opus-1.2.tar.gz" +ARG THEORA_SHA256SUM="40952956c47811928d1e7922cda3bc1f427eb75680c3c37249c91e949054916b libtheora-1.1.1.tar.gz" +ARG VORBIS_SHA256SUM="6efbcecdd3e5dfbf090341b485da9d176eb250d893e3eb378c428a2db38301ce libvorbis-1.3.5.tar.gz" +ARG XVID_SHA256SUM="4e9fd62728885855bc5007fe1be58df42e5e274497591fec37249e1052ae316f xvidcore-1.3.4.tar.gz" +ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20fe13b8571ee9501 libxml2-v2.9.10.tar.gz" +ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" + + + +RUN buildDeps="autoconf \ + automake \ + cmake \ + curl \ + bzip2 \ + libexpat1-dev \ + g++ \ + gcc \ + git \ + gperf \ + libtool \ + make \ + nasm \ + perl \ + pkg-config \ + python \ + libssl-dev \ + yasm \ + zlib1g-dev" && \ + apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ${buildDeps} +## opencore-amr https://sourceforge.net/projects/opencore-amr/ +RUN \ + DIR=/tmp/opencore-amr && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-${OPENCOREAMR_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## x264 http://www.videolan.org/developers/x264.html +RUN \ + DIR=/tmp/x264 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-${X264_VERSION}.tar.bz2 | \ + tar -jx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared --enable-pic --disable-cli && \ + make && \ + make install && \ + rm -rf ${DIR} +### x265 http://x265.org/ +RUN \ + DIR=/tmp/x265 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x265/x265_${X265_VERSION}.tar.gz | \ + tar -zx && \ + cd x265_${X265_VERSION}/build/linux && \ + sed -i "/-DEXTRA_LIB/ s/$/ -DCMAKE_INSTALL_PREFIX=\${PREFIX}/" multilib.sh && \ + sed -i "/^cmake/ s/$/ -DENABLE_CLI=OFF/" multilib.sh && \ + ./multilib.sh && \ + make -C 8bit install && \ + rm -rf ${DIR} +### libogg https://www.xiph.org/ogg/ +RUN \ + DIR=/tmp/ogg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz && \ + echo ${OGG_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libogg-${OGG_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libopus https://www.opus-codec.org/ +RUN \ + DIR=/tmp/opus && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz && \ + echo ${OPUS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f opus-${OPUS_VERSION}.tar.gz && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvorbis https://xiph.org/vorbis/ +RUN \ + DIR=/tmp/vorbis && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz && \ + echo ${VORBIS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libvorbis-${VORBIS_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libtheora http://www.theora.org/ +RUN \ + DIR=/tmp/theora && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.gz && \ + echo ${THEORA_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libtheora-${THEORA_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvpx https://www.webmproject.org/code/ +RUN \ + DIR=/tmp/vpx && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://codeload.github.com/webmproject/libvpx/tar.gz/v${VPX_VERSION} | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-vp8 --enable-vp9 --enable-vp9-highbitdepth --enable-pic --enable-shared \ + --disable-debug --disable-examples --disable-docs --disable-install-bins && \ + make && \ + make install && \ + rm -rf ${DIR} +### libwebp https://developers.google.com/speed/webp/ +RUN \ + DIR=/tmp/vebp && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libmp3lame http://lame.sourceforge.net/ +RUN \ + DIR=/tmp/lame && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + make && \ + make install && \ + rm -rf ${DIR} +### xvid https://www.xvid.com/ +RUN \ + DIR=/tmp/xvid && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xvid.org/downloads/xvidcore-${XVID_VERSION}.tar.gz && \ + echo ${XVID_SHA256SUM} | sha256sum --check && \ + tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ + cd xvidcore/build/generic && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### fdk-aac https://github.com/mstorsjo/fdk-aac +RUN \ + DIR=/tmp/fdk-aac && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/mstorsjo/fdk-aac/archive/v${FDKAAC_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared --datadir="${DIR}" && \ + make && \ + make install && \ + rm -rf ${DIR} +## openjpeg https://github.com/uclouvain/openjpeg +RUN \ + DIR=/tmp/openjpeg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + cmake -DBUILD_THIRDPARTY:BOOL=ON -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## freetype https://www.freetype.org/ +RUN \ + DIR=/tmp/freetype && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.gz && \ + echo ${FREETYPE_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f freetype-${FREETYPE_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libvstab https://github.com/georgmartius/vid.stab +RUN \ + DIR=/tmp/vid.stab && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## fridibi https://www.fribidi.org/ +# + https://github.com/fribidi/fribidi/issues/8 +RUN \ + DIR=/tmp/fribidi && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ + echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ + ./bootstrap --no-config && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j 1 && \ + make install && \ + rm -rf ${DIR} +## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ +RUN \ + DIR=/tmp/fontconfig && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libass https://github.com/libass/libass +RUN \ + DIR=/tmp/libass && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + echo ${LIBASS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## kvazaar https://github.com/ultravideo/kvazaar +RUN \ + DIR=/tmp/kvazaar && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/aom && \ + git clone --branch ${AOM_VERSION} --depth 1 https://aomedia.googlesource.com/aom ${DIR} ; \ + cd ${DIR} ; \ + rm -rf CMakeCache.txt CMakeFiles ; \ + mkdir -p ./aom_build ; \ + cd ./aom_build ; \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DBUILD_SHARED_LIBS=1 ..; \ + make ; \ + make install ; \ + rm -rf ${DIR} + +## libxcb (and supporting libraries) for screen capture https://xcb.freedesktop.org/ +RUN \ + DIR=/tmp/xorg-macros && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/xproto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libXau && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libpthread-stubs && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb-proto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## libxml2 - for libbluray +RUN \ + DIR=/tmp/libxml2 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ + echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ + tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + make && \ + make install && \ + rm -rf ${DIR} + + +## libbluray - Requires libxml, freetype, and fontconfig +RUN \ + DIR=/tmp/libbluray && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ + tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## ffmpeg https://ffmpeg.org/ +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + curl -sLO https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2 && \ + tar -jx --strip-components=1 -f ffmpeg-${FFMPEG_VERSION}.tar.bz2 + + + +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + ./configure \ + --disable-debug \ + --disable-doc \ + --disable-ffplay \ + --enable-shared \ + --enable-avresample \ + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --enable-gpl \ + --enable-libass \ + --enable-fontconfig \ + --enable-libfreetype \ + --enable-libvidstab \ + --enable-libmp3lame \ + --enable-libopus \ + --enable-libtheora \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libxcb \ + --enable-libx265 \ + --enable-libxvid \ + --enable-libx264 \ + --enable-nonfree \ + --enable-openssl \ + --enable-libfdk_aac \ + --enable-postproc \ + --enable-small \ + --enable-version3 \ + --enable-libbluray \ + --extra-libs=-ldl \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ + make && \ + make install && \ + make distclean && \ + hash -r && \ + cd tools && \ + make qt-faststart && \ + cp qt-faststart ${PREFIX}/bin + +## cleanup +RUN \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + cp ${PREFIX}/bin/* /usr/local/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf + +FROM base AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib + +COPY --from=build /usr/local /usr/local/ + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/4.2/ubuntu/Dockerfile b/docker-images/4.2/ubuntu1804/Dockerfile similarity index 99% rename from docker-images/4.2/ubuntu/Dockerfile rename to docker-images/4.2/ubuntu1804/Dockerfile index c0e51d059..37d4e3ded 100644 --- a/docker-images/4.2/ubuntu/Dockerfile +++ b/docker-images/4.2/ubuntu1804/Dockerfile @@ -449,7 +449,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -462,16 +461,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/4.2/vaapi/Dockerfile b/docker-images/4.2/vaapi1804/Dockerfile similarity index 99% rename from docker-images/4.2/vaapi/Dockerfile rename to docker-images/4.2/vaapi1804/Dockerfile index 7ece2a2d2..e6eeda556 100644 --- a/docker-images/4.2/vaapi/Dockerfile +++ b/docker-images/4.2/vaapi1804/Dockerfile @@ -440,7 +440,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-vaapi \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -451,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +462,19 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --enable-vaapi \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/gitlab-ci.yml b/docker-images/gitlab-ci.yml index 0b581fb79..70fa5bc8c 100644 --- a/docker-images/gitlab-ci.yml +++ b/docker-images/gitlab-ci.yml @@ -1,19 +1,28 @@ -snapshot-ubuntu: +snapshot-ubuntu1604: extends: .docker - stage: ubuntu + stage: ubuntu1604 variables: VERSION: "snapshot" - VARIANT: ubuntu + VARIANT: ubuntu1604 + PARENT: "ubuntu" + ISPARENT: "False" + +snapshot-ubuntu1804: + extends: .docker + stage: ubuntu1804 + variables: + VERSION: "snapshot" + VARIANT: ubuntu1804 PARENT: "ubuntu" ISPARENT: "True" -snapshot-alpine: +snapshot-alpine311: extends: .docker - stage: alpine + stage: alpine311 variables: VERSION: "snapshot" - VARIANT: alpine + VARIANT: alpine311 PARENT: "alpine" ISPARENT: "True" @@ -35,48 +44,57 @@ snapshot-centos8: PARENT: "centos" ISPARENT: "True" -snapshot-scratch: +snapshot-scratch311: extends: .docker - stage: scratch + stage: scratch311 variables: VERSION: "snapshot" - VARIANT: scratch + VARIANT: scratch311 PARENT: "scratch" ISPARENT: "True" -snapshot-vaapi: +snapshot-vaapi1804: extends: .docker - stage: vaapi + stage: vaapi1804 variables: VERSION: "snapshot" - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: "vaapi" ISPARENT: "True" -snapshot-nvidia: +snapshot-nvidia1804: extends: .docker - stage: nvidia + stage: nvidia1804 variables: VERSION: "snapshot" - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: "nvidia" ISPARENT: "True" -4.2.2-ubuntu: +4.2.2-ubuntu1604: + extends: .docker + stage: ubuntu1604 + variables: + VERSION: "4.2" + VARIANT: ubuntu1604 + PARENT: "ubuntu" + ISPARENT: "False" + +4.2.2-ubuntu1804: extends: .docker - stage: ubuntu + stage: ubuntu1804 variables: VERSION: "4.2" - VARIANT: ubuntu + VARIANT: ubuntu1804 PARENT: "ubuntu" ISPARENT: "True" -4.2.2-alpine: +4.2.2-alpine311: extends: .docker - stage: alpine + stage: alpine311 variables: VERSION: "4.2" - VARIANT: alpine + VARIANT: alpine311 PARENT: "alpine" ISPARENT: "True" @@ -98,48 +116,57 @@ snapshot-nvidia: PARENT: "centos" ISPARENT: "True" -4.2.2-scratch: +4.2.2-scratch311: extends: .docker - stage: scratch + stage: scratch311 variables: VERSION: "4.2" - VARIANT: scratch + VARIANT: scratch311 PARENT: "scratch" ISPARENT: "True" -4.2.2-vaapi: +4.2.2-vaapi1804: extends: .docker - stage: vaapi + stage: vaapi1804 variables: VERSION: "4.2" - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: "vaapi" ISPARENT: "True" -4.2.2-nvidia: +4.2.2-nvidia1804: extends: .docker - stage: nvidia + stage: nvidia1804 variables: VERSION: "4.2" - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: "nvidia" ISPARENT: "True" -4.1.5-ubuntu: +4.1.5-ubuntu1604: + extends: .docker + stage: ubuntu1604 + variables: + VERSION: "4.1" + VARIANT: ubuntu1604 + PARENT: "ubuntu" + ISPARENT: "False" + +4.1.5-ubuntu1804: extends: .docker - stage: ubuntu + stage: ubuntu1804 variables: VERSION: "4.1" - VARIANT: ubuntu + VARIANT: ubuntu1804 PARENT: "ubuntu" ISPARENT: "True" -4.1.5-alpine: +4.1.5-alpine311: extends: .docker - stage: alpine + stage: alpine311 variables: VERSION: "4.1" - VARIANT: alpine + VARIANT: alpine311 PARENT: "alpine" ISPARENT: "True" @@ -161,48 +188,57 @@ snapshot-nvidia: PARENT: "centos" ISPARENT: "True" -4.1.5-scratch: +4.1.5-scratch311: extends: .docker - stage: scratch + stage: scratch311 variables: VERSION: "4.1" - VARIANT: scratch + VARIANT: scratch311 PARENT: "scratch" ISPARENT: "True" -4.1.5-vaapi: +4.1.5-vaapi1804: extends: .docker - stage: vaapi + stage: vaapi1804 variables: VERSION: "4.1" - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: "vaapi" ISPARENT: "True" -4.1.5-nvidia: +4.1.5-nvidia1804: extends: .docker - stage: nvidia + stage: nvidia1804 variables: VERSION: "4.1" - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: "nvidia" ISPARENT: "True" -4.0.5-ubuntu: +4.0.5-ubuntu1604: extends: .docker - stage: ubuntu + stage: ubuntu1604 variables: VERSION: "4.0" - VARIANT: ubuntu + VARIANT: ubuntu1604 + PARENT: "ubuntu" + ISPARENT: "False" + +4.0.5-ubuntu1804: + extends: .docker + stage: ubuntu1804 + variables: + VERSION: "4.0" + VARIANT: ubuntu1804 PARENT: "ubuntu" ISPARENT: "True" -4.0.5-alpine: +4.0.5-alpine311: extends: .docker - stage: alpine + stage: alpine311 variables: VERSION: "4.0" - VARIANT: alpine + VARIANT: alpine311 PARENT: "alpine" ISPARENT: "True" @@ -224,48 +260,57 @@ snapshot-nvidia: PARENT: "centos" ISPARENT: "True" -4.0.5-scratch: +4.0.5-scratch311: extends: .docker - stage: scratch + stage: scratch311 variables: VERSION: "4.0" - VARIANT: scratch + VARIANT: scratch311 PARENT: "scratch" ISPARENT: "True" -4.0.5-vaapi: +4.0.5-vaapi1804: extends: .docker - stage: vaapi + stage: vaapi1804 variables: VERSION: "4.0" - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: "vaapi" ISPARENT: "True" -4.0.5-nvidia: +4.0.5-nvidia1804: extends: .docker - stage: nvidia + stage: nvidia1804 variables: VERSION: "4.0" - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: "nvidia" ISPARENT: "True" -3.4.7-ubuntu: +3.4.7-ubuntu1604: + extends: .docker + stage: ubuntu1604 + variables: + VERSION: "3.4" + VARIANT: ubuntu1604 + PARENT: "ubuntu" + ISPARENT: "False" + +3.4.7-ubuntu1804: extends: .docker - stage: ubuntu + stage: ubuntu1804 variables: VERSION: "3.4" - VARIANT: ubuntu + VARIANT: ubuntu1804 PARENT: "ubuntu" ISPARENT: "True" -3.4.7-alpine: +3.4.7-alpine311: extends: .docker - stage: alpine + stage: alpine311 variables: VERSION: "3.4" - VARIANT: alpine + VARIANT: alpine311 PARENT: "alpine" ISPARENT: "True" @@ -287,48 +332,57 @@ snapshot-nvidia: PARENT: "centos" ISPARENT: "True" -3.4.7-scratch: +3.4.7-scratch311: extends: .docker - stage: scratch + stage: scratch311 variables: VERSION: "3.4" - VARIANT: scratch + VARIANT: scratch311 PARENT: "scratch" ISPARENT: "True" -3.4.7-vaapi: +3.4.7-vaapi1804: extends: .docker - stage: vaapi + stage: vaapi1804 variables: VERSION: "3.4" - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: "vaapi" ISPARENT: "True" -3.4.7-nvidia: +3.4.7-nvidia1804: extends: .docker - stage: nvidia + stage: nvidia1804 variables: VERSION: "3.4" - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: "nvidia" ISPARENT: "True" -3.3.9-ubuntu: +3.3.9-ubuntu1604: + extends: .docker + stage: ubuntu1604 + variables: + VERSION: "3.3" + VARIANT: ubuntu1604 + PARENT: "ubuntu" + ISPARENT: "False" + +3.3.9-ubuntu1804: extends: .docker - stage: ubuntu + stage: ubuntu1804 variables: VERSION: "3.3" - VARIANT: ubuntu + VARIANT: ubuntu1804 PARENT: "ubuntu" ISPARENT: "True" -3.3.9-alpine: +3.3.9-alpine311: extends: .docker - stage: alpine + stage: alpine311 variables: VERSION: "3.3" - VARIANT: alpine + VARIANT: alpine311 PARENT: "alpine" ISPARENT: "True" @@ -350,48 +404,48 @@ snapshot-nvidia: PARENT: "centos" ISPARENT: "True" -3.3.9-scratch: +3.3.9-scratch311: extends: .docker - stage: scratch + stage: scratch311 variables: VERSION: "3.3" - VARIANT: scratch + VARIANT: scratch311 PARENT: "scratch" ISPARENT: "True" -3.3.9-vaapi: +3.3.9-vaapi1804: extends: .docker - stage: vaapi + stage: vaapi1804 variables: VERSION: "3.3" - VARIANT: vaapi + VARIANT: vaapi1804 PARENT: "vaapi" ISPARENT: "True" -3.3.9-nvidia: +3.3.9-nvidia1804: extends: .docker - stage: nvidia + stage: nvidia1804 variables: VERSION: "3.3" - VARIANT: nvidia + VARIANT: nvidia1804 PARENT: "nvidia" ISPARENT: "True" -3.2.14-ubuntu: +3.2.14-ubuntu1604: extends: .docker - stage: ubuntu + stage: ubuntu1604 variables: VERSION: "3.2" - VARIANT: ubuntu + VARIANT: ubuntu1604 PARENT: "ubuntu" ISPARENT: "True" -3.2.14-alpine: +3.2.14-alpine38: extends: .docker - stage: alpine + stage: alpine38 variables: VERSION: "3.2" - VARIANT: alpine + VARIANT: alpine38 PARENT: "alpine" ISPARENT: "True" @@ -404,29 +458,29 @@ snapshot-nvidia: PARENT: "centos" ISPARENT: "True" -3.2.14-scratch: +3.2.14-scratch38: extends: .docker - stage: scratch + stage: scratch38 variables: VERSION: "3.2" - VARIANT: scratch + VARIANT: scratch38 PARENT: "scratch" ISPARENT: "True" -3.2.14-vaapi: +3.2.14-vaapi1604: extends: .docker - stage: vaapi + stage: vaapi1604 variables: VERSION: "3.2" - VARIANT: vaapi + VARIANT: vaapi1604 PARENT: "vaapi" ISPARENT: "True" -3.2.14-nvidia: +3.2.14-nvidia1604: extends: .docker - stage: nvidia + stage: nvidia1604 variables: VERSION: "3.2" - VARIANT: nvidia + VARIANT: nvidia1604 PARENT: "nvidia" ISPARENT: "True" diff --git a/docker-images/snapshot/alpine/Dockerfile b/docker-images/snapshot/alpine311/Dockerfile similarity index 99% rename from docker-images/snapshot/alpine/Dockerfile rename to docker-images/snapshot/alpine311/Dockerfile index c8648b6d5..a6f78341b 100644 --- a/docker-images/snapshot/alpine/Dockerfile +++ b/docker-images/snapshot/alpine311/Dockerfile @@ -448,7 +448,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -461,16 +460,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/snapshot/centos7/Dockerfile b/docker-images/snapshot/centos7/Dockerfile index ab8b393bd..600ec192e 100644 --- a/docker-images/snapshot/centos7/Dockerfile +++ b/docker-images/snapshot/centos7/Dockerfile @@ -485,7 +485,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -498,16 +497,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/snapshot/centos8/Dockerfile b/docker-images/snapshot/centos8/Dockerfile index 5f4550168..c19293ad1 100644 --- a/docker-images/snapshot/centos8/Dockerfile +++ b/docker-images/snapshot/centos8/Dockerfile @@ -451,7 +451,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +463,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/snapshot/nvidia/Dockerfile b/docker-images/snapshot/nvidia1804/Dockerfile similarity index 99% rename from docker-images/snapshot/nvidia/Dockerfile rename to docker-images/snapshot/nvidia1804/Dockerfile index f92b62913..84f7eaa62 100644 --- a/docker-images/snapshot/nvidia/Dockerfile +++ b/docker-images/snapshot/nvidia1804/Dockerfile @@ -464,10 +464,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-cuda \ - --enable-nvenc \ - --enable-cuvid \ - --enable-libnpp \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -478,7 +474,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -491,16 +486,22 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ - --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64/ -L/usr/local/cuda/lib32/" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --enable-nvenc \ + --enable-cuda \ + --enable-cuvid \ + --enable-libnpp \ + --extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/" \ + --extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib32/" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/snapshot/scratch/Dockerfile b/docker-images/snapshot/scratch311/Dockerfile similarity index 97% rename from docker-images/snapshot/scratch/Dockerfile rename to docker-images/snapshot/scratch311/Dockerfile index 8e7716dbe..5c22013ba 100644 --- a/docker-images/snapshot/scratch/Dockerfile +++ b/docker-images/snapshot/scratch311/Dockerfile @@ -4,7 +4,7 @@ # # -FROM alpine:3.8 AS build +FROM alpine:3.11 AS build WORKDIR /tmp/workdir @@ -80,8 +80,13 @@ RUN buildDeps="autoconf \ yasm \ nasm \ zlib-dev \ - git" && \ - apk add --update ${buildDeps} libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 + git \ + libgcc \ + libstdc++ \ + ca-certificates \ + libcrypto1.1 \ + libssl1.1" && \ + apk add --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -445,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -458,16 +462,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/snapshot/ubuntu1604/Dockerfile b/docker-images/snapshot/ubuntu1604/Dockerfile new file mode 100644 index 000000000..22ad1e488 --- /dev/null +++ b/docker-images/snapshot/ubuntu1604/Dockerfile @@ -0,0 +1,501 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# From https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# +FROM ubuntu:16.04 AS base + +WORKDIR /tmp/workdir + +RUN apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ca-certificates expat libgomp1 && \ + apt-get autoremove -y && \ + apt-get clean -y + +FROM base as build + +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j2" + +ENV FFMPEG_VERSION=snapshot \ + AOM_VERSION=v1.0.0 \ + FDKAAC_VERSION=0.1.5 \ + FONTCONFIG_VERSION=2.12.4 \ + FREETYPE_VERSION=2.5.5 \ + FRIBIDI_VERSION=0.19.7 \ + KVAZAAR_VERSION=1.2.0 \ + LAME_VERSION=3.100 \ + LIBASS_VERSION=0.13.7 \ + LIBPTHREAD_STUBS_VERSION=0.4 \ + LIBVIDSTAB_VERSION=1.1.0 \ + LIBXCB_VERSION=1.13.1 \ + XCBPROTO_VERSION=1.13 \ + OGG_VERSION=1.3.2 \ + OPENCOREAMR_VERSION=0.1.5 \ + OPUS_VERSION=1.2 \ + OPENJPEG_VERSION=2.1.2 \ + THEORA_VERSION=1.1.1 \ + VORBIS_VERSION=1.3.5 \ + VPX_VERSION=1.8.0 \ + WEBP_VERSION=1.0.2 \ + X264_VERSION=20170226-2245-stable \ + X265_VERSION=3.1.1 \ + XAU_VERSION=1.0.9 \ + XORG_MACROS_VERSION=1.19.2 \ + XPROTO_VERSION=7.0.31 \ + XVID_VERSION=1.3.4 \ + LIBXML2_VERSION=2.9.10 \ + LIBBLURAY_VERSION=1.1.2 \ + SRC=/usr/local + +ARG FREETYPE_SHA256SUM="5d03dd76c2171a7601e9ce10551d52d4471cf92cd205948e60289251daddffa8 freetype-2.5.5.tar.gz" +ARG FRIBIDI_SHA256SUM="3fc96fa9473bd31dcb5500bdf1aa78b337ba13eb8c301e7c28923fea982453a8 0.19.7.tar.gz" +ARG LIBASS_SHA256SUM="8fadf294bf701300d4605e6f1d92929304187fca4b8d8a47889315526adbafd7 0.13.7.tar.gz" +ARG LIBVIDSTAB_SHA256SUM="14d2a053e56edad4f397be0cb3ef8eb1ec3150404ce99a426c4eb641861dc0bb v1.1.0.tar.gz" +ARG OGG_SHA256SUM="e19ee34711d7af328cb26287f4137e70630e7261b17cbe3cd41011d73a654692 libogg-1.3.2.tar.gz" +ARG OPUS_SHA256SUM="77db45a87b51578fbc49555ef1b10926179861d854eb2613207dc79d9ec0a9a9 opus-1.2.tar.gz" +ARG THEORA_SHA256SUM="40952956c47811928d1e7922cda3bc1f427eb75680c3c37249c91e949054916b libtheora-1.1.1.tar.gz" +ARG VORBIS_SHA256SUM="6efbcecdd3e5dfbf090341b485da9d176eb250d893e3eb378c428a2db38301ce libvorbis-1.3.5.tar.gz" +ARG XVID_SHA256SUM="4e9fd62728885855bc5007fe1be58df42e5e274497591fec37249e1052ae316f xvidcore-1.3.4.tar.gz" +ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20fe13b8571ee9501 libxml2-v2.9.10.tar.gz" +ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" + + + +RUN buildDeps="autoconf \ + automake \ + cmake \ + curl \ + bzip2 \ + libexpat1-dev \ + g++ \ + gcc \ + git \ + gperf \ + libtool \ + make \ + nasm \ + perl \ + pkg-config \ + python \ + libssl-dev \ + yasm \ + zlib1g-dev" && \ + apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ${buildDeps} +## opencore-amr https://sourceforge.net/projects/opencore-amr/ +RUN \ + DIR=/tmp/opencore-amr && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-${OPENCOREAMR_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## x264 http://www.videolan.org/developers/x264.html +RUN \ + DIR=/tmp/x264 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-${X264_VERSION}.tar.bz2 | \ + tar -jx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared --enable-pic --disable-cli && \ + make && \ + make install && \ + rm -rf ${DIR} +### x265 http://x265.org/ +RUN \ + DIR=/tmp/x265 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://download.videolan.org/pub/videolan/x265/x265_${X265_VERSION}.tar.gz | \ + tar -zx && \ + cd x265_${X265_VERSION}/build/linux && \ + sed -i "/-DEXTRA_LIB/ s/$/ -DCMAKE_INSTALL_PREFIX=\${PREFIX}/" multilib.sh && \ + sed -i "/^cmake/ s/$/ -DENABLE_CLI=OFF/" multilib.sh && \ + ./multilib.sh && \ + make -C 8bit install && \ + rm -rf ${DIR} +### libogg https://www.xiph.org/ogg/ +RUN \ + DIR=/tmp/ogg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz && \ + echo ${OGG_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libogg-${OGG_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libopus https://www.opus-codec.org/ +RUN \ + DIR=/tmp/opus && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz && \ + echo ${OPUS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f opus-${OPUS_VERSION}.tar.gz && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvorbis https://xiph.org/vorbis/ +RUN \ + DIR=/tmp/vorbis && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz && \ + echo ${VORBIS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libvorbis-${VORBIS_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libtheora http://www.theora.org/ +RUN \ + DIR=/tmp/theora && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.gz && \ + echo ${THEORA_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f libtheora-${THEORA_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --with-ogg="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libvpx https://www.webmproject.org/code/ +RUN \ + DIR=/tmp/vpx && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://codeload.github.com/webmproject/libvpx/tar.gz/v${VPX_VERSION} | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-vp8 --enable-vp9 --enable-vp9-highbitdepth --enable-pic --enable-shared \ + --disable-debug --disable-examples --disable-docs --disable-install-bins && \ + make && \ + make install && \ + rm -rf ${DIR} +### libwebp https://developers.google.com/speed/webp/ +RUN \ + DIR=/tmp/vebp && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### libmp3lame http://lame.sourceforge.net/ +RUN \ + DIR=/tmp/lame && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + make && \ + make install && \ + rm -rf ${DIR} +### xvid https://www.xvid.com/ +RUN \ + DIR=/tmp/xvid && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO http://downloads.xvid.org/downloads/xvidcore-${XVID_VERSION}.tar.gz && \ + echo ${XVID_SHA256SUM} | sha256sum --check && \ + tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ + cd xvidcore/build/generic && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +### fdk-aac https://github.com/mstorsjo/fdk-aac +RUN \ + DIR=/tmp/fdk-aac && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/mstorsjo/fdk-aac/archive/v${FDKAAC_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + autoreconf -fiv && \ + ./configure --prefix="${PREFIX}" --enable-shared --datadir="${DIR}" && \ + make && \ + make install && \ + rm -rf ${DIR} +## openjpeg https://github.com/uclouvain/openjpeg +RUN \ + DIR=/tmp/openjpeg && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sL https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz | \ + tar -zx --strip-components=1 && \ + cmake -DBUILD_THIRDPARTY:BOOL=ON -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## freetype https://www.freetype.org/ +RUN \ + DIR=/tmp/freetype && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.gz && \ + echo ${FREETYPE_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f freetype-${FREETYPE_VERSION}.tar.gz && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libvstab https://github.com/georgmartius/vid.stab +RUN \ + DIR=/tmp/vid.stab && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ + make && \ + make install && \ + rm -rf ${DIR} +## fridibi https://www.fribidi.org/ +# + https://github.com/fribidi/fribidi/issues/8 +RUN \ + DIR=/tmp/fribidi && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ + echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ + ./bootstrap --no-config && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j 1 && \ + make install && \ + rm -rf ${DIR} +## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ +RUN \ + DIR=/tmp/fontconfig && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## libass https://github.com/libass/libass +RUN \ + DIR=/tmp/libass && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + echo ${LIBASS_SHA256SUM} | sha256sum --check && \ + tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} +## kvazaar https://github.com/ultravideo/kvazaar +RUN \ + DIR=/tmp/kvazaar && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ + ./autogen.sh && \ + ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/aom && \ + git clone --branch ${AOM_VERSION} --depth 1 https://aomedia.googlesource.com/aom ${DIR} ; \ + cd ${DIR} ; \ + rm -rf CMakeCache.txt CMakeFiles ; \ + mkdir -p ./aom_build ; \ + cd ./aom_build ; \ + cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DBUILD_SHARED_LIBS=1 ..; \ + make ; \ + make install ; \ + rm -rf ${DIR} + +## libxcb (and supporting libraries) for screen capture https://xcb.freedesktop.org/ +RUN \ + DIR=/tmp/xorg-macros && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/xproto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libXau && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ + ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libpthread-stubs && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb-proto && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + make && \ + make install && \ + rm -rf ${DIR} + +RUN \ + DIR=/tmp/libxcb && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ + ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## libxml2 - for libbluray +RUN \ + DIR=/tmp/libxml2 && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ + echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ + tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + make && \ + make install && \ + rm -rf ${DIR} + + +## libbluray - Requires libxml, freetype, and fontconfig +RUN \ + DIR=/tmp/libbluray && \ + mkdir -p ${DIR} && \ + cd ${DIR} && \ + curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ + tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ + PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + make && \ + make install && \ + rm -rf ${DIR} + +## ffmpeg https://ffmpeg.org/ +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + curl -sLO https://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2 && \ + tar -jx --strip-components=1 -f ffmpeg-${FFMPEG_VERSION}.tar.bz2 + + + +RUN \ + DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ + ./configure \ + --disable-debug \ + --disable-doc \ + --disable-ffplay \ + --enable-shared \ + --enable-avresample \ + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --enable-gpl \ + --enable-libass \ + --enable-fontconfig \ + --enable-libfreetype \ + --enable-libvidstab \ + --enable-libmp3lame \ + --enable-libopus \ + --enable-libtheora \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libxcb \ + --enable-libx265 \ + --enable-libxvid \ + --enable-libx264 \ + --enable-nonfree \ + --enable-openssl \ + --enable-libfdk_aac \ + --enable-postproc \ + --enable-small \ + --enable-version3 \ + --enable-libbluray \ + --extra-libs=-ldl \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ + make && \ + make install && \ + make distclean && \ + hash -r && \ + cd tools && \ + make qt-faststart && \ + cp qt-faststart ${PREFIX}/bin + +## cleanup +RUN \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + cp ${PREFIX}/bin/* /usr/local/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf + +FROM base AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib + +COPY --from=build /usr/local /usr/local/ + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/snapshot/ubuntu/Dockerfile b/docker-images/snapshot/ubuntu1804/Dockerfile similarity index 99% rename from docker-images/snapshot/ubuntu/Dockerfile rename to docker-images/snapshot/ubuntu1804/Dockerfile index e89a1cef3..0f4660cd3 100644 --- a/docker-images/snapshot/ubuntu/Dockerfile +++ b/docker-images/snapshot/ubuntu1804/Dockerfile @@ -449,7 +449,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -462,16 +461,18 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/docker-images/snapshot/vaapi/Dockerfile b/docker-images/snapshot/vaapi1804/Dockerfile similarity index 99% rename from docker-images/snapshot/vaapi/Dockerfile rename to docker-images/snapshot/vaapi1804/Dockerfile index 62df50819..78767bc7e 100644 --- a/docker-images/snapshot/vaapi/Dockerfile +++ b/docker-images/snapshot/vaapi1804/Dockerfile @@ -440,7 +440,6 @@ RUN \ --disable-debug \ --disable-doc \ --disable-ffplay \ - --enable-vaapi \ --enable-shared \ --enable-avresample \ --enable-libopencore-amrnb \ @@ -451,7 +450,6 @@ RUN \ --enable-libfreetype \ --enable-libvidstab \ --enable-libmp3lame \ - --enable-libopenjpeg \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ @@ -464,16 +462,19 @@ RUN \ --enable-nonfree \ --enable-openssl \ --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ --enable-postproc \ --enable-small \ --enable-version3 \ --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + --prefix="${PREFIX}" \ + --enable-libopenjpeg \ + --enable-libkvazaar \ + --enable-libaom \ + --extra-libs=-lpthread \ + --enable-vaapi \ + --extra-cflags="-I${PREFIX}/include" \ + --extra-ldflags="-L${PREFIX}/lib" && \ make && \ make install && \ make distclean && \ diff --git a/templates/Dockerfile-run b/templates/Dockerfile-run index 113df63e4..a6917cfd6 100644 --- a/templates/Dockerfile-run +++ b/templates/Dockerfile-run @@ -347,42 +347,7 @@ RUN \ RUN \ DIR=/tmp/ffmpeg && mkdir -p ${DIR} && cd ${DIR} && \ ./configure \ - --disable-debug \ - --disable-doc \ - --disable-ffplay \ - --enable-shared \ - --enable-avresample \ - --enable-libopencore-amrnb \ - --enable-libopencore-amrwb \ - --enable-gpl \ - --enable-libass \ - --enable-fontconfig \ - --enable-libfreetype \ - --enable-libvidstab \ - --enable-libmp3lame \ - --enable-libopenjpeg \ - --enable-libopus \ - --enable-libtheora \ - --enable-libvorbis \ - --enable-libvpx \ - --enable-libwebp \ - --enable-libxcb \ - --enable-libx265 \ - --enable-libxvid \ - --enable-libx264 \ - --enable-nonfree \ - --enable-openssl \ - --enable-libfdk_aac \ - --enable-libkvazaar \ - --enable-libaom --extra-libs=-lpthread \ - --enable-postproc \ - --enable-small \ - --enable-version3 \ - --enable-libbluray \ - --extra-cflags="-I${PREFIX}/include" \ - --extra-ldflags="-L${PREFIX}/lib" \ - --extra-libs=-ldl \ - --prefix="${PREFIX}" && \ + %%FFMPEG_CONFIG_FLAGS%% make && \ make install && \ make distclean && \ diff --git a/templates/Dockerfile-template.alpine b/templates/Dockerfile-template.alpine311 similarity index 100% rename from templates/Dockerfile-template.alpine rename to templates/Dockerfile-template.alpine311 diff --git a/templates/Dockerfile-template.alpine38 b/templates/Dockerfile-template.alpine38 new file mode 100644 index 000000000..055fd53c6 --- /dev/null +++ b/templates/Dockerfile-template.alpine38 @@ -0,0 +1,64 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# + +FROM alpine:3.8 AS base + +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 libgomp expat git + + +FROM base AS build + +WORKDIR /tmp/workdir + +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j2" + +ENV %%ENV%% + +RUN buildDeps="autoconf \ + automake \ + bash \ + binutils \ + bzip2 \ + cmake \ + curl \ + coreutils \ + diffutils \ + file \ + g++ \ + gcc \ + gperf \ + libtool \ + make \ + python \ + openssl-dev \ + tar \ + yasm \ + nasm \ + zlib-dev \ + expat-dev" && \ + apk add --no-cache --update ${buildDeps} +%%RUN%% + +RUN \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + cp ${PREFIX}/bin/* /usr/local/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf + +### Release Stage +FROM base AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["ffmpeg"] + +COPY --from=build /usr/local /usr/local + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/templates/Dockerfile-template.nvidia1604 b/templates/Dockerfile-template.nvidia1604 new file mode 100644 index 000000000..21a72f088 --- /dev/null +++ b/templates/Dockerfile-template.nvidia1604 @@ -0,0 +1,94 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# From https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# + +FROM nvidia/cudagl:9.2-devel-ubuntu16.04 AS devel-base + +ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video +WORKDIR /tmp/workdir + +RUN apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ca-certificates expat libgomp1 && \ + apt-get autoremove -y && \ + apt-get clean -y + +FROM nvidia/cudagl:9.2-runtime-ubuntu16.04 AS runtime-base + +ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video +WORKDIR /tmp/workdir + +RUN apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ca-certificates expat libgomp1 libxcb-shape0-dev && \ + apt-get autoremove -y && \ + apt-get clean -y + + +FROM devel-base as build + +ENV NVIDIA_HEADERS_VERSION=9.1.23.1 +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ffmpeg/lib" +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j12" + +ENV %%ENV%% + +RUN buildDeps="autoconf \ + automake \ + cmake \ + curl \ + bzip2 \ + libexpat1-dev \ + g++ \ + gcc \ + git \ + gperf \ + libtool \ + make \ + nasm \ + perl \ + pkg-config \ + python \ + libssl-dev \ + yasm \ + zlib1g-dev" && \ + apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ${buildDeps} + +RUN \ + DIR=/tmp/nv-codec-headers && \ + git clone https://github.com/FFmpeg/nv-codec-headers ${DIR} && \ + cd ${DIR} && \ + git checkout n${NVIDIA_HEADERS_VERSION} && \ + sed -i 's@/usr/local@'"$PREFIX"'@' Makefile && \ + make && \ + make install && \ + rm -rf ${DIR} + +%%RUN%% +## cleanup +RUN \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + cp ${PREFIX}/bin/* /usr/local/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf + + + +FROM runtime-base AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" + +COPY --from=build /usr/local/bin /usr/local/bin/ +COPY --from=build /usr/local/share /usr/local/share/ +COPY --from=build /usr/local/lib /usr/local/lib/ + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/templates/Dockerfile-template.nvidia b/templates/Dockerfile-template.nvidia1804 similarity index 100% rename from templates/Dockerfile-template.nvidia rename to templates/Dockerfile-template.nvidia1804 diff --git a/templates/Dockerfile-template.scratch311 b/templates/Dockerfile-template.scratch311 new file mode 100644 index 000000000..11d4f4c1e --- /dev/null +++ b/templates/Dockerfile-template.scratch311 @@ -0,0 +1,69 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# + +FROM alpine:3.11 AS build + +WORKDIR /tmp/workdir + +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j2" + +ENV %%ENV%% + +RUN buildDeps="autoconf \ + automake \ + bash \ + binutils \ + bzip2 \ + cmake \ + curl \ + coreutils \ + diffutils \ + expat-dev \ + file \ + g++ \ + gcc \ + gperf \ + libtool \ + make \ + python \ + openssl-dev \ + tar \ + yasm \ + nasm \ + zlib-dev \ + git \ + libgcc \ + libstdc++ \ + ca-certificates \ + libcrypto1.1 \ + libssl1.1" && \ + apk add --update ${buildDeps} + +%%RUN%% + +RUN \ + mkdir -p /tmp/fakeroot/lib && \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ + for lib in /tmp/fakeroot/lib/*; do strip --strip-all $lib; done && \ + cp -r ${PREFIX}/bin /tmp/fakeroot/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /tmp/fakeroot/share/ && \ + LD_LIBRARY_PATH=/tmp/fakeroot/lib /tmp/fakeroot/bin/ffmpeg -buildconf + +### Release Stage +FROM scratch AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["/bin/ffmpeg"] + +COPY --from=build /tmp/fakeroot/ / + + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/templates/Dockerfile-template.scratch b/templates/Dockerfile-template.scratch38 similarity index 88% rename from templates/Dockerfile-template.scratch rename to templates/Dockerfile-template.scratch38 index d737a63e1..0674f0dff 100644 --- a/templates/Dockerfile-template.scratch +++ b/templates/Dockerfile-template.scratch38 @@ -37,8 +37,13 @@ RUN buildDeps="autoconf \ yasm \ nasm \ zlib-dev \ - git" && \ - apk add --update ${buildDeps} libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 + git \ + libgcc \ + libstdc++ \ + ca-certificates \ + libcrypto1.0 \ + libssl1.0" && \ + apk add --update ${buildDeps} %%RUN%% @@ -59,6 +64,5 @@ ENTRYPOINT ["/bin/ffmpeg"] COPY --from=build /tmp/fakeroot/ / - # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/templates/Dockerfile-template.ubuntu1604 b/templates/Dockerfile-template.ubuntu1604 new file mode 100644 index 000000000..e7b2149ba --- /dev/null +++ b/templates/Dockerfile-template.ubuntu1604 @@ -0,0 +1,65 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# From https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# +FROM ubuntu:16.04 AS base + +WORKDIR /tmp/workdir + +RUN apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ca-certificates expat libgomp1 && \ + apt-get autoremove -y && \ + apt-get clean -y + +FROM base as build + +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j2" + +ENV %%ENV%% + +RUN buildDeps="autoconf \ + automake \ + cmake \ + curl \ + bzip2 \ + libexpat1-dev \ + g++ \ + gcc \ + git \ + gperf \ + libtool \ + make \ + nasm \ + perl \ + pkg-config \ + python \ + libssl-dev \ + yasm \ + zlib1g-dev" && \ + apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ${buildDeps} +%%RUN%% +## cleanup +RUN \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + cp ${PREFIX}/bin/* /usr/local/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf + +FROM base AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib + +COPY --from=build /usr/local /usr/local/ + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/templates/Dockerfile-template.ubuntu b/templates/Dockerfile-template.ubuntu1804 similarity index 100% rename from templates/Dockerfile-template.ubuntu rename to templates/Dockerfile-template.ubuntu1804 diff --git a/templates/Dockerfile-template.vaapi1604 b/templates/Dockerfile-template.vaapi1604 new file mode 100644 index 000000000..5adeb1d4d --- /dev/null +++ b/templates/Dockerfile-template.vaapi1604 @@ -0,0 +1,71 @@ +# ffmpeg - http://ffmpeg.org/download.html +# +# From https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu +# +# https://hub.docker.com/r/jrottenberg/ffmpeg/ +# +# +FROM ubuntu:16.04 AS base + +WORKDIR /tmp/workdir + +RUN apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ca-certificates expat libgomp1 && \ + apt-get autoremove -y && \ + apt-get clean -y + +FROM base as build + +ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG PREFIX=/opt/ffmpeg +ARG MAKEFLAGS="-j2" + +ENV %%ENV%% + +RUN buildDeps="autoconf \ + automake \ + cmake \ + curl \ + bzip2 \ + libexpat1-dev \ + g++ \ + gcc \ + git \ + gperf \ + libtool \ + make \ + nasm \ + perl \ + pkg-config \ + python \ + libssl-dev \ + yasm \ + libva-dev \ + zlib1g-dev" && \ + apt-get -yqq update && \ + apt-get install -yq --no-install-recommends ${buildDeps} +%%RUN%% +## cleanup +RUN \ + LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + cp ${PREFIX}/bin/* /usr/local/bin/ && \ + cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf + +FROM base AS release +MAINTAINER Julien Rottenberg + +CMD ["--help"] +ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib + +COPY --from=build /usr/local /usr/local/ + +RUN \ + apt-get update -y && \ + apt-get install -y --no-install-recommends libva-drm1 libva1 i965-va-driver && \ + rm -rf /var/lib/apt/lists/* + +# Let's make sure the app built correctly +# Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/templates/Dockerfile-template.vaapi b/templates/Dockerfile-template.vaapi1804 similarity index 100% rename from templates/Dockerfile-template.vaapi rename to templates/Dockerfile-template.vaapi1804 diff --git a/templates/azure.template b/templates/azure.template index 70ec042e3..803390360 100644 --- a/templates/azure.template +++ b/templates/azure.template @@ -14,7 +14,10 @@ jobs: steps: - bash: | docker build -t ${DOCKER}:${VERSION}-${VARIANT} --build-arg MAKEFLAGS="-j$(($(grep -c ^processor /proc/cpuinfo) + 1))" docker-images/${VERSION}/${VARIANT} - docker run --rm ${DOCKER}:${VERSION}-${VARIANT} -buildconf + # Create a uniquely tagged version of the container to avoid pulling a version that was already on docker hub + docker tag ${DOCKER}:${VERSION}-${VARIANT} ${DOCKER}:${VERSION}-${VARIANT}-$(Build.BuildId) + # Run -buildconf from the unique version we just tagged to make sure the build was ok + docker run --rm ${DOCKER}:${VERSION}-${VARIANT}-$(Build.BuildId) -buildconf displayName: Build docker image - bash: | docker login --username ${DOCKER_LOGIN} --password ${DOCKER_PASSWORD} diff --git a/update.py b/update.py index 03099ebf7..b32b60a9a 100755 --- a/update.py +++ b/update.py @@ -2,26 +2,39 @@ import os -import sys import re import shutil -import urllib.request, urllib.error, urllib.parse +from urllib import request from distutils.version import StrictVersion MIN_VERSION = "2.8" +with open("templates/Dockerfile-env", "r") as tmpfile: + ENV_CONTENT = tmpfile.read() +with open("templates/Dockerfile-run", "r") as tmpfile: + RUN_CONTENT = tmpfile.read() +DIR_FORMAT_STR = "docker-images/{0}/{1}" +IMAGE_FORMAT_STR = "{0}/Dockerfile".format(DIR_FORMAT_STR) +TEMPLATE_STR = "templates/Dockerfile-template.{0}" # https://ffmpeg.org/olddownload.html SKIP_VERSIONS = "3.1.11 3.0.12" - VARIANTS = [ { - "name": "ubuntu", + "name": "ubuntu1604", "parent": "ubuntu", }, { - "name": "alpine", + "name": "ubuntu1804", + "parent": "ubuntu" + }, + { + "name": "alpine311", "parent": "alpine", }, + { + "name": "alpine38", + "parent": "alpine" + }, { "name": "centos7", "parent": "centos", @@ -31,35 +44,52 @@ "parent": "centos", }, { - "name": "scratch", + "name": "scratch311", + "parent": "scratch", + }, + { + "name": "scratch38", "parent": "scratch", }, { - "name": "vaapi", + "name": "vaapi1804", + "parent": "vaapi", + }, + { + "name": "vaapi1604", "parent": "vaapi", }, { - "name": "nvidia", + "name": "nvidia1804", + "parent": "nvidia", + }, + { + "name": "nvidia1604", "parent": "nvidia", }, ] FFMPEG_RELEASES = "https://ffmpeg.org/releases/" - gitlabci = [] azure = [] # Get latest release from ffmpeg.org -with urllib.request.urlopen(FFMPEG_RELEASES) as conn: +with request.urlopen(FFMPEG_RELEASES) as conn: ffmpeg_releases = conn.read().decode("utf-8") -parse_re = re.compile("ffmpeg-([.0-9]+).tar.bz2.asc<\/a>\s+") +parse_re = re.compile(r'ffmpeg-([.0-9]+).tar.bz2.asc\s+') all_versions = parse_re.findall(ffmpeg_releases) all_versions.sort(key=StrictVersion, reverse=True) version, all_versions = all_versions[0], all_versions[1:] SKIP_VARIANTS = { - "3.2": ["centos8"] + "3.2": ["alpine311", "centos8", "nvidia1804", "scratch311", "ubuntu1804", "vaapi1804"], + "3.3": ["alpine38", "nvidia1604", "scratch38", "vaapi1604"], + "3.4": ["alpine38", "nvidia1604", "scratch38", "vaapi1604"], + "4.0": ["alpine38", "nvidia1604", "scratch38", "vaapi1604"], + "4.1": ["alpine38", "nvidia1604", "scratch38", "vaapi1604"], + "4.2": ["alpine38", "nvidia1604", "scratch38", "vaapi1604"], + "snapshot": ["alpine38", "nvidia1604", "scratch38", "vaapi1604"], } last = version.split(".") @@ -67,12 +97,14 @@ keep_version.append(version) + def shorten_version(version): if version == 'snapshot': return version else: return version[0:3] + for cur in all_versions: if cur < MIN_VERSION: break @@ -91,27 +123,29 @@ def shorten_version(version): for version in keep_version: skip_variants = None - for k,v in SKIP_VARIANTS.items(): + for k, v in SKIP_VARIANTS.items(): if version.startswith(k): skip_variants = v - compatible_variants = [v for v in VARIANTS if skip_variants is None or v['name'] not in skip_variants] - short_version = shorten_version(version) - for existing_variant in os.listdir(os.path.join('docker-images', short_version)): + compatible_variants = [v for v in VARIANTS if skip_variants is None or + v['name'] not in skip_variants] + short_ver = shorten_version(version) + ver_path = os.path.join('docker-images', short_ver) + for existing_variant in os.listdir(ver_path): if existing_variant not in compatible_variants: - shutil.rmtree(os.path.join('docker-images', short_version, existing_variant)) + shutil.rmtree(DIR_FORMAT_STR.format(short_ver, existing_variant)) for variant in compatible_variants: - sibling_variants = [v['name'] for v in compatible_variants if v['parent'] == variant['parent']] - - is_parent = sorted(sibling_variants, reverse=True)[0] == variant['name'] - dockerfile = "docker-images/%s/%s/Dockerfile" % (short_version, variant['name']) + siblings = [v['name'] for v in compatible_variants if + v['parent'] == variant['parent']] + is_parent = sorted(siblings, reverse=True)[0] == variant['name'] + dockerfile = IMAGE_FORMAT_STR.format(short_ver, variant['name']) gitlabci.append( f""" {version}-{variant['name']}: extends: .docker stage: {variant['name']} variables: - VERSION: "{short_version}" + VERSION: "{short_ver}" VARIANT: {variant['name']} PARENT: "{variant['parent']}" ISPARENT: "{is_parent}" @@ -119,60 +153,95 @@ def shorten_version(version): ) azure.append( - " %s_%s:\n VERSION: %s\n VARIANT: %s\n PARENT: %s\n ISPARENT: %s" - % (short_version.replace(".", "_"), variant['name'], short_version, variant['name'], variant['parent'], is_parent) + " {0}_{1}:\n" + " VERSION: {2}\n" + " VARIANT: {3}\n" + " PARENT: {4}\n" + " ISPARENT: {5}".format( + short_ver.replace(".", "_"), + variant['name'], + short_ver, + variant['name'], + variant['parent'], + is_parent) ) - - with open("templates/Dockerfile-env", "r") as tmpfile: - env_content = tmpfile.read() - with open("templates/Dockerfile-template." + variant['name'], "r") as tmpfile: + with open(TEMPLATE_STR.format(variant['name']), "r") as tmpfile: template = tmpfile.read() - with open("templates/Dockerfile-run", "r") as tmpfile: - run_content = tmpfile.read() - env_content = env_content.replace("%%FFMPEG_VERSION%%", version) - docker_content = template.replace("%%ENV%%", env_content) - docker_content = docker_content.replace("%%RUN%%", run_content) + + FFMPEG_CONFIG_FLAGS = [ + '--disable-debug', + '--disable-doc', + '--disable-ffplay', + '--enable-shared', + '--enable-avresample', + '--enable-libopencore-amrnb', + '--enable-libopencore-amrwb', + '--enable-gpl', + '--enable-libass', + '--enable-fontconfig', + '--enable-libfreetype', + '--enable-libvidstab', + '--enable-libmp3lame', + '--enable-libopus', + '--enable-libtheora', + '--enable-libvorbis', + '--enable-libvpx', + '--enable-libwebp', + '--enable-libxcb', + '--enable-libx265', + '--enable-libxvid', + '--enable-libx264', + '--enable-nonfree', + '--enable-openssl', + '--enable-libfdk_aac', + '--enable-postproc', + '--enable-small', + '--enable-version3', + '--enable-libbluray', + '--extra-libs=-ldl', + '--prefix="${PREFIX}"', + ] + CFLAGS = [ + '-I${PREFIX}/include', + ] + LDFLAGS = [ + '-L${PREFIX}/lib', + ] + # OpenJpeg 2.1 is not supported in 2.8 - if version[0:3] == "2.8": - docker_content = docker_content.replace("--enable-libopenjpeg", "") - docker_content = docker_content.replace("--enable-libkvazaar", "") - if (version != "snapshot" and version[0] < "4"): - docker_content = re.sub(r"--enable-libaom [^\\]*", "", docker_content) - if (version == "snapshot" or version[0] >= "3") and variant['parent'] == "vaapi": - docker_content = docker_content.replace( - "--disable-ffplay", "--disable-ffplay \\\n --enable-vaapi" - ) + if version[0:3] != "2.8": + FFMPEG_CONFIG_FLAGS.append('--enable-libopenjpeg') + FFMPEG_CONFIG_FLAGS.append('--enable-libkvazaar') + if (version == "snapshot" or int(version[0]) > 3): + FFMPEG_CONFIG_FLAGS.append('--enable-libaom') + FFMPEG_CONFIG_FLAGS.append('--extra-libs=-lpthread') + + if ((version == "snapshot" or int(version[0]) >= 3) and + variant['parent'] == "vaapi"): + FFMPEG_CONFIG_FLAGS.append('--enable-vaapi') if variant['parent'] == "nvidia": - docker_content = docker_content.replace( - '--extra-cflags="-I${PREFIX}/include"', - '--extra-cflags="-I${PREFIX}/include -I${PREFIX}/include/ffnvcodec -I/usr/local/cuda/include/"', - ) - docker_content = docker_content.replace( - '--extra-ldflags="-L${PREFIX}/lib"', - '--extra-ldflags="-L${PREFIX}/lib -L/usr/local/cuda/lib64/ -L/usr/local/cuda/lib32/"', - ) - if version == "snapshot" or version[0] >= "4": - docker_content = docker_content.replace( - "--disable-ffplay", - "--disable-ffplay \\\n --enable-cuda \\\n --enable-nvenc \\\n --enable-cuvid \\\n --enable-libnpp", - ) - # Don't support hw decoding and scaling on older ffmpeg versions - if version[0] < "4": - docker_content = docker_content.replace( - "--disable-ffplay", "--disable-ffplay \\\n --enable-nvenc" - ) - # FFmpeg 3.2 and earlier don't compile correctly on Ubuntu 18.04 due to openssl issues - if version[0] < "3" or (version[0] == "3" and version[2] < "3"): - docker_content = docker_content.replace("-ubuntu18.04", "-ubuntu16.04") - - # FFmpeg 3.2 and earlier don't compile correctly on Ubuntu 18.04 due to openssl issues - if variant['parent'] == "vaapi" and ( - version[0] < "3" or (version[0] == "3" and version[2] < "3") - ): - docker_content = docker_content.replace("ubuntu:18.04", "ubuntu:16.04") - docker_content = docker_content.replace("libva-drm2", "libva-drm1") - docker_content = docker_content.replace("libva2", "libva1") + CFLAGS.append('-I${PREFIX}/include/ffnvcodec') + CFLAGS.append('-I/usr/local/cuda/include/') + LDFLAGS.append('-L/usr/local/cuda/lib64') + LDFLAGS.append('-L/usr/local/cuda/lib32/') + FFMPEG_CONFIG_FLAGS.append('--enable-nvenc') + if version == "snapshot" or int(version[0]) >= 4: + FFMPEG_CONFIG_FLAGS.append('--enable-cuda') + FFMPEG_CONFIG_FLAGS.append('--enable-cuvid') + FFMPEG_CONFIG_FLAGS.append('--enable-libnpp') + cflags = '--extra-cflags="{0}"'.format(' '.join(CFLAGS)) + ldflags = '--extra-ldflags="{0}"'.format(' '.join(LDFLAGS)) + FFMPEG_CONFIG_FLAGS.append(cflags) + FFMPEG_CONFIG_FLAGS.append(ldflags) + FFMPEG_CONFIG_FLAGS[-1] += ' && \\' + COMBINED_CONFIG_FLAGS = ' \\\n '.join(FFMPEG_CONFIG_FLAGS) + + run_content = RUN_CONTENT.replace("%%FFMPEG_CONFIG_FLAGS%%", + COMBINED_CONFIG_FLAGS) + env_content = ENV_CONTENT.replace("%%FFMPEG_VERSION%%", version) + docker_content = template.replace("%%ENV%%", env_content) + docker_content = docker_content.replace("%%RUN%%", run_content) d = os.path.dirname(dockerfile) if not os.path.exists(d): @@ -192,4 +261,3 @@ def shorten_version(version): with open("azure-pipelines.yml", "w") as azurefile: azurefile.write(azure) - From b36dce1107e05eabbb0a4977d41d277b1438abe4 Mon Sep 17 00:00:00 2001 From: Henry Vindin Date: Sun, 8 Mar 2020 14:28:31 +0000 Subject: [PATCH 2/2] Tidy up the variables to try and avoid flakey intermitent failures --- docker-images/3.2/alpine38/Dockerfile | 76 ++++++++--------- docker-images/3.2/centos7/Dockerfile | 75 +++++++++-------- docker-images/3.2/nvidia1604/Dockerfile | 87 ++++++++++---------- docker-images/3.2/scratch38/Dockerfile | 72 ++++++++-------- docker-images/3.2/ubuntu1604/Dockerfile | 73 ++++++++-------- docker-images/3.2/vaapi1604/Dockerfile | 73 ++++++++-------- docker-images/3.3/alpine311/Dockerfile | 76 ++++++++--------- docker-images/3.3/centos7/Dockerfile | 75 +++++++++-------- docker-images/3.3/centos8/Dockerfile | 74 ++++++++--------- docker-images/3.3/nvidia1804/Dockerfile | 87 ++++++++++---------- docker-images/3.3/scratch311/Dockerfile | 73 ++++++++-------- docker-images/3.3/ubuntu1604/Dockerfile | 73 ++++++++-------- docker-images/3.3/ubuntu1804/Dockerfile | 73 ++++++++-------- docker-images/3.3/vaapi1804/Dockerfile | 73 ++++++++-------- docker-images/3.4/alpine311/Dockerfile | 76 ++++++++--------- docker-images/3.4/centos7/Dockerfile | 75 +++++++++-------- docker-images/3.4/centos8/Dockerfile | 74 ++++++++--------- docker-images/3.4/nvidia1804/Dockerfile | 87 ++++++++++---------- docker-images/3.4/scratch311/Dockerfile | 73 ++++++++-------- docker-images/3.4/ubuntu1604/Dockerfile | 73 ++++++++-------- docker-images/3.4/ubuntu1804/Dockerfile | 73 ++++++++-------- docker-images/3.4/vaapi1804/Dockerfile | 73 ++++++++-------- docker-images/4.0/alpine311/Dockerfile | 76 ++++++++--------- docker-images/4.0/centos7/Dockerfile | 75 +++++++++-------- docker-images/4.0/centos8/Dockerfile | 74 ++++++++--------- docker-images/4.0/nvidia1804/Dockerfile | 87 ++++++++++---------- docker-images/4.0/scratch311/Dockerfile | 73 ++++++++-------- docker-images/4.0/ubuntu1604/Dockerfile | 73 ++++++++-------- docker-images/4.0/ubuntu1804/Dockerfile | 73 ++++++++-------- docker-images/4.0/vaapi1804/Dockerfile | 73 ++++++++-------- docker-images/4.1/alpine311/Dockerfile | 76 ++++++++--------- docker-images/4.1/centos7/Dockerfile | 75 +++++++++-------- docker-images/4.1/centos8/Dockerfile | 74 ++++++++--------- docker-images/4.1/nvidia1804/Dockerfile | 87 ++++++++++---------- docker-images/4.1/scratch311/Dockerfile | 73 ++++++++-------- docker-images/4.1/ubuntu1604/Dockerfile | 73 ++++++++-------- docker-images/4.1/ubuntu1804/Dockerfile | 73 ++++++++-------- docker-images/4.1/vaapi1804/Dockerfile | 73 ++++++++-------- docker-images/4.2/alpine311/Dockerfile | 76 ++++++++--------- docker-images/4.2/centos7/Dockerfile | 75 +++++++++-------- docker-images/4.2/centos8/Dockerfile | 74 ++++++++--------- docker-images/4.2/nvidia1804/Dockerfile | 87 ++++++++++---------- docker-images/4.2/scratch311/Dockerfile | 73 ++++++++-------- docker-images/4.2/ubuntu1604/Dockerfile | 73 ++++++++-------- docker-images/4.2/ubuntu1804/Dockerfile | 73 ++++++++-------- docker-images/4.2/vaapi1804/Dockerfile | 73 ++++++++-------- docker-images/snapshot/alpine311/Dockerfile | 76 ++++++++--------- docker-images/snapshot/centos7/Dockerfile | 75 +++++++++-------- docker-images/snapshot/centos8/Dockerfile | 74 ++++++++--------- docker-images/snapshot/nvidia1804/Dockerfile | 87 ++++++++++---------- docker-images/snapshot/scratch311/Dockerfile | 73 ++++++++-------- docker-images/snapshot/ubuntu1604/Dockerfile | 73 ++++++++-------- docker-images/snapshot/ubuntu1804/Dockerfile | 73 ++++++++-------- docker-images/snapshot/vaapi1804/Dockerfile | 73 ++++++++-------- templates/Dockerfile-env | 6 ++ templates/Dockerfile-run | 57 +++++++------ templates/Dockerfile-template.alpine311 | 13 ++- templates/Dockerfile-template.alpine38 | 13 ++- templates/Dockerfile-template.centos7 | 12 +-- templates/Dockerfile-template.centos8 | 11 +-- templates/Dockerfile-template.nvidia1604 | 24 ++---- templates/Dockerfile-template.nvidia1804 | 24 ++---- templates/Dockerfile-template.scratch311 | 10 +-- templates/Dockerfile-template.scratch38 | 9 +- templates/Dockerfile-template.ubuntu1604 | 10 +-- templates/Dockerfile-template.ubuntu1804 | 10 +-- templates/Dockerfile-template.vaapi1604 | 10 +-- templates/Dockerfile-template.vaapi1804 | 10 +-- 68 files changed, 2140 insertions(+), 2159 deletions(-) diff --git a/docker-images/3.2/alpine38/Dockerfile b/docker-images/3.2/alpine38/Dockerfile index 0d6a700c3..c166df19d 100644 --- a/docker-images/3.2/alpine38/Dockerfile +++ b/docker-images/3.2/alpine38/Dockerfile @@ -6,18 +6,13 @@ FROM alpine:3.8 AS base -RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 libgomp expat git +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 libgomp expat git FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.2.14 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -62,6 +57,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -85,7 +86,7 @@ RUN buildDeps="autoconf \ nasm \ zlib-dev \ expat-dev" && \ - apk add --no-cache --update ${buildDeps} + apk add --no-cache --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ DIR=/tmp/opencore-amr && \ @@ -200,7 +201,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -213,7 +214,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -257,15 +258,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -273,10 +273,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -284,9 +284,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -295,11 +295,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -308,10 +308,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -333,9 +333,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -344,9 +344,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -355,9 +355,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -366,9 +366,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -377,10 +377,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -389,10 +389,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -405,7 +405,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -419,7 +419,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -480,7 +480,7 @@ RUN \ RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -489,6 +489,8 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] diff --git a/docker-images/3.2/centos7/Dockerfile b/docker-images/3.2/centos7/Dockerfile index 217404781..e9aec5a68 100644 --- a/docker-images/3.2/centos7/Dockerfile +++ b/docker-images/3.2/centos7/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.2.14 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -237,7 +238,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -250,7 +251,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -294,15 +295,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -310,10 +310,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -321,9 +321,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -332,11 +332,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -345,10 +345,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,9 +403,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -414,10 +414,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -426,10 +426,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -442,7 +442,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -456,7 +456,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -516,7 +516,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -524,10 +524,9 @@ RUN \ FROM base MAINTAINER Julien Rottenberg -CMD ["--help"] -ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib -ENV LD_LIBRARY_PATH=/usr/local/lib64 +ENTRYPOINT ["ffmpeg"] COPY --from=build /usr/local/ /usr/local/ diff --git a/docker-images/3.2/nvidia1604/Dockerfile b/docker-images/3.2/nvidia1604/Dockerfile index 659b72ef2..580d05bb3 100644 --- a/docker-images/3.2/nvidia1604/Dockerfile +++ b/docker-images/3.2/nvidia1604/Dockerfile @@ -6,7 +6,7 @@ # # -FROM nvidia/cudagl:9.2-devel-ubuntu16.04 AS devel-base +FROM nvidia/cuda:9.2-devel-ubuntu16.04 AS devel-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -16,7 +16,7 @@ RUN apt-get -yqq update && \ apt-get autoremove -y && \ apt-get clean -y -FROM nvidia/cudagl:9.2-runtime-ubuntu16.04 AS runtime-base +FROM nvidia/cuda:9.2-runtime-ubuntu16.04 AS runtime-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -30,10 +30,6 @@ RUN apt-get -yqq update && \ FROM devel-base as build ENV NVIDIA_HEADERS_VERSION=9.1.23.1 -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ffmpeg/lib" -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j12" ENV FFMPEG_VERSION=3.2.14 \ AOM_VERSION=v1.0.0 \ @@ -79,6 +75,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -107,10 +109,9 @@ RUN \ git clone https://github.com/FFmpeg/nv-codec-headers ${DIR} && \ cd ${DIR} && \ git checkout n${NVIDIA_HEADERS_VERSION} && \ - sed -i 's@/usr/local@'"$PREFIX"'@' Makefile && \ - make && \ - make install && \ - rm -rf ${DIR} + make PREFIX="${PREFIX}" && \ + make install PREFIX="${PREFIX}" && \ + rm -rf ${DIR} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -226,7 +227,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -239,7 +240,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -283,15 +284,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -299,10 +299,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -310,9 +310,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -321,11 +321,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,10 +334,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -359,9 +359,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,10 +403,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -415,10 +415,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -431,7 +431,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -445,7 +445,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -509,7 +509,7 @@ RUN \ RUN \ LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ - cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + cp -r ${PREFIX}/share/* /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -517,13 +517,12 @@ RUN \ FROM runtime-base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" -COPY --from=build /usr/local/bin /usr/local/bin/ -COPY --from=build /usr/local/share /usr/local/share/ -COPY --from=build /usr/local/lib /usr/local/lib/ +COPY --from=build /usr/local /usr/local # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/3.2/scratch38/Dockerfile b/docker-images/3.2/scratch38/Dockerfile index ce6ded341..633c1faf5 100644 --- a/docker-images/3.2/scratch38/Dockerfile +++ b/docker-images/3.2/scratch38/Dockerfile @@ -8,11 +8,6 @@ FROM alpine:3.8 AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.2.14 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -57,6 +52,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ RUN \ mkdir -p /tmp/fakeroot/lib && \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ for lib in /tmp/fakeroot/lib/*; do strip --strip-all $lib; done && \ cp -r ${PREFIX}/bin /tmp/fakeroot/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /tmp/fakeroot/share/ && \ @@ -493,6 +493,8 @@ RUN \ FROM scratch AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/:/tmp/fakeroot/lib:/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["/bin/ffmpeg"] diff --git a/docker-images/3.2/ubuntu1604/Dockerfile b/docker-images/3.2/ubuntu1604/Dockerfile index f58b52454..6822f6837 100644 --- a/docker-images/3.2/ubuntu1604/Dockerfile +++ b/docker-images/3.2/ubuntu1604/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.2.14 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -481,7 +481,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -489,9 +489,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/3.2/vaapi1604/Dockerfile b/docker-images/3.2/vaapi1604/Dockerfile index 795c17c0e..402452878 100644 --- a/docker-images/3.2/vaapi1604/Dockerfile +++ b/docker-images/3.2/vaapi1604/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.2.14 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/3.3/alpine311/Dockerfile b/docker-images/3.3/alpine311/Dockerfile index ebc693a48..38d5ecd39 100644 --- a/docker-images/3.3/alpine311/Dockerfile +++ b/docker-images/3.3/alpine311/Dockerfile @@ -6,18 +6,13 @@ FROM alpine:3.11 AS base -RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.3.9 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -62,6 +57,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -85,7 +86,7 @@ RUN buildDeps="autoconf \ nasm \ zlib-dev \ expat-dev" && \ - apk add --no-cache --update ${buildDeps} + apk add --no-cache --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ DIR=/tmp/opencore-amr && \ @@ -200,7 +201,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -213,7 +214,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -257,15 +258,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -273,10 +273,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -284,9 +284,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -295,11 +295,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -308,10 +308,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -333,9 +333,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -344,9 +344,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -355,9 +355,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -366,9 +366,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -377,10 +377,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -389,10 +389,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -405,7 +405,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -419,7 +419,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -480,7 +480,7 @@ RUN \ RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -489,6 +489,8 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] diff --git a/docker-images/3.3/centos7/Dockerfile b/docker-images/3.3/centos7/Dockerfile index b4ebf944b..073f81331 100644 --- a/docker-images/3.3/centos7/Dockerfile +++ b/docker-images/3.3/centos7/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.3.9 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -237,7 +238,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -250,7 +251,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -294,15 +295,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -310,10 +310,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -321,9 +321,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -332,11 +332,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -345,10 +345,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,9 +403,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -414,10 +414,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -426,10 +426,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -442,7 +442,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -456,7 +456,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -516,7 +516,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -524,10 +524,9 @@ RUN \ FROM base MAINTAINER Julien Rottenberg -CMD ["--help"] -ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib -ENV LD_LIBRARY_PATH=/usr/local/lib64 +ENTRYPOINT ["ffmpeg"] COPY --from=build /usr/local/ /usr/local/ diff --git a/docker-images/3.3/centos8/Dockerfile b/docker-images/3.3/centos8/Dockerfile index a90052e68..5e3ddac76 100644 --- a/docker-images/3.3/centos8/Dockerfile +++ b/docker-images/3.3/centos8/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.3.9 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -203,7 +204,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -216,7 +217,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -260,15 +261,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -276,10 +276,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -287,9 +287,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -298,11 +298,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -311,10 +311,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -336,9 +336,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -347,9 +347,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -358,9 +358,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -369,9 +369,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -380,10 +380,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,10 +392,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -408,7 +408,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -422,7 +422,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -482,7 +482,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -490,11 +490,11 @@ RUN \ FROM base MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib64 - COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly diff --git a/docker-images/3.3/nvidia1804/Dockerfile b/docker-images/3.3/nvidia1804/Dockerfile index 2db622529..d7ed65773 100644 --- a/docker-images/3.3/nvidia1804/Dockerfile +++ b/docker-images/3.3/nvidia1804/Dockerfile @@ -6,7 +6,7 @@ # # -FROM nvidia/cudagl:9.2-devel-ubuntu18.04 AS devel-base +FROM nvidia/cuda:9.2-devel-ubuntu18.04 AS devel-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -16,7 +16,7 @@ RUN apt-get -yqq update && \ apt-get autoremove -y && \ apt-get clean -y -FROM nvidia/cudagl:9.2-runtime-ubuntu18.04 AS runtime-base +FROM nvidia/cuda:9.2-runtime-ubuntu18.04 AS runtime-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -30,10 +30,6 @@ RUN apt-get -yqq update && \ FROM devel-base as build ENV NVIDIA_HEADERS_VERSION=9.1.23.1 -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ffmpeg/lib" -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j12" ENV FFMPEG_VERSION=3.3.9 \ AOM_VERSION=v1.0.0 \ @@ -79,6 +75,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -107,10 +109,9 @@ RUN \ git clone https://github.com/FFmpeg/nv-codec-headers ${DIR} && \ cd ${DIR} && \ git checkout n${NVIDIA_HEADERS_VERSION} && \ - sed -i 's@/usr/local@'"$PREFIX"'@' Makefile && \ - make && \ - make install && \ - rm -rf ${DIR} + make PREFIX="${PREFIX}" && \ + make install PREFIX="${PREFIX}" && \ + rm -rf ${DIR} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -226,7 +227,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -239,7 +240,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -283,15 +284,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -299,10 +299,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -310,9 +310,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -321,11 +321,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,10 +334,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -359,9 +359,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,10 +403,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -415,10 +415,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -431,7 +431,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -445,7 +445,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -509,7 +509,7 @@ RUN \ RUN \ LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ - cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + cp -r ${PREFIX}/share/* /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -517,13 +517,12 @@ RUN \ FROM runtime-base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" -COPY --from=build /usr/local/bin /usr/local/bin/ -COPY --from=build /usr/local/share /usr/local/share/ -COPY --from=build /usr/local/lib /usr/local/lib/ +COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/3.3/scratch311/Dockerfile b/docker-images/3.3/scratch311/Dockerfile index 02d590086..0f8b79ab8 100644 --- a/docker-images/3.3/scratch311/Dockerfile +++ b/docker-images/3.3/scratch311/Dockerfile @@ -8,11 +8,6 @@ FROM alpine:3.11 AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.3.9 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -57,6 +52,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ RUN \ mkdir -p /tmp/fakeroot/lib && \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ for lib in /tmp/fakeroot/lib/*; do strip --strip-all $lib; done && \ cp -r ${PREFIX}/bin /tmp/fakeroot/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /tmp/fakeroot/share/ && \ @@ -493,11 +493,12 @@ RUN \ FROM scratch AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/:/tmp/fakeroot/lib:/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["/bin/ffmpeg"] COPY --from=build /tmp/fakeroot/ / - # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/3.3/ubuntu1604/Dockerfile b/docker-images/3.3/ubuntu1604/Dockerfile index edb0b3832..58ce0144a 100644 --- a/docker-images/3.3/ubuntu1604/Dockerfile +++ b/docker-images/3.3/ubuntu1604/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.3.9 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -481,7 +481,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -489,9 +489,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/3.3/ubuntu1804/Dockerfile b/docker-images/3.3/ubuntu1804/Dockerfile index d4591773f..5173d7a59 100644 --- a/docker-images/3.3/ubuntu1804/Dockerfile +++ b/docker-images/3.3/ubuntu1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.3.9 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -481,7 +481,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -489,9 +489,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/3.3/vaapi1804/Dockerfile b/docker-images/3.3/vaapi1804/Dockerfile index 779c70581..644b40352 100644 --- a/docker-images/3.3/vaapi1804/Dockerfile +++ b/docker-images/3.3/vaapi1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.3.9 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/3.4/alpine311/Dockerfile b/docker-images/3.4/alpine311/Dockerfile index cefed537f..d6e2ce5d2 100644 --- a/docker-images/3.4/alpine311/Dockerfile +++ b/docker-images/3.4/alpine311/Dockerfile @@ -6,18 +6,13 @@ FROM alpine:3.11 AS base -RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.4.7 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -62,6 +57,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -85,7 +86,7 @@ RUN buildDeps="autoconf \ nasm \ zlib-dev \ expat-dev" && \ - apk add --no-cache --update ${buildDeps} + apk add --no-cache --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ DIR=/tmp/opencore-amr && \ @@ -200,7 +201,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -213,7 +214,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -257,15 +258,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -273,10 +273,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -284,9 +284,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -295,11 +295,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -308,10 +308,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -333,9 +333,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -344,9 +344,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -355,9 +355,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -366,9 +366,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -377,10 +377,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -389,10 +389,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -405,7 +405,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -419,7 +419,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -480,7 +480,7 @@ RUN \ RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -489,6 +489,8 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] diff --git a/docker-images/3.4/centos7/Dockerfile b/docker-images/3.4/centos7/Dockerfile index 185a3534b..ad966d114 100644 --- a/docker-images/3.4/centos7/Dockerfile +++ b/docker-images/3.4/centos7/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.4.7 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -237,7 +238,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -250,7 +251,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -294,15 +295,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -310,10 +310,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -321,9 +321,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -332,11 +332,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -345,10 +345,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,9 +403,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -414,10 +414,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -426,10 +426,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -442,7 +442,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -456,7 +456,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -516,7 +516,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -524,10 +524,9 @@ RUN \ FROM base MAINTAINER Julien Rottenberg -CMD ["--help"] -ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib -ENV LD_LIBRARY_PATH=/usr/local/lib64 +ENTRYPOINT ["ffmpeg"] COPY --from=build /usr/local/ /usr/local/ diff --git a/docker-images/3.4/centos8/Dockerfile b/docker-images/3.4/centos8/Dockerfile index aa19978f7..e65aec5d2 100644 --- a/docker-images/3.4/centos8/Dockerfile +++ b/docker-images/3.4/centos8/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.4.7 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -203,7 +204,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -216,7 +217,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -260,15 +261,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -276,10 +276,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -287,9 +287,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -298,11 +298,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -311,10 +311,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -336,9 +336,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -347,9 +347,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -358,9 +358,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -369,9 +369,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -380,10 +380,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,10 +392,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -408,7 +408,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -422,7 +422,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -482,7 +482,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -490,11 +490,11 @@ RUN \ FROM base MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib64 - COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly diff --git a/docker-images/3.4/nvidia1804/Dockerfile b/docker-images/3.4/nvidia1804/Dockerfile index 1a18fd998..e4c777a32 100644 --- a/docker-images/3.4/nvidia1804/Dockerfile +++ b/docker-images/3.4/nvidia1804/Dockerfile @@ -6,7 +6,7 @@ # # -FROM nvidia/cudagl:9.2-devel-ubuntu18.04 AS devel-base +FROM nvidia/cuda:9.2-devel-ubuntu18.04 AS devel-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -16,7 +16,7 @@ RUN apt-get -yqq update && \ apt-get autoremove -y && \ apt-get clean -y -FROM nvidia/cudagl:9.2-runtime-ubuntu18.04 AS runtime-base +FROM nvidia/cuda:9.2-runtime-ubuntu18.04 AS runtime-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -30,10 +30,6 @@ RUN apt-get -yqq update && \ FROM devel-base as build ENV NVIDIA_HEADERS_VERSION=9.1.23.1 -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ffmpeg/lib" -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j12" ENV FFMPEG_VERSION=3.4.7 \ AOM_VERSION=v1.0.0 \ @@ -79,6 +75,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -107,10 +109,9 @@ RUN \ git clone https://github.com/FFmpeg/nv-codec-headers ${DIR} && \ cd ${DIR} && \ git checkout n${NVIDIA_HEADERS_VERSION} && \ - sed -i 's@/usr/local@'"$PREFIX"'@' Makefile && \ - make && \ - make install && \ - rm -rf ${DIR} + make PREFIX="${PREFIX}" && \ + make install PREFIX="${PREFIX}" && \ + rm -rf ${DIR} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -226,7 +227,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -239,7 +240,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -283,15 +284,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -299,10 +299,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -310,9 +310,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -321,11 +321,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,10 +334,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -359,9 +359,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,10 +403,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -415,10 +415,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -431,7 +431,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -445,7 +445,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -509,7 +509,7 @@ RUN \ RUN \ LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ - cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + cp -r ${PREFIX}/share/* /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -517,13 +517,12 @@ RUN \ FROM runtime-base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" -COPY --from=build /usr/local/bin /usr/local/bin/ -COPY --from=build /usr/local/share /usr/local/share/ -COPY --from=build /usr/local/lib /usr/local/lib/ +COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/3.4/scratch311/Dockerfile b/docker-images/3.4/scratch311/Dockerfile index dcee3ac89..271582f65 100644 --- a/docker-images/3.4/scratch311/Dockerfile +++ b/docker-images/3.4/scratch311/Dockerfile @@ -8,11 +8,6 @@ FROM alpine:3.11 AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.4.7 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -57,6 +52,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ RUN \ mkdir -p /tmp/fakeroot/lib && \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ for lib in /tmp/fakeroot/lib/*; do strip --strip-all $lib; done && \ cp -r ${PREFIX}/bin /tmp/fakeroot/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /tmp/fakeroot/share/ && \ @@ -493,11 +493,12 @@ RUN \ FROM scratch AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/:/tmp/fakeroot/lib:/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["/bin/ffmpeg"] COPY --from=build /tmp/fakeroot/ / - # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/3.4/ubuntu1604/Dockerfile b/docker-images/3.4/ubuntu1604/Dockerfile index 373c662d4..a7e67b20a 100644 --- a/docker-images/3.4/ubuntu1604/Dockerfile +++ b/docker-images/3.4/ubuntu1604/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.4.7 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -481,7 +481,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -489,9 +489,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/3.4/ubuntu1804/Dockerfile b/docker-images/3.4/ubuntu1804/Dockerfile index 0cd1a1c32..89a04a928 100644 --- a/docker-images/3.4/ubuntu1804/Dockerfile +++ b/docker-images/3.4/ubuntu1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.4.7 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -481,7 +481,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -489,9 +489,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/3.4/vaapi1804/Dockerfile b/docker-images/3.4/vaapi1804/Dockerfile index 30225c298..95c6d5184 100644 --- a/docker-images/3.4/vaapi1804/Dockerfile +++ b/docker-images/3.4/vaapi1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=3.4.7 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/4.0/alpine311/Dockerfile b/docker-images/4.0/alpine311/Dockerfile index cf4257661..fff268ae7 100644 --- a/docker-images/4.0/alpine311/Dockerfile +++ b/docker-images/4.0/alpine311/Dockerfile @@ -6,18 +6,13 @@ FROM alpine:3.11 AS base -RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.0.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -62,6 +57,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -85,7 +86,7 @@ RUN buildDeps="autoconf \ nasm \ zlib-dev \ expat-dev" && \ - apk add --no-cache --update ${buildDeps} + apk add --no-cache --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ DIR=/tmp/opencore-amr && \ @@ -200,7 +201,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -213,7 +214,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -257,15 +258,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -273,10 +273,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -284,9 +284,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -295,11 +295,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -308,10 +308,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -333,9 +333,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -344,9 +344,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -355,9 +355,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -366,9 +366,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -377,10 +377,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -389,10 +389,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -405,7 +405,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -419,7 +419,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -482,7 +482,7 @@ RUN \ RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,6 +491,8 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] diff --git a/docker-images/4.0/centos7/Dockerfile b/docker-images/4.0/centos7/Dockerfile index 0e8d23b52..06a1f1803 100644 --- a/docker-images/4.0/centos7/Dockerfile +++ b/docker-images/4.0/centos7/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.0.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -237,7 +238,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -250,7 +251,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -294,15 +295,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -310,10 +310,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -321,9 +321,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -332,11 +332,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -345,10 +345,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,9 +403,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -414,10 +414,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -426,10 +426,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -442,7 +442,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -456,7 +456,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -518,7 +518,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -526,10 +526,9 @@ RUN \ FROM base MAINTAINER Julien Rottenberg -CMD ["--help"] -ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib -ENV LD_LIBRARY_PATH=/usr/local/lib64 +ENTRYPOINT ["ffmpeg"] COPY --from=build /usr/local/ /usr/local/ diff --git a/docker-images/4.0/centos8/Dockerfile b/docker-images/4.0/centos8/Dockerfile index 57a614c4a..ba6950b67 100644 --- a/docker-images/4.0/centos8/Dockerfile +++ b/docker-images/4.0/centos8/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.0.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -203,7 +204,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -216,7 +217,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -260,15 +261,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -276,10 +276,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -287,9 +287,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -298,11 +298,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -311,10 +311,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -336,9 +336,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -347,9 +347,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -358,9 +358,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -369,9 +369,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -380,10 +380,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,10 +392,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -408,7 +408,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -422,7 +422,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -484,7 +484,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -492,11 +492,11 @@ RUN \ FROM base MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib64 - COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly diff --git a/docker-images/4.0/nvidia1804/Dockerfile b/docker-images/4.0/nvidia1804/Dockerfile index 17e639057..11f1fc498 100644 --- a/docker-images/4.0/nvidia1804/Dockerfile +++ b/docker-images/4.0/nvidia1804/Dockerfile @@ -6,7 +6,7 @@ # # -FROM nvidia/cudagl:9.2-devel-ubuntu18.04 AS devel-base +FROM nvidia/cuda:9.2-devel-ubuntu18.04 AS devel-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -16,7 +16,7 @@ RUN apt-get -yqq update && \ apt-get autoremove -y && \ apt-get clean -y -FROM nvidia/cudagl:9.2-runtime-ubuntu18.04 AS runtime-base +FROM nvidia/cuda:9.2-runtime-ubuntu18.04 AS runtime-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -30,10 +30,6 @@ RUN apt-get -yqq update && \ FROM devel-base as build ENV NVIDIA_HEADERS_VERSION=9.1.23.1 -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ffmpeg/lib" -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j12" ENV FFMPEG_VERSION=4.0.5 \ AOM_VERSION=v1.0.0 \ @@ -79,6 +75,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -107,10 +109,9 @@ RUN \ git clone https://github.com/FFmpeg/nv-codec-headers ${DIR} && \ cd ${DIR} && \ git checkout n${NVIDIA_HEADERS_VERSION} && \ - sed -i 's@/usr/local@'"$PREFIX"'@' Makefile && \ - make && \ - make install && \ - rm -rf ${DIR} + make PREFIX="${PREFIX}" && \ + make install PREFIX="${PREFIX}" && \ + rm -rf ${DIR} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -226,7 +227,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -239,7 +240,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -283,15 +284,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -299,10 +299,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -310,9 +310,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -321,11 +321,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,10 +334,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -359,9 +359,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,10 +403,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -415,10 +415,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -431,7 +431,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -445,7 +445,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -514,7 +514,7 @@ RUN \ RUN \ LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ - cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + cp -r ${PREFIX}/share/* /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -522,13 +522,12 @@ RUN \ FROM runtime-base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" -COPY --from=build /usr/local/bin /usr/local/bin/ -COPY --from=build /usr/local/share /usr/local/share/ -COPY --from=build /usr/local/lib /usr/local/lib/ +COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/4.0/scratch311/Dockerfile b/docker-images/4.0/scratch311/Dockerfile index 06ea4c605..35a2a56b6 100644 --- a/docker-images/4.0/scratch311/Dockerfile +++ b/docker-images/4.0/scratch311/Dockerfile @@ -8,11 +8,6 @@ FROM alpine:3.11 AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.0.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -57,6 +52,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -485,7 +485,7 @@ RUN \ RUN \ mkdir -p /tmp/fakeroot/lib && \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ for lib in /tmp/fakeroot/lib/*; do strip --strip-all $lib; done && \ cp -r ${PREFIX}/bin /tmp/fakeroot/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /tmp/fakeroot/share/ && \ @@ -495,11 +495,12 @@ RUN \ FROM scratch AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/:/tmp/fakeroot/lib:/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["/bin/ffmpeg"] COPY --from=build /tmp/fakeroot/ / - # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/4.0/ubuntu1604/Dockerfile b/docker-images/4.0/ubuntu1604/Dockerfile index 610594b38..2bfce9cd6 100644 --- a/docker-images/4.0/ubuntu1604/Dockerfile +++ b/docker-images/4.0/ubuntu1604/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.0.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/4.0/ubuntu1804/Dockerfile b/docker-images/4.0/ubuntu1804/Dockerfile index b272ac01b..88cbf157d 100644 --- a/docker-images/4.0/ubuntu1804/Dockerfile +++ b/docker-images/4.0/ubuntu1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.0.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/4.0/vaapi1804/Dockerfile b/docker-images/4.0/vaapi1804/Dockerfile index b92938f45..fd083e8c5 100644 --- a/docker-images/4.0/vaapi1804/Dockerfile +++ b/docker-images/4.0/vaapi1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.0.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -485,7 +485,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -493,9 +493,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/4.1/alpine311/Dockerfile b/docker-images/4.1/alpine311/Dockerfile index c47e8b3fd..8d54fc120 100644 --- a/docker-images/4.1/alpine311/Dockerfile +++ b/docker-images/4.1/alpine311/Dockerfile @@ -6,18 +6,13 @@ FROM alpine:3.11 AS base -RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.1.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -62,6 +57,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -85,7 +86,7 @@ RUN buildDeps="autoconf \ nasm \ zlib-dev \ expat-dev" && \ - apk add --no-cache --update ${buildDeps} + apk add --no-cache --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ DIR=/tmp/opencore-amr && \ @@ -200,7 +201,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -213,7 +214,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -257,15 +258,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -273,10 +273,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -284,9 +284,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -295,11 +295,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -308,10 +308,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -333,9 +333,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -344,9 +344,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -355,9 +355,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -366,9 +366,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -377,10 +377,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -389,10 +389,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -405,7 +405,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -419,7 +419,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -482,7 +482,7 @@ RUN \ RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,6 +491,8 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] diff --git a/docker-images/4.1/centos7/Dockerfile b/docker-images/4.1/centos7/Dockerfile index e2fc83989..48eff691d 100644 --- a/docker-images/4.1/centos7/Dockerfile +++ b/docker-images/4.1/centos7/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.1.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -237,7 +238,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -250,7 +251,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -294,15 +295,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -310,10 +310,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -321,9 +321,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -332,11 +332,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -345,10 +345,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,9 +403,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -414,10 +414,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -426,10 +426,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -442,7 +442,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -456,7 +456,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -518,7 +518,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -526,10 +526,9 @@ RUN \ FROM base MAINTAINER Julien Rottenberg -CMD ["--help"] -ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib -ENV LD_LIBRARY_PATH=/usr/local/lib64 +ENTRYPOINT ["ffmpeg"] COPY --from=build /usr/local/ /usr/local/ diff --git a/docker-images/4.1/centos8/Dockerfile b/docker-images/4.1/centos8/Dockerfile index f2b51a1f2..b27037152 100644 --- a/docker-images/4.1/centos8/Dockerfile +++ b/docker-images/4.1/centos8/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.1.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -203,7 +204,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -216,7 +217,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -260,15 +261,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -276,10 +276,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -287,9 +287,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -298,11 +298,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -311,10 +311,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -336,9 +336,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -347,9 +347,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -358,9 +358,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -369,9 +369,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -380,10 +380,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,10 +392,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -408,7 +408,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -422,7 +422,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -484,7 +484,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -492,11 +492,11 @@ RUN \ FROM base MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib64 - COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly diff --git a/docker-images/4.1/nvidia1804/Dockerfile b/docker-images/4.1/nvidia1804/Dockerfile index ecba42b29..676eafe91 100644 --- a/docker-images/4.1/nvidia1804/Dockerfile +++ b/docker-images/4.1/nvidia1804/Dockerfile @@ -6,7 +6,7 @@ # # -FROM nvidia/cudagl:9.2-devel-ubuntu18.04 AS devel-base +FROM nvidia/cuda:9.2-devel-ubuntu18.04 AS devel-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -16,7 +16,7 @@ RUN apt-get -yqq update && \ apt-get autoremove -y && \ apt-get clean -y -FROM nvidia/cudagl:9.2-runtime-ubuntu18.04 AS runtime-base +FROM nvidia/cuda:9.2-runtime-ubuntu18.04 AS runtime-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -30,10 +30,6 @@ RUN apt-get -yqq update && \ FROM devel-base as build ENV NVIDIA_HEADERS_VERSION=9.1.23.1 -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ffmpeg/lib" -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j12" ENV FFMPEG_VERSION=4.1.5 \ AOM_VERSION=v1.0.0 \ @@ -79,6 +75,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -107,10 +109,9 @@ RUN \ git clone https://github.com/FFmpeg/nv-codec-headers ${DIR} && \ cd ${DIR} && \ git checkout n${NVIDIA_HEADERS_VERSION} && \ - sed -i 's@/usr/local@'"$PREFIX"'@' Makefile && \ - make && \ - make install && \ - rm -rf ${DIR} + make PREFIX="${PREFIX}" && \ + make install PREFIX="${PREFIX}" && \ + rm -rf ${DIR} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -226,7 +227,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -239,7 +240,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -283,15 +284,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -299,10 +299,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -310,9 +310,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -321,11 +321,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,10 +334,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -359,9 +359,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,10 +403,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -415,10 +415,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -431,7 +431,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -445,7 +445,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -514,7 +514,7 @@ RUN \ RUN \ LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ - cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + cp -r ${PREFIX}/share/* /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -522,13 +522,12 @@ RUN \ FROM runtime-base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" -COPY --from=build /usr/local/bin /usr/local/bin/ -COPY --from=build /usr/local/share /usr/local/share/ -COPY --from=build /usr/local/lib /usr/local/lib/ +COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/4.1/scratch311/Dockerfile b/docker-images/4.1/scratch311/Dockerfile index 2a0dc3e27..49d743ede 100644 --- a/docker-images/4.1/scratch311/Dockerfile +++ b/docker-images/4.1/scratch311/Dockerfile @@ -8,11 +8,6 @@ FROM alpine:3.11 AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.1.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -57,6 +52,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -485,7 +485,7 @@ RUN \ RUN \ mkdir -p /tmp/fakeroot/lib && \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ for lib in /tmp/fakeroot/lib/*; do strip --strip-all $lib; done && \ cp -r ${PREFIX}/bin /tmp/fakeroot/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /tmp/fakeroot/share/ && \ @@ -495,11 +495,12 @@ RUN \ FROM scratch AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/:/tmp/fakeroot/lib:/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["/bin/ffmpeg"] COPY --from=build /tmp/fakeroot/ / - # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/4.1/ubuntu1604/Dockerfile b/docker-images/4.1/ubuntu1604/Dockerfile index 7294a2340..e7d2125f0 100644 --- a/docker-images/4.1/ubuntu1604/Dockerfile +++ b/docker-images/4.1/ubuntu1604/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.1.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/4.1/ubuntu1804/Dockerfile b/docker-images/4.1/ubuntu1804/Dockerfile index d3cae0415..9afe7ba26 100644 --- a/docker-images/4.1/ubuntu1804/Dockerfile +++ b/docker-images/4.1/ubuntu1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.1.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/4.1/vaapi1804/Dockerfile b/docker-images/4.1/vaapi1804/Dockerfile index 1bed78485..abdad3ddf 100644 --- a/docker-images/4.1/vaapi1804/Dockerfile +++ b/docker-images/4.1/vaapi1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.1.5 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -485,7 +485,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -493,9 +493,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/4.2/alpine311/Dockerfile b/docker-images/4.2/alpine311/Dockerfile index 97c16d114..74dde57b5 100644 --- a/docker-images/4.2/alpine311/Dockerfile +++ b/docker-images/4.2/alpine311/Dockerfile @@ -6,18 +6,13 @@ FROM alpine:3.11 AS base -RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.2.2 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -62,6 +57,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -85,7 +86,7 @@ RUN buildDeps="autoconf \ nasm \ zlib-dev \ expat-dev" && \ - apk add --no-cache --update ${buildDeps} + apk add --no-cache --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ DIR=/tmp/opencore-amr && \ @@ -200,7 +201,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -213,7 +214,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -257,15 +258,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -273,10 +273,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -284,9 +284,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -295,11 +295,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -308,10 +308,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -333,9 +333,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -344,9 +344,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -355,9 +355,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -366,9 +366,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -377,10 +377,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -389,10 +389,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -405,7 +405,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -419,7 +419,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -482,7 +482,7 @@ RUN \ RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,6 +491,8 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] diff --git a/docker-images/4.2/centos7/Dockerfile b/docker-images/4.2/centos7/Dockerfile index b52267792..27b050f54 100644 --- a/docker-images/4.2/centos7/Dockerfile +++ b/docker-images/4.2/centos7/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.2.2 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -237,7 +238,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -250,7 +251,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -294,15 +295,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -310,10 +310,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -321,9 +321,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -332,11 +332,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -345,10 +345,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,9 +403,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -414,10 +414,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -426,10 +426,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -442,7 +442,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -456,7 +456,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -518,7 +518,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -526,10 +526,9 @@ RUN \ FROM base MAINTAINER Julien Rottenberg -CMD ["--help"] -ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib -ENV LD_LIBRARY_PATH=/usr/local/lib64 +ENTRYPOINT ["ffmpeg"] COPY --from=build /usr/local/ /usr/local/ diff --git a/docker-images/4.2/centos8/Dockerfile b/docker-images/4.2/centos8/Dockerfile index 021a3300f..6a4b7669f 100644 --- a/docker-images/4.2/centos8/Dockerfile +++ b/docker-images/4.2/centos8/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.2.2 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -203,7 +204,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -216,7 +217,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -260,15 +261,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -276,10 +276,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -287,9 +287,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -298,11 +298,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -311,10 +311,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -336,9 +336,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -347,9 +347,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -358,9 +358,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -369,9 +369,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -380,10 +380,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,10 +392,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -408,7 +408,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -422,7 +422,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -484,7 +484,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -492,11 +492,11 @@ RUN \ FROM base MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib64 - COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly diff --git a/docker-images/4.2/nvidia1804/Dockerfile b/docker-images/4.2/nvidia1804/Dockerfile index 8169b3320..b4a4f2b76 100644 --- a/docker-images/4.2/nvidia1804/Dockerfile +++ b/docker-images/4.2/nvidia1804/Dockerfile @@ -6,7 +6,7 @@ # # -FROM nvidia/cudagl:9.2-devel-ubuntu18.04 AS devel-base +FROM nvidia/cuda:9.2-devel-ubuntu18.04 AS devel-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -16,7 +16,7 @@ RUN apt-get -yqq update && \ apt-get autoremove -y && \ apt-get clean -y -FROM nvidia/cudagl:9.2-runtime-ubuntu18.04 AS runtime-base +FROM nvidia/cuda:9.2-runtime-ubuntu18.04 AS runtime-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -30,10 +30,6 @@ RUN apt-get -yqq update && \ FROM devel-base as build ENV NVIDIA_HEADERS_VERSION=9.1.23.1 -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ffmpeg/lib" -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j12" ENV FFMPEG_VERSION=4.2.2 \ AOM_VERSION=v1.0.0 \ @@ -79,6 +75,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -107,10 +109,9 @@ RUN \ git clone https://github.com/FFmpeg/nv-codec-headers ${DIR} && \ cd ${DIR} && \ git checkout n${NVIDIA_HEADERS_VERSION} && \ - sed -i 's@/usr/local@'"$PREFIX"'@' Makefile && \ - make && \ - make install && \ - rm -rf ${DIR} + make PREFIX="${PREFIX}" && \ + make install PREFIX="${PREFIX}" && \ + rm -rf ${DIR} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -226,7 +227,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -239,7 +240,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -283,15 +284,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -299,10 +299,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -310,9 +310,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -321,11 +321,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,10 +334,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -359,9 +359,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,10 +403,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -415,10 +415,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -431,7 +431,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -445,7 +445,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -514,7 +514,7 @@ RUN \ RUN \ LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ - cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + cp -r ${PREFIX}/share/* /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -522,13 +522,12 @@ RUN \ FROM runtime-base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" -COPY --from=build /usr/local/bin /usr/local/bin/ -COPY --from=build /usr/local/share /usr/local/share/ -COPY --from=build /usr/local/lib /usr/local/lib/ +COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/4.2/scratch311/Dockerfile b/docker-images/4.2/scratch311/Dockerfile index 4a6a40f01..3918851bd 100644 --- a/docker-images/4.2/scratch311/Dockerfile +++ b/docker-images/4.2/scratch311/Dockerfile @@ -8,11 +8,6 @@ FROM alpine:3.11 AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.2.2 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -57,6 +52,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -485,7 +485,7 @@ RUN \ RUN \ mkdir -p /tmp/fakeroot/lib && \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ for lib in /tmp/fakeroot/lib/*; do strip --strip-all $lib; done && \ cp -r ${PREFIX}/bin /tmp/fakeroot/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /tmp/fakeroot/share/ && \ @@ -495,11 +495,12 @@ RUN \ FROM scratch AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/:/tmp/fakeroot/lib:/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["/bin/ffmpeg"] COPY --from=build /tmp/fakeroot/ / - # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/4.2/ubuntu1604/Dockerfile b/docker-images/4.2/ubuntu1604/Dockerfile index fcfbacdd2..90141c16c 100644 --- a/docker-images/4.2/ubuntu1604/Dockerfile +++ b/docker-images/4.2/ubuntu1604/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.2.2 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/4.2/ubuntu1804/Dockerfile b/docker-images/4.2/ubuntu1804/Dockerfile index 37d4e3ded..9b07063dd 100644 --- a/docker-images/4.2/ubuntu1804/Dockerfile +++ b/docker-images/4.2/ubuntu1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.2.2 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/4.2/vaapi1804/Dockerfile b/docker-images/4.2/vaapi1804/Dockerfile index e6eeda556..5617af1fd 100644 --- a/docker-images/4.2/vaapi1804/Dockerfile +++ b/docker-images/4.2/vaapi1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=4.2.2 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -485,7 +485,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -493,9 +493,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/snapshot/alpine311/Dockerfile b/docker-images/snapshot/alpine311/Dockerfile index a6f78341b..d55a05bf8 100644 --- a/docker-images/snapshot/alpine311/Dockerfile +++ b/docker-images/snapshot/alpine311/Dockerfile @@ -6,18 +6,13 @@ FROM alpine:3.11 AS base -RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=snapshot \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -62,6 +57,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -85,7 +86,7 @@ RUN buildDeps="autoconf \ nasm \ zlib-dev \ expat-dev" && \ - apk add --no-cache --update ${buildDeps} + apk add --no-cache --update ${buildDeps} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ DIR=/tmp/opencore-amr && \ @@ -200,7 +201,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -213,7 +214,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -257,15 +258,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -273,10 +273,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -284,9 +284,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -295,11 +295,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -308,10 +308,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -333,9 +333,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -344,9 +344,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -355,9 +355,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -366,9 +366,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -377,10 +377,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -389,10 +389,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -405,7 +405,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -419,7 +419,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -482,7 +482,7 @@ RUN \ RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,6 +491,8 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] diff --git a/docker-images/snapshot/centos7/Dockerfile b/docker-images/snapshot/centos7/Dockerfile index 600ec192e..53b79734c 100644 --- a/docker-images/snapshot/centos7/Dockerfile +++ b/docker-images/snapshot/centos7/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=snapshot \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -237,7 +238,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -250,7 +251,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -294,15 +295,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -310,10 +310,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -321,9 +321,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -332,11 +332,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -345,10 +345,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,9 +403,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -414,10 +414,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -426,10 +426,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -442,7 +442,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -456,7 +456,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -518,7 +518,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -526,10 +526,9 @@ RUN \ FROM base MAINTAINER Julien Rottenberg -CMD ["--help"] -ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib -ENV LD_LIBRARY_PATH=/usr/local/lib64 +ENTRYPOINT ["ffmpeg"] COPY --from=build /usr/local/ /usr/local/ diff --git a/docker-images/snapshot/centos8/Dockerfile b/docker-images/snapshot/centos8/Dockerfile index c19293ad1..c6a51d80a 100644 --- a/docker-images/snapshot/centos8/Dockerfile +++ b/docker-images/snapshot/centos8/Dockerfile @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=snapshot \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -64,6 +59,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -203,7 +204,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -216,7 +217,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -260,15 +261,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -276,10 +276,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -287,9 +287,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -298,11 +298,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -311,10 +311,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -336,9 +336,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -347,9 +347,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -358,9 +358,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -369,9 +369,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -380,10 +380,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,10 +392,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -408,7 +408,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -422,7 +422,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -484,7 +484,7 @@ RUN \ cp qt-faststart ${PREFIX}/bin RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -492,11 +492,11 @@ RUN \ FROM base MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib64 - COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly diff --git a/docker-images/snapshot/nvidia1804/Dockerfile b/docker-images/snapshot/nvidia1804/Dockerfile index 84f7eaa62..ed314d93e 100644 --- a/docker-images/snapshot/nvidia1804/Dockerfile +++ b/docker-images/snapshot/nvidia1804/Dockerfile @@ -6,7 +6,7 @@ # # -FROM nvidia/cudagl:9.2-devel-ubuntu18.04 AS devel-base +FROM nvidia/cuda:9.2-devel-ubuntu18.04 AS devel-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -16,7 +16,7 @@ RUN apt-get -yqq update && \ apt-get autoremove -y && \ apt-get clean -y -FROM nvidia/cudagl:9.2-runtime-ubuntu18.04 AS runtime-base +FROM nvidia/cuda:9.2-runtime-ubuntu18.04 AS runtime-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -30,10 +30,6 @@ RUN apt-get -yqq update && \ FROM devel-base as build ENV NVIDIA_HEADERS_VERSION=9.1.23.1 -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ffmpeg/lib" -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j12" ENV FFMPEG_VERSION=snapshot \ AOM_VERSION=v1.0.0 \ @@ -79,6 +75,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -107,10 +109,9 @@ RUN \ git clone https://github.com/FFmpeg/nv-codec-headers ${DIR} && \ cd ${DIR} && \ git checkout n${NVIDIA_HEADERS_VERSION} && \ - sed -i 's@/usr/local@'"$PREFIX"'@' Makefile && \ - make && \ - make install && \ - rm -rf ${DIR} + make PREFIX="${PREFIX}" && \ + make install PREFIX="${PREFIX}" && \ + rm -rf ${DIR} ## opencore-amr https://sourceforge.net/projects/opencore-amr/ RUN \ @@ -226,7 +227,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -239,7 +240,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -283,15 +284,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -299,10 +299,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -310,9 +310,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -321,11 +321,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,10 +334,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -359,9 +359,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -370,9 +370,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -381,9 +381,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -392,9 +392,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -403,10 +403,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -415,10 +415,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -431,7 +431,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -445,7 +445,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -514,7 +514,7 @@ RUN \ RUN \ LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ - cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + cp -r ${PREFIX}/share/* /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -522,13 +522,12 @@ RUN \ FROM runtime-base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" -COPY --from=build /usr/local/bin /usr/local/bin/ -COPY --from=build /usr/local/share /usr/local/share/ -COPY --from=build /usr/local/lib /usr/local/lib/ +COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/snapshot/scratch311/Dockerfile b/docker-images/snapshot/scratch311/Dockerfile index 5c22013ba..e805de4f1 100644 --- a/docker-images/snapshot/scratch311/Dockerfile +++ b/docker-images/snapshot/scratch311/Dockerfile @@ -8,11 +8,6 @@ FROM alpine:3.11 AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=snapshot \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -57,6 +52,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -485,7 +485,7 @@ RUN \ RUN \ mkdir -p /tmp/fakeroot/lib && \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ for lib in /tmp/fakeroot/lib/*; do strip --strip-all $lib; done && \ cp -r ${PREFIX}/bin /tmp/fakeroot/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /tmp/fakeroot/share/ && \ @@ -495,11 +495,12 @@ RUN \ FROM scratch AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/:/tmp/fakeroot/lib:/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["/bin/ffmpeg"] COPY --from=build /tmp/fakeroot/ / - # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/docker-images/snapshot/ubuntu1604/Dockerfile b/docker-images/snapshot/ubuntu1604/Dockerfile index 22ad1e488..6b23fdbb3 100644 --- a/docker-images/snapshot/ubuntu1604/Dockerfile +++ b/docker-images/snapshot/ubuntu1604/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=snapshot \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/snapshot/ubuntu1804/Dockerfile b/docker-images/snapshot/ubuntu1804/Dockerfile index 0f4660cd3..6235175ed 100644 --- a/docker-images/snapshot/ubuntu1804/Dockerfile +++ b/docker-images/snapshot/ubuntu1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=snapshot \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -201,7 +202,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -214,7 +215,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -258,15 +259,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -274,10 +274,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -285,9 +285,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -296,11 +296,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -309,10 +309,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -334,9 +334,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -345,9 +345,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -356,9 +356,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -367,9 +367,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -378,10 +378,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -390,10 +390,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -406,7 +406,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -420,7 +420,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -483,7 +483,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -491,9 +491,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/docker-images/snapshot/vaapi1804/Dockerfile b/docker-images/snapshot/vaapi1804/Dockerfile index 78767bc7e..97b335c3e 100644 --- a/docker-images/snapshot/vaapi1804/Dockerfile +++ b/docker-images/snapshot/vaapi1804/Dockerfile @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV FFMPEG_VERSION=snapshot \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ @@ -65,6 +60,12 @@ ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20 ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" + RUN buildDeps="autoconf \ automake \ @@ -202,7 +203,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -215,7 +216,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -259,15 +260,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -275,10 +275,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -286,9 +286,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -297,11 +297,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -310,10 +310,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -335,9 +335,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -346,9 +346,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -357,9 +357,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -368,9 +368,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -379,10 +379,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -391,10 +391,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -407,7 +407,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -421,7 +421,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -485,7 +485,7 @@ RUN \ ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -493,9 +493,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/templates/Dockerfile-env b/templates/Dockerfile-env index 52acc8cdb..2494b55f6 100644 --- a/templates/Dockerfile-env +++ b/templates/Dockerfile-env @@ -41,3 +41,9 @@ ARG XVID_SHA256SUM="4e9fd62728885855bc5007fe1be58df42e5e274497591fec3724 ARG LIBXML2_SHA256SUM="f07dab13bf42d2b8db80620cce7419b3b87827cc937c8bb20fe13b8571ee9501 libxml2-v2.9.10.tar.gz" ARG LIBBLURAY_SHA256SUM="a3dd452239b100dc9da0d01b30e1692693e2a332a7d29917bf84bb10ea7c0b42 libbluray-1.1.2.tar.bz2" + +ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib +ARG MAKEFLAGS="-j2" +ARG PKG_CONFIG_PATH="/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" +ARG PREFIX=/opt/ffmpeg +ARG LD_LIBRARY_PATH="/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" diff --git a/templates/Dockerfile-run b/templates/Dockerfile-run index a6917cfd6..b7d2c40fa 100644 --- a/templates/Dockerfile-run +++ b/templates/Dockerfile-run @@ -112,7 +112,7 @@ RUN \ cd ${DIR} && \ curl -sL https://versaweb.dl.sourceforge.net/project/lame/lame/$(echo ${LAME_VERSION} | sed -e 's/[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)/\1.\2/')/lame-${LAME_VERSION}.tar.gz | \ tar -zx --strip-components=1 && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --enable-pic --disable-frontend && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --enable-shared --enable-nasm --disable-frontend && \ make && \ make install && \ rm -rf ${DIR} @@ -125,7 +125,7 @@ RUN \ echo ${XVID_SHA256SUM} | sha256sum --check && \ tar -zx -f xvidcore-${XVID_VERSION}.tar.gz && \ cd xvidcore/build/generic && \ - ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" --datadir="${DIR}" --enable-shared --enable-shared && \ + ./configure --prefix="${PREFIX}" --bindir="${PREFIX}/bin" && \ make && \ make install && \ rm -rf ${DIR} @@ -169,15 +169,14 @@ RUN \ DIR=/tmp/vid.stab && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz &&\ - echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ + curl -sLO https://github.com/georgmartius/vid.stab/archive/v${LIBVIDSTAB_VERSION}.tar.gz && \ + echo ${LIBVIDSTAB_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f v${LIBVIDSTAB_VERSION}.tar.gz && \ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" . && \ make && \ make install && \ rm -rf ${DIR} ## fridibi https://www.fribidi.org/ -# + https://github.com/fribidi/fribidi/issues/8 RUN \ DIR=/tmp/fribidi && \ mkdir -p ${DIR} && \ @@ -185,10 +184,10 @@ RUN \ curl -sLO https://github.com/fribidi/fribidi/archive/${FRIBIDI_VERSION}.tar.gz && \ echo ${FRIBIDI_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${FRIBIDI_VERSION}.tar.gz && \ - sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib/' Makefile.am && \ - ./bootstrap --no-config && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ - make -j 1 && \ + sed -i 's/^SUBDIRS =.*/SUBDIRS=gen.tab charset lib bin/' Makefile.am && \ + ./bootstrap --no-config --auto && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ + make -j1 && \ make install && \ rm -rf ${DIR} ## fontconfig https://www.freedesktop.org/wiki/Software/fontconfig/ @@ -196,9 +195,9 @@ RUN \ DIR=/tmp/fontconfig && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 &&\ + curl -sLO https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ tar -jx --strip-components=1 -f fontconfig-${FONTCONFIG_VERSION}.tar.bz2 && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -207,11 +206,11 @@ RUN \ DIR=/tmp/libass && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz &&\ + curl -sLO https://github.com/libass/libass/archive/${LIBASS_VERSION}.tar.gz && \ echo ${LIBASS_SHA256SUM} | sha256sum --check && \ tar -zx --strip-components=1 -f ${LIBASS_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -220,10 +219,10 @@ RUN \ DIR=/tmp/kvazaar && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz &&\ + curl -sLO https://github.com/ultravideo/kvazaar/archive/v${KVAZAAR_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f v${KVAZAAR_VERSION}.tar.gz && \ ./autogen.sh && \ - ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -245,9 +244,9 @@ RUN \ DIR=/tmp/xorg-macros && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive//individual/util/util-macros-${XORG_MACROS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f util-macros-${XORG_MACROS_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -256,9 +255,9 @@ RUN \ DIR=/tmp/xproto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/proto/xproto-${XPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xproto-${XPROTO_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -267,9 +266,9 @@ RUN \ DIR=/tmp/libXau && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz &&\ + curl -sLO https://www.x.org/archive/individual/lib/libXau-${XAU_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libXau-${XAU_VERSION}.tar.gz && \ - ./configure -prefix="${PREFIX}" && \ + ./configure --srcdir=${DIR} --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -278,9 +277,9 @@ RUN \ DIR=/tmp/libpthread-stubs && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libpthread-stubs-${LIBPTHREAD_STUBS_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -289,10 +288,10 @@ RUN \ DIR=/tmp/libxcb-proto && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f xcb-proto-${XCBPROTO_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" && \ + ./configure --prefix="${PREFIX}" && \ make && \ make install && \ rm -rf ${DIR} @@ -301,10 +300,10 @@ RUN \ DIR=/tmp/libxcb && \ mkdir -p ${DIR} && \ cd ${DIR} && \ - curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz &&\ + curl -sLO https://xcb.freedesktop.org/dist/libxcb-${LIBXCB_VERSION}.tar.gz && \ tar -zx --strip-components=1 -f libxcb-${LIBXCB_VERSION}.tar.gz && \ ACLOCAL_PATH="${PREFIX}/share/aclocal" ./autogen.sh && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure -prefix="${PREFIX}" --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} @@ -317,7 +316,7 @@ RUN \ curl -sLO https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz && \ echo ${LIBXML2_SHA256SUM} | sha256sum --check && \ tar -xz --strip-components=1 -f libxml2-v${LIBXML2_VERSION}.tar.gz && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ + ./autogen.sh --prefix="${PREFIX}" --with-ftp=no --with-http=no --with-python=no && \ make && \ make install && \ rm -rf ${DIR} @@ -331,7 +330,7 @@ RUN \ curl -sLO https://download.videolan.org/pub/videolan/libbluray/${LIBBLURAY_VERSION}/libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ echo ${LIBBLURAY_SHA256SUM} | sha256sum --check && \ tar -jx --strip-components=1 -f libbluray-${LIBBLURAY_VERSION}.tar.bz2 && \ - PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig" ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ + ./configure --prefix="${PREFIX}" --disable-examples --disable-bdjava-jar --disable-static --enable-shared && \ make && \ make install && \ rm -rf ${DIR} diff --git a/templates/Dockerfile-template.alpine311 b/templates/Dockerfile-template.alpine311 index b4daa8666..5eb04c04e 100644 --- a/templates/Dockerfile-template.alpine311 +++ b/templates/Dockerfile-template.alpine311 @@ -6,18 +6,13 @@ FROM alpine:3.11 AS base -RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.1 libssl1.1 libgomp expat git FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV %%ENV%% RUN buildDeps="autoconf \ @@ -42,11 +37,11 @@ RUN buildDeps="autoconf \ nasm \ zlib-dev \ expat-dev" && \ - apk add --no-cache --update ${buildDeps} + apk add --no-cache --update ${buildDeps} %%RUN%% RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -55,6 +50,8 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] diff --git a/templates/Dockerfile-template.alpine38 b/templates/Dockerfile-template.alpine38 index 055fd53c6..ff8ba5756 100644 --- a/templates/Dockerfile-template.alpine38 +++ b/templates/Dockerfile-template.alpine38 @@ -6,18 +6,13 @@ FROM alpine:3.8 AS base -RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 libgomp expat git +RUN apk add --no-cache --update libgcc libstdc++ ca-certificates libcrypto1.0 libssl1.0 libgomp expat git FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV %%ENV%% RUN buildDeps="autoconf \ @@ -42,11 +37,11 @@ RUN buildDeps="autoconf \ nasm \ zlib-dev \ expat-dev" && \ - apk add --no-cache --update ${buildDeps} + apk add --no-cache --update ${buildDeps} %%RUN%% RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -55,6 +50,8 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] diff --git a/templates/Dockerfile-template.centos7 b/templates/Dockerfile-template.centos7 index d4c679dd1..60a0de17c 100644 --- a/templates/Dockerfile-template.centos7 +++ b/templates/Dockerfile-template.centos7 @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV %%ENV%% RUN buildDeps="autoconf \ @@ -82,7 +77,7 @@ RUN buildDeps="autoconf \ %%RUN%% RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -90,10 +85,9 @@ RUN \ FROM base MAINTAINER Julien Rottenberg -CMD ["--help"] -ENTRYPOINT ["ffmpeg"] +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib -ENV LD_LIBRARY_PATH=/usr/local/lib64 +ENTRYPOINT ["ffmpeg"] COPY --from=build /usr/local/ /usr/local/ diff --git a/templates/Dockerfile-template.centos8 b/templates/Dockerfile-template.centos8 index 8c04e876c..e2abf885b 100644 --- a/templates/Dockerfile-template.centos8 +++ b/templates/Dockerfile-template.centos8 @@ -15,11 +15,6 @@ FROM base AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV %%ENV%% RUN buildDeps="autoconf \ @@ -48,7 +43,7 @@ RUN buildDeps="autoconf \ alternatives --set python /usr/bin/python3 %%RUN%% RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib64/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib64 ffmpeg -buildconf @@ -56,11 +51,11 @@ RUN \ FROM base MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/lib64:/lib + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib64 - COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly diff --git a/templates/Dockerfile-template.nvidia1604 b/templates/Dockerfile-template.nvidia1604 index 21a72f088..7c559ea76 100644 --- a/templates/Dockerfile-template.nvidia1604 +++ b/templates/Dockerfile-template.nvidia1604 @@ -6,7 +6,7 @@ # # -FROM nvidia/cudagl:9.2-devel-ubuntu16.04 AS devel-base +FROM nvidia/cuda:9.2-devel-ubuntu16.04 AS devel-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -16,7 +16,7 @@ RUN apt-get -yqq update && \ apt-get autoremove -y && \ apt-get clean -y -FROM nvidia/cudagl:9.2-runtime-ubuntu16.04 AS runtime-base +FROM nvidia/cuda:9.2-runtime-ubuntu16.04 AS runtime-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -30,10 +30,6 @@ RUN apt-get -yqq update && \ FROM devel-base as build ENV NVIDIA_HEADERS_VERSION=9.1.23.1 -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ffmpeg/lib" -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j12" ENV %%ENV%% @@ -64,17 +60,16 @@ RUN \ git clone https://github.com/FFmpeg/nv-codec-headers ${DIR} && \ cd ${DIR} && \ git checkout n${NVIDIA_HEADERS_VERSION} && \ - sed -i 's@/usr/local@'"$PREFIX"'@' Makefile && \ - make && \ - make install && \ - rm -rf ${DIR} + make PREFIX="${PREFIX}" && \ + make install PREFIX="${PREFIX}" && \ + rm -rf ${DIR} %%RUN%% ## cleanup RUN \ LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ - cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + cp -r ${PREFIX}/share/* /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -82,13 +77,12 @@ RUN \ FROM runtime-base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" -COPY --from=build /usr/local/bin /usr/local/bin/ -COPY --from=build /usr/local/share /usr/local/share/ -COPY --from=build /usr/local/lib /usr/local/lib/ +COPY --from=build /usr/local /usr/local # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/templates/Dockerfile-template.nvidia1804 b/templates/Dockerfile-template.nvidia1804 index 1712c319d..4ee7f0a6c 100644 --- a/templates/Dockerfile-template.nvidia1804 +++ b/templates/Dockerfile-template.nvidia1804 @@ -6,7 +6,7 @@ # # -FROM nvidia/cudagl:9.2-devel-ubuntu18.04 AS devel-base +FROM nvidia/cuda:9.2-devel-ubuntu18.04 AS devel-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -16,7 +16,7 @@ RUN apt-get -yqq update && \ apt-get autoremove -y && \ apt-get clean -y -FROM nvidia/cudagl:9.2-runtime-ubuntu18.04 AS runtime-base +FROM nvidia/cuda:9.2-runtime-ubuntu18.04 AS runtime-base ENV NVIDIA_DRIVER_CAPABILITIES compat32,compute,video WORKDIR /tmp/workdir @@ -30,10 +30,6 @@ RUN apt-get -yqq update && \ FROM devel-base as build ENV NVIDIA_HEADERS_VERSION=9.1.23.1 -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/ffmpeg/lib" -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j12" ENV %%ENV%% @@ -64,17 +60,16 @@ RUN \ git clone https://github.com/FFmpeg/nv-codec-headers ${DIR} && \ cd ${DIR} && \ git checkout n${NVIDIA_HEADERS_VERSION} && \ - sed -i 's@/usr/local@'"$PREFIX"'@' Makefile && \ - make && \ - make install && \ - rm -rf ${DIR} + make PREFIX="${PREFIX}" && \ + make install PREFIX="${PREFIX}" && \ + rm -rf ${DIR} %%RUN%% ## cleanup RUN \ LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ - cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ + cp -r ${PREFIX}/share/* /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -82,13 +77,12 @@ RUN \ FROM runtime-base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" -COPY --from=build /usr/local/bin /usr/local/bin/ -COPY --from=build /usr/local/share /usr/local/share/ -COPY --from=build /usr/local/lib /usr/local/lib/ +COPY --from=build /usr/local/ /usr/local/ # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/templates/Dockerfile-template.scratch311 b/templates/Dockerfile-template.scratch311 index 11d4f4c1e..ee494b295 100644 --- a/templates/Dockerfile-template.scratch311 +++ b/templates/Dockerfile-template.scratch311 @@ -8,11 +8,6 @@ FROM alpine:3.11 AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV %%ENV%% RUN buildDeps="autoconf \ @@ -49,7 +44,7 @@ RUN buildDeps="autoconf \ RUN \ mkdir -p /tmp/fakeroot/lib && \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ for lib in /tmp/fakeroot/lib/*; do strip --strip-all $lib; done && \ cp -r ${PREFIX}/bin /tmp/fakeroot/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /tmp/fakeroot/share/ && \ @@ -59,11 +54,12 @@ RUN \ FROM scratch AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/:/tmp/fakeroot/lib:/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["/bin/ffmpeg"] COPY --from=build /tmp/fakeroot/ / - # Let's make sure the app built correctly # Convenient to verify on https://hub.docker.com/r/jrottenberg/ffmpeg/builds/ console output diff --git a/templates/Dockerfile-template.scratch38 b/templates/Dockerfile-template.scratch38 index 0674f0dff..f31d37c10 100644 --- a/templates/Dockerfile-template.scratch38 +++ b/templates/Dockerfile-template.scratch38 @@ -8,11 +8,6 @@ FROM alpine:3.8 AS build WORKDIR /tmp/workdir -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV %%ENV%% RUN buildDeps="autoconf \ @@ -49,7 +44,7 @@ RUN buildDeps="autoconf \ RUN \ mkdir -p /tmp/fakeroot/lib && \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | strings | xargs -I R cp R /tmp/fakeroot/lib/ && \ for lib in /tmp/fakeroot/lib/*; do strip --strip-all $lib; done && \ cp -r ${PREFIX}/bin /tmp/fakeroot/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /tmp/fakeroot/share/ && \ @@ -59,6 +54,8 @@ RUN \ FROM scratch AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/:/tmp/fakeroot/lib:/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["/bin/ffmpeg"] diff --git a/templates/Dockerfile-template.ubuntu1604 b/templates/Dockerfile-template.ubuntu1604 index e7b2149ba..924b47cfe 100644 --- a/templates/Dockerfile-template.ubuntu1604 +++ b/templates/Dockerfile-template.ubuntu1604 @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV %%ENV%% RUN buildDeps="autoconf \ @@ -47,7 +42,7 @@ RUN buildDeps="autoconf \ %%RUN%% ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -55,9 +50,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/templates/Dockerfile-template.ubuntu1804 b/templates/Dockerfile-template.ubuntu1804 index 86a1930dc..6a8901bbe 100644 --- a/templates/Dockerfile-template.ubuntu1804 +++ b/templates/Dockerfile-template.ubuntu1804 @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV %%ENV%% RUN buildDeps="autoconf \ @@ -47,7 +42,7 @@ RUN buildDeps="autoconf \ %%RUN%% ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -55,9 +50,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/templates/Dockerfile-template.vaapi1604 b/templates/Dockerfile-template.vaapi1604 index 5adeb1d4d..23844e74d 100644 --- a/templates/Dockerfile-template.vaapi1604 +++ b/templates/Dockerfile-template.vaapi1604 @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV %%ENV%% RUN buildDeps="autoconf \ @@ -48,7 +43,7 @@ RUN buildDeps="autoconf \ %%RUN%% ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -56,9 +51,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/ diff --git a/templates/Dockerfile-template.vaapi1804 b/templates/Dockerfile-template.vaapi1804 index 0297e75e4..e08a8fbba 100644 --- a/templates/Dockerfile-template.vaapi1804 +++ b/templates/Dockerfile-template.vaapi1804 @@ -16,11 +16,6 @@ RUN apt-get -yqq update && \ FROM base as build -ARG PKG_CONFIG_PATH=/opt/ffmpeg/lib/pkgconfig -ARG LD_LIBRARY_PATH=/opt/ffmpeg/lib -ARG PREFIX=/opt/ffmpeg -ARG MAKEFLAGS="-j2" - ENV %%ENV%% RUN buildDeps="autoconf \ @@ -48,7 +43,7 @@ RUN buildDeps="autoconf \ %%RUN%% ## cleanup RUN \ - LD_LIBRARY_PATH="${PREFIX}/lib:${PREFIX}/lib64:${LD_LIBRARY_PATH}" ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ + ldd ${PREFIX}/bin/ffmpeg | grep opt/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \ cp ${PREFIX}/bin/* /usr/local/bin/ && \ cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && \ LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf @@ -56,9 +51,10 @@ RUN \ FROM base AS release MAINTAINER Julien Rottenberg +ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64 + CMD ["--help"] ENTRYPOINT ["ffmpeg"] -ENV LD_LIBRARY_PATH=/usr/local/lib COPY --from=build /usr/local /usr/local/