merge with master, including manual merge conflict resolution
[ardour.git] / tools / linux_packaging / build
index f4cb01b858756dfae93f7df2279df6c02dfd748a..1928fadd8f7fc85afbb77101be9360ddd25e2d78 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash -vx
+#!/bin/bash
 
 # script for pulling together a Linux app bundle.
 #
@@ -16,6 +16,7 @@ BUILD_ROOT=../../build
 
 MIXBUS=
 WITH_LADSPA=0
+WITH_HARVID=
 STRIP=all
 PRINT_SYSDEPS=
 WITH_NLS=
@@ -70,6 +71,7 @@ while [ $# -gt 0 ] ; do
        --strip) STRIP=$2 ; shift ; shift ;;
        --sysdeps) PRINT_SYSDEPS=1; shift ;;
        --nls) WITH_NLS=1 ; shift ;;
+       --harvid) WITH_HARVID=1 ; shift ;;
 
        *)
                #catch all for unknown arguments
@@ -87,10 +89,10 @@ if test x$STRIP != xall -a x$STRIP != xnone -a x$STRIP != xsome ; then
     exit 1
 fi
 
-release_version=`grep -m 1 '^VERSION' ../../wscript | awk '{print $3}' | sed "s/'//g"`
-svn_version=`grep -m 1 'svn_revision =' ../../libs/ardour/svn_revision.cc | cut -d'"' -f 2`
-echo "Version is $release_version / $svn_version"
-info_string="$release_version/$svn_version built on `hostname` by `whoami` on `date`"
+. ./define_versions.sh
+
+echo "Version is $version / $commit"
+info_string="$version ($commit) built on `hostname` by `whoami` on `date`"
 echo "Info string is $info_string"
 
 # Figure out our CPU type
@@ -99,11 +101,13 @@ case `uname -m` in
                echo "Architecture is x86"
                ARCH='x86'
                ARCH_BITS='32-bit'
+               MULTIARCH='i386-linux-gnu'
                ;;
        x86_64|amd64|AMD64)
                echo "Architecture is x86_64"
                ARCH='x86_64'
                ARCH_BITS='64-bit'
+               MULTIARCH='x86_64-linux-gnu'
                ;;
        *)
                echo ""
@@ -113,13 +117,6 @@ case `uname -m` in
                ;;
 esac
 
-# Figure out the Build Type
-if grep -q "DEBUG = True" ../../build/c4che/default.cache.py; then
-       DEBUG="T"
-else
-       DEBUG="F"
-fi
-
 if [ x$DEBUG = xT ]; then
     BUILDTYPE="dbg"
     if [ x$STRIP = xall ] ; then
@@ -131,11 +128,11 @@ fi
 # setup directory structure
 
 if [ -z "${BUILDTYPE}" ]; then
-       APPDIR=${APPNAME}_${ARCH}-${release_version}_${svn_version}
-       APP_VER_NAME=${APPNAME}-${release_version}_${svn_version}
+       APPDIR=${APPNAME}_${ARCH}-${version}
+       APP_VER_NAME=${APPNAME}-${version}
 else
-       APPDIR=${APPNAME}_${ARCH}-${release_version}_${svn_version}-${BUILDTYPE}
-       APP_VER_NAME=${APPNAME}-${release_version}_${svn_version}-${BUILDTYPE}
+       APPDIR=${APPNAME}_${ARCH}-${version}-${BUILDTYPE}
+       APP_VER_NAME=${APPNAME}-${version}-${BUILDTYPE}
 fi
 
 APPBIN=$APPDIR/bin
@@ -195,7 +192,6 @@ mkdir -p $MackieControl
 mkdir -p $ExportFormats
 mkdir -p $Panners
 mkdir -p $Templates
-mkdir -p $Shared/templates
 mkdir -p $Shared/doc
 
 # maybe set variables
@@ -318,7 +314,7 @@ rm pangorc
 gdk-pixbuf-query-loaders | sed "s?$GTKSTACK_ROOT/lib/gdk-pixbuf-2.0/2.10.0/?@ROOTDIR@/?" > $Etc/gdk-pixbuf.loaders.in
 
 # We rely on clearlooks, so include a version from our own build tree
-# this one is special - we will set GTK_PATH to $Libraries/clearlooks
+# this one is special - we will set GTK_PATH to $Libraries/gtkengines
 
 GTK_ENGINE_DIR=$Libraries/gtkengines/engines
 mkdir -p $GTK_ENGINE_DIR
@@ -328,7 +324,7 @@ cp $BUILD_ROOT/libs/clearlooks-newer/libclearlooks.so $Libraries
 (cd $GTK_ENGINE_DIR && ln -s ../../libclearlooks.so . )
 
 cp $GTKSTACK_ROOT/lib/gtk-2.0/2.10.0/engines/libpixmap.so $Libraries
-(cd $$GTK_ENGINE_DIR && ln -s ../../libpixmap.so . )
+(cd $GTK_ENGINE_DIR && ln -s ../../libpixmap.so . )
 
 # LADSPA
 if test x$WITH_LADSPA != x ; then
@@ -366,11 +362,11 @@ for x in $BUILD_ROOT/../mcp/*.device $BUILD_ROOT/../mcp/*.profile ; do
 done
 
 # Templates
-for f in $BUILD_ROOT/../templates/* ; do 
-    if [ -d "$f" ] ; then
-       echo Template: $f ; cp -r "$f" $Templates ; 
-    fi
-done
+#for f in $BUILD_ROOT/../templates/* ; do 
+#    if [ -d "$f" ] ; then
+#      echo Template: $f ; cp -r "$f" $Templates ; 
+#    fi
+#done
 
 # ExportFormats
 # got to be careful with names here
@@ -532,10 +528,18 @@ for svndir in `find $APPDIR -name .svn -type d`; do
        rm -rf $svndir
 done
 
+if test x$WITH_HARVID != x ; then
+       cd $APPBIN
+       HARVID_VERSION="v0.7.0" # todo make 'latest' symlink on github work somehow.
+       curl -L http://x42.github.com/harvid/releases/harvid-${MULTIARCH}-${HARVID_VERSION}.tgz \
+               | tar -x -z --exclude=README --exclude=harvid.1 --strip-components=1 || exit 1
+       cd -
+fi
+
 #
 # Add the uninstaller
 #
-sed -e "s/%REPLACE_PGM%/${APPNAME}/" -e "s/%REPLACE_VENDOR%/${VENDOR}/" -e "s/%REPLACE_VERSION%/${release_version}/" -e "s/%REPLACE_BUILD%/${svn_version}/" -e "s/%REPLACE_TYPE%/${BUILDTYPE}/" < uninstall.sh.in > $APPBIN/${APP_VER_NAME}.uninstall.sh
+sed -e "s/%REPLACE_PGM%/${APPNAME}/" -e "s/%REPLACE_VENDOR%/${VENDOR}/" -e "s/%REPLACE_VERSION%/${version}/" -e "s/%REPLACE_TYPE%/${BUILDTYPE}/" < uninstall.sh.in > $APPBIN/${APP_VER_NAME}.uninstall.sh
 chmod a+x $APPBIN/${APP_VER_NAME}.uninstall.sh
 
 #Sanity Check file