correctly package color theme files for both linux and OS X
[ardour.git] / tools / osx_packaging / osx_build
index f7226bc33202a0b57123bccc2a6176bf3c74a22d..a63f92c4bd8d321f1378ee980acba96771c1465f 100755 (executable)
@@ -16,6 +16,7 @@ mkdir -p "$CACHEDIR"
 
 SAE=
 MIXBUS=
+MIXBUS32C=
 WITH_HARVID=1
 WITH_HARRISON_LV2=
 WITH_X42_LV2=
@@ -24,6 +25,10 @@ STRIP=1
 PRINT_SYSDEPS=
 WITH_NLS=
 
+: ${HARRISONCHANNELSTRIP=harrison_channelstrip}
+
+. ../define_versions.sh
+
 while [ $# -gt 0 ] ; do
     echo "arg = $1"
     case $1 in
@@ -49,6 +54,18 @@ while [ $# -gt 0 ] ; do
                PRODUCT_PKG_DIR=Mixbus;
                APPNAME=Mixbus ;
                shift ;;
+       --mixbus32c) MIXBUS=1;
+               MIXBUS32C=1;
+               WITH_HARRISON_LV2=1 ;
+               WITH_X42_LV2=1 ;
+               WITH_NLS=1 ;
+               SAE= ;
+               WITH_LADSPA=;
+               STRIP= ;
+               PRODUCT_PKG_DIR=Mixbus32C;
+               APPNAME=Mixbus32C-${major_version} ;
+               major_version=""
+               shift ;;
        --public)
                SAE= ;
                WITH_LADSPA=1;
@@ -71,6 +88,7 @@ while [ $# -gt 0 ] ; do
        --nostrip) STRIP= ; shift ;;
        --sysdeps) PRINT_SYSDEPS=1; shift ;;
        --nls) WITH_NLS=1 ; shift ;;
+       --chanstrip) HARRISONCHANNELSTRIP=$2 ; shift; shift ;;
     esac
 done
 
@@ -79,7 +97,6 @@ if test -z "$PRODUCT_PKG_DIR" -o -z "$APPNAME"; then
        exit 1
 fi
 
-. ../define_versions.sh
 echo "Version is $release_version"
 if [ "x$commit" != "x" ] ; then
     info_string="$release_version ($commit) built on `hostname` by `whoami` on `date`"
@@ -124,7 +141,9 @@ MidiMaps=$Shared/midi_maps
 ExportFormats=$Shared/export
 Templates=$Shared/templates
 PatchFiles=$Shared/patchfiles
+LuaScripts=$Shared/scripts
 MackieControl=$Shared/mcp
+Themes=$Shared/themes
 
 if [ x$PRINT_SYSDEPS != x ] ; then
 #
@@ -161,6 +180,8 @@ mkdir -p $Frameworks/modules
 mkdir -p $Etc
 mkdir -p $MackieControl
 mkdir -p $PatchFiles
+mkdir -p $LuaScripts
+mkdir -p $Themes
 
 # maybe set variables
 env=""
@@ -174,7 +195,7 @@ if test x$SAE != x ; then
     env="$env<key>ARDOUR_KEYBOARD_LAYOUT</key><string>de-nokeypad</string>"
     env="$env<key>ARDOUR_UI_CONF</key><string>ardour3_ui_sae.conf</string>"
 elif test x$MIXBUS != x ; then
-    appname="Mixbus"
+    appname=$APPNAME
     EXECUTABLE=${appname}${major_version}
     env="$env<key>ARDOUR_MIXBUS</key><string>true</string>"
     #
@@ -236,6 +257,8 @@ cp $BUILD_ROOT/gtk2_ardour/ardour-$release_version $APPROOT/MacOS/$MAIN_EXECUTAB
 if test x$SAE != x ; then
     # cp $BUILD_ROOT/gtk2_ardour/evtest $APPROOT/MacOS/gtkevents
     cp  Ardour3-SAE.icns $Resources/appIcon.icns
+elif test x$MIXBUS32C != x ; then
+    cp  Mixbus32C.icns $Resources/appIcon.icns
 elif test x$MIXBUS != x ; then
     cp  Mixbus.icns $Resources/appIcon.icns
 else
