Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
jobs:
build-linux:
name: build in native linux
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v2
Expand Down Expand Up @@ -59,19 +59,19 @@ jobs:

build-docker:
name: build in docker
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: pull base image
id: ubuntu_pull
run: |
docker pull ubuntu:20.04
docker pull ubuntu:22.04
- name: run if ubuntu_pull failed
if: failure() && steps.ubuntu_pull.outcome == 'failure'
run: |
docker pull ubuntu:20.04
docker pull ubuntu:22.04
- name: build ffmpeg
run: |
docker build -t ffmpeg:ubuntu -f Dockerfile .
Expand All @@ -81,21 +81,21 @@ jobs:

build-cuda-ubuntu-docker:
name: build in ubuntu docker with cuda
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: pull base image
id: cuda_ubuntu_pull
run: |
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
docker pull ubuntu:20.04
docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04
docker pull ubuntu:22.04
- name: run if cuda_ubuntu_pull failed
if: failure() && steps.cuda_ubuntu_pull.outcome == 'failure'
run: |
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
docker pull ubuntu:20.04
docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04
docker pull ubuntu:22.04
- name: build ffmpeg
run: |
docker build -t ffmpeg:cuda-ubuntu -f cuda-ubuntu.dockerfile .
Expand Down Expand Up @@ -129,19 +129,19 @@ jobs:

build-full-static:
name: full static build in docker
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: pull base image
id: cuda_ubuntu_pull
run: |
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04
- name: run if cuda_ubuntu_pull failed
if: failure() && steps.cuda_ubuntu_pull.outcome == 'failure'
run: |
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04
- name: build ffmpeg
run: |
docker build -t ffmpeg:cuda-static -f full-static.dockerfile .
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:20.04 AS build
FROM ubuntu:22.10 AS build

ENV DEBIAN_FRONTEND noninteractive

Expand All @@ -13,7 +13,7 @@ COPY ./build-ffmpeg /app/build-ffmpeg

RUN SKIPINSTALL=yes /app/build-ffmpeg --build

FROM ubuntu:20.04
FROM ubuntu:22.10

ENV DEBIAN_FRONTEND noninteractive

Expand Down
78 changes: 38 additions & 40 deletions build-ffmpeg
Original file line number Diff line number Diff line change
Expand Up @@ -417,14 +417,16 @@ else
build_done "nettle" "3.8"
fi

if [[ ! $ARCH == 'arm64' ]]; then
if build "gnutls" "3.6.16"; then
download "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.16.tar.xz"
execute ./configure --prefix="${WORKSPACE}" --disable-shared --enable-static --disable-doc --disable-tools --disable-cxx --disable-tests --disable-gtk-doc-html --disable-libdane --disable-nls --enable-local-libopts --disable-guile --with-included-libtasn1 --with-included-unistring --without-p11-kit CPPFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
execute make -j $MJOBS
execute make install
build_done "gnutls" "3.6.16"
fi
CONFIGURE_OPTIONS+=("--enable-gmp" "--enable-gnutls")
# CONFIGURE_OPTIONS+=("--enable-gmp" "--enable-gnutls")
fi
fi

if build "cmake" "3.23.1"; then
Expand All @@ -448,6 +450,7 @@ if command_exists "python3"; then
if ! command_exists ${r}; then
execute pip3 install ${r} --quiet --upgrade --no-cache-dir --disable-pip-version-check
fi
export PATH=$PATH:~/Library/Python/3.9/bin
done
fi
if command_exists "meson"; then
Expand Down Expand Up @@ -655,65 +658,60 @@ CONFIGURE_OPTIONS+=("--enable-libzimg")

if command_exists "python3"; then

if build "lv2" "1.18.2"; then
download "https://lv2plug.in/spec/lv2-1.18.2.tar.bz2" "lv2-1.18.2.tar.bz2"
execute python3 ./waf configure --prefix="${WORKSPACE}" --lv2-user
execute python3 ./waf
execute python3 ./waf install
if command_exists "meson"; then

build_done "lv2" "1.18.2"
if build "lv2" "1.18.10"; then
download "https://lv2plug.in/spec/lv2-1.18.10.tar.xz" "lv2-1.18.10.tar.xz"
execute meson build --prefix="${WORKSPACE}" --buildtype=release --default-library=static --libdir="${WORKSPACE}"/lib
execute ninja -C build
execute ninja -C build install
build_done "lv2" "1.18.10"
fi
if build "waflib" "b600c92"; then
download "https://gitlab.com/drobilla/autowaf/-/archive/b600c928b221a001faeab7bd92786d0b25714bc8/autowaf-b600c928b221a001faeab7bd92786d0b25714bc8.tar.gz" "autowaf.tar.gz"
build_done "waflib" "b600c92"
fi
if build "serd" "0.30.10"; then
download "https://gitlab.com/drobilla/serd/-/archive/v0.30.10/serd-v0.30.10.tar.gz" "serd-v0.30.10.tar.gz"
execute cp -r "${PACKAGES}"/autowaf/* "${PACKAGES}/serd-v0.30.10/waflib/"
execute python3 ./waf configure --prefix="${WORKSPACE}" --static --no-shared --no-posix
execute python3 ./waf
execute python3 ./waf install
build_done "serd" "0.30.10"
if build "serd" "0.30.16"; then
download "https://gitlab.com/drobilla/serd/-/archive/v0.30.16/serd-v0.30.16.tar.gz" "serd-v0.30.16.tar.gz"
execute meson build --prefix="${WORKSPACE}" --buildtype=release --default-library=static --libdir="${WORKSPACE}"/lib
execute ninja -C build
execute ninja -C build install
build_done "serd" "0.30.16"
fi
if build "pcre" "8.45"; then
download "https://altushost-swe.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz" "pcre-8.45.tar.gz"
execute ./configure --prefix="${WORKSPACE}" --disable-shared --enable-static
execute make -j $MJOBS
execute make install

build_done "pcre" "8.45"
fi
if build "sord" "0.16.8"; then
download "https://gitlab.com/drobilla/sord/-/archive/v0.16.8/sord-v0.16.8.tar.gz" "sord-v0.16.8.tar.gz"
execute cp -r "${PACKAGES}"/autowaf/* "${PACKAGES}/sord-v0.16.8/waflib/"
execute python3 ./waf configure --prefix="${WORKSPACE}" CFLAGS="${CFLAGS}" --static --no-shared --no-utils
execute python3 ./waf CFLAGS="${CFLAGS}"
execute python3 ./waf install

build_done "sord" "0.16.8"
fi
if build "sratom" "0.6.8"; then
download "https://gitlab.com/lv2/sratom/-/archive/v0.6.8/sratom-v0.6.8.tar.gz" "sratom-v0.6.8.tar.gz"
execute cp -r "${PACKAGES}"/autowaf/* "${PACKAGES}/sratom-v0.6.8/waflib/"
execute python3 ./waf configure --prefix="${WORKSPACE}" --static --no-shared
execute python3 ./waf
execute python3 ./waf install

build_done "sratom" "0.6.8"
fi
if build "lilv" "0.24.12"; then
download "https://gitlab.com/lv2/lilv/-/archive/v0.24.12/lilv-v0.24.12.tar.gz" "lilv-v0.24.12.tar.gz"
execute cp -r "${PACKAGES}"/autowaf/* "${PACKAGES}/lilv-v0.24.12/waflib/"
execute python3 ./waf configure --prefix="${WORKSPACE}" --static --no-shared --no-utils
execute python3 ./waf
execute python3 ./waf install
build_done "lilv" "0.24.12"
if build "sord" "0.16.14"; then
download "https://gitlab.com/drobilla/sord/-/archive/v0.16.14/sord-v0.16.14.tar.gz" "sord-v0.16.14.tar.gz"
execute meson build --prefix="${WORKSPACE}" --buildtype=release --default-library=static --libdir="${WORKSPACE}"/lib
execute ninja -C build
execute ninja -C build install
build_done "sord" "0.16.14"
fi
if build "sratom" "0.6.14"; then
download "https://gitlab.com/lv2/sratom/-/archive/v0.6.14/sratom-v0.6.14.tar.gz" "sratom-v0.6.14.tar.gz"
execute meson build --prefix="${WORKSPACE}" --buildtype=release --default-library=static --libdir="${WORKSPACE}"/lib
execute ninja -C build
execute ninja -C build install
build_done "sratom" "0.6.14"
fi
if build "lilv" "0.24.20"; then
download "https://gitlab.com/lv2/lilv/-/archive/v0.24.20/lilv-v0.24.20.tar.gz" "lilv-v0.24.20.tar.gz"
execute meson build --prefix="${WORKSPACE}" --buildtype=release --default-library=static --libdir="${WORKSPACE}"/lib
execute ninja -C build
execute ninja -C build install
build_done "lilv" "0.24.20"
fi
CFLAGS+=" -I$WORKSPACE/include/lilv-0"

CONFIGURE_OPTIONS+=("--enable-lv2")

fi
fi

if build "opencore" "0.1.5"; then
download "https://sourceforge.net/projects/opencore-amr/files/opencore-amr/opencore-amr-0.1.5.tar.gz/download?use_mirror=gigenet" "opencore-amr-0.1.5.tar.gz"
Expand Down
14 changes: 7 additions & 7 deletions cuda-ubuntu.dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ARG VER=20.04
ARG VER=22.04

FROM nvidia/cuda:11.4.2-devel-ubuntu${VER} AS build
FROM nvidia/cuda:11.8.0-devel-ubuntu${VER} AS build

ENV DEBIAN_FRONTEND noninteractive
ENV NVIDIA_VISIBLE_DEVICES all
Expand Down Expand Up @@ -29,11 +29,11 @@ RUN apt-get update \
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

# Copy libnpp
COPY --from=build /usr/local/cuda-11.4/targets/x86_64-linux/lib/libnppc.so.11 /lib/x86_64-linux-gnu/libnppc.so.11
COPY --from=build /usr/local/cuda-11.4/targets/x86_64-linux/lib/libnppig.so.11 /lib/x86_64-linux-gnu/libnppig.so.11
COPY --from=build /usr/local/cuda-11.4/targets/x86_64-linux/lib/libnppicc.so.11 /lib/x86_64-linux-gnu/libnppicc.so.11
COPY --from=build /usr/local/cuda-11.4/targets/x86_64-linux/lib/libnppidei.so.11 /lib/x86_64-linux-gnu/libnppidei.so.11
COPY --from=build /usr/local/cuda-11.4/targets/x86_64-linux/lib/libnppif.so.11 /lib/x86_64-linux-gnu/libnppif.so.11
COPY --from=build /usr/local/cuda-11.8/targets/x86_64-linux/lib/libnppc.so.11 /lib/x86_64-linux-gnu/libnppc.so.11
COPY --from=build /usr/local/cuda-11.8/targets/x86_64-linux/lib/libnppig.so.11 /lib/x86_64-linux-gnu/libnppig.so.11
COPY --from=build /usr/local/cuda-11.8/targets/x86_64-linux/lib/libnppicc.so.11 /lib/x86_64-linux-gnu/libnppicc.so.11
COPY --from=build /usr/local/cuda-11.8/targets/x86_64-linux/lib/libnppidei.so.11 /lib/x86_64-linux-gnu/libnppidei.so.11
COPY --from=build /usr/local/cuda-11.8/targets/x86_64-linux/lib/libnppif.so.11 /lib/x86_64-linux-gnu/libnppif.so.11

# Copy ffmpeg
COPY --from=build /app/workspace/bin/ffmpeg /usr/bin/ffmpeg
Expand Down
2 changes: 1 addition & 1 deletion full-static.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:20.04 AS build
FROM ubuntu:22.04 AS build

ENV DEBIAN_FRONTEND noninteractive
ENV NVIDIA_VISIBLE_DEVICES all
Expand Down