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