@@ -373,6 +396,12 @@ for x in $BUILD_ROOT/../patchfiles/*.midnam ; do
     cp "$x" $PatchFiles
 done
 
+# Lua Script Files
+# got to be careful with names here
+for x in $BUILD_ROOT/../scripts/*.lua ; do
+    cp "$x" $LuaScripts
+done
+
 # MackieControl data
 # got to be careful with names here
 for x in $BUILD_ROOT/../mcp/*.device $BUILD_ROOT/../mcp/*.profile ; do
@@ -448,25 +477,26 @@ echo
 
 echo "Copying other stuff to $APPDIR  ..."
 
-#cp $BUILD_ROOT/gtk2_ardour/ergonomic-us.bindings  $Resources
-
-cp $BUILD_ROOT/gtk2_ardour/mnemonic-us.bindings  $Resources
+cp $BUILD_ROOT/gtk2_ardour/ardour.keys  $Resources
 cp $BUILD_ROOT/gtk2_ardour/ardour.menus $Resources
 cp $BUILD_ROOT/gtk2_ardour/default_ui_config $Resources
 cp $BUILD_ROOT/gtk2_ardour/clearlooks.rc $Resources
 
 # Copied directly from source tree
 
+mkdir ${Resources}/icons
+mkdir ${Resources}/resources
 cp ../../system_config $Resources/system_config
 cp ../../instant.xml $Resources/instant.xml
-cp ../../gtk2_ardour/step_editing.bindings $Resources
-cp ../../gtk2_ardour/mixer.bindings $Resources
-cp -r ../../gtk2_ardour/icons $Resources
-cp -r ../../gtk2_ardour/pixmaps $Resources
-cp ../../gtk2_ardour/dark.colors $Resources
-cp -R ../../gtk2_ardour/splash.png $Shared
-cp -R ../../gtk2_ardour/small-splash.png $Shared
-cp -R ../../gtk2_ardour/ArdourMono.ttf $Shared
+cp ../../gtk2_ardour/icons/*.png ${Resources}/icons/
+cp -r ../../gtk2_ardour/icons/cursor_* ${Resources}/icons/
+cp ../../gtk2_ardour/ArdourMono.ttf $Shared
+cp ../../gtk2_ardour/resources/${PRODUCT_PKG_DIR}-* ${Resources}/resources/
+
+
+# Themes: only install those named for this app
+lower_case_appname=`echo $APPNAME | tr '[:upper:]' '[:lower:]'`
+cp ../../gtk2_ardour/themes/*-${lower_case_appname}.colors $Themes
 
 # go through and recursively remove any .svn dirs in the bundle
 for svndir in `find $APPDIR -name .svn -type dir`; do
@@ -505,7 +535,7 @@ done
 
 echo "Fixing up library names ..."
 # now do the same for all the libraries we include
-for libdir in $Frameworks $Frameworks/modules $Surfaces $Panners $Backends ; do
+for libdir in $Frameworks $Frameworks/modules $Surfaces $Panners $Backends $Frameworks/LV2/* ; do
 
     libbase=`basename $libdir`
     
@@ -583,7 +613,7 @@ if file ${PRODUCT_PKG_DIR}/$APPROOT/MacOS/$MAIN_EXECUTABLE | grep -q x86_64; the
        OSX_BENSID=osx64
 elif file ${PRODUCT_PKG_DIR}/$APPROOT/MacOS/$MAIN_EXECUTABLE | grep -q ppc; then
        OSX_ARCH=ppc
-       OSX_BENSID=ppc
+       OSX_BENSID=osxppc
 else
        OSX_ARCH=i386
        OSX_BENSID=osx32
@@ -644,26 +674,14 @@ if test x$WITH_X42_LV2 != x ; then
        echo "bundling x42 plugins"
        mkdir -p "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2"
 
-       METERS_VERSION=$(curl -s -S http://x42-plugins.com/x42/osx/x42-meters.latest.txt)
-       rsync -a -q --partial \
-               rsync://x42-plugins.com/x42/osx/x42-meters-lv2-osx-${METERS_VERSION}.zip \
-               "$CACHEDIR/x42-meters-lv2-osx-${METERS_VERSION}.zip"
-       bsdtar -C "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/" -xf \
-               "$CACHEDIR/x42-meters-lv2-osx-${METERS_VERSION}.zip"
-
-       SETBFREE_VERSION=$(curl -s -S http://x42-plugins.com/x42/osx/setBfree.latest.txt)
-       rsync -a -q --partial \
-               rsync://x42-plugins.com/x42/osx/setBfree-lv2-osx-${SETBFREE_VERSION}.zip \
-               "$CACHEDIR/setBfree-lv2-osx-${SETBFREE_VERSION}.zip"
-       bsdtar -C "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/" -xf \
-               "$CACHEDIR/setBfree-lv2-osx-${SETBFREE_VERSION}.zip"
-
-       MIDIFILTER_VERSION=$(curl -s -S http://x42-plugins.com/x42/osx/x42-midifilter.latest.txt)
-       rsync -a -q --partial \
-               rsync://x42-plugins.com/x42/osx/x42-midifilter-lv2-osx-${MIDIFILTER_VERSION}.zip \
-               "$CACHEDIR/x42-midifilter-lv2-osx-${MIDIFILTER_VERSION}.zip"
-       bsdtar -C "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/" -xf \
-               "$CACHEDIR/x42-midifilter-lv2-osx-${MIDIFILTER_VERSION}.zip"
+       for proj in x42-meters x42-midifilter x42-midimap x42-stereoroute x42-eq setBfree; do
+               X42_VERSION=$(curl -s -S http://x42-plugins.com/x42/osx/${proj}.latest.txt)
+               rsync -a -q --partial \
+                       rsync://x42-plugins.com/x42/osx/${proj}-lv2-osx-${X42_VERSION}.zip \
+                       "$CACHEDIR/${proj}-lv2-osx-${X42_VERSION}.zip"
+               bsdtar -C "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/" -xf \
+                       "$CACHEDIR/${proj}-lv2-osx-${X42_VERSION}.zip"
+       done
 
        for file in ${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/*/*.dylib ; do
                lipo -extract_family ${OSX_ARCH} ${file} -output ${file}.thin
@@ -672,17 +690,27 @@ if test x$WITH_X42_LV2 != x ; then
 fi
 
 if test -n "$MIXBUS"; then
-       echo "deploying harrison tools for $OSX_BENSID"
+       echo "deploying harrison channelstrip for $OSX_BENSID"
 
        mkdir -p "${PRODUCT_PKG_DIR}/${APPROOT}/lib/ladspa/strip"
 
        curl -s -S --fail -#  \
-               -z "${CACHEDIR}/harrison_channelstrip.${OSX_BENSID}.so" \
-               -o "${CACHEDIR}/harrison_channelstrip.${OSX_BENSID}.so" \
-               "http://www.harrisonconsoles.com/mixbus/mb3/beta/harrison-dsp/harrison_channelstrip.${OSX_BENSID}.so"
+               -z "${CACHEDIR}/${HARRISONCHANNELSTRIP}.${OSX_BENSID}.so" \
+               -o "${CACHEDIR}/${HARRISONCHANNELSTRIP}.${OSX_BENSID}.so" \
+               "http://www.harrisonconsoles.com/mixbus/mb3/beta/harrison-dsp/${HARRISONCHANNELSTRIP}.${OSX_BENSID}.so"
+
+       cp "${CACHEDIR}/${HARRISONCHANNELSTRIP}.${OSX_BENSID}.so" \
+               "${PRODUCT_PKG_DIR}/${APPROOT}/lib/ladspa/strip/${HARRISONCHANNELSTRIP}.so"
+
+       echo "deploying harrison vamp plugins for $OSX_BENSID"
+
+       curl -s -S --fail -#  \
+               -z "${CACHEDIR}/harrison_vamp.${OSX_BENSID}.dylib" \
+               -o "${CACHEDIR}/harrison_vamp.${OSX_BENSID}.dylib" \
+               "http://www.harrisonconsoles.com/mixbus/mb3/beta/harrison-dsp/harrison_vamp.${OSX_BENSID}.dylib"
 
-       cp "${CACHEDIR}/harrison_channelstrip.${OSX_BENSID}.so" \
-               "${PRODUCT_PKG_DIR}/${APPROOT}/lib/ladspa/strip/harrison_channelstrip.so"
+       cp "${CACHEDIR}/harrison_vamp.${OSX_BENSID}.dylib" \
+               "${PRODUCT_PKG_DIR}/${APPROOT}/lib/harrison_vamp.dylib"
 fi
 ################################################################################