4
if [ "x$2" != "x" ]; then
6
9
set -e # exit on error
8
11
PLATYPUS=/usr/local/bin/platypus
9
12
SCRIPT_PATH="${BASH_SOURCE[0]}";
10
16
if([ -h "${SCRIPT_PATH}" ]) then
11
17
while([ -h "${SCRIPT_PATH}" ]) do SCRIPT_PATH=`readlink "${SCRIPT_PATH}"`; done
13
SCRIPT_PATH=$(python -c "import os; print os.path.realpath(os.path.dirname('${SCRIPT_PATH}'))")
20
SCRIPT_PATH=$(python -c "import os; print(os.path.realpath(os.path.dirname('${SCRIPT_PATH}')))")
14
21
OSXRELOCATOR="osxrelocator"
16
23
echo "-- Create initial Kivy.app package"
17
24
$PLATYPUS -DBR -x -y \
18
-i "$SCRIPT_PATH/data/icon.icns" \
23
-I "org.kivy.osxlauncher" \
25
"$SCRIPT_PATH/data/script" \
26
"$SCRIPT_PATH/Kivy.app"
25
-i "$SCRIPT_PATH/data/icon.icns" \
30
-I "org.kivy.osxlauncher" \
32
"$SCRIPT_PATH/data/script" \
33
"$SCRIPT_PATH/Kivy.app"
30
39
echo "-- Create Frameworks directory"
31
40
mkdir -p Kivy.app/Contents/Frameworks
41
if [ "$1" == "python3" ] ;then
42
if [ ! -f ~/.pyenv/bin/pyenv ]; then
43
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
44
~/.pyenv/bin/pyenv install 3.5.0
46
PYPATH="$SCRIPT_PATH/Kivy.app/Contents/Frameworks/python"
48
cp -a ~/.pyenv/versions/3.5.0 "$PYPATH"
49
#find -E "$PYPATH/3.5.0" -regex '.*.pyc' | grep -v "opt-2.pyc" | xargs rm
50
PYTHON="$PYPATH/3.5.0/bin/python3"
51
rm -rf python/3.5.0/{openssl,share}
52
rm -rf python/3.5.0/lib/python3.5/{test,unittest/test,turtledemo,tkinter}
32
54
pushd Kivy.app/Contents/Frameworks
34
56
echo "-- Copy frameworks"
61
83
rm -rf GStreamer.framework/Versions/1.0/share/gstreamer
62
84
find -E . -regex '.*\.a$' -exec rm {} \;
63
85
find -E . -regex '.*\.la$' -exec rm {} \;
86
find -E . -regex '.*\.exe$' -exec rm {} \;
65
88
echo "-- Remove duplicate gstreamer libraries"
66
python $SCRIPT_PATH/data/link_duplicate.py GStreamer.framework/Libraries
89
$PYTHON $SCRIPT_PATH/data/link_duplicate.py GStreamer.framework/Libraries
68
91
echo "-- Remove broken symlink"
69
92
find . -type l -exec sh -c "file -b {} | grep -q ^broken" \; -print
79
102
pushd Kivy.app/Contents/Resources/
81
104
echo "-- Create a virtualenv"
82
virtualenv -p /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python venv
106
if [ "$1" == "python3" ]; then
109
virtualenv -p /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python venv
84
112
echo "-- Install dependencies"
85
113
source venv/bin/activate
86
pip install cython==0.21.2
114
pip install cython==0.23
87
115
pip install pygments docutils
88
pip install osxrelocator
116
pip install git+http://github.com/tito/osxrelocator
90
118
echo "-- Link python to the right location for relocation"
91
ln -s venv/bin/python .
119
ln -s ./venv/bin/python ./python
111
138
echo "-- Relocate frameworks"
113
140
osxrelocator -r . /Library/Frameworks/GStreamer.framework/ \
114
@executable_path/../Frameworks/GStreamer.framework/
141
@executable_path/../Frameworks/GStreamer.framework/
115
142
osxrelocator -r . /Library/Frameworks/SDL2/ \
116
@executable_path/../Frameworks/SDL2/
143
@executable_path/../Frameworks/SDL2/
117
144
osxrelocator -r . /Library/Frameworks/SDL2_ttf/ \
118
@executable_path/../Frameworks/SDL2_ttf/
145
@executable_path/../Frameworks/SDL2_ttf/
119
146
osxrelocator -r . /Library/Frameworks/SDL2_image/ \
120
@executable_path/../Frameworks/SDL2_image/
147
@executable_path/../Frameworks/SDL2_image/
121
148
osxrelocator -r . @rpath/SDL2.framework/Versions/A/SDL2 \
122
@executable_path/../Frameworks/SDL2.framework/Versions/A/SDL2
149
@executable_path/../Frameworks/SDL2.framework/Versions/A/SDL2
123
150
osxrelocator -r . @rpath/SDL2_ttf.framework/Versions/A/SDL2_ttf \
124
@executable_path/../Frameworks/SDL2_ttf.framework/Versions/A/SDL2_ttf
151
@executable_path/../Frameworks/SDL2_ttf.framework/Versions/A/SDL2_ttf
125
152
osxrelocator -r . @rpath/SDL2_image.framework/Versions/A/SDL2_image \
126
@executable_path/../Frameworks/SDL2_image.framework/Versions/A/SDL2_image
153
@executable_path/../Frameworks/SDL2_image.framework/Versions/A/SDL2_image
127
154
osxrelocator -r . @rpath/SDL2_mixer.framework/Versions/A/SDL2_mixer \
128
@executable_path/../Frameworks/SDL2_mixer.framework/Versions/A/SDL2_mixer
155
@executable_path/../Frameworks/SDL2_mixer.framework/Versions/A/SDL2_mixer
131
158
# relocate the activate script
132
159
echo "-- Relocate virtualenv"
133
160
pushd Kivy.app/Contents/Resources/venv
134
161
virtualenv --relocatable .
135
gsed -i -r 's#^VIRTUAL_ENV=.*#VIRTUAL_ENV=$(cd $(dirname "$BASH_SOURCE"); dirname `pwd`)#' bin/activate
162
sed -i -r 's#^VIRTUAL_ENV=.*#VIRTUAL_ENV=$(cd $(dirname "$BASH_SOURCE"); dirname `pwd`)#' bin/activate
136
163
rm bin/activate.csh
137
164
rm bin/activate.fish
167
if [ "$1" == "python3" ]; then
168
pushd Kivy.app/Contents/Resources/venv/bin/
170
ln -s ../../../Frameworks/python/3.5.0/bin/python .