diff --git a/images/base/Dockerfile b/images/base/Dockerfile index 0706792..df9327d 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 pkg-config git curl wget cmake unzip subversion autoconf automake libtool autopoint cmake clang texinfo texi2html gperf gettext itstool ragel libc6-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 pkgconf git curl wget cmake unzip subversion autoconf automake libtool autopoint cmake clang texinfo texi2html gperf gettext itstool ragel libc6-dev gtk-doc-tools gobject-introspection gawk meson ninja-build p7zip-full python3-distutils python3-apt python-is-python3 && \ apt-get -y clean ENV CARGO_HOME="/opt/cargo" RUSTUP_HOME="/opt/rustup" PATH="/opt/cargo/bin:${PATH}" diff --git a/scripts.d/45-lv2.sh b/scripts.d/45-lv2.sh index 58cd3fd..03119c2 100755 --- a/scripts.d/45-lv2.sh +++ b/scripts.d/45-lv2.sh @@ -1,7 +1,7 @@ #!/bin/bash -LV2_REPO="https://gitlab.com/lv2/lv2.git" -LV2_COMMIT="ba34a58b32839491335b5bcbda46e11c4b209cbc" +LV2_REPO="https://github.com/lv2/lv2.git" +LV2_COMMIT="611759daacc377a2dba97723097338fceffd6ef8" ffbuild_enabled() { return 0 diff --git a/scripts.d/45-serd.sh b/scripts.d/45-serd.sh new file mode 100755 index 0000000..890fbcd --- /dev/null +++ b/scripts.d/45-serd.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +SERD_REPO="https://github.com/drobilla/serd.git" +SERD_COMMIT="36f1cecc1fdb803bf04d2ab60bd13dd257a9e525" + +ffbuild_enabled() { + return 0 +} + +ffbuild_dockerstage() { + to_df "ADD $SELF /stage.sh" + to_df "RUN run_stage" +} + +ffbuild_dockerbuild() { + git-mini-clone "$SERD_REPO" "$SERD_COMMIT" serd + cd serd + git submodule update --init --recursive --depth 1 + + local mywaf=( + --prefix="$FFBUILD_PREFIX" + --no-utils + --static + --no-shared + --largefile + --stack-check + ) + + CC="${FFBUILD_CROSS_PREFIX}gcc" CXX="${FFBUILD_CROSS_PREFIX}g++" ./waf configure "${mywaf[@]}" + ./waf -j$(nproc) + ./waf install + + sed -i 's/Cflags:/Cflags: -DSERD_STATIC/' "$FFBUILD_PREFIX"/lib/pkgconfig/serd-0.pc + + cd .. + rm -rf serd +} diff --git a/scripts.d/46-sord.sh b/scripts.d/46-sord.sh new file mode 100755 index 0000000..47f2477 --- /dev/null +++ b/scripts.d/46-sord.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +SORD_REPO="https://github.com/drobilla/sord.git" +SORD_COMMIT="d2efdb2d026216449599350b55c2c85c0d3efb89" + +ffbuild_enabled() { + return 0 +} + +ffbuild_dockerstage() { + to_df "ADD $SELF /stage.sh" + to_df "RUN run_stage" +} + +ffbuild_dockerbuild() { + git-mini-clone "$SORD_REPO" "$SORD_COMMIT" sord + cd sord + git submodule update --init --recursive --depth 1 + + local mywaf=( + --prefix="$FFBUILD_PREFIX" + --no-utils + --static + --no-shared + ) + + CC="${FFBUILD_CROSS_PREFIX}gcc" CXX="${FFBUILD_CROSS_PREFIX}g++" ./waf configure "${mywaf[@]}" + ./waf -j$(nproc) + ./waf install + + sed -i 's/Cflags:/Cflags: -DSORD_STATIC/' "$FFBUILD_PREFIX"/lib/pkgconfig/sord-0.pc + + cd .. + rm -rf sord +} diff --git a/scripts.d/47-sratom.sh b/scripts.d/47-sratom.sh new file mode 100755 index 0000000..d33a6d2 --- /dev/null +++ b/scripts.d/47-sratom.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +SRATOM_REPO="https://github.com/lv2/sratom.git" +SRATOM_COMMIT="c46452c83d442de137fa6470ba544e3ba142e923" + +ffbuild_enabled() { + return 0 +} + +ffbuild_dockerstage() { + to_df "ADD $SELF /stage.sh" + to_df "RUN run_stage" +} + +ffbuild_dockerbuild() { + git-mini-clone "$SRATOM_REPO" "$SRATOM_COMMIT" sratom + cd sratom + git submodule update --init --recursive --depth 1 + + local mywaf=( + --prefix="$FFBUILD_PREFIX" + --static + --no-shared + ) + + CC="${FFBUILD_CROSS_PREFIX}gcc" CXX="${FFBUILD_CROSS_PREFIX}g++" ./waf configure "${mywaf[@]}" + ./waf -j$(nproc) + ./waf install + + sed -i 's/Cflags:/Cflags: -DSRATOM_STATIC/' "$FFBUILD_PREFIX"/lib/pkgconfig/sratom-0.pc + + cd .. + rm -rf sratom +} diff --git a/scripts.d/50-gme.sh b/scripts.d/50-gme.sh new file mode 100755 index 0000000..346c56e --- /dev/null +++ b/scripts.d/50-gme.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +GME_REPO="https://bitbucket.org/mpyne/game-music-emu.git" +GME_COMMIT="013d4676c689dc49f363f99dcfb8b88f22278236" + +ffbuild_enabled() { + return 0 +} + +ffbuild_dockerstage() { + to_df "ADD $SELF /stage.sh" + to_df "RUN run_stage" +} + +ffbuild_dockerbuild() { + git-mini-clone "$GME_REPO" "$GME_COMMIT" gme + cd gme + + mkdir build && cd build + + cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DENABLE_UBSAN=OFF .. + make -j$(nproc) + make install + + cd ../.. + rm -rf gme +} + +ffbuild_configure() { + echo --enable-libgme +} + +ffbuild_unconfigure() { + echo --disable-libgme +} diff --git a/scripts.d/50-lilv.sh b/scripts.d/50-lilv.sh index f8fdac9..d223c6f 100755 --- a/scripts.d/50-lilv.sh +++ b/scripts.d/50-lilv.sh @@ -1,11 +1,10 @@ #!/bin/bash -LILV_REPO="https://gitlab.com/lv2/lilv.git" +LILV_REPO="https://github.com/lv2/lilv.git" LILV_COMMIT="71a2ff5170caaa052814cce19b3de927d10d0e24" ffbuild_enabled() { - # Still has missing dependencies - return -1 + return 0 } ffbuild_dockerstage() { @@ -31,6 +30,8 @@ ffbuild_dockerbuild() { ./waf -j$(nproc) ./waf install + sed -i 's/Cflags:/Cflags: -DLILV_STATIC/' "$FFBUILD_PREFIX"/lib/pkgconfig/lilv-0.pc + cd .. rm -rf lilv }