+ Thanks for using Kivy/Buildozer VM. It has been installed only for
+ packaging Kivy application for Android.
+ Credentials: username: kivy / password: kivy
+
+
+
How to use the VM
+
+ Buildozer has been used to build a project and should be functionnal
+ for yours. It is preferrable to add a Shared Folder and build from there.
+ By the time we shipped the VM and you using it, you may need to
+ update buildozer.
+
+
+ Go into your project directory, then:
+
# Just build your application
+buildozer android_new debug
+
+# Build your application, deploy on the phone,
+# run it, and display the logs from the phone
+buildozer android_new debug deploy run logcat
+
+
+ Virtualbox doesn't support symlink in Shared Folder anymore. So buildozer
+ will fail during the build.
+ We already created a /build directory where you can put your
+ build in it. Edit your buildozer.ini:
+
[buildozer]
+build_dir = /build/buildozer-myapp
+
+
+
+
Update buildozer
+
+ The buildozer version you have may be outdated, as well as the dependencies.
+ The best is to regulary update buildozer:
+
sudo pip install -U buildozer
+
+
+
Cleaning cache
+
+
+ The simplest way to update kivy and other modules is to clean all the
+ buildozer cache, and rebuild everything.
+
+
- Buildozer has been used to build a project and should be functionnal
- for yours. It is preferrable to add a Shared Folder and build from there.
+ Buildozer is ready to be used. You'll need internet connection for
+ download the Android SDK/NDK (automatically done), and during the first
+ compilation.
+
+ It is preferrable to add a share a folder
+ between your host and the VM, then build from there.
+
By the time we shipped the VM and you using it, you may need to
update buildozer.
- Go into your project directory, then:
-
# Just build your application
-buildozer android_new debug
-
-# Build your application, deploy on the phone,
-# run it, and display the logs from the phone
-buildozer android_new debug deploy run logcat
+ Don't try to use latest Android SDK or NDK. The defaults from buildozer
+ works: Android SDK 20, Android NDK 9c. Recent Android SDK doesn't work
+ the same as before (no more android command), and python-for-android
+ project have issues with it. As for NDK, you can use r13c, it works too.
-
+
+
First time only, in your project directory: buildozer init
+
Adjust the buildozer.spec:
+
[buildozer]
+# change the name of your app
+package.name = myapp
+
+# change the domain of your package
+package.domain = com.mydomain
+
+# specify hostpython2 manually. If you want to use python 3, check buildozer
+# README about it, the VM is not preinstalled for that.
+requirements = hostpython2,kivy
+
+[buildozer]
+# update the build directory (issue with virtualbox shared folder and symlink)
+build_dir = /build/myapp
+
+
Build your application: buildozer android_new debug
+
Build and deploy, run and get the logs: buildozer android_new debug deploy run logcat
+
+
+
Share a folder
+
+ Virtualbox allows you to share a folder between your computer and the
+ VM. To do, just:
+
+
Go into Devices < Shared Folders < Shared Folders Settings
+
Add a new folder, select the automount option
+
Reboot the VM (that's easier)
+
You'll find your new directory at /media/sf_directoryname
+
+
+
+
Virtualbox doesn't support symlink in Shared Folder anymore. So buildozer
will fail during the build.
We already created a /build directory where you can put your
build in it. Edit your buildozer.ini:
[buildozer]
build_dir = /build/buildozer-myapp
-
+
-
-
Update buildozer
+
Update buildozer
The buildozer version you have may be outdated, as well as the dependencies.
The best is to regulary update buildozer:
diff --git a/buildozer/tools/packer/scripts/additional-packages.sh b/buildozer/tools/packer/scripts/additional-packages.sh
index f8ee816..b97ebe8 100644
--- a/buildozer/tools/packer/scripts/additional-packages.sh
+++ b/buildozer/tools/packer/scripts/additional-packages.sh
@@ -1,10 +1,13 @@
#!/bin/bash -eux
+# Don't use openjdk-9, the conf directory is missing, and we get
+# an error when using the android sdk:
+# "Can't read cryptographic policy directory: unlimited"
wget http://bootstrap.pypa.io/get-pip.py
python get-pip.py
rm get-pip.py
-apt-get -y install lib32z1 lib32ncurses5
+apt-get -y install lib32stdc++6 lib32z1 lib32ncurses5
apt-get -y install build-essential
-apt-get -y install git openjdk-9-jdk --no-install-recommends zlib1g-dev
+apt-get -y install git openjdk-8-jdk --no-install-recommends zlib1g-dev
pip install cython buildozer python-for-android
diff --git a/buildozer/tools/packer/scripts/setup.sh b/buildozer/tools/packer/scripts/setup.sh
index 701f09d..2338387 100644
--- a/buildozer/tools/packer/scripts/setup.sh
+++ b/buildozer/tools/packer/scripts/setup.sh
@@ -38,15 +38,17 @@ sed -i "s:Greybird:Adwaita:g" /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsetting
sed -i "s:Greybird:Adwaita:g" /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
sed -i "s:Greybird:Adwaita:g" /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
sed -i "s:Greybird:Adwaita:g" /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml
+sed -i "s:elementary-xfce-darker:elementary-xfce-darkest:g" /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
sed -i "s:elementary-xfce-dark:elementary-xfce-darkest:g" /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
# add desktop icon
wget $PACKER_HTTP_ADDR/buildozer.desktop
mkdir -p /home/kivy/Desktop
cp buildozer.desktop /home/kivy/Desktop/
-chown kivy.kivy /home/kivy/Desktop
+chown kivy.kivy -R /home/kivy/Desktop
+chmod +x /home/kivy/Desktop/buildozer.desktop
mv buildozer.desktop /usr/share/applications/
-sed -i "s:^favorites=.*$:favorites=buildozer.desktop,exo-terminal-emulator.desktop,exo-web-browser.desktop,exo-file-manager.desktop,org.gnome.Software.desktop,xfhelp4.desktop:g" /etc/xdg/xdg-xubuntu/xfce4/whiskermenu/defaults.rc
+sed -i "s:^favorites=.*$:favorites=buildozer.desktop,exo-terminal-emulator.desktop,exo-web-browser.desktop,xfce-keyboard-settings.desktop,exo-file-manager.desktop,org.gnome.Software.desktop,xfhelp4.desktop:g" /etc/xdg/xdg-xubuntu/xfce4/whiskermenu/defaults.rc
# copy welcome directory
mkdir -p /usr/share/applications/buildozer-welcome
From de9eeefbaf96de2cad79f50eaec8068c9c17a2ed Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Sat, 13 May 2017 15:41:58 +0200
Subject: [PATCH 10/27] downgrade sh to have a faster build
---
buildozer/tools/packer/scripts/additional-packages.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/buildozer/tools/packer/scripts/additional-packages.sh b/buildozer/tools/packer/scripts/additional-packages.sh
index b97ebe8..171f1e4 100644
--- a/buildozer/tools/packer/scripts/additional-packages.sh
+++ b/buildozer/tools/packer/scripts/additional-packages.sh
@@ -11,3 +11,7 @@ apt-get -y install lib32stdc++6 lib32z1 lib32ncurses5
apt-get -y install build-essential
apt-get -y install git openjdk-8-jdk --no-install-recommends zlib1g-dev
pip install cython buildozer python-for-android
+
+# latest sh is too slow, use a previous working version
+# CF https://github.com/amoffat/sh/issues/378
+pip install sh\<1.12.5
From 855937e593bb39e10dd8268674a6a4bc8856dc84 Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Sat, 13 May 2017 15:45:25 +0200
Subject: [PATCH 11/27] fixes changelog, and template name
---
buildozer/tools/packer/CHANGELOG | 9 ++++-----
buildozer/tools/packer/http/welcome/index.html | 2 +-
buildozer/tools/packer/template.json | 2 +-
3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/buildozer/tools/packer/CHANGELOG b/buildozer/tools/packer/CHANGELOG
index a3993f4..99a5be6 100644
--- a/buildozer/tools/packer/CHANGELOG
+++ b/buildozer/tools/packer/CHANGELOG
@@ -1,8 +1,7 @@
-## Release 2.0 - 12 May 2017
+## Release 2.0 - 13 May 2017
-- Brand new VM image using latest zesty ubuntu (64 bits)
-- Image created for Virtualbox 5.1.22
-- Pre-installed guest tools
+- Brand new VM image using latest zesty (x)ubuntu (64 bits)
+- Image created for Virtualbox 5.1.22, with guest-tools
- Increase disk space to 20GB
-- Ready for shared-folder in Virtualbox
- /build can store buildozer builds (specify with build_dir=/build/myapp)
+- Rewrite welcome document
diff --git a/buildozer/tools/packer/http/welcome/index.html b/buildozer/tools/packer/http/welcome/index.html
index 34eeab3..3520d76 100644
--- a/buildozer/tools/packer/http/welcome/index.html
+++ b/buildozer/tools/packer/http/welcome/index.html
@@ -64,7 +64,7 @@ build_dir = /build/myapp
Virtualbox allows you to share a folder between your computer and the
VM. To do, just:
-
Go into Devices < Shared Folders < Shared Folders Settings
+
Go into Devices > Shared Folders > Shared Folders Settings
Add a new folder, select the automount option
Reboot the VM (that's easier)
You'll find your new directory at /media/sf_directoryname
diff --git a/buildozer/tools/packer/template.json b/buildozer/tools/packer/template.json
index 10557d0..4bfa23d 100644
--- a/buildozer/tools/packer/template.json
+++ b/buildozer/tools/packer/template.json
@@ -9,7 +9,7 @@
"description": "Build a Xubuntu Virtual Machine",
"builders": [{
"type": "virtualbox-iso",
- "name": "from-netboot-iso",
+ "name": "kivy-buildozer-vm",
"http_directory": "http",
"iso_checksum": "6131e2cc90cf30407af18f3f1af16c54bf58ffc8",
"iso_checksum_type": "sha1",
From 49f8bf4558033a2c106d6ff8d3db5b51f5506c99 Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Sat, 13 May 2017 15:48:13 +0200
Subject: [PATCH 12/27] fixes r13c -> 13b
---
buildozer/tools/packer/http/welcome/index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/buildozer/tools/packer/http/welcome/index.html b/buildozer/tools/packer/http/welcome/index.html
index 3520d76..5a61cc9 100644
--- a/buildozer/tools/packer/http/welcome/index.html
+++ b/buildozer/tools/packer/http/welcome/index.html
@@ -35,7 +35,7 @@
Don't try to use latest Android SDK or NDK. The defaults from buildozer
works: Android SDK 20, Android NDK 9c. Recent Android SDK doesn't work
the same as before (no more android command), and python-for-android
- project have issues with it. As for NDK, you can use r13c, it works too.
+ project have issues with it. As for NDK, you can use 13b, it works too.
First time only, in your project directory: buildozer init
From c704b81ccfdd336e7645441c9c6d972f29b4a6ed Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Sat, 13 May 2017 17:35:06 +0200
Subject: [PATCH 13/27] add Makefile
---
buildozer/tools/packer/.gitignore | 2 +-
buildozer/tools/packer/Makefile | 34 +++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+), 1 deletion(-)
create mode 100644 buildozer/tools/packer/Makefile
diff --git a/buildozer/tools/packer/.gitignore b/buildozer/tools/packer/.gitignore
index 738caae..e0ace4a 100644
--- a/buildozer/tools/packer/.gitignore
+++ b/buildozer/tools/packer/.gitignore
@@ -1,2 +1,2 @@
packer_cache
-output-from-netboot-iso
+output-kivy-buildozer-vm
diff --git a/buildozer/tools/packer/Makefile b/buildozer/tools/packer/Makefile
new file mode 100644
index 0000000..5021d91
--- /dev/null
+++ b/buildozer/tools/packer/Makefile
@@ -0,0 +1,34 @@
+.PHONY: all build
+VERSION := 2.0
+ANN1 = udp://public.popcorn-tracker.org:6969/announce
+ANN2 = udp://ipv4.tracker.harry.lu/announce
+ANN3 = udp://tracker.opentrackr.org:1337/announce
+ANN4 = udp://9.rarbg.com:2710/announce
+ANN5 = udp://explodie.org:6969
+ANN6 = udp://tracker.coppersurfer.tk:6969
+ANN7 = udp://tracker.leechers-paradise.org:6969
+ANN8 = udp://zer0day.ch:1337
+TORRENT_ANNOUNCE := ${ANN1},${ANN2},${ANN3},${ANN4},${ANN5},${ANN6},${ANN7},${ANN8}
+PACKAGE_FILENAME = kivy-buildozer-vm-${VERSION}.zip
+
+all: packer repackage torrent upload
+
+build:
+ packer-io build template.json
+
+repackage:
+ cd output-kivy-buildozer-vm && mv Kivy kivy-buildozer-vm-${VERSION}
+ cd output-kivy-buildozer-vm && zip -0 -r ${PACKAGE_FILENAME} kivy-buildozer-vm-${VERSION}
+
+torrent:
+ rm -f output-kivy-buildozer-vm/kivy-buildozer-vm.torrent
+ mktorrent \
+ -a ${TORRENT_ANNOUNCE} \
+ -o output-kivy-buildozer-vm/kivy-buildozer-vm.torrent \
+ -w http://txzone.net/files/torrents/${PACKAGE_FILENAME} \
+ -v output-kivy-buildozer-vm/${PACKAGE_FILENAME}
+
+upload:
+ # txzone only for now, don't have access to kivy server
+ rsync -avz --info=progress2 output-kivy-buildozer-vm/${PACKAGE_FILENAME} txzone.net:/var/www/websites/txzone.net/files/torrents/
+ rsync -avz --info=progress2 output-kivy-buildozer-vm/kivy-buildozer-vm.torrent txzone.net:/var/www/websites/txzone.net/files/torrents/
From a06707dac72c58790bf8fb7a8ce76d7ae38b4acd Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Sat, 13 May 2017 17:37:40 +0200
Subject: [PATCH 14/27] update README for packer
---
buildozer/tools/packer/README.md | 32 ++++++++++++++++++++++++--------
1 file changed, 24 insertions(+), 8 deletions(-)
diff --git a/buildozer/tools/packer/README.md b/buildozer/tools/packer/README.md
index 37d6574..d3048fc 100644
--- a/buildozer/tools/packer/README.md
+++ b/buildozer/tools/packer/README.md
@@ -1,6 +1,7 @@
# Introduction
-It is an example packer template based on netboot iso that adds packages for xubuntu and buildozer.
+This is the packer template for building the official Kivy/Buildozer VM.
+It is based on xubuntu.
# Configure
@@ -8,14 +9,29 @@ You want to edit `http/preseed.cfg` and `template.json` before building an image
# Build
-`packer build template.json`
+```
+make packer
+```
-# Testing the image after it's built.
+# Release
-`./launch`
+1. Update Makefile to increase the version number
+2. Update the CHANGELOG
+3. Commit
-# TODO
+Then:
- - [compact the image](https://crysol.github.io/recipe/2013-10-15/virtualbox-compact-vmdk-images/)
- - trigger a build on travis, torrent creation and gdrive upload when buildozer is released
- - https://www.packer.io/docs/builders/virtualbox-ovf.html
+```
+make all
+# make packer < build the image
+# make repackage < just zip it (no compression)
+# make torrent < create the torrent
+# make upload < upload on txzone.net (tito only)
+```
+
+
+# Notes
+
+- trigger a build on travis, torrent creation and gdrive upload when buildozer is
+ released
+- https://www.packer.io/docs/builders/virtualbox-ovf.html
From 93cf05eb8cac07550d3c284c259a8b5d2115226e Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Sat, 13 May 2017 17:38:50 +0200
Subject: [PATCH 15/27] update README for reflecting latest image
---
README.rst | 39 ++++++---------------------------------
1 file changed, 6 insertions(+), 33 deletions(-)
diff --git a/README.rst b/README.rst
index 919c683..9ab0126 100644
--- a/README.rst
+++ b/README.rst
@@ -19,7 +19,7 @@ Note that this tool has nothing to do with the eponymous online build service
Installing Buildozer with python2 support:
------------------------------------------
-#. Install buildozer::
+#. Install buildozer::
# via pip (latest stable, recommended)
sudo pip install buildozer
@@ -57,7 +57,7 @@ The pip package does not yet support python3.
buildozer init
#. Make sure the following lines are in your buildozer.spec file.::
-
+
# Require python3crystax:
requirements = python3crystax,kivy
@@ -69,9 +69,9 @@ The pip package does not yet support python3.
buildozer android_new debug deploy run
#. Please note the "android_new" buildozer target, and use that for any and all buildozer commands you run (even if the docs just say "android"). Python3 only works with the **android_new** toolchain.
-
-
+
+
Examples of Buildozer commands:
--------------------------------
@@ -166,21 +166,15 @@ Buildozer Virtual Machine
-------------------------
The current virtual machine (available via https://kivy.org/downloads/) allow
-you to have a ready to use vm for building android application. But
-the current one have many flaw.
-We're in the process to deliver a new VM that fixes most of them.
+you to have a ready to use vm for building android application.
Using shared folders
++++++++++++++++++++
-The Virtualbox Guest tools are outdated, install the latest one:
+If the Virtualbox Guest tools are outdated, install the latest one:
- in the Virtualbox: `Devices` -> `Install Guest Additions CD images`
- in the guest/linux: Go to the cdrom and run the installer
-
-The `kivy` user is not in the `vboxsf` groups, so in a terminal:
-
-- `sudo adduser kivy vboxsf`
- reboot the vm
VirtualBox filesystem doesn't support symlink anymore (don't
@@ -191,27 +185,6 @@ do the build outside the shared folder. One solution:
- `sudo chown kivy /build`
- In your buildozer.spec, section `[buildozer]`, set `build_dir = /build/buildozer-myapp`
-No space left
-+++++++++++++
-
-If you build on the current VM, you'll hit the no space left on device:
-
-- Stop your VM
-- Adjust the disk size to 20GB: `VBoxManage modifyhd ~/Downloads/Buildozer/Buildozer.vdi --resize 20000`
-- Download the http://www.slitaz.org/en/get/#stable
-- In the virtualbox, `Devices` -> `Optical Drive` -> Select the slitaz iso
-- Reboot the VM
-- In slitaz, open a terminal, and unmount the swap: `swapoff -a`
-- Open gparted
- - delete sda2
- - extend sda1 to 18000
- - add a primary partition, set the format to linux-swap
- - you should have a sda2 partition
- - save
-- Unmount the slitaz iso `Devices` -> `Optical Drive` -> `Eject`
-- Reset/Restart the VM
-- Check your disk is 20GB: `df -h`
-
Using your devices via the VM
+++++++++++++++++++++++++++++
From f55147e3009e525aa822f437c41027b751bea0da Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Sat, 13 May 2017 17:40:09 +0200
Subject: [PATCH 16/27] add note about vm download link in the readme
---
README.rst | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.rst b/README.rst
index 9ab0126..b53ef2c 100644
--- a/README.rst
+++ b/README.rst
@@ -13,6 +13,8 @@ Buildozer currently supports packaging for Android via the `python-for-android
project, and for iOS via the kivy-ios project. Support for other operating systems
is intended in the future.
+We provide a ready-to-use `Virtual Machine for Virtualbox `_.
+
Note that this tool has nothing to do with the eponymous online build service
`buildozer.io `_.
From 9685bff223cc6e726373ecaeac5e86c39359e1d0 Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Mon, 15 May 2017 00:36:56 +0200
Subject: [PATCH 17/27] Update README.rst
---
README.rst | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/README.rst b/README.rst
index b53ef2c..b842d8c 100644
--- a/README.rst
+++ b/README.rst
@@ -10,8 +10,11 @@ OSX and/or Linux.
Buildozer currently supports packaging for Android via the `python-for-android
`_
-project, and for iOS via the kivy-ios project. Support for other operating systems
-is intended in the future.
+project, and for iOS via the kivy-ios project. iOS and OSX are still under work.
+
+For Android: please have a look at `Android-SDK-NDK-Informations
+`_. Please note that
+the default SDK/NDK coded in Buildozer works for Python 2.
We provide a ready-to-use `Virtual Machine for Virtualbox `_.
From 48ea2686369348adc05286cbed782ffda09d172b Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Mon, 15 May 2017 01:09:35 +0200
Subject: [PATCH 18/27] migrate tokens. Closes #499
---
README.rst | 2 +-
buildozer/__init__.py | 20 ++++++++++++++
buildozer/default.spec | 46 +++++++++++++++++++-------------
buildozer/targets/android.py | 8 +++---
buildozer/targets/android_new.py | 6 ++---
docs/source/contribute.rst | 2 +-
6 files changed, 57 insertions(+), 27 deletions(-)
diff --git a/README.rst b/README.rst
index b53ef2c..3a4a91b 100644
--- a/README.rst
+++ b/README.rst
@@ -162,7 +162,7 @@ config, along with the environment variables that would override them.
- ``title`` -> ``$APP_TITLE``
- ``package.name`` -> ``$APP_PACKAGE_NAME``
-- ``android.p4a_dir`` -> ``$APP_ANDROID_P4A_DIR``
+- ``p4a.source_dir`` -> ``$APP_P4A_SOURCE_DIR``
Buildozer Virtual Machine
-------------------------
diff --git a/buildozer/__init__.py b/buildozer/__init__.py
index 279cfee..9d30d81 100644
--- a/buildozer/__init__.py
+++ b/buildozer/__init__.py
@@ -381,6 +381,7 @@ class Buildozer(object):
'''Ensure the spec file is 'correct'.
'''
self.info('Check configuration tokens')
+ self.migrate_configuration_tokens()
get = self.config.getdefault
errors = []
adderror = errors.append
@@ -417,6 +418,25 @@ class Buildozer(object):
print(error)
exit(1)
+ def migrate_configuration_tokens(self):
+ config = self.config
+ if config.has_section("app"):
+ migration = (
+ ("android.p4a_dir", "p4a.source_dir"),
+ ("android.p4a_whitelist", "android.whitelist"),
+ ("android.bootstrap", "p4a.bootstrap"),
+ ("android.branch", "p4a.branch"),
+ ("android.p4a_whitelist_src", "android.whitelist_src"),
+ ("android.p4a_blacklist_src", "android.blacklist_src")
+ )
+ for entry_old, entry_new in migration:
+ if not config.has_option("app", entry_old):
+ continue
+ value = config.get("app", entry_old)
+ config.set("app", entry_new, value)
+ config.remove_option("app", entry_old)
+ self.error("In section [app]: {} is deprecated, rename to {}!".format(
+ entry_old, entry_new))
def check_build_layout(self):
'''Ensure the build (local and global) directory layout and files are
diff --git a/buildozer/default.spec b/buildozer/default.spec
index 3b9ffe6..e480a10 100644
--- a/buildozer/default.spec
+++ b/buildozer/default.spec
@@ -111,29 +111,23 @@ fullscreen = 0
# (str) ANT directory (if empty, it will be automatically downloaded.)
#android.ant_path =
-# (str) python-for-android git clone directory (if empty, it will be automatically cloned from github)
-#android.p4a_dir =
-
-# (str) The directory in which python-for-android should look for your own build recipes (if any)
-#p4a.local_recipes =
-
-# (str) Filename to the hook for p4a
-#p4a.hook =
-
-# (list) python-for-android whitelist
-#android.p4a_whitelist =
-
# (bool) If True, then skip trying to update the Android sdk
# This can be useful to avoid excess Internet downloads or save time
# when an update is due and you just want to test/build your package
# android.skip_update = False
-# (str) Bootstrap to use for android builds (android_new only)
-# android.bootstrap = sdl2
-
# (str) Android entry point, default is ok for Kivy-based app
#android.entrypoint = org.renpy.android.PythonActivity
+# (list) Pattern to whitelist for the whole project
+#android.whitelist =
+
+# (str) Path to a custom whitelist file
+#android.whitelist_src =
+
+# (str) Path to a custom blacklist file
+#android.blacklist_src =
+
# (list) List of Java .jar files to add to the libs so that pyjnius can access
# their classes. Don't add jars that you do not need, since extra jars can slow
# down the build process. Allows wildcards matching, for example:
@@ -152,9 +146,8 @@ fullscreen = 0
# bootstrap)
#android.gradle_dependencies =
-# (str) python-for-android branch to use, if not master, useful to try
-# not yet merged features.
-#android.branch = master
+# (str) python-for-android branch to use, defaults to master
+#p4a.branch = master
# (str) OUYA Console category. Should be one of GAME or APP
# If you leave this blank, OUYA support will not be enabled
@@ -192,6 +185,23 @@ fullscreen = 0
# (str) The Android arch to build for, choices: armeabi-v7a, arm64-v8a, x86
android.arch = armeabi-v7a
+#
+# Python for android (p4a) specific
+#
+
+# (str) python-for-android git clone directory (if empty, it will be automatically cloned from github)
+#p4a.source_dir =
+
+# (str) The directory in which python-for-android should look for your own build recipes (if any)
+#p4a.local_recipes =
+
+# (str) Filename to the hook for p4a
+#p4a.hook =
+
+# (str) Bootstrap to use for android builds (android_new only)
+# p4a.bootstrap = sdl2
+
+
#
# iOS specific
#
diff --git a/buildozer/targets/android.py b/buildozer/targets/android.py
index 4b0340c..2936931 100644
--- a/buildozer/targets/android.py
+++ b/buildozer/targets/android.py
@@ -462,17 +462,17 @@ class TargetAndroid(Target):
def install_platform(self):
cmd = self.buildozer.cmd
- source = self.buildozer.config.getdefault('app', 'android.branch',
+ source = self.buildozer.config.getdefault('app', 'p4a.branch',
self.p4a_branch)
self.pa_dir = pa_dir = join(self.buildozer.platform_dir,
self.p4a_directory)
system_p4a_dir = self.buildozer.config.getdefault('app',
- 'android.p4a_dir')
+ 'p4a.source_dir')
if system_p4a_dir:
self.pa_dir = pa_dir = expanduser(system_p4a_dir)
if not self.buildozer.file_exists(pa_dir):
self.buildozer.error(
- 'Path for android.p4a_dir does not exist')
+ 'Path for p4a.source_dir does not exist')
self.buildozer.error('')
raise BuildozerException()
else:
@@ -594,7 +594,7 @@ class TargetAndroid(Target):
def _generate_whitelist(self, dist_dir):
p4a_whitelist = self.buildozer.config.getlist(
- 'app', 'android.p4a_whitelist') or []
+ 'app', 'android.whitelist') or []
whitelist_fn = join(dist_dir, 'whitelist.txt')
with open(whitelist_fn, 'w') as fd:
for wl in p4a_whitelist:
diff --git a/buildozer/targets/android_new.py b/buildozer/targets/android_new.py
index 85bb922..8848dfe 100644
--- a/buildozer/targets/android_new.py
+++ b/buildozer/targets/android_new.py
@@ -22,7 +22,7 @@ class TargetAndroidNew(TargetAndroid):
executable = sys.executable or 'python'
self._p4a_cmd = '{} -m pythonforandroid.toolchain '.format(executable)
self._p4a_bootstrap = self.buildozer.config.getdefault(
- 'app', 'android.bootstrap', 'sdl2')
+ 'app', 'p4a.bootstrap', 'sdl2')
self.p4a_apk_cmd += self._p4a_bootstrap
color = 'always' if USE_COLOR else 'never'
self.extra_p4a_args = ' --color={} --storage-dir={}'.format(
@@ -124,8 +124,8 @@ class TargetAndroidNew(TargetAndroid):
cmd.append(local_recipes)
# support for blacklist/whitelist filename
- whitelist_src = self.buildozer.config.getdefault('app', 'android.p4a_whitelist_src', None)
- blacklist_src = self.buildozer.config.getdefault('app', 'android.p4a_blacklist_src', None)
+ whitelist_src = self.buildozer.config.getdefault('app', 'android.whitelist_src', None)
+ blacklist_src = self.buildozer.config.getdefault('app', 'android.blacklist_src', None)
if whitelist_src:
cmd.append('--whitelist')
cmd.append(realpath(whitelist_src))
diff --git a/docs/source/contribute.rst b/docs/source/contribute.rst
index 5b16616..de2802d 100644
--- a/docs/source/contribute.rst
+++ b/docs/source/contribute.rst
@@ -22,7 +22,7 @@ To test your own recipe via Buildozer, you need to:
#. Change your `buildozer.spec` to reference your version::
- android.p4a_dir = /path/to/your/python-for-android
+ p4a.source_dir = /path/to/your/python-for-android
#. Copy your recipe into `python-for-android/recipes/YOURLIB/recipe.sh`
From 11f9dfaa509cf11cc4e3376a9f75f14ea0ad12c9 Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Mon, 15 May 2017 01:10:03 +0200
Subject: [PATCH 19/27] use p4a stable branch by default. Closes #498
---
buildozer/default.spec | 2 +-
buildozer/targets/android_new.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/buildozer/default.spec b/buildozer/default.spec
index e480a10..a0e0b55 100644
--- a/buildozer/default.spec
+++ b/buildozer/default.spec
@@ -147,7 +147,7 @@ fullscreen = 0
#android.gradle_dependencies =
# (str) python-for-android branch to use, defaults to master
-#p4a.branch = master
+#p4a.branch = stable
# (str) OUYA Console category. Should be one of GAME or APP
# If you leave this blank, OUYA support will not be enabled
diff --git a/buildozer/targets/android_new.py b/buildozer/targets/android_new.py
index 8848dfe..effe603 100644
--- a/buildozer/targets/android_new.py
+++ b/buildozer/targets/android_new.py
@@ -11,7 +11,7 @@ from os.path import join, expanduser, realpath
class TargetAndroidNew(TargetAndroid):
targetname = 'android_new'
- p4a_branch = "master"
+ p4a_branch = "stable"
p4a_directory = "python-for-android-master"
p4a_apk_cmd = "apk --debug --bootstrap="
extra_p4a_args = ''
From e2b46c0502d2fb424c8122b7a192cf0ff5e4e9c9 Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Mon, 15 May 2017 01:37:44 +0200
Subject: [PATCH 20/27] extract p4a dependencies, to be sure it works. Closes
#501
---
buildozer/targets/android.py | 50 ++++++++++++++++++++++----------
buildozer/targets/android_new.py | 1 +
2 files changed, 35 insertions(+), 16 deletions(-)
diff --git a/buildozer/targets/android.py b/buildozer/targets/android.py
index 2936931..55e9fe0 100644
--- a/buildozer/targets/android.py
+++ b/buildozer/targets/android.py
@@ -20,6 +20,8 @@ APACHE_ANT_VERSION = '1.9.4'
import traceback
import os
import io
+import re
+import ast
from pipes import quote
from sys import platform, executable
from buildozer import BuildozerException
@@ -461,6 +463,25 @@ class TargetAndroid(Target):
raise BuildozerException()
def install_platform(self):
+ self._install_p4a()
+ self._install_apache_ant()
+ self._install_android_sdk()
+ self._install_android_ndk()
+ self._install_android_packages()
+
+ # ultimate configuration check.
+ # some of our configuration cannot be check without platform.
+ self.check_configuration_tokens()
+
+ self.buildozer.environ.update({
+ 'PACKAGES_PATH': self.buildozer.global_packages_dir,
+ 'ANDROIDSDK': self.android_sdk_dir,
+ 'ANDROIDNDK': self.android_ndk_dir,
+ 'ANDROIDAPI': self.android_api,
+ 'ANDROIDNDKVER': 'r{}'.format(self.android_ndk_version)
+ })
+
+ def _install_p4a(self):
cmd = self.buildozer.cmd
source = self.buildozer.config.getdefault('app', 'p4a.branch',
self.p4a_branch)
@@ -493,22 +514,19 @@ class TargetAndroid(Target):
cwd=pa_dir)
cmd('git checkout {}'.format(source), cwd=pa_dir)
- self._install_apache_ant()
- self._install_android_sdk()
- self._install_android_ndk()
- self._install_android_packages()
-
- # ultimate configuration check.
- # some of our configuration cannot be check without platform.
- self.check_configuration_tokens()
-
- self.buildozer.environ.update({
- 'PACKAGES_PATH': self.buildozer.global_packages_dir,
- 'ANDROIDSDK': self.android_sdk_dir,
- 'ANDROIDNDK': self.android_ndk_dir,
- 'ANDROIDAPI': self.android_api,
- 'ANDROIDNDKVER': 'r{}'.format(self.android_ndk_version)
- })
+ # also install dependencies (currently, only setup.py knows about it)
+ # let's extract them.
+ try:
+ with open(join(self.pa_dir, "setup.py")) as fd:
+ setup = fd.read()
+ deps = re.findall("install_reqs = (\[[^\]]*\])", setup, re.DOTALL | re.MULTILINE)[1]
+ deps = ast.literal_eval(deps)
+ except Exception:
+ deps = []
+ pip_deps = []
+ for dep in deps:
+ pip_deps.append('"{}"'.format(dep))
+ cmd('pip install -q --user {}'.format(" ".join(pip_deps)))
def get_available_packages(self):
available_modules = self.buildozer.cmd('./distribute.sh -l',
diff --git a/buildozer/targets/android_new.py b/buildozer/targets/android_new.py
index effe603..61e1da1 100644
--- a/buildozer/targets/android_new.py
+++ b/buildozer/targets/android_new.py
@@ -2,6 +2,7 @@
'''
Android target, based on python-for-android project (new toolchain)
'''
+
import sys
from buildozer import USE_COLOR
From b656922f6b48b3682d79e7c7dd14823b1f0780fb Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Mon, 15 May 2017 01:49:51 +0200
Subject: [PATCH 21/27] prevent releasing an app that have org.test or org.kivy
as domain. Closes #500
---
buildozer/target.py | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/buildozer/target.py b/buildozer/target.py
index b287d16..c06bd0d 100644
--- a/buildozer/target.py
+++ b/buildozer/target.py
@@ -103,7 +103,38 @@ class Target(object):
self.buildozer.build()
def cmd_release(self, *args):
+ error = self.buildozer.error
self.buildozer.prepare_for_build()
+ if self.buildozer.config.get("app", "package.domain") == "org.test":
+ error("")
+ error("ERROR: Trying to release a package that starts with org.test")
+ error("")
+ error("The package.domain org.test is, as the name intented, a test.")
+ error("Once you published an application with org.test,")
+ error("you cannot change it, it will be part of the identifier")
+ error("for Google Play / App Store / etc.")
+ error("")
+ error("So change package.domain to anything else.")
+ error("")
+ error("If you messed up before, set the environment variable to force the build:")
+ error("export BUILDOZER_ALLOW_ORG_TEST_DOMAIN=1")
+ error("")
+ if "BUILDOZER_ALLOW_ORG_TEST_DOMAIN" not in os.environ:
+ exit(1)
+
+ if self.buildozer.config.get("app", "package.domain") == "org.kivy":
+ error("")
+ error("ERROR: Trying to release a package that starts with org.kivy")
+ error("")
+ error("The package.domain org.kivy is reserved for the Kivy official")
+ error("applications. Please use your own domain.")
+ error("")
+ error("If you are a Kivy developer, add an export in your shell")
+ error("export BUILDOZER_ALLOW_KIVY_ORG_DOMAIN=1")
+ error("")
+ if "BUILDOZER_ALLOW_KIVY_ORG_DOMAIN" not in os.environ:
+ exit(1)
+
self.build_mode = 'release'
self.buildozer.build()
@@ -115,4 +146,3 @@ class Target(object):
def cmd_serve(self, *args):
self.buildozer.cmd_serve()
-
From 127c581f5bba075551173249fbab0a254a552d1b Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Mon, 15 May 2017 02:07:34 +0200
Subject: [PATCH 22/27] upgrade android_new -> android + android ->
android_old. Closes #497
---
README.rst | 35 +++++++++----------
buildozer/__init__.py | 24 +++++++++++--
buildozer/default.spec | 2 +-
buildozer/targets/android.py | 2 +-
buildozer/targets/android_new.py | 4 +--
buildozer/targets/ios.py | 7 ++--
buildozer/targets/osx.py | 1 +
.../tools/packer/http/welcome/index.html | 4 +--
8 files changed, 49 insertions(+), 30 deletions(-)
diff --git a/README.rst b/README.rst
index 5f20386..18046af 100644
--- a/README.rst
+++ b/README.rst
@@ -12,7 +12,7 @@ Buildozer currently supports packaging for Android via the `python-for-android
`_
project, and for iOS via the kivy-ios project. iOS and OSX are still under work.
-For Android: please have a look at `Android-SDK-NDK-Informations
+For Android: please have a look at `Android-SDK-NDK-Informations
`_. Please note that
the default SDK/NDK coded in Buildozer works for Python 2.
@@ -42,7 +42,7 @@ Installing Buildozer with python2 support:
buildozer init
# edit the buildozer.spec, then
- buildozer android_new debug deploy run
+ buildozer android debug deploy run
Installing Buildozer with python3 support:
------------------------------------------
@@ -71,10 +71,9 @@ The pip package does not yet support python3.
#. Finally, build, deploy and run the app on your phone::
- buildozer android_new debug deploy run
-
-#. Please note the "android_new" buildozer target, and use that for any and all buildozer commands you run (even if the docs just say "android"). Python3 only works with the **android_new** toolchain.
+ buildozer android debug deploy run
+#. Please note the "android" buildozer target, and use that for any and all buildozer commands you run (even if the docs just say "android").
Examples of Buildozer commands:
@@ -83,17 +82,17 @@ Examples of Buildozer commands:
::
# buildozer target command
- buildozer android_new clean
- buildozer android_new update
- buildozer android_new deploy
- buildozer android_new debug
- buildozer android_new release
+ buildozer android clean
+ buildozer android update
+ buildozer android deploy
+ buildozer android debug
+ buildozer android release
# or all in one (compile in debug, deploy on device)
- buildozer android_new debug deploy
+ buildozer android debug deploy
# set the default command if nothing set
- buildozer setdefault android_new debug deploy run
+ buildozer setdefault android debug deploy run
Usage
@@ -106,9 +105,9 @@ Usage
buildozer --version
Available targets:
- android Android target, based on python-for-android project (old toolchain)
- ios iOS target, based on kivy-ios project
- android_new Android target, based on python-for-android project (new toolchain)
+ android Android target, based on python-for-android project
+ ios iOS target, based on kivy-ios project
+ android_old Android target, based on python-for-android project (old toolchain)
Global commands (without target):
distclean Clean the whole Buildozer environment.
@@ -127,7 +126,7 @@ Usage
run Run the application on the device
serve Serve the bin directory via SimpleHTTPServer
- Target "android" commands:
+ Target "android_old" commands:
adb Run adb from the Android SDK. Args must come after --, or
use --alias to make an alias
logcat Show the log from the device
@@ -136,7 +135,7 @@ Usage
list_identities List the available identities to use for signing.
xcode Open the xcode project.
- Target "android_new" commands:
+ Target "android" commands:
adb Run adb from the Android SDK. Args must come after --, or
use --alias to make an alias
logcat Show the log from the device
@@ -196,7 +195,7 @@ Using your devices via the VM
There is a little icon on the bottom left that represent an USB plug.
Select it, and select your android device on it. Then you can check:
-- `buildozer android_new adb -- devices`
+- `buildozer android adb -- devices`
If it doesn't, use Google. They are so many differents way / issues
depending your phone that Google will be your only source of
diff --git a/buildozer/__init__.py b/buildozer/__init__.py
index 9d30d81..cf430e4 100644
--- a/buildozer/__init__.py
+++ b/buildozer/__init__.py
@@ -152,6 +152,7 @@ class Buildozer(object):
def set_target(self, target):
'''Set the target to use (one of buildozer.targets, such as "android")
'''
+ target = self.translate_target(target)
self.targetname = target
m = __import__('buildozer.targets.{0}'.format(target),
fromlist=['buildozer'])
@@ -914,6 +915,23 @@ class Buildozer(object):
# command line invocation
#
+ def translate_target(self, target, inverse=False):
+ # FIXME at some point, refactor to remove completely android old toolchain
+ if inverse:
+ if target == "android":
+ target = "android_old"
+ elif target == "android_new":
+ target = "android"
+ else:
+ if target == "android":
+ target = "android_new"
+ elif target == "android_new":
+ self.error("ERROR: The target android_new is now android")
+ exit(1)
+ elif target == "android_old":
+ target = "android"
+ return target
+
def targets(self):
for fn in listdir(join(dirname(__file__), 'targets')):
if fn.startswith('.') or fn.startswith('__'):
@@ -924,7 +942,7 @@ class Buildozer(object):
try:
m = __import__('buildozer.targets.{0}'.format(target),
fromlist=['buildozer'])
- yield target, m
+ yield self.translate_target(target, inverse=True), m
except NotImplementedError:
pass
except:
@@ -1032,8 +1050,8 @@ class Buildozer(object):
# maybe it's a target?
targets = [x[0] for x in self.targets()]
- if command not in targets:
- print('Unknown command/target {}'.format(command))
+ if self.translate_target(command, inverse=True) not in targets:
+ print('Unknown command/target {}'.format(self.translate_target(command, inverse=True)))
exit(1)
self.set_target(command)
diff --git a/buildozer/default.spec b/buildozer/default.spec
index a0e0b55..78ba4bc 100644
--- a/buildozer/default.spec
+++ b/buildozer/default.spec
@@ -198,7 +198,7 @@ android.arch = armeabi-v7a
# (str) Filename to the hook for p4a
#p4a.hook =
-# (str) Bootstrap to use for android builds (android_new only)
+# (str) Bootstrap to use for android builds
# p4a.bootstrap = sdl2
diff --git a/buildozer/targets/android.py b/buildozer/targets/android.py
index 55e9fe0..9914000 100644
--- a/buildozer/targets/android.py
+++ b/buildozer/targets/android.py
@@ -37,7 +37,7 @@ from buildozer.libs.version import parse
class TargetAndroid(Target):
- targetname = 'android'
+ targetname = 'android_old'
p4a_directory = "python-for-android"
p4a_branch = 'old_toolchain'
p4a_apk_cmd = "python build.py"
diff --git a/buildozer/targets/android_new.py b/buildozer/targets/android_new.py
index 61e1da1..fcf8031 100644
--- a/buildozer/targets/android_new.py
+++ b/buildozer/targets/android_new.py
@@ -1,6 +1,6 @@
# coding=utf-8
'''
-Android target, based on python-for-android project (new toolchain)
+Android target, based on python-for-android project
'''
import sys
@@ -11,7 +11,7 @@ from os.path import join, expanduser, realpath
class TargetAndroidNew(TargetAndroid):
- targetname = 'android_new'
+ targetname = 'android'
p4a_branch = "stable"
p4a_directory = "python-for-android-master"
p4a_apk_cmd = "apk --debug --bootstrap="
diff --git a/buildozer/targets/ios.py b/buildozer/targets/ios.py
index 9d85aec..3247278 100644
--- a/buildozer/targets/ios.py
+++ b/buildozer/targets/ios.py
@@ -20,7 +20,7 @@ $ipas = glob('*.ipa');
$provisioningProfiles = glob('*.mobileprovision');
$plists = glob('*.plist');
-$sr = stristr( $_SERVER['SCRIPT_URI'], '.php' ) === false ?
+$sr = stristr( $_SERVER['SCRIPT_URI'], '.php' ) === false ?
$_SERVER['SCRIPT_URI'] : dirname($_SERVER['SCRIPT_URI']) . '/';
$provisioningProfile = $sr . $provisioningProfiles[0];
$ipa = $sr . $ipas[0];
@@ -28,8 +28,8 @@ $itmsUrl = urlencode( $sr . 'index.php?plist=' . str_replace( '.plist', '', $pli
if ($_GET['plist']) {
- $plist = file_get_contents( dirname(__FILE__)
- . DIRECTORY_SEPARATOR
+ $plist = file_get_contents( dirname(__FILE__)
+ . DIRECTORY_SEPARATOR
. preg_replace( '/![A-Za-z0-9-_]/i', '', $_GET['plist']) . '.plist' );
$plist = str_replace('_URL_', $ipa, $plist);
header('content-type: application/xml');
@@ -59,6 +59,7 @@ li { padding: 1em; }
'''
class TargetIos(Target):
+ targetname = "ios"
def check_requirements(self):
checkbin = self.buildozer.checkbin
diff --git a/buildozer/targets/osx.py b/buildozer/targets/osx.py
index f6cebe8..121b765 100644
--- a/buildozer/targets/osx.py
+++ b/buildozer/targets/osx.py
@@ -28,6 +28,7 @@ from buildozer.libs.version import parse
class TargetOSX(Target):
+ targetname = "osx"
def ensure_sdk(self):
self.buildozer.info('Check if kivy-sdk-packager exists')
diff --git a/buildozer/tools/packer/http/welcome/index.html b/buildozer/tools/packer/http/welcome/index.html
index 5a61cc9..394acb3 100644
--- a/buildozer/tools/packer/http/welcome/index.html
+++ b/buildozer/tools/packer/http/welcome/index.html
@@ -55,8 +55,8 @@ requirements = hostpython2,kivy
# update the build directory (issue with virtualbox shared folder and symlink)
build_dir = /build/myapp
-
Build your application: buildozer android_new debug
-
Build and deploy, run and get the logs: buildozer android_new debug deploy run logcat
+
Build your application: buildozer android debug
+
Build and deploy, run and get the logs: buildozer android debug deploy run logcat
Share a folder
From 8f9ab2208ceebb69000200dc4f2b0c779e3fa64d Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Mon, 15 May 2017 02:31:28 +0200
Subject: [PATCH 23/27] Bump to 0.33
---
buildozer/__init__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/buildozer/__init__.py b/buildozer/__init__.py
index cf430e4..8ac8b2a 100644
--- a/buildozer/__init__.py
+++ b/buildozer/__init__.py
@@ -6,7 +6,7 @@ Generic Python packager for Android / iOS. Desktop later.
'''
-__version__ = '0.33dev'
+__version__ = '0.33'
import os
import re
From ad0a8132ae0aee07b15841d8b059c6a7acd5d376 Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Mon, 15 May 2017 02:31:32 +0200
Subject: [PATCH 24/27] Bump to 0.34dev
---
buildozer/__init__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/buildozer/__init__.py b/buildozer/__init__.py
index 8ac8b2a..35d93ee 100644
--- a/buildozer/__init__.py
+++ b/buildozer/__init__.py
@@ -6,7 +6,7 @@ Generic Python packager for Android / iOS. Desktop later.
'''
-__version__ = '0.33'
+__version__ = '0.34dev'
import os
import re
From 6fcbb4eb2170c1e869e7f9160352646deba15303 Mon Sep 17 00:00:00 2001
From: Mathieu Virbel
Date: Mon, 15 May 2017 02:32:22 +0200
Subject: [PATCH 25/27] update changelog
---
CHANGELOG.md | 211 +++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 195 insertions(+), 16 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c56d851..c488f73 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,23 +1,202 @@
# Change Log
+## [0.33](https://github.com/kivy/buildozer/tree/0.33) (2017-05-15)
+[Full Changelog](https://github.com/kivy/buildozer/compare/v0.32...0.33)
+
+**Fixed bugs:**
+
+- Installation of python for android is missing dependencies [\#501](https://github.com/kivy/buildozer/issues/501)
+
+**Closed issues:**
+
+- Break buildozer if the user try to release a version with "org.test" as a domain [\#500](https://github.com/kivy/buildozer/issues/500)
+- Migrate p4a options to its own subkey [\#499](https://github.com/kivy/buildozer/issues/499)
+- Use stable branch from python-for-android [\#498](https://github.com/kivy/buildozer/issues/498)
+- Migrate android to android\_new, and add android\_old [\#497](https://github.com/kivy/buildozer/issues/497)
+- sh.CommandNotFound: cmake [\#496](https://github.com/kivy/buildozer/issues/496)
+- Need Help Fatal signal 11 \(SIGSEGV\) at 0x00000000 \(code=1\), thread 4579 \(SDLThread\) [\#495](https://github.com/kivy/buildozer/issues/495)
+- Buildozer APK Cannot LAUNCH [\#493](https://github.com/kivy/buildozer/issues/493)
+- Buildozer Error [\#492](https://github.com/kivy/buildozer/issues/492)
+- android\_new target hardcodes python2 support for p4a [\#491](https://github.com/kivy/buildozer/issues/491)
+- android.arch ignored [\#488](https://github.com/kivy/buildozer/issues/488)
+- fail to install distribute [\#486](https://github.com/kivy/buildozer/issues/486)
+- sh.py raise a exception and fail to build [\#485](https://github.com/kivy/buildozer/issues/485)
+- some functionality lost when debugged with android\_new command [\#481](https://github.com/kivy/buildozer/issues/481)
+- Problem when deploy to android device [\#480](https://github.com/kivy/buildozer/issues/480)
+- dlopen failed: python2.7/site-packages/grpc/\_cython/cygrpc.so not 32-bit: 2 [\#479](https://github.com/kivy/buildozer/issues/479)
+- Cannot build APK with python3crystax and flask - conflicting dependencies [\#477](https://github.com/kivy/buildozer/issues/477)
+- Buildozer can't download NDK [\#474](https://github.com/kivy/buildozer/issues/474)
+- websocket-client "SSL not available." [\#473](https://github.com/kivy/buildozer/issues/473)
+- Using Cython with Kivy-iOS and Buildozer [\#472](https://github.com/kivy/buildozer/issues/472)
+- android.requirements does not merge with app.requirements [\#471](https://github.com/kivy/buildozer/issues/471)
+- buildozer fails to find Android SDK [\#468](https://github.com/kivy/buildozer/issues/468)
+- Crash of APK on start [\#467](https://github.com/kivy/buildozer/issues/467)
+- App not launching [\#461](https://github.com/kivy/buildozer/issues/461)
+- sqlite3 not working with android\_new [\#457](https://github.com/kivy/buildozer/issues/457)
+- how to set path for p4a [\#454](https://github.com/kivy/buildozer/issues/454)
+- TypeError: write\(\) argument 1 must be unicode, not str [\#452](https://github.com/kivy/buildozer/issues/452)
+- New toolchain - lxml included but not able to import [\#451](https://github.com/kivy/buildozer/issues/451)
+- sqlite3 with python2.7 and buildozer 0.33dev and new toolchain not working [\#450](https://github.com/kivy/buildozer/issues/450)
+- Update the Virtual Machine @ https://kivy.org/\#download [\#449](https://github.com/kivy/buildozer/issues/449)
+- “No module named setuptools” after installing setuptools [\#444](https://github.com/kivy/buildozer/issues/444)
+- how to add --arch=armeabi-v7a to buildozer spec [\#443](https://github.com/kivy/buildozer/issues/443)
+- `buildozer android debug` fails with `jinja2.exceptions.TemplateNotFound: build.xml` [\#442](https://github.com/kivy/buildozer/issues/442)
+- buildozer.spec - requirements - kivy == master [\#440](https://github.com/kivy/buildozer/issues/440)
+- Buildozer can't find zlib [\#437](https://github.com/kivy/buildozer/issues/437)
+- Expose kivy download source? [\#435](https://github.com/kivy/buildozer/issues/435)
+- compiling crash [\#431](https://github.com/kivy/buildozer/issues/431)
+- Buildozer unable to make apk [\#430](https://github.com/kivy/buildozer/issues/430)
+- Crash APK on start [\#429](https://github.com/kivy/buildozer/issues/429)
+- More like a noob question [\#428](https://github.com/kivy/buildozer/issues/428)
+- keka failed to download \(OS X El Capitan\) [\#427](https://github.com/kivy/buildozer/issues/427)
+- Buildozer fails with pure python library pint [\#425](https://github.com/kivy/buildozer/issues/425)
+- Invalid argument to arm-linux-androideabi-gcc [\#424](https://github.com/kivy/buildozer/issues/424)
+- dlopen failed: \_clock.so is 64-bit instead of 32-bit [\#423](https://github.com/kivy/buildozer/issues/423)
+- how to solve the build error for "java"? [\#421](https://github.com/kivy/buildozer/issues/421)
+- Problems in patching files during building for android\_new [\#416](https://github.com/kivy/buildozer/issues/416)
+- Buildozer doesn't work with multiple first-class directories [\#415](https://github.com/kivy/buildozer/issues/415)
+- Buildozer suddenly not working, Linux, Python 2.7 \(build.xml: Failed to find version-tag string\) [\#414](https://github.com/kivy/buildozer/issues/414)
+- Buildozer not finding aidl [\#413](https://github.com/kivy/buildozer/issues/413)
+- buildozer android created apk fails if application source kept in multiple files [\#411](https://github.com/kivy/buildozer/issues/411)
+- Python 3 unicode print \(\) / copy to clipboard crashes app on Android [\#404](https://github.com/kivy/buildozer/issues/404)
+- checking whether the C compiler works... no [\#402](https://github.com/kivy/buildozer/issues/402)
+- configure: error: C compiler cannot create executables [\#395](https://github.com/kivy/buildozer/issues/395)
+- ConfigParser.NoOptionError: No option 'p4a.local\_recipes' in section: 'app' \(android\_new\) [\#394](https://github.com/kivy/buildozer/issues/394)
+- Google has changed the type of archive the new NDK [\#393](https://github.com/kivy/buildozer/issues/393)
+- Why does buildozer build and pull python for android from old\_toolchain branch ? [\#389](https://github.com/kivy/buildozer/issues/389)
+- buildozer android\_new does not show the presplash [\#387](https://github.com/kivy/buildozer/issues/387)
+- Error when using buildozer android\_new with python3crystax [\#386](https://github.com/kivy/buildozer/issues/386)
+- Command failed: tar xzf android-sdk\_r20-linux.tgz [\#383](https://github.com/kivy/buildozer/issues/383)
+- When will you add requests lib to recipes? [\#382](https://github.com/kivy/buildozer/issues/382)
+- Presplash does not work with "android\_new" as target. [\#380](https://github.com/kivy/buildozer/issues/380)
+- Build for Android is Inconsistent with the Linux Version [\#378](https://github.com/kivy/buildozer/issues/378)
+- \[question\] What are the supported OS ? [\#369](https://github.com/kivy/buildozer/issues/369)
+- AttributeError: 'AnsiCodes' object has no attribute 'LIGHTBLUE\_EX' [\#366](https://github.com/kivy/buildozer/issues/366)
+- splash image not hide after kivy loaded [\#364](https://github.com/kivy/buildozer/issues/364)
+- app always crash in android [\#360](https://github.com/kivy/buildozer/issues/360)
+- Plyer not available in buildozer android\_new [\#358](https://github.com/kivy/buildozer/issues/358)
+- Runs empty directory instead of binary \(android\_new\) [\#357](https://github.com/kivy/buildozer/issues/357)
+- App built with buildozer does not open on android [\#356](https://github.com/kivy/buildozer/issues/356)
+- Error when running buildozer android\_new debug [\#354](https://github.com/kivy/buildozer/issues/354)
+- ios list\_identities returns no identities [\#353](https://github.com/kivy/buildozer/issues/353)
+- buildozer not working [\#350](https://github.com/kivy/buildozer/issues/350)
+- error: Cython does not appear to be installed [\#349](https://github.com/kivy/buildozer/issues/349)
+- AttributeError: 'Context' object has no attribute 'hostpython' [\#347](https://github.com/kivy/buildozer/issues/347)
+- osx packaging results in venv error [\#345](https://github.com/kivy/buildozer/issues/345)
+- Requirement example requirements = kivy,requests fails [\#344](https://github.com/kivy/buildozer/issues/344)
+- Unavailability of important packages [\#343](https://github.com/kivy/buildozer/issues/343)
+- no way to change bootstrap [\#341](https://github.com/kivy/buildozer/issues/341)
+- Apk built with buildozer and multiple python file crashes [\#331](https://github.com/kivy/buildozer/issues/331)
+- Please upgrade the documentation [\#255](https://github.com/kivy/buildozer/issues/255)
+- Buildozer doesn't recognize "profile" option anymore [\#254](https://github.com/kivy/buildozer/issues/254)
+- Try to build with caldav requirement fails [\#248](https://github.com/kivy/buildozer/issues/248)
+- Trouble building for older android versions [\#240](https://github.com/kivy/buildozer/issues/240)
+- removing old apk file seems to fail before installing the new one [\#238](https://github.com/kivy/buildozer/issues/238)
+- Build fails due to python-distribute.org being down [\#200](https://github.com/kivy/buildozer/issues/200)
+- I am struggling with building an apk [\#153](https://github.com/kivy/buildozer/issues/153)
+- fresh android sdk install requires sdk update [\#151](https://github.com/kivy/buildozer/issues/151)
+- FYI - Ubuntu 14.04 Necessary Java Path Adjustment [\#141](https://github.com/kivy/buildozer/issues/141)
+- Cannot compile `iri2uri.py` in `httplib2` [\#135](https://github.com/kivy/buildozer/issues/135)
+- can't add django to requirement [\#130](https://github.com/kivy/buildozer/issues/130)
+- add an ssh target [\#1](https://github.com/kivy/buildozer/issues/1)
+
+**Merged pull requests:**
+
+- close \#452 as suggested by SpotlightKid [\#489](https://github.com/kivy/buildozer/pull/489) ([pat1](https://github.com/pat1))
+- Update README.rst [\#487](https://github.com/kivy/buildozer/pull/487) ([matletix](https://github.com/matletix))
+- Made buildozer run p4a using the current sys.executable [\#484](https://github.com/kivy/buildozer/pull/484) ([inclement](https://github.com/inclement))
+- ios: refactor deprecated PackageApplication command [\#483](https://github.com/kivy/buildozer/pull/483) ([kived](https://github.com/kived))
+- android\_new: change skip\_update to skip all updates [\#465](https://github.com/kivy/buildozer/pull/465) ([ZingBallyhoo](https://github.com/ZingBallyhoo))
+- android\_new: add "android.arch" config option [\#458](https://github.com/kivy/buildozer/pull/458) ([ZingBallyhoo](https://github.com/ZingBallyhoo))
+- Fix Py3 Incompatable str + bytes issue. [\#456](https://github.com/kivy/buildozer/pull/456) ([FeralBytes](https://github.com/FeralBytes))
+- spec file: dont use fullscreen by default [\#447](https://github.com/kivy/buildozer/pull/447) ([rafalo1333](https://github.com/rafalo1333))
+- spec file: use portrait orientation by default [\#446](https://github.com/kivy/buildozer/pull/446) ([rafalo1333](https://github.com/rafalo1333))
+- Add presplash background color support for android\_new toolchain [\#436](https://github.com/kivy/buildozer/pull/436) ([rnixx](https://github.com/rnixx))
+- Fix file\_matches to never return None [\#432](https://github.com/kivy/buildozer/pull/432) ([inclement](https://github.com/inclement))
+- Fixed 64 bit detection \(it failed under python3\) [\#409](https://github.com/kivy/buildozer/pull/409) ([inclement](https://github.com/inclement))
+- Added p4a.local\_recipes to default.spec and handled its absence [\#405](https://github.com/kivy/buildozer/pull/405) ([inclement](https://github.com/inclement))
+- Adding README.rst entries for how to use buildozer with python3 [\#403](https://github.com/kivy/buildozer/pull/403) ([andyDoucette](https://github.com/andyDoucette))
+- Update installation.rst \(Ubuntu16.04\) [\#399](https://github.com/kivy/buildozer/pull/399) ([FermiParadox](https://github.com/FermiParadox))
+- Update quickstart.rst [\#398](https://github.com/kivy/buildozer/pull/398) ([FermiParadox](https://github.com/FermiParadox))
+- Add p4a.local\_recipes to buildozer.spec to specify a local recipe dir… [\#385](https://github.com/kivy/buildozer/pull/385) ([cidermole](https://github.com/cidermole))
+- Always pass required args to p4a in android\_new [\#375](https://github.com/kivy/buildozer/pull/375) ([inclement](https://github.com/inclement))
+- Changed p4a command order to work with argparse [\#374](https://github.com/kivy/buildozer/pull/374) ([inclement](https://github.com/inclement))
+- buildozer has no attribute builddir [\#351](https://github.com/kivy/buildozer/pull/351) ([nilutz](https://github.com/nilutz))
+- throw error early if running in venv [\#346](https://github.com/kivy/buildozer/pull/346) ([kived](https://github.com/kived))
+- allow selection of bootstrap for android\_new [\#342](https://github.com/kivy/buildozer/pull/342) ([kived](https://github.com/kived))
+- bump version to 0.33dev [\#340](https://github.com/kivy/buildozer/pull/340) ([kived](https://github.com/kived))
+- trying to fix Kivy install for OS X builds [\#316](https://github.com/kivy/buildozer/pull/316) ([derPinguin](https://github.com/derPinguin))
+- update installation info [\#256](https://github.com/kivy/buildozer/pull/256) ([kiok46](https://github.com/kiok46))
+
## [v0.32](https://github.com/kivy/buildozer/tree/v0.32) (2016-05-09)
[Full Changelog](https://github.com/kivy/buildozer/compare/v0.31...v0.32)
-- Added `source.include_patterns` app option
-- Added `android_new` target to use the python-for-android revamp toolchain
-- Added `build_dir` and `bin_dir` buildozer options
-- Stopped using pip `--download-cache` flag, as it has been removed from recent pip versions
-- Always use ios-deploy 1.7.0 - newer versions are completely different
-- Fix bugs with Unicode app titles
-- Fix bugs with directory handling
-- Support using a custom kivy-ios dir
-- Add `adb` command to android/android_new targets
-- Disable bitcode on iOS builds (needed for newer Xcode)
-- Fix `api`/`minapi` values for android target
-- Use kivy-ios to build icons for all supported sizes
-- Fix p4a branch handling
-- Let p4a handle pure-Python packages (android_new)
-- Use colored output in p4a (android_new)
+**Closed issues:**
+
+- When is the support coming to build windows .exe using buildozer? [\#333](https://github.com/kivy/buildozer/issues/333)
+- outdated openssl [\#332](https://github.com/kivy/buildozer/issues/332)
+- ios deployment fails \(buildozer --verbose ios debug deploy\) [\#330](https://github.com/kivy/buildozer/issues/330)
+- Can't add uuid pytz datetime time dbf to requirements [\#329](https://github.com/kivy/buildozer/issues/329)
+- AttributeError: 'NoneType' object has no attribute 'startswith' [\#326](https://github.com/kivy/buildozer/issues/326)
+- android.p4a\_dir use old toolchain? [\#325](https://github.com/kivy/buildozer/issues/325)
+- Switch from pygame to sdl2 easily [\#313](https://github.com/kivy/buildozer/issues/313)
+- IOError: \[Errno 2\] No such file or directory: "/home/andrew/CODE/Python/kivy-test-android/.buildozer/android/platform/python-for-android/dist/helloworld/bin/HelloWorld-'1.0'-debug.apk" [\#312](https://github.com/kivy/buildozer/issues/312)
+- Marshmallow sdk not found [\#310](https://github.com/kivy/buildozer/issues/310)
+- Install Buildozer: Finished processing dependencies for buildozer==0.32dev [\#304](https://github.com/kivy/buildozer/issues/304)
+- Bump default min SDK to 13: Fix crash on orientation change bug [\#302](https://github.com/kivy/buildozer/issues/302)
+- Disable "Open with file manager" when USB cable is connected in virtual machine [\#299](https://github.com/kivy/buildozer/issues/299)
+- Check presence of main.py during build time [\#298](https://github.com/kivy/buildozer/issues/298)
+- Py3: 'Buildozer' object has no attribute 'critical' [\#297](https://github.com/kivy/buildozer/issues/297)
+- The splash screen isn't automatically resized [\#292](https://github.com/kivy/buildozer/issues/292)
+- buildozer don't work if whitespace in path [\#287](https://github.com/kivy/buildozer/issues/287)
+- buildozer help fail [\#285](https://github.com/kivy/buildozer/issues/285)
+- Buildozer.spec 's title of your application can not be a Chinese character [\#284](https://github.com/kivy/buildozer/issues/284)
+- How to build apk with a cython file [\#283](https://github.com/kivy/buildozer/issues/283)
+- pip no longer has a --download-cache option, so downloading requirements has stopped working [\#279](https://github.com/kivy/buildozer/issues/279)
+- Cython2 not recognized in Fedora23 ? [\#278](https://github.com/kivy/buildozer/issues/278)
+- Buildozer VIrtual Machine Error: /jni/application/src/': Not a directory [\#277](https://github.com/kivy/buildozer/issues/277)
+- buildozer android debug deploy run hangs [\#275](https://github.com/kivy/buildozer/issues/275)
+- Is it possible to move the .buildozer folder somewhere else? [\#273](https://github.com/kivy/buildozer/issues/273)
+- configure: error: C compiler cannot create executables [\#272](https://github.com/kivy/buildozer/issues/272)
+- buildozer deploy error [\#271](https://github.com/kivy/buildozer/issues/271)
+- Cannot set Android API version [\#268](https://github.com/kivy/buildozer/issues/268)
+- Support python3 [\#265](https://github.com/kivy/buildozer/issues/265)
+- App crash when changing orientation [\#264](https://github.com/kivy/buildozer/issues/264)
+- Broken update command [\#261](https://github.com/kivy/buildozer/issues/261)
+- error while deploying android [\#257](https://github.com/kivy/buildozer/issues/257)
+- jnius/jnius.c: No such file or directory [\#251](https://github.com/kivy/buildozer/issues/251)
+- Implement source.include\_patterns [\#245](https://github.com/kivy/buildozer/issues/245)
+- Buildozer Python 3 Compatability Issues [\#175](https://github.com/kivy/buildozer/issues/175)
+
+**Merged pull requests:**
+
+- prepare for release 0.32 [\#339](https://github.com/kivy/buildozer/pull/339) ([kived](https://github.com/kived))
+- use p4a --color argument [\#338](https://github.com/kivy/buildozer/pull/338) ([kived](https://github.com/kived))
+- fix changing android branch [\#337](https://github.com/kivy/buildozer/pull/337) ([kived](https://github.com/kived))
+- use cp -a not cp -r [\#336](https://github.com/kivy/buildozer/pull/336) ([akshayaurora](https://github.com/akshayaurora))
+- improve build directory handling, add values to default.spec [\#335](https://github.com/kivy/buildozer/pull/335) ([kived](https://github.com/kived))
+- fix incorrect api/minapi values [\#334](https://github.com/kivy/buildozer/pull/334) ([kived](https://github.com/kived))
+- fix bad placement of expanduser\(\) [\#328](https://github.com/kivy/buildozer/pull/328) ([kived](https://github.com/kived))
+- use custom source dirs for android\_new [\#324](https://github.com/kivy/buildozer/pull/324) ([kived](https://github.com/kived))
+- use p4a revamp --storage-dir option [\#323](https://github.com/kivy/buildozer/pull/323) ([kived](https://github.com/kived))
+- add adb and p4a commands to android/android\_new [\#322](https://github.com/kivy/buildozer/pull/322) ([kived](https://github.com/kived))
+- fix py3 str has no decode issue [\#321](https://github.com/kivy/buildozer/pull/321) ([kived](https://github.com/kived))
+- let p4a revamp handle pure python requirements [\#320](https://github.com/kivy/buildozer/pull/320) ([kived](https://github.com/kived))
+- fix icons for ios target [\#319](https://github.com/kivy/buildozer/pull/319) ([kived](https://github.com/kived))
+- support using custom kivy-ios source dir [\#318](https://github.com/kivy/buildozer/pull/318) ([kived](https://github.com/kived))
+- disable bitcode for ios target [\#317](https://github.com/kivy/buildozer/pull/317) ([kived](https://github.com/kived))
+- Add window option for target android\_new [\#315](https://github.com/kivy/buildozer/pull/315) ([pythonic64](https://github.com/pythonic64))
+- fix usage exception [\#311](https://github.com/kivy/buildozer/pull/311) ([kived](https://github.com/kived))
+- add python3 compatibility to verbose output for android build \(\#221\) [\#303](https://github.com/kivy/buildozer/pull/303) ([pohmelie](https://github.com/pohmelie))
+- Allow app title to contain Unicode characters [\#293](https://github.com/kivy/buildozer/pull/293) ([udiboy1209](https://github.com/udiboy1209))
+- use ios-deploy version 1.7.0 [\#291](https://github.com/kivy/buildozer/pull/291) ([cbenhagen](https://github.com/cbenhagen))
+- Add spec option to skip automated update of installed android package [\#290](https://github.com/kivy/buildozer/pull/290) ([pastcompute](https://github.com/pastcompute))
+- Fix issues with android.p4a\_dir spec file property [\#288](https://github.com/kivy/buildozer/pull/288) ([pastcompute](https://github.com/pastcompute))
+- Remove pip --download-cache flag \(fixes \#279\) [\#282](https://github.com/kivy/buildozer/pull/282) ([cbenhagen](https://github.com/cbenhagen))
+- put bin/ in builddir if specified in buildozer.spec [\#274](https://github.com/kivy/buildozer/pull/274) ([jabbalaci](https://github.com/jabbalaci))
+- Implement source.include\_patterns [\#269](https://github.com/kivy/buildozer/pull/269) ([udiboy1209](https://github.com/udiboy1209))
+- Updated Licence Year [\#266](https://github.com/kivy/buildozer/pull/266) ([CodeMaxx](https://github.com/CodeMaxx))
+- fix android.branch option [\#250](https://github.com/kivy/buildozer/pull/250) ([tshirtman](https://github.com/tshirtman))
## [v0.31](https://github.com/kivy/buildozer/tree/v0.31) (2016-01-07)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.30...v0.31)
@@ -369,4 +548,4 @@
## [0.2](https://github.com/kivy/buildozer/tree/0.2) (2012-12-20)
-\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
+\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
\ No newline at end of file
From 92ef490f6375247749da8622fe870e5d06402b1d Mon Sep 17 00:00:00 2001
From: Shivani Bhardwaj
Date: Thu, 18 May 2017 18:37:16 +0530
Subject: [PATCH 26/27] Use dmg instead of 7z
---
buildozer/targets/osx.py | 23 +++++------------------
1 file changed, 5 insertions(+), 18 deletions(-)
diff --git a/buildozer/targets/osx.py b/buildozer/targets/osx.py
index 121b765..66caf02 100644
--- a/buildozer/targets/osx.py
+++ b/buildozer/targets/osx.py
@@ -58,30 +58,17 @@ class TargetOSX(Target):
'Kivy.app'), cwd=cwd)
else:
- if not exists(join(cwd, 'Kivy{}.7z'.format(py_branch))):
+ if not exists(join(cwd, 'Kivy{}.dmg'.format(py_branch))):
self.buildozer.info('Downloading kivy...')
check_call(
- ('curl', '-L', '-o', 'Kivy{}.7z'.format(py_branch),
- 'http://kivy.org/downloads/{}/Kivy-{}-osx-python{}.7z'\
+ ('curl', '-L', '-o', 'Kivy{}.dmg'.format(py_branch),
+ 'http://kivy.org/downloads/{}/Kivy-{}-osx-python{}.dmg'\
.format(current_kivy_vers, current_kivy_vers, py_branch)),
cwd=cwd)
- if not exists(join(cwd, 'Keka.app')):
- self.buildozer.info(
- 'Downloading Keka as dependency (to install Kivy)')
- check_call(
- ('curl', '-O', 'http://www.kekaosx.com/release/Keka-1.0.8.dmg'),
- cwd=cwd)
- check_call(('hdiutil', 'attach', 'Keka-1.0.8.dmg'), cwd=cwd)
- check_call(('cp', '-a','/Volumes/Keka/Keka.app', './Keka.app'), cwd=cwd)
- check_call(('hdiutil', 'detach', '/Volumes/Keka'))
-
self.buildozer.info('Extracting and installing Kivy...')
- check_call(
- (join(cwd, 'Keka.app/Contents/MacOS/Keka'),
- join(cwd, 'Kivy{}.7z').format(py_branch)), cwd=cwd)
- check_call(('rm', 'Kivy{}.7z'.format(py_branch)), cwd=cwd)
- check_call(('mv', 'Kivy{}.app'.format(py_branch), 'Kivy.app'),cwd=cwd)
+ check_call(('hdiutil', 'attach', cwd + '/Kivy{}.dmg'.format(py_branch)))
+ check_call(('cp', '-a', '/Volumes/Kivy/Kivy.app', './Kivy.app'), cwd=cwd)
def ensure_kivyapp(self):
self.buildozer.info('check if Kivy.app exists in local dir')
From 8f3f1bc3e92f78adc1319f0e97b8003c9c932c39 Mon Sep 17 00:00:00 2001
From: Peter Badida
Date: Fri, 11 Aug 2017 21:39:18 +0200
Subject: [PATCH 27/27] Update copyright year
---
LICENSE | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/LICENSE b/LICENSE
index 5915a74..d5d6b13 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2010-2016 Kivy Team and other contributors
+Copyright (c) 2010-2017 Kivy Team and other contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal