124 lines
3.2 KiB
Bash
Executable file
124 lines
3.2 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
SCRIPTDIR=`dirname "$0"`
|
|
RESDIR=${SCRIPTDIR}/../Resources/
|
|
PKGDIR=${SCRIPTDIR}/../Pkgs/
|
|
|
|
#run the path_helper to set the $PATH for accessing python
|
|
if [ -x /usr/libexec/path_helper ]; then
|
|
eval `/usr/libexec/path_helper -s`
|
|
fi
|
|
|
|
displayMessage()
|
|
{
|
|
/usr/bin/osascript > /dev/null <<-EOF
|
|
tell application "System Events"
|
|
activate
|
|
display dialog "$@" buttons {"Ok"}
|
|
end tell
|
|
EOF
|
|
}
|
|
|
|
#Testing for python2.7, which we need and is not always installed on MacOS 1.6
|
|
PY="python2.7"
|
|
$PY -c ''
|
|
if [ $? != 0 ]; then
|
|
displayMessage "Python 2.7 is missing from your system. Cura requires Python2.7.\nStarting the installer" $PATH
|
|
# Install python2.7
|
|
hdiutil attach $PKGDIR/python-2.7.3-macosx10.6.dmg
|
|
open -W /Volumes/Python\ 2.7.3/Python.mpkg
|
|
hdiutil detach /Volumes/Python\ 2.7.3
|
|
# Check the installation
|
|
$PY -c ''
|
|
if [ $? != 0 ]; then
|
|
displayMessage "Failed to install python2.7"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
#Next check for numpy, numpy does not always run under 64bit, so we need to check if we need to use "arch -i386"
|
|
$PY -c 'import numpy' 2> /dev/null
|
|
if [ $? != 0 ]; then
|
|
PY="arch -i386 python2.7"
|
|
$PY -c 'import numpy'
|
|
if [ $? != 0 ]; then
|
|
displayMessage "Numpy is missing from your system, this is required.\nStarting the installer"
|
|
# Install numpy
|
|
hdiutil attach $PKGDIR/numpy-1.6.2-py2.7-python.org-macosx10.3.dmg
|
|
open -W /Volumes/numpy/numpy-1.6.2-py2.7.mpkg
|
|
hdiutil detach /Volumes/numpy
|
|
#After installing numpy, we need to check if we need to use arch -386 again
|
|
PY="python2.7"
|
|
$PY -c 'import numpy'
|
|
if [ $? != 0 ]; then
|
|
PY="arch -i386 python2.7"
|
|
$PY -c 'import numpy'
|
|
if [ $? != 0 ]; then
|
|
displayMessage "Failed to install numpy."
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
#Check for wxPython
|
|
$PY -c 'import wx'
|
|
if [ $? != 0 ]; then
|
|
displayMessage "wxPython is missing from your system. Cura requires wxPython.\nStarting the installer"
|
|
# Start wxPython installer
|
|
hdiutil attach $PKGDIR/wxPython2.9-osx-2.9.4.0-cocoa-py2.7.dmg
|
|
open -W /Volumes/wxPython2.9-osx-2.9.4.0-cocoa-py2.7/wxPython2.9-osx-cocoa-py2.7.pkg
|
|
hdiutil detach /Volumes/wxPython2.9-osx-2.9.4.0-cocoa-py2.7
|
|
#Check if wxPython is installed correctly
|
|
$PY -c 'import wx'
|
|
if [ $? != 0 ]; then
|
|
displayMessage "Failed to properly install wxPython."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
#Check for PyOpenGL
|
|
$PY -c 'import OpenGL'
|
|
if [ $? != 0 ]; then
|
|
# Unpackage PyOpenGL
|
|
if [ ! -d "$PKGDIR/PyOpenGL-3.0.2/build/lib" ]; then
|
|
cd $PKGDIR
|
|
tar -xzf PyOpenGL-3.0.2.tar.gz
|
|
cd PyOpenGL-3.0.2
|
|
$PY setup.py build
|
|
fi
|
|
export PYTHONPATH="$PYTHONPATH:$PKGDIR/PyOpenGL-3.0.2/build/lib"
|
|
# Test if the installation was succesful
|
|
echo $PYTHONPATH
|
|
$PY -c 'import OpenGL'
|
|
if [ $? != 0 ]; then
|
|
displayMessage "Failed to properly use PyOpenGL."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
#Check for pyserial
|
|
$PY -c 'import serial'
|
|
if [ $? != 0 ]; then
|
|
#Unpackage PySerial
|
|
if [ ! -d "$PKGDIR/pyserial-2.6/build/lib" ]; then
|
|
cd $PKGDIR
|
|
tar -xzf pyserial-2.6.tar.gz
|
|
cd pyserial-2.6
|
|
$PY setup.py build
|
|
fi
|
|
export PYTHONPATH="$PYTHONPATH:$PKGDIR/pyserial-2.6/build/lib"
|
|
|
|
#Test if we have pyserial now
|
|
$PY -c 'import serial'
|
|
if [ $? != 0 ]; then
|
|
displayMessage "Failed to properly use PySerial."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
#All checks passed, start Cura
|
|
$PY "${RESDIR}Cura/cura.py" &
|
|
sleep 1
|
|
|
|
exit 0
|