diff --git a/cmake/msys/msys_helper.sh b/cmake/msys/msys_helper.sh index 7037f526a..af7fb6793 100644 --- a/cmake/msys/msys_helper.sh +++ b/cmake/msys/msys_helper.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -eu + # Git repo information fork="lmms" # i.e. "lmms" or "tobydox" branch="master" # i.e. "master" or "stable-1.2" @@ -15,7 +17,6 @@ function warn() { echo -e "\n${yellow}$1${plain}"; } function err() { echo -e "\n${red}$1${plain}"; exit 1;} info "Checking for mingw environment" - if ! env | grep MINGW; then err " - Failed. Please relaunch using MinGW shell" fi @@ -31,20 +32,18 @@ else git clone -b $branch https://github.com/$fork/lmms.git fi - info "Fetching ppa using cmake/msys/fetch_ppas.sh..." if [ -d "$HOME/ppa" ]; then warn " - Skipping, $HOME/ppa already exists" else - ./lmms/cmake/msys/fetch_ppa.sh + lmms/cmake/msys/fetch_ppa.sh fi - info "Extracting debs to $HOME/ppa/opt/, etc..." if [ -d "$HOME/ppa/opt" ]; then warn " - Skipping, $HOME/ppa/opt already exists" else - ./lmms/cmake/msys/extract_debs.sh + lmms/cmake/msys/extract_debs.sh fi info "Preparing library merge, making all qt headers writable..." @@ -52,7 +51,6 @@ chmod u+w /mingw64/include/qt4 -R chmod u+w /mingw32/include/qt4 -R info "Merging mingw headers and libraries from ppa over existing system libraries..." - if ! find /mingw64 | grep sndfile.h; then command cp -r "$HOME/ppa/opt/mingw"* / else @@ -66,26 +64,20 @@ flacver="1.3.2" gigver="4.0.0" stkver="4.5.1" -info "Downloading and building fltk $fltkver" - mingw_root="/$(echo "$MSYSTEM"|tr '[:upper:]' '[:lower:]')" + +info "Downloading and building fltk $fltkver" if ! which fluid; then - if ! wget http://fltk.org/pub/fltk/$fltkver/fltk-$fltkver-source.tar.gz -O "$HOME/fltk-source.tar.gz"; then - err "ERROR: Could not download fltk. Exiting." - fi + wget http://fltk.org/pub/fltk/$fltkver/fltk-$fltkver-source.tar.gz -O "$HOME/fltk-source.tar.gz" tar zxf "$HOME/fltk-source.tar.gz" -C "$HOME/" pushd "$HOME/fltk-$fltkver" info " - Compiling fltk $fltkver..." ./configure --prefix="$mingw_root" --enable-shared - make info " - Installing fltk..." - - if ! make install; then - err "ERROR: Could not build/install fltk -- Zyn needs this. Exiting." - fi + make install # ln -s $mingw_root/usr/local/bin/fluid.exe $mingw_root/bin/fluid.exe popd @@ -94,51 +86,37 @@ else fi info "Downloading and building libogg $oggver" - if [ ! -e "$mingw_root/lib/libogg.dll.a" ]; then - if ! wget http://downloads.xiph.org/releases/ogg/libogg-$oggver.tar.xz -O "$HOME/libogg-source.tar.xz"; then - err "ERROR: Could not download libogg. Exiting." - fi + wget http://downloads.xiph.org/releases/ogg/libogg-$oggver.tar.xz -O "$HOME/libogg-source.tar.xz" tar xf "$HOME/libogg-source.tar.xz" -C "$HOME/" pushd "$HOME/libogg-$oggver" info " - Compiling libogg $oggver..." ./configure --prefix="$mingw_root" - make info " - Installing libogg..." make install - # for some reason libgig needs this ./configure --prefix="/opt$mingw_root" - make info " - Installing libogg..." - - if ! make install; then - err "ERROR: Could not build/install fltk -- lmms needs this. Exiting." - fi + make install popd else warn " - Skipping, libogg binary already exists" fi - info "Downloading and building libvorbis $vorbisver" - if [ ! -e "$mingw_root/lib/libvorbis.dll.a" ]; then - if ! wget http://downloads.xiph.org/releases/vorbis/libvorbis-$vorbisver.tar.xz -O "$HOME/libvorbis-source.tar.xz"; then - err "ERROR: Could not download libogg. Exiting." - fi + wget http://downloads.xiph.org/releases/vorbis/libvorbis-$vorbisver.tar.xz -O "$HOME/libvorbis-source.tar.xz" tar xf "$HOME/libvorbis-source.tar.xz" -C "$HOME/" pushd "$HOME/libvorbis-$vorbisver" info " - Compiling libvorbis $vorbisver..." ./configure --prefix="$mingw_root" - make info " - Installing libvorbis..." @@ -146,14 +124,9 @@ if [ ! -e "$mingw_root/lib/libvorbis.dll.a" ]; then # for some reason libgig needs this ./configure --prefix="/opt$mingw_root" - make - info " - Installing libvorbis..." - - if ! make install; then - err "ERROR: Could not build/install libvorbis -- lmms needs this. Exiting." - fi + make install popd else @@ -163,15 +136,13 @@ fi info "Downloading and building flac $flacver" if [ ! -e "$mingw_root/lib/libFLAC.dll.a" ]; then - if ! wget http://downloads.xiph.org/releases/flac/flac-$flacver.tar.xz -O "$HOME/flac-source.tar.xz"; then - err "ERROR: Could not download flac. Exiting." - fi + + wget http://downloads.xiph.org/releases/flac/flac-$flacver.tar.xz -O "$HOME/flac-source.tar.xz" tar xf "$HOME/flac-source.tar.xz" -C "$HOME/" pushd "$HOME/flac-$flacver" info " - Compiling flac $flacver..." ./configure --prefix="$mingw_root" - make info " - Installing flac..." @@ -179,14 +150,10 @@ if [ ! -e "$mingw_root/lib/libFLAC.dll.a" ]; then # for some reason libgig needs this ./configure --prefix="/opt$mingw_root" - make info " - Installing flac..." - - if ! make install; then - err "ERROR: Could not build/install flac -- lmms needs this. Exiting." - fi + make install popd else @@ -196,25 +163,19 @@ fi info "Downloading and building libgig $gigver" if [ ! -e "$mingw_root/lib/libgig/libgig.dll.a" ]; then - if ! wget http://download.linuxsampler.org/packages/libgig-$gigver.tar.bz2 -O "$HOME/gig-source.tar.xz"; then - err "ERROR: Could not download libgig. Exiting." - fi + wget http://download.linuxsampler.org/packages/libgig-$gigver.tar.bz2 -O "$HOME/gig-source.tar.xz" tar xf "$HOME/gig-source.tar.xz" -C "$HOME/" pushd "$HOME/libgig-$gigver" info " - Compiling libgig $gigver..." ./configure --prefix="$mingw_root" - make info " - Installing libgig..." make install mv "$mingw_root/lib/bin/libakai-0.dll" "$mingw_root/bin" - - if ! mv "$mingw_root/lib/bin/libgig-7.dll" "$mingw_root/bin"; then - err "ERROR: Could not build/install libgig -- gigplayer needs this. Exiting." - fi + mv "$mingw_root/lib/bin/libgig-7.dll" "$mingw_root/bin" popd else @@ -224,22 +185,16 @@ fi info "Downloading and building stk $stkver" if [ ! -e "$mingw_root/lib/libstk.dll" ]; then - if ! wget http://ccrma.stanford.edu/software/stk/release/stk-$stkver.tar.gz -O "$HOME/stk-source.tar.xz"; then - err "ERROR: Could not download stk. Exiting." - fi + wget http://ccrma.stanford.edu/software/stk/release/stk-$stkver.tar.gz -O "$HOME/stk-source.tar.xz" tar xf "$HOME/stk-source.tar.xz" -C "$HOME/" pushd "$HOME/stk-$stkver" info " - Compiling stk $stkver..." ./configure --prefix="$mingw_root" - make info " - Installing stk..." - - if ! make install; then - err "ERROR: Could not build/install stk -- mallotstk needs this. Exiting." - fi + make install mv "$mingw_root/lib/libstk.so" "$mingw_root/lib/libstk.dll" mv "$mingw_root/lib/libstk-$stkver.so" "$mingw_root/lib/libstk-$stkver.dll" @@ -254,9 +209,7 @@ if [ "$mingw_root" = "/mingw64" ]; then if [ ! -e /opt/mingw64/bin/x86_64-w64-mingw32-pkg-config ]; then ln -s /usr/bin/pkg-config /opt/mingw64/bin/x86_64-w64-mingw32-pkg-config fi -fi -if [ "$mingw_root" = "/mingw32" ]; then - +elif [ "$mingw_root" = "/mingw32" ]; then if [ ! -e /opt/mingw32/bin/i686-w64-mingw32-pkg-config ]; then ln -s /usr/bin/pkg-config /opt/mingw32/bin/i686-w64-mingw32-pkg-config fi