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…
	
	Add table
		Add a link
		
	
		Reference in a new issue