micropython: Update to 1.21.0, refresh/redo patches

Removed 050-py-stackctrl-fix-gcc-13.patch as it has been merged in the
new version.

This also:

* Add STRIP= (empty value) to skip micropython's stripping step, letting
  the OpenWrt build system control stripping.

* Add a workaround for "variable might be clobbered" warning leading to
  build error on riscv64
  (https://github.com/micropython/micropython/issues/12838).

* Change Build/InstallDev to install host tools into an unversioned
  directory, and update micropython-lib to use the unversioned path.
  There is no need to keep available multiple versions of the host
  tools.

* Add a test.sh script for the packages feed CI.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
Jeffery To 2023-10-15 22:16:44 +08:00 committed by Rosen Penev
parent dc52f47abb
commit db9202ccc5
7 changed files with 29 additions and 48 deletions

View File

@ -24,7 +24,6 @@ PKG_BUILD_DEPENDS:=python3/host
PKG_BUILD_PARALLEL:=1
# keep in sync with micropython
MP_VERSION:=1.20.0
MP_MPY_FILE_VERSION:=6
include $(INCLUDE_DIR)/package.mk
@ -88,7 +87,7 @@ This contains source files for packages specific to the MicroPython Unix
port.
endef
MP_INSTALLDEV_PATH:=$(STAGING_DIR)/host/lib/micropython-$(MP_VERSION)
MP_INSTALLDEV_PATH:=$(STAGING_DIR)/host/lib/micropython
define MicroPythonLib/Compile
cd "$(PKG_BUILD_DIR)" && python3 tools/build.py \

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=micropython
PKG_VERSION:=1.20.0
PKG_VERSION:=1.21.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:=098ef8e40abdc62551b5460d0ffe9489074240c0cb5589ca3c3a425551beb9bf
PKG_HASH:=abd2152613559d3f44728668346e78be9d93458133a03b700baf222c322fd4d5
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=MIT
@ -70,14 +70,20 @@ $(call Package/micropython/Default/description)
This version is built without TLS and mip.
endef
MAKE_FLAGS += BUILD_VERBOSE=1
MAKE_FLAGS += BUILD_VERBOSE=1 STRIP=
ifneq ($(CONFIG_DEBUG),)
MAKE_FLAGS += DEBUG=1
endif
ifeq ($(BUILD_VARIANT),nossl)
MAKE_FLAGS += MICROPY_PY_USSL=0 FROZEN_MANIFEST=variants/standard/manifest-nossl.py
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
MAKE_PATH = ports/unix
@ -89,20 +95,20 @@ define Build/Configure
endef
define Build/InstallDev
$(INSTALL_DIR) $(2)/lib/micropython-$(PKG_VERSION)/mpy-cross
$(INSTALL_DIR) $(2)/lib/micropython/mpy-cross
$(CP) \
$(PKG_BUILD_DIR)/mpy-cross/mpy_cross \
$(2)/lib/micropython-$(PKG_VERSION)/mpy-cross/
$(2)/lib/micropython/mpy-cross/
$(INSTALL_DIR) $(2)/lib/micropython-$(PKG_VERSION)/mpy-cross/build
$(INSTALL_DIR) $(2)/lib/micropython/mpy-cross/build
$(INSTALL_BIN) \
$(PKG_BUILD_DIR)/mpy-cross/build/mpy-cross \
$(2)/lib/micropython-$(PKG_VERSION)/mpy-cross/build/
$(2)/lib/micropython/mpy-cross/build/
$(INSTALL_DIR) $(2)/lib/micropython-$(PKG_VERSION)/tools
$(INSTALL_DIR) $(2)/lib/micropython/tools
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/tools/manifestfile.py \
$(2)/lib/micropython-$(PKG_VERSION)/tools/
$(2)/lib/micropython/tools/
endef
define Package/micropython/Default/install

View File

@ -1,7 +1,7 @@
--- a/ports/unix/Makefile
+++ b/ports/unix/Makefile
@@ -31,7 +31,7 @@ QSTR_DEFS = qstrdefsport.h
QSTR_GLOBAL_DEPENDENCIES = $(VARIANT_DIR)/mpconfigvariant.h
@@ -31,7 +31,7 @@ QSTR_DEFS += qstrdefsport.h
QSTR_GLOBAL_DEPENDENCIES += $(VARIANT_DIR)/mpconfigvariant.h
# OS name, for simple autoconfig
-UNAME_S := $(shell uname -s)

View File

@ -9,7 +9,7 @@ Subject: [PATCH 06/10] extmod: Use system mbedtls
--- a/extmod/extmod.mk
+++ b/extmod/extmod.mk
@@ -131,84 +131,8 @@ SRC_THIRDPARTY_C += $(addprefix $(AXTLS_
@@ -131,85 +131,8 @@ SRC_THIRDPARTY_C += $(addprefix $(AXTLS_
crypto/sha1.c \
)
else ifeq ($(MICROPY_SSL_MBEDTLS),1)
@ -54,7 +54,6 @@ Subject: [PATCH 06/10] extmod: Use system mbedtls
- md4.c \
- md5.c \
- md.c \
- md_wrap.c \
- oid.c \
- padlock.c \
- pem.c \
@ -79,9 +78,11 @@ Subject: [PATCH 06/10] extmod: Use system mbedtls
- ssl_cli.c \
- ssl_cookie.c \
- ssl_srv.c \
- ssl_msg.c \
- ssl_ticket.c \
- ssl_tls.c \
- timing.c \
- constant_time.c \
- x509.c \
- x509_create.c \
- x509_crl.c \

View File

@ -1,31 +0,0 @@
From f1c6cb7725960487195daa5c5c196fd8d3563811 Mon Sep 17 00:00:00 2001
From: Damien George <damien@micropython.org>
Date: Wed, 3 May 2023 15:23:24 +1000
Subject: [PATCH] py/stackctrl: Add gcc pragmas to ignore dangling-pointer
warning.
This warning became apparent in gcc 13.
Signed-off-by: Damien George <damien@micropython.org>
---
py/stackctrl.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/py/stackctrl.c
+++ b/py/stackctrl.c
@@ -28,8 +28,15 @@
#include "py/stackctrl.h"
void mp_stack_ctrl_init(void) {
+ #if __GNUC__ >= 13
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wdangling-pointer"
+ #endif
volatile int stack_dummy;
MP_STATE_THREAD(stack_top) = (char *)&stack_dummy;
+ #if __GNUC__ >= 13
+ #pragma GCC diagnostic pop
+ #endif
}
void mp_stack_set_top(void *top) {

View File

@ -1 +1 @@
include("$(MPY_DIR)/extmod/uasyncio")
include("$(MPY_DIR)/extmod/asyncio")

View File

@ -0,0 +1,6 @@
#!/bin/sh
nl="
"
micropython -c "import sys${nl}print(sys.version)" | grep -F " MicroPython v${PKG_VERSION} "