#!/bin/bash package=wavesurfer.js version=-4.0.1 progname=$0 source ../cascade-make/lib/cascade-lib.bash GEXT_MARS ../.. $* prefix=$GEXT_MARS_INSTALLED #export CFLAGS="$CFLAGS -I$GEXT_MARS_INSTALLED/include" #export CPPFLAGS="$CPPFLAGS -I$GEXT_MARS_INSTALLED/include" #export CXXFLAGS="$CXXFLAGS -I$GEXT_MARS_INSTALLED/include" #export LDFLAGS="$LDFLAGS -L$GEXT_MARS_INSTALLED/lib" #export LD_LIBRARY_PATH="$GEXT_MARS_INSTALLED/lib" opt_run_untar $force_untar $auto_untar $package $version #opt_run_configure $force_config $auto_config $package $version $prefix if [ $force_config = "1" ] ; then echo "[pushd $package$version]" ( cd $package$version ; \ echo "Running the *configure* stage with NodeJS source code equates to running 'npm install' to downloading required packages" ; \ echo "npm install" ; \ npm install ) if [ $? != 0 ] ; then echo " Error encountered running *configure* stage of $progname" exit 1 fi echo "[popd]" else # Is the following check meaningful for npm??? if [ $auto_config = "1" ] ; then echo "Found top-level for ${progname%.*} => no need to run ./configure" fi fi # opt_run_make $compile $package $version if [ $compile = "1" ] ; then ( cd $package$version ; \ echo "npm run build $@" ; \ npm run build $@ ) if [ $? != 0 ] ; then echo " Error encountered running *make $target* stage of $progname" exit 1 fi fi # opt_run_make $install $package $version "install" if [ $install = "1" ] ; then # echo "****" # echo "* Generate files: $package$version/dist" # echo "****" if [ ! -d ../../../web/ext ] ; then echo " Making directory: ../../../web/ext" mkdir ../../../web/ext fi if [ ! -d ../../../web/ext/audio ] ; then echo " Making directory: ../../../web/ext/audio" mkdir ../../../web/ext/audio fi echo " Installing 'wavesurfer' into ../../../web/ext/audio" echo "Copying $package$version/dist to ../../../web/ext/audio/ws" /bin/cp -r "$package$version/dist" "../../../web/ext/audio/ws" # Turns out the JSON used by the Spectrogram plugin for WaveSurferJS wants # the data directly (e.g. inline). Can be set up with a URL call # WaveSurfer.util.fetchFile() ... # but more effort, so have opted to embed JSON directly into wavesurfer-player.js # echo "Copying colormap/hot-colormap.json to ../../../web/ext/audio/ws/." # /bin/cp -r colormap/hot-colormap.json ../../../web/ext/audio/ws/. echo "Copying wavesurfer-player to ../../../web/ext/audio" /bin/cp -r wavesurfer-player/css wavesurfer-player/wavesurfer-player.js ../../../web/ext/audio/. fi # opt_run_make $clean $package $version "clean" if [ $clean = "1" ] ; then echo "****" echo "* No 'clean' target currently implemented for 'npm' based src package" echo "****" fi #opt_run_make $distclean $package $version "distclean" if [ $distclean = "1" ] ; then echo "****" echo "* No 'clean' target currently implemented for 'npm' based src package" echo "****" fi opt_run_tarclean $tarclean $package $version