blob: 40c2419082726ad240b2ee3fe9d668681b8b5211 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
#
# Copyright (C) 2008-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=micropython
PKG_VERSION:=1.27.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/micropython/micropython/releases/download/v$(PKG_VERSION)
PKG_HASH:=9874b20646c3bbe81d524f779a16875e5d088b7065e175ffd2aa2a02f50573c9
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:micropython:micropython
PKG_BUILD_DEPENDS:=python3/host
PKG_BUILD_FLAGS:=no-mips16 no-mold
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
define Package/micropython/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=MicroPython
URL:=https://micropython.org
DEPENDS:=+libffi
PROVIDES:=micropython
endef
define Package/micropython-mbedtls
$(call Package/micropython/Default)
TITLE+= (mbedtls)
DEPENDS+= +PACKAGE_micropython-mbedtls:libmbedtls
CONFLICTS:=micropython-nossl
VARIANT:=mbedtls
DEFAULT_VARIANT:=1
endef
define Package/micropython-nossl
$(call Package/micropython/Default)
TITLE+= (nossl)
VARIANT:=nossl
endef
define Package/micropython/Default/description
MicroPython is a lean and efficient implementation of the Python 3
programming language that includes a small subset of the Python standard
library and is optimised to run on microcontrollers and in constrained
environments.
endef
define Package/micropython-mbedtls/description
$(call Package/micropython/Default/description)
This version uses the Mbed TLS library.
endef
define Package/micropython-nossl/description
$(call Package/micropython/Default/description)
This version is built without TLS and mip.
endef
MAKE_FLAGS += BUILD_VERBOSE=1 STRIP=
ifneq ($(CONFIG_DEBUG),)
MAKE_FLAGS += DEBUG=1
endif
ifeq ($(BUILD_VARIANT),nossl)
MAKE_FLAGS += MICROPY_PY_SSL=0 FROZEN_MANIFEST=variants/standard/manifest-nossl.py
endif
# Work around "variable might be clobbered" warning leading to build error
# https://github.com/micropython/micropython/issues/12838
ifeq ($(ARCH),riscv64)
MAKE_FLAGS += CFLAGS_EXTRA=-Wno-error=clobbered
endif
TARGET_CFLAGS += \
-DMBEDTLS_CONFIG_FILE=\\\"mbedtls/build_info.h\\\"
# FIXME: remove this asap; this fixes some build issues with mbedtls from OpenWrt
TARGET_CFLAGS += \
-Wno-error=implicit-function-declaration
MAKE_PATH = ports/unix
define Build/Configure
+$(HOST_MAKE_VARS) \
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/mpy-cross \
$(HOST_MAKE_FLAGS) BUILD_VERBOSE=1
endef
define Build/InstallDev
$(INSTALL_DIR) $(2)/lib/micropython/mpy-cross
$(CP) \
$(PKG_BUILD_DIR)/mpy-cross/mpy_cross \
$(2)/lib/micropython/mpy-cross/
$(INSTALL_DIR) $(2)/lib/micropython/mpy-cross/build
$(INSTALL_BIN) \
$(PKG_BUILD_DIR)/mpy-cross/build/mpy-cross \
$(2)/lib/micropython/mpy-cross/build/
$(INSTALL_DIR) $(2)/lib/micropython/tools
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/tools/manifestfile.py \
$(2)/lib/micropython/tools/
endef
define Package/micropython/Default/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ports/unix/build-standard/micropython $(1)/usr/bin/
endef
Package/micropython-mbedtls/install = $(Package/micropython/Default/install)
Package/micropython-nossl/install = $(Package/micropython/Default/install)
$(eval $(call BuildPackage,micropython-mbedtls))
$(eval $(call BuildPackage,micropython-nossl))
|