Commit 9646e80f authored by Chris Packham's avatar Chris Packham Committed by Thomas Petazzoni
Browse files

micropython: new package



Micro Python is a lean and fast implementation of the Python 3
programming language that is optimised to run on a microcontroller.

[Thomas: fix minor typo in Config.in noticed by Vicente.]

Signed-off-by: default avatarChris Packham <judge.packham@gmail.com>
Reviewed-by: default avatarVicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: default avatarVicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 1fc839e4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -509,6 +509,7 @@ menu "Lua libraries/modules"
endmenu
endif
	source "package/lutok/Config.in"
	source "package/micropython/Config.in"
	source "package/moarvm/Config.in"
	source "package/mono/Config.in"
if BR2_PACKAGE_MONO
+22 −0
Original line number Diff line number Diff line
Always use the fallback behaviour for determining the version number

When built from within buildroot the micropython build process detects
that it is inside a git repository and ends up using the buildroot
version number instead of the correct micropython version number.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
---
diff -Naur micropython-v1.4.5-old/py/makeversionhdr.py micropython-v1.4.5/py/makeversionhdr.py
--- micropython-v1.4.5-old/py/makeversionhdr.py	2015-08-12 00:42:30.000000000 +1200
+++ micropython-v1.4.5/py/makeversionhdr.py	2015-09-16 10:21:06.698962836 +1200
@@ -70,9 +70,7 @@
 
 def make_version_header(filename):
     # Get version info using git, with fallback to docs/conf.py
-    info = get_version_info_from_git()
-    if info is None:
-        info = get_version_info_from_docs_conf()
+    info = get_version_info_from_docs_conf()
 
     git_tag, git_hash, ver = info
 
+12 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_MICROPYTHON
	bool "micropython"
	select BR2_PACKAGE_LIBFFI
	depends on BR2_TOOLCHAIN_HAS_THREADS
	help
	  Micro Python is a lean and fast implementation of the Python 3
	  programming language that is optimised to run on a microcontroller.

	  http://micropython.org

comment "micropython needs a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS
+32 −0
Original line number Diff line number Diff line
################################################################################
#
# micropython
#
################################################################################

MICROPYTHON_VERSION = v1.4.5
MICROPYTHON_SITE = $(call github,micropython,micropython,$(MICROPYTHON_VERSION))
MICROPYTHON_LICENSE = MIT
MICROPYTHON_LICENSE_FILES = LICENSE
MICROPYTHON_DEPENDENCIES = host-pkgconf libffi

# Use fallback implementation for exception handling on architectures that don't
# have explicit support.
ifeq ($(BR2_powerpc),y)
MICROPYTHON_CFLAGS = -DMICROPY_GCREGS_SETJMP=1
endif

define MICROPYTHON_BUILD_CMDS
	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/unix \
		CROSS_COMPILE=$(TARGET_CROSS) \
		CFLAGS_EXTRA=$(MICROPYTHON_CFLAGS)
endef

define MICROPYTHON_INSTALL_TARGET_CMDS
	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/unix \
		DESTDIR=$(TARGET_DIR) \
		PREFIX=$(TARGET_DIR)/usr \
		install
endef

$(eval $(generic-package))