parent
91f637d255
commit
c25ef94991
3 changed files with 146 additions and 0 deletions
56
scripts.d/40-fftw3.sh
Executable file
56
scripts.d/40-fftw3.sh
Executable file
|
@ -0,0 +1,56 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# http://fftw.org/download.html
|
||||||
|
FFTW3_SRC="http://fftw.org/fftw-3.3.8.tar.gz"
|
||||||
|
FFTW3_SHA512="ab918b742a7c7dcb56390a0a0014f517a6dff9a2e4b4591060deeb2c652bf3c6868aa74559a422a276b853289b4b701bdcbd3d4d8c08943acf29167a7be81a38"
|
||||||
|
|
||||||
|
ffbuild_enabled() {
|
||||||
|
# Dependency of GPL-Only librubberband
|
||||||
|
[[ $VARIANT == gpl* ]] || return -1
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
ffbuild_dockerstage() {
|
||||||
|
to_df "ADD $SELF /stage.sh"
|
||||||
|
to_df "RUN run_stage"
|
||||||
|
}
|
||||||
|
|
||||||
|
ffbuild_dockerbuild() {
|
||||||
|
mkdir fftw3
|
||||||
|
cd fftw3
|
||||||
|
|
||||||
|
check-wget fftw3.tar.gz "$FFTW3_SRC" "$FFTW3_SHA512"
|
||||||
|
tar xaf fftw3.tar.gz
|
||||||
|
rm fftw3.tar.gz
|
||||||
|
cd fftw*
|
||||||
|
|
||||||
|
local myconf=(
|
||||||
|
--prefix="$FFBUILD_PREFIX"
|
||||||
|
--disable-shared
|
||||||
|
--enable-static
|
||||||
|
--disable-doc
|
||||||
|
--with-our-malloc
|
||||||
|
--enable-threads
|
||||||
|
--with-combined-threads
|
||||||
|
--with-incoming-stack-boundary=2
|
||||||
|
--enable-sse2
|
||||||
|
--enable-avx
|
||||||
|
--enable-avx2
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ $TARGET == win* ]]; then
|
||||||
|
myconf+=(
|
||||||
|
--host="$FFBUILD_TOOLCHAIN"
|
||||||
|
)
|
||||||
|
else
|
||||||
|
echo "Unknown target"
|
||||||
|
return -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
./configure "${myconf[@]}"
|
||||||
|
make -j$(nproc)
|
||||||
|
make install
|
||||||
|
|
||||||
|
cd ../..
|
||||||
|
rm -rf fftw3
|
||||||
|
}
|
30
scripts.d/45-libsamplerate.sh
Executable file
30
scripts.d/45-libsamplerate.sh
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
LIBSR_REPO="https://github.com/libsndfile/libsamplerate.git"
|
||||||
|
LIBSR_COMMIT="36dfd68836a185182775a0ca760dd2bbbcd53e30"
|
||||||
|
|
||||||
|
ffbuild_enabled() {
|
||||||
|
# Dependency of GPL-Only librubberband
|
||||||
|
[[ $VARIANT == gpl* ]] || return -1
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
ffbuild_dockerstage() {
|
||||||
|
to_df "ADD $SELF /stage.sh"
|
||||||
|
to_df "RUN run_stage"
|
||||||
|
}
|
||||||
|
|
||||||
|
ffbuild_dockerbuild() {
|
||||||
|
git-mini-clone "$LIBSR_REPO" "$LIBSR_COMMIT" libsr
|
||||||
|
cd libsr
|
||||||
|
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=NO -DBUILD_TESTING=NO -DLIBSAMPLERATE_EXAMPLES=OFF -DLIBSAMPLERATE_INSTALL=YES ..
|
||||||
|
make -j$(nproc)
|
||||||
|
make install
|
||||||
|
|
||||||
|
cd ../..
|
||||||
|
rm -rf libsr
|
||||||
|
}
|
60
scripts.d/50-rubberband.sh
Executable file
60
scripts.d/50-rubberband.sh
Executable file
|
@ -0,0 +1,60 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# https://breakfastquay.com/rubberband/
|
||||||
|
RUBBERBAND_SRC="https://breakfastquay.com/files/releases/rubberband-1.9.0.tar.bz2"
|
||||||
|
|
||||||
|
ffbuild_enabled() {
|
||||||
|
[[ $VARIANT == gpl* ]] || return -1
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
ffbuild_dockerstage() {
|
||||||
|
to_df "ADD $SELF /stage.sh"
|
||||||
|
to_df "RUN run_stage"
|
||||||
|
}
|
||||||
|
|
||||||
|
ffbuild_dockerbuild() {
|
||||||
|
mkdir rubberband
|
||||||
|
cd rubberband
|
||||||
|
|
||||||
|
wget "$RUBBERBAND_SRC" -O rubberband.tar.gz || return -1
|
||||||
|
tar xaf rubberband.tar.gz || return -1
|
||||||
|
rm rubberband.tar.gz
|
||||||
|
cd rubberband* || return -1
|
||||||
|
|
||||||
|
local myconf=(
|
||||||
|
--prefix="$FFBUILD_PREFIX"
|
||||||
|
--disable-shared
|
||||||
|
--enable-static
|
||||||
|
--disable-ladspa
|
||||||
|
--disable-vamp
|
||||||
|
--disable-programs
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ $TARGET == win* ]]; then
|
||||||
|
myconf+=(
|
||||||
|
--host="$FFBUILD_TOOLCHAIN"
|
||||||
|
)
|
||||||
|
else
|
||||||
|
echo "Unknown target"
|
||||||
|
return -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
./configure "${myconf[@]}" || return -1
|
||||||
|
make -j$(nproc) || return -1
|
||||||
|
make install || return -1
|
||||||
|
|
||||||
|
# Fix static linking
|
||||||
|
echo "Requires.private: fftw3 samplerate" >> "$FFBUILD_PREFIX"/lib/pkgconfig/rubberband.pc
|
||||||
|
|
||||||
|
cd ../..
|
||||||
|
rm -rf rubberband
|
||||||
|
}
|
||||||
|
|
||||||
|
ffbuild_configure() {
|
||||||
|
echo --enable-librubberband
|
||||||
|
}
|
||||||
|
|
||||||
|
ffbuild_unconfigure() {
|
||||||
|
echo --disable-librubberband
|
||||||
|
}
|
Loading…
Reference in a new issue