chiark / gitweb /
Fix the default example path, and add support for version file in frozen build.
[cura.git] / package.sh
index 57726525be4bf287d8b40d4fafa33746ddc46c06..12693f17ab79d45e7605ecd7df43c7ba395690a5 100755 (executable)
@@ -8,15 +8,15 @@
 #############################
 
 ##Select the build target
-BUILD_TARGET=${1:-all}
+BUILD_TARGET=${1:-all}
 #BUILD_TARGET=win32
 #BUILD_TARGET=linux
-BUILD_TARGET=darwin
+#BUILD_TARGET=darwin
 
 ##Do we need to create the final archive
 ARCHIVE_FOR_DISTRIBUTION=1
 ##Which version name are we appending to the final archive
-BUILD_NAME=12.11
+BUILD_NAME=12.12
 TARGET_DIR=Cura-${BUILD_NAME}-${BUILD_TARGET}
 
 ##Which versions of external programs to use
@@ -66,6 +66,25 @@ if [ "$BUILD_TARGET" = "all" ]; then
        exit
 fi
 
+# Change working directory to the directory the script is in
+# http://stackoverflow.com/a/246128
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+cd $SCRIPT_DIR
+
+checkTool git "git: http://git-scm.com/"
+checkTool curl "curl: http://curl.haxx.se/"
+if [ $BUILD_TARGET = "win32" ]; then
+       #Check if we have 7zip, needed to extract and packup a bunch of packages for windows.
+       checkTool 7z "7zip: http://www.7-zip.org/"
+fi
+#For building under MacOS we need gnutar instead of tar
+if [ -z `which gnutar` ]; then
+       TAR=tar
+else
+       TAR=gnutar
+fi
+
+
 #############################
 # Darwin
 #############################
@@ -81,6 +100,15 @@ if [ "$BUILD_TARGET" = "darwin" ]; then
                exit 1
        fi
 
+       downloadURL https://bitbucket.org/pypy/pypy/downloads/pypy-${PYPY_VERSION}-osx64.tar.bz2
+       $TAR -xjf pypy-${PYPY_VERSION}-osx64.tar.bz2
+       mv pypy-${PYPY_VERSION} scripts/darwin/dist/Cura.app/Contents/Resources/pypy
+       #For now, just copy all of Cura so pypy can find it
+       cp -a Cura scripts/darwin/dist/Cura.app/Contents/Resources/
+
+    #Add cura version file (should read the version from the bundle with pyobjc, but will figure that out later)
+    echo $BUILD_NAME > scripts/darwin/dist/Cura.app/Contents/Resources/version
+
        cd scripts/darwin
 
        # Install QuickLook plugin
@@ -88,7 +116,9 @@ if [ "$BUILD_TARGET" = "darwin" ]; then
        cp -a STLQuickLook.qlgenerator dist/Cura.app/Contents/Library/QuickLook/
 
        # Archive app
-       $TAR cfp - dist/Cura.app | gzip --best -c > ../../${TARGET_DIR}.tar.gz
+       cd dist
+       $TAR cfp - Cura.app | gzip --best -c > ../../../${TARGET_DIR}.tar.gz
+       cd ..
 
        # Create sparse image for distribution
        hdiutil detach /Volumes/Cura\ -\ Ultimaker/
@@ -102,28 +132,11 @@ if [ "$BUILD_TARGET" = "darwin" ]; then
        exit
 fi
 
+
 #############################
 # Rest
 #############################
 
-# Change working directory to the directory the script is in
-# http://stackoverflow.com/a/246128
-SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-cd $SCRIPT_DIR
-
-checkTool git "git: http://git-scm.com/"
-checkTool curl "curl: http://curl.haxx.se/"
-if [ $BUILD_TARGET = "win32" ]; then
-       #Check if we have 7zip, needed to extract and packup a bunch of packages for windows.
-       checkTool 7z "7zip: http://www.7-zip.org/"
-fi
-#For building under MacOS we need gnutar instead of tar
-if [ -z `which gnutar` ]; then
-       TAR=tar
-else
-       TAR=gnutar
-fi
-
 #############################
 # Download all needed files.
 #############################
@@ -140,6 +153,9 @@ if [ $BUILD_TARGET = "win32" ]; then
        downloadURL http://www.uwe-sieber.de/files/ejectmedia.zip
        #Get pypy
        downloadURL https://bitbucket.org/pypy/pypy/downloads/pypy-${PYPY_VERSION}-win32.zip
+       #Get the power module for python
+       rm -rf Power
+       git clone https://github.com/GreatFruitOmsk/Power
 else
        downloadURL https://bitbucket.org/pypy/pypy/downloads/pypy-${PYPY_VERSION}-${BUILD_TARGET}.tar.bz2
 fi
@@ -173,10 +189,13 @@ if [ $BUILD_TARGET = "win32" ]; then
        mv PURELIB/OpenGL ${TARGET_DIR}/python/Lib
        mv PURELIB/comtypes ${TARGET_DIR}/python/Lib
        mv PLATLIB/numpy ${TARGET_DIR}/python/Lib
+       mv Power/power ${TARGET_DIR}/python/Lib
        mv VideoCapture-0.9-5/Python27/DLLs/vidcap.pyd ${TARGET_DIR}/python/DLLs
        mv ffmpeg-20120927-git-13f0cd6-win32-static/bin/ffmpeg.exe ${TARGET_DIR}/Cura/
        mv ffmpeg-20120927-git-13f0cd6-win32-static/licenses ${TARGET_DIR}/Cura/ffmpeg-licenses/
        mv Win32/EjectMedia.exe ${TARGET_DIR}/Cura/
+       
+       rm -rf Power/
        rm -rf \$_OUTDIR
        rm -rf PURELIB
        rm -rf PLATLIB