From ff109e148a23478ffc2d19dfee2881e6ac0a4e40 Mon Sep 17 00:00:00 2001 From: BtbN Date: Sun, 25 Apr 2021 21:36:29 +0200 Subject: [PATCH 1/5] Disable build of unused vmaf tools --- scripts.d/45-vmaf.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts.d/45-vmaf.sh b/scripts.d/45-vmaf.sh index 3004415..11b9af1 100755 --- a/scripts.d/45-vmaf.sh +++ b/scripts.d/45-vmaf.sh @@ -11,6 +11,9 @@ ffbuild_dockerbuild() { git-mini-clone "$VMAF_REPO" "$VMAF_COMMIT" vmaf cd vmaf + # Kill build of unused and broken tools + echo > libvmaf/tools/meson.build + mkdir build && cd build local myconf=( From 282aab5c38c2454d598f6eb70b21192a00bace71 Mon Sep 17 00:00:00 2001 From: BtbN Date: Sun, 25 Apr 2021 21:55:59 +0200 Subject: [PATCH 2/5] Duplicate ldflags into cross.meson For some reason, meson ignores LDFLAGS when cross compiling, so those need to be duplicated here... --- images/base-win32/cross.meson | 4 ++-- images/base-win64/cross.meson | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/images/base-win32/cross.meson b/images/base-win32/cross.meson index ed4dc21..453b603 100644 --- a/images/base-win32/cross.meson +++ b/images/base-win32/cross.meson @@ -7,8 +7,8 @@ windres = 'i686-w64-mingw32-windres' exe_wrapper = ['wine'] [properties] -c_link_args = ['-static-libgcc'] -cpp_link_args = ['-static-libgcc', '-static-libstdc++'] +c_link_args = ['-static-libgcc', '-L/opt/ffbuild/lib', '-O2', '-pipe', '-fstack-protector-strong'] +cpp_link_args = ['-static-libgcc', '-static-libstdc++', '-L/opt/ffbuild/lib', '-O2', '-pipe', '-fstack-protector-strong'] needs_exe_wrapper = true [host_machine] diff --git a/images/base-win64/cross.meson b/images/base-win64/cross.meson index e4a560b..7d596bd 100644 --- a/images/base-win64/cross.meson +++ b/images/base-win64/cross.meson @@ -7,8 +7,8 @@ windres = 'x86_64-w64-mingw32-windres' exe_wrapper = ['wine'] [properties] -c_link_args = ['-static-libgcc'] -cpp_link_args = ['-static-libgcc', '-static-libstdc++'] +c_link_args = ['-static-libgcc', '-L/opt/ffbuild/lib', '-O2', '-pipe', '-fstack-protector-strong'] +cpp_link_args = ['-static-libgcc', '-static-libstdc++', '-L/opt/ffbuild/lib', '-O2', '-pipe', '-fstack-protector-strong'] needs_exe_wrapper = true [host_machine] From ca3b93f1163ef47fa1ee464ce6b3e48585934e7a Mon Sep 17 00:00:00 2001 From: BtbN Date: Sun, 25 Apr 2021 22:40:57 +0200 Subject: [PATCH 3/5] Update to Ubuntu 21.04 --- images/base/Dockerfile | 2 +- scripts.d/50-xvid.sh | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/images/base/Dockerfile b/images/base/Dockerfile index 9770d47..14c2724 100644 --- a/images/base/Dockerfile +++ b/images/base/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:21.04 ENV DEBIAN_FRONTEND noninteractive diff --git a/scripts.d/50-xvid.sh b/scripts.d/50-xvid.sh index ca5fe14..eb26655 100755 --- a/scripts.d/50-xvid.sh +++ b/scripts.d/50-xvid.sh @@ -17,6 +17,14 @@ ffbuild_dockerbuild() { cd build/generic + # The original code fails on a two-digit major... + sed -i\ + -e 's/GCC_MAJOR=.*/GCC_MAJOR=10/' \ + -e 's/GCC_MINOR=.*/GCC_MINOR=0/' \ + configure.in + + ./bootstrap.sh + local myconf=( --prefix="$FFBUILD_PREFIX" ) From 454b9491add51dffaf05d4961a35dcd4f9caa4c1 Mon Sep 17 00:00:00 2001 From: BtbN Date: Mon, 26 Apr 2021 11:42:34 +0200 Subject: [PATCH 4/5] Fix some redundancy/mispastes --- images/base-win32/Dockerfile | 2 +- images/base-win64/Dockerfile | 2 +- images/base/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/images/base-win32/Dockerfile b/images/base-win32/Dockerfile index cff8f9c..d0da79a 100644 --- a/images/base-win32/Dockerfile +++ b/images/base-win32/Dockerfile @@ -4,7 +4,7 @@ FROM ghcr.io/$GH_REPO/base:latest ENV DEBIAN_FRONTEND noninteractive RUN \ - apt-get -y install binutils-mingw-w64-x86-64 gcc-mingw-w64-i686 g++-mingw-w64-i686 gfortran-mingw-w64-i686 && \ + apt-get -y install binutils-mingw-w64-i686 gcc-mingw-w64-i686 g++-mingw-w64-i686 gfortran-mingw-w64-i686 && \ apt-get -y clean && \ rm /usr/lib/gcc/*-w64-mingw32/*/libstdc++*.dll* && \ rm /usr/lib/gcc/*-w64-mingw32/*/libgcc_s* && \ diff --git a/images/base-win64/Dockerfile b/images/base-win64/Dockerfile index df6f12c..9e4a428 100644 --- a/images/base-win64/Dockerfile +++ b/images/base-win64/Dockerfile @@ -4,7 +4,7 @@ FROM ghcr.io/$GH_REPO/base:latest ENV DEBIAN_FRONTEND noninteractive RUN \ - apt-get -y install binutils-mingw-w64-i686 gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gfortran-mingw-w64-x86-64 && \ + apt-get -y install binutils-mingw-w64-x86-64 gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gfortran-mingw-w64-x86-64 && \ apt-get -y clean && \ rm /usr/lib/gcc/*-w64-mingw32/*/libstdc++*.dll* && \ rm /usr/lib/gcc/*-w64-mingw32/*/libgcc_s* && \ diff --git a/images/base/Dockerfile b/images/base/Dockerfile index 14c2724..6fdd3ad 100644 --- a/images/base/Dockerfile +++ b/images/base/Dockerfile @@ -5,7 +5,7 @@ ENV DEBIAN_FRONTEND noninteractive RUN \ apt-get -y update && \ apt-get -y dist-upgrade && \ - apt-get -y install build-essential yasm nasm xxd pkgconf git curl wget cmake unzip subversion autoconf automake libtool autopoint cmake clang texinfo texi2html gperf gettext itstool ragel libc6-dev libssl-dev gtk-doc-tools gobject-introspection gawk meson ninja-build p7zip-full python3-distutils python3-apt python-is-python3 && \ + apt-get -y install build-essential yasm nasm xxd pkgconf git curl wget unzip subversion autoconf automake libtool autopoint cmake clang texinfo texi2html gperf gettext itstool ragel libc6-dev libssl-dev gtk-doc-tools gobject-introspection gawk meson ninja-build p7zip-full python3-distutils python3-apt python-is-python3 && \ apt-get -y clean RUN git config --global user.email "builder@localhost" && \ From 0d283363b5d42360381cefb3a49e97fb71659228 Mon Sep 17 00:00:00 2001 From: nanake Date: Mon, 26 Apr 2021 18:50:48 +0700 Subject: [PATCH 5/5] FriBidi: switch to meson to eradicate warnings about missing c2man --- scripts.d/25-fribidi.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/scripts.d/25-fribidi.sh b/scripts.d/25-fribidi.sh index c106c47..9fcfffc 100755 --- a/scripts.d/25-fribidi.sh +++ b/scripts.d/25-fribidi.sh @@ -11,25 +11,29 @@ ffbuild_dockerbuild() { git-mini-clone "$FRIBIDI_REPO" "$FRIBIDI_COMMIT" fribidi cd fribidi + mkdir build && cd build + local myconf=( --prefix="$FFBUILD_PREFIX" - --disable-shared - --enable-static - --with-pic + --buildtype=release + --default-library=static + -Dbin=false + -Ddocs=false + -Dtests=false ) if [[ $TARGET == win* ]]; then myconf+=( - --host="$FFBUILD_TOOLCHAIN" + --cross-file=/cross.meson ) else echo "Unknown target" return -1 fi - ./autogen.sh "${myconf[@]}" - make - make install + meson "${myconf[@]}" .. + ninja -j$(nproc) + ninja install sed -i 's/Cflags:/Cflags: -DFRIBIDI_LIB_STATIC/' "$FFBUILD_PREFIX"/lib/pkgconfig/fribidi.pc }