Skip to content

Commit 3bef680

Browse files
authored
Merge pull request #169 from markus-perl/mac-m1
Mac M1 fixes
2 parents 2f934b1 + 85c3a84 commit 3bef680

File tree

5 files changed

+60
-62
lines changed

5 files changed

+60
-62
lines changed

.github/workflows/build.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
jobs:
1111
build-linux:
1212
name: build in native linux
13-
runs-on: ubuntu-20.04
13+
runs-on: ubuntu-22.04
1414
steps:
1515
- name: Checkout code
1616
uses: actions/checkout@v2
@@ -59,19 +59,19 @@ jobs:
5959
6060
build-docker:
6161
name: build in docker
62-
runs-on: ubuntu-20.04
62+
runs-on: ubuntu-22.04
6363
steps:
6464
- name: Checkout code
6565
uses: actions/checkout@v2
6666

6767
- name: pull base image
6868
id: ubuntu_pull
6969
run: |
70-
docker pull ubuntu:20.04
70+
docker pull ubuntu:22.04
7171
- name: run if ubuntu_pull failed
7272
if: failure() && steps.ubuntu_pull.outcome == 'failure'
7373
run: |
74-
docker pull ubuntu:20.04
74+
docker pull ubuntu:22.04
7575
- name: build ffmpeg
7676
run: |
7777
docker build -t ffmpeg:ubuntu -f Dockerfile .
@@ -81,21 +81,21 @@ jobs:
8181
8282
build-cuda-ubuntu-docker:
8383
name: build in ubuntu docker with cuda
84-
runs-on: ubuntu-20.04
84+
runs-on: ubuntu-22.04
8585
steps:
8686
- name: Checkout code
8787
uses: actions/checkout@v2
8888

8989
- name: pull base image
9090
id: cuda_ubuntu_pull
9191
run: |
92-
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
93-
docker pull ubuntu:20.04
92+
docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04
93+
docker pull ubuntu:22.04
9494
- name: run if cuda_ubuntu_pull failed
9595
if: failure() && steps.cuda_ubuntu_pull.outcome == 'failure'
9696
run: |
97-
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
98-
docker pull ubuntu:20.04
97+
docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04
98+
docker pull ubuntu:22.04
9999
- name: build ffmpeg
100100
run: |
101101
docker build -t ffmpeg:cuda-ubuntu -f cuda-ubuntu.dockerfile .
@@ -129,19 +129,19 @@ jobs:
129129
130130
build-full-static:
131131
name: full static build in docker
132-
runs-on: ubuntu-20.04
132+
runs-on: ubuntu-22.04
133133
steps:
134134
- name: Checkout code
135135
uses: actions/checkout@v2
136136

137137
- name: pull base image
138138
id: cuda_ubuntu_pull
139139
run: |
140-
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
140+
docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04
141141
- name: run if cuda_ubuntu_pull failed
142142
if: failure() && steps.cuda_ubuntu_pull.outcome == 'failure'
143143
run: |
144-
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
144+
docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04
145145
- name: build ffmpeg
146146
run: |
147147
docker build -t ffmpeg:cuda-static -f full-static.dockerfile .

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:20.04 AS build
1+
FROM ubuntu:22.10 AS build
22

33
ENV DEBIAN_FRONTEND noninteractive
44

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

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

16-
FROM ubuntu:20.04
16+
FROM ubuntu:22.10
1717

1818
ENV DEBIAN_FRONTEND noninteractive
1919

build-ffmpeg

Lines changed: 38 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -417,14 +417,16 @@ else
417417
build_done "nettle" "3.8"
418418
fi
419419

420+
if [[ ! $ARCH == 'arm64' ]]; then
420421
if build "gnutls" "3.6.16"; then
421422
download "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.16.tar.xz"
422423
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}"
423424
execute make -j $MJOBS
424425
execute make install
425426
build_done "gnutls" "3.6.16"
426427
fi
427-
CONFIGURE_OPTIONS+=("--enable-gmp" "--enable-gnutls")
428+
# CONFIGURE_OPTIONS+=("--enable-gmp" "--enable-gnutls")
429+
fi
428430
fi
429431

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

656659
if command_exists "python3"; then
657660

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

664-
build_done "lv2" "1.18.2"
663+
if build "lv2" "1.18.10"; then
664+
download "https://lv2plug.in/spec/lv2-1.18.10.tar.xz" "lv2-1.18.10.tar.xz"
665+
execute meson build --prefix="${WORKSPACE}" --buildtype=release --default-library=static --libdir="${WORKSPACE}"/lib
666+
execute ninja -C build
667+
execute ninja -C build install
668+
build_done "lv2" "1.18.10"
665669
fi
666670
if build "waflib" "b600c92"; then
667671
download "https://gitlab.com/drobilla/autowaf/-/archive/b600c928b221a001faeab7bd92786d0b25714bc8/autowaf-b600c928b221a001faeab7bd92786d0b25714bc8.tar.gz" "autowaf.tar.gz"
668672
build_done "waflib" "b600c92"
669673
fi
670-
if build "serd" "0.30.10"; then
671-
download "https://gitlab.com/drobilla/serd/-/archive/v0.30.10/serd-v0.30.10.tar.gz" "serd-v0.30.10.tar.gz"
672-
execute cp -r "${PACKAGES}"/autowaf/* "${PACKAGES}/serd-v0.30.10/waflib/"
673-
execute python3 ./waf configure --prefix="${WORKSPACE}" --static --no-shared --no-posix
674-
execute python3 ./waf
675-
execute python3 ./waf install
676-
build_done "serd" "0.30.10"
674+
if build "serd" "0.30.16"; then
675+
download "https://gitlab.com/drobilla/serd/-/archive/v0.30.16/serd-v0.30.16.tar.gz" "serd-v0.30.16.tar.gz"
676+
execute meson build --prefix="${WORKSPACE}" --buildtype=release --default-library=static --libdir="${WORKSPACE}"/lib
677+
execute ninja -C build
678+
execute ninja -C build install
679+
build_done "serd" "0.30.16"
677680
fi
678681
if build "pcre" "8.45"; then
679682
download "https://altushost-swe.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz" "pcre-8.45.tar.gz"
680683
execute ./configure --prefix="${WORKSPACE}" --disable-shared --enable-static
681684
execute make -j $MJOBS
682685
execute make install
683-
684686
build_done "pcre" "8.45"
685687
fi
686-
if build "sord" "0.16.8"; then
687-
download "https://gitlab.com/drobilla/sord/-/archive/v0.16.8/sord-v0.16.8.tar.gz" "sord-v0.16.8.tar.gz"
688-
execute cp -r "${PACKAGES}"/autowaf/* "${PACKAGES}/sord-v0.16.8/waflib/"
689-
execute python3 ./waf configure --prefix="${WORKSPACE}" CFLAGS="${CFLAGS}" --static --no-shared --no-utils
690-
execute python3 ./waf CFLAGS="${CFLAGS}"
691-
execute python3 ./waf install
692-
693-
build_done "sord" "0.16.8"
694-
fi
695-
if build "sratom" "0.6.8"; then
696-
download "https://gitlab.com/lv2/sratom/-/archive/v0.6.8/sratom-v0.6.8.tar.gz" "sratom-v0.6.8.tar.gz"
697-
execute cp -r "${PACKAGES}"/autowaf/* "${PACKAGES}/sratom-v0.6.8/waflib/"
698-
execute python3 ./waf configure --prefix="${WORKSPACE}" --static --no-shared
699-
execute python3 ./waf
700-
execute python3 ./waf install
701-
702-
build_done "sratom" "0.6.8"
703-
fi
704-
if build "lilv" "0.24.12"; then
705-
download "https://gitlab.com/lv2/lilv/-/archive/v0.24.12/lilv-v0.24.12.tar.gz" "lilv-v0.24.12.tar.gz"
706-
execute cp -r "${PACKAGES}"/autowaf/* "${PACKAGES}/lilv-v0.24.12/waflib/"
707-
execute python3 ./waf configure --prefix="${WORKSPACE}" --static --no-shared --no-utils
708-
execute python3 ./waf
709-
execute python3 ./waf install
710-
build_done "lilv" "0.24.12"
688+
if build "sord" "0.16.14"; then
689+
download "https://gitlab.com/drobilla/sord/-/archive/v0.16.14/sord-v0.16.14.tar.gz" "sord-v0.16.14.tar.gz"
690+
execute meson build --prefix="${WORKSPACE}" --buildtype=release --default-library=static --libdir="${WORKSPACE}"/lib
691+
execute ninja -C build
692+
execute ninja -C build install
693+
build_done "sord" "0.16.14"
694+
fi
695+
if build "sratom" "0.6.14"; then
696+
download "https://gitlab.com/lv2/sratom/-/archive/v0.6.14/sratom-v0.6.14.tar.gz" "sratom-v0.6.14.tar.gz"
697+
execute meson build --prefix="${WORKSPACE}" --buildtype=release --default-library=static --libdir="${WORKSPACE}"/lib
698+
execute ninja -C build
699+
execute ninja -C build install
700+
build_done "sratom" "0.6.14"
701+
fi
702+
if build "lilv" "0.24.20"; then
703+
download "https://gitlab.com/lv2/lilv/-/archive/v0.24.20/lilv-v0.24.20.tar.gz" "lilv-v0.24.20.tar.gz"
704+
execute meson build --prefix="${WORKSPACE}" --buildtype=release --default-library=static --libdir="${WORKSPACE}"/lib
705+
execute ninja -C build
706+
execute ninja -C build install
707+
build_done "lilv" "0.24.20"
711708
fi
712709
CFLAGS+=" -I$WORKSPACE/include/lilv-0"
713710

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

716713
fi
714+
fi
717715

718716
if build "opencore" "0.1.5"; then
719717
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"

cuda-ubuntu.dockerfile

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
ARG VER=20.04
1+
ARG VER=22.04
22

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

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

3131
# Copy libnpp
32-
COPY --from=build /usr/local/cuda-11.4/targets/x86_64-linux/lib/libnppc.so.11 /lib/x86_64-linux-gnu/libnppc.so.11
33-
COPY --from=build /usr/local/cuda-11.4/targets/x86_64-linux/lib/libnppig.so.11 /lib/x86_64-linux-gnu/libnppig.so.11
34-
COPY --from=build /usr/local/cuda-11.4/targets/x86_64-linux/lib/libnppicc.so.11 /lib/x86_64-linux-gnu/libnppicc.so.11
35-
COPY --from=build /usr/local/cuda-11.4/targets/x86_64-linux/lib/libnppidei.so.11 /lib/x86_64-linux-gnu/libnppidei.so.11
36-
COPY --from=build /usr/local/cuda-11.4/targets/x86_64-linux/lib/libnppif.so.11 /lib/x86_64-linux-gnu/libnppif.so.11
32+
COPY --from=build /usr/local/cuda-11.8/targets/x86_64-linux/lib/libnppc.so.11 /lib/x86_64-linux-gnu/libnppc.so.11
33+
COPY --from=build /usr/local/cuda-11.8/targets/x86_64-linux/lib/libnppig.so.11 /lib/x86_64-linux-gnu/libnppig.so.11
34+
COPY --from=build /usr/local/cuda-11.8/targets/x86_64-linux/lib/libnppicc.so.11 /lib/x86_64-linux-gnu/libnppicc.so.11
35+
COPY --from=build /usr/local/cuda-11.8/targets/x86_64-linux/lib/libnppidei.so.11 /lib/x86_64-linux-gnu/libnppidei.so.11
36+
COPY --from=build /usr/local/cuda-11.8/targets/x86_64-linux/lib/libnppif.so.11 /lib/x86_64-linux-gnu/libnppif.so.11
3737

3838
# Copy ffmpeg
3939
COPY --from=build /app/workspace/bin/ffmpeg /usr/bin/ffmpeg

full-static.dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:20.04 AS build
1+
FROM ubuntu:22.04 AS build
22

33
ENV DEBIAN_FRONTEND noninteractive
44
ENV NVIDIA_VISIBLE_DEVICES all

0 commit comments

Comments
 (0)