Created
April 25, 2019 13:15
-
-
Save mlshvdv/27dc8c9a0e23e0787953a8649b5b7eec to your computer and use it in GitHub Desktop.
Build SoX binary on Ubuntu/Debian script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| sudo apt install build-essential cmake g++ | |
| sudo apt install qtbase5-dev qttools5-dev qttools5-dev-tools libqt5svg5-dev libgcrypt20-dev libargon2-0-dev libqrencode-dev zlib1g-dev | |
| sudo apt install libxi-dev libxtst-dev libqt5x11extras5-dev libyubikey-dev libykpers-1-dev libsodium-dev libcurl4-openssl-dev libogg-dev | |
| mkdir src && cd src | |
| # now grab sox and its dependencies | |
| mkdir -p deps | |
| mkdir -p deps/unpacked | |
| mkdir -p deps/built | |
| mkdir -p deps/built/libmad | |
| mkdir -p deps/built/sox | |
| mkdir -p deps/built/lame | |
| mkdir -p deps/built/libvorbis | |
| mkdir -p deps/built/flac | |
| wget -O deps/sox-14.4.2.tar.bz2 "http://downloads.sourceforge.net/project/sox/sox/14.4.2/sox-14.4.2.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fsox%2Ffiles%2Fsox%2F14.4.2%2F&ts=1416316415&use_mirror=heanet" | |
| wget -O deps/libmad-0.15.1b.tar.gz "http://downloads.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmad%2Ffiles%2Flibmad%2F0.15.1b%2F&ts=1416316482&use_mirror=heanet" | |
| wget -O deps/lame-3.99.5.tar.gz "http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flame%2Ffiles%2Flame%2F3.99%2F&ts=1416316457&use_mirror=kent" | |
| wget -O deps/libogg-1.3.3.tar.gz "http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.gz" | |
| wget -O deps/libvorbis-1.3.5.tar.xz "http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz" | |
| wget -O deps/flac-1.3.2.tar.xz "https://superb-dca2.dl.sourceforge.net/project/flac/flac-src/flac-1.3.2.tar.xz" | |
| # unpack the dependencie | |
| pushd deps/unpacked | |
| tar xvfp ../sox-14.4.2.tar.bz2 | |
| tar xvfp ../libmad-0.15.1b.tar.gz | |
| tar xvfp ../lame-3.99.5.tar.gz | |
| tar xvfp ../libogg-1.3.3.tar.gz | |
| tar xvfp ../libvorbis-1.3.5.tar.xz | |
| tar xvfp ../flac-1.3.2.tar.xz | |
| popd | |
| # build libmad, statically | |
| pushd deps/unpacked/libmad-0.15.1b | |
| ./configure --disable-shared --enable-static --prefix=$(realpath ../../built/libmad) | |
| # Patch makefile to remove -fforce-mem | |
| sed s/-fforce-mem//g < Makefile > Makefile.patched | |
| cp Makefile.patched Makefile | |
| make | |
| make install | |
| popd | |
| # build lame, statically | |
| pushd deps/unpacked/lame-3.99.5 | |
| ./configure --disable-shared --enable-static --prefix=$(realpath ../../built/lame) | |
| make | |
| make install | |
| popd | |
| # build libogg, statically | |
| pushd deps/unpacked/libogg-1.3.3 | |
| ./configure --disable-shared --enable-static --prefix=$(realpath ../../built/libogg) | |
| make | |
| make install | |
| popd | |
| # build libvorbis, statically | |
| pushd deps/unpacked/libvorbis-1.3.5 | |
| ./configure --disable-shared --enable-static --prefix=$(realpath ../../built/libvorbis) | |
| make | |
| make install | |
| popd | |
| # build flac, statically | |
| pushd deps/unpacked/flac-1.3.2 | |
| ./configure --disable-shared --enable-static --prefix=$(realpath ../../built/flac) | |
| make | |
| make install | |
| popd | |
| # build sox, statically | |
| pushd deps/unpacked/sox-14.4.2 | |
| ./configure --disable-shared --enable-static --prefix=$(realpath ../../built/sox) \ | |
| LDFLAGS="-L$(realpath ../../built/libmad/lib) -L$(realpath ../../built/lame/lib) -L$(realpath ../../built/libogg/lib) -L$(realpath ../../built/libvorbis/lib) -L$(realpath ../../built/flac/lib)" \ | |
| CPPFLAGS="-I$(realpath ../../built/libmad/include) -I$(realpath ../../built/lame/include) -I$(realpath ../../built/libogg/include) -I$(realpath ../../built/libvorbis/include) -I$(realpath ../../built/flac/include)" \ | |
| --with-mad --with-lame --with-libvorbis --with-flac --with-libogg --with-oggvorbis --without-oss --without-sndfile --without-gomp | |
| make -s | |
| make install | |
| popd | |
| cp deps/built/sox/bin/sox . | |
| rm -rf deps/built | |
| rm -rf deps/unpacked |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment