forked from pool/micropython
- Version 1.26.0
* Added machine.I2CTarget for creating I2C target devices on multiple ports. * New MCU support: STM32N6xx (800 MHz, ML accel) & ESP32-C2 (WiFi + BLE). * Major float accuracy boost (~28% → ~98%), constant folding in compiler. * Optimized native/Viper emitters; reduced heap use for slices. * Time functions standardized (1970–2099); new boards across ESP32, SAMD, STM32, Zephyr. * ESP32: ESP-IDF 5.4.2, flash auto-detect, PCNT class, LAN8670 PHY. * RP2: compressed errors, better lightsleep, hard IRQ timers. * Zephyr v4.0.0: PWM, SoftI2C/SPI, BLE runtime services, boot.py/main.py support. * mpremote adds fs tree, improved df, portable config paths. * Updated lwIP, LittleFS, libhydrogen, stm32lib; expanded hardware/CI tests. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/micropython?expand=0&rev=53
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
||||
46
fix_re_sub_test_on_python3.13.patch
Normal file
46
fix_re_sub_test_on_python3.13.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
From e73cf71a246ee456aac0f4d16167e0856846db6b Mon Sep 17 00:00:00 2001
|
||||
From: Alessandro Gatti <a.gatti@frob.it>
|
||||
Date: Sat, 4 Jan 2025 15:00:28 +0100
|
||||
Subject: [PATCH] tests/extmod/re_sub.py: Fix test execution on Python 3.13.
|
||||
|
||||
This commit fixes a test failure for `extmod/re_sub.py` where the code,
|
||||
whilst being correct, would not make the test pass due to a newer
|
||||
Python version than expected.
|
||||
|
||||
On Python 3.13, running `tests/extmod/re_sub.py` would yield a
|
||||
deprecation warning about `re.sub` not providing the match count as a
|
||||
keyword parameter. This warning would be embedded in the expected test
|
||||
result and thus the test would always fail.
|
||||
|
||||
Co-authored-by: stijn <stijn@ignitron.net>
|
||||
Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
|
||||
---
|
||||
tests/extmod/re_sub.py | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/extmod/re_sub.py b/tests/extmod/re_sub.py
|
||||
index 2c7c6c10f1a49..ecaa66d83d8a7 100644
|
||||
--- a/tests/extmod/re_sub.py
|
||||
+++ b/tests/extmod/re_sub.py
|
||||
@@ -10,6 +10,8 @@
|
||||
print("SKIP")
|
||||
raise SystemExit
|
||||
|
||||
+import sys
|
||||
+
|
||||
|
||||
def multiply(m):
|
||||
return str(int(m.group(0)) * 2)
|
||||
@@ -47,7 +49,11 @@ def A():
|
||||
print(re.sub("a", "b", "c"))
|
||||
|
||||
# with maximum substitution count specified
|
||||
-print(re.sub("a", "b", "1a2a3a", 2))
|
||||
+if sys.implementation.name != "micropython":
|
||||
+ # On CPython 3.13 and later the substitution count must be a keyword argument.
|
||||
+ print(re.sub("a", "b", "1a2a3a", count=2))
|
||||
+else:
|
||||
+ print(re.sub("a", "b", "1a2a3a", 2))
|
||||
|
||||
# invalid group
|
||||
try:
|
||||
BIN
micropython-1.22.2.tar.xz
LFS
Normal file
BIN
micropython-1.22.2.tar.xz
LFS
Normal file
Binary file not shown.
BIN
micropython-1.23.0.tar.xz
LFS
Normal file
BIN
micropython-1.23.0.tar.xz
LFS
Normal file
Binary file not shown.
3
micropython-1.24.1.tar.xz
Normal file
3
micropython-1.24.1.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5d624a0b23389134d963b204601db9bc4ca57bfb615d13f13592bc2b5b494c03
|
||||
size 86842340
|
||||
BIN
micropython-1.25.0.tar.xz
LFS
Normal file
BIN
micropython-1.25.0.tar.xz
LFS
Normal file
Binary file not shown.
BIN
micropython-1.26.0.tar.xz
LFS
Normal file
BIN
micropython-1.26.0.tar.xz
LFS
Normal file
Binary file not shown.
231
micropython-gcc15-string-initialization.patch
Normal file
231
micropython-gcc15-string-initialization.patch
Normal file
@@ -0,0 +1,231 @@
|
||||
From 531d4839d44a90447c232d51d1bee0cae45add9a Mon Sep 17 00:00:00 2001
|
||||
From: Angus Gratton <angus@redyak.com.au>
|
||||
Date: Fri, 9 May 2025 13:34:37 +1000
|
||||
Subject: [PATCH 1/3] extmod/moductypes: Refactor string literal as array
|
||||
initializer.
|
||||
|
||||
Avoids the new Wunterminated-string-literal when compiled with gcc 15.1.
|
||||
|
||||
Also split out the duplicate string to a top-level array (probably the
|
||||
duplicate string literal was interned, so unlikely to have any impact.)
|
||||
|
||||
This work was funded through GitHub Sponsors.
|
||||
|
||||
Signed-off-by: Angus Gratton <angus@redyak.com.au>
|
||||
---
|
||||
extmod/moductypes.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/extmod/moductypes.c b/extmod/moductypes.c
|
||||
index bf45797658fa0..54abce79e06fe 100644
|
||||
--- a/extmod/moductypes.c
|
||||
+++ b/extmod/moductypes.c
|
||||
@@ -277,15 +277,18 @@ static mp_obj_t uctypes_struct_sizeof(size_t n_args, const mp_obj_t *args) {
|
||||
}
|
||||
static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(uctypes_struct_sizeof_obj, 1, 2, uctypes_struct_sizeof);
|
||||
|
||||
+static const char type2char[16] = {
|
||||
+ 'B', 'b', 'H', 'h', 'I', 'i', 'Q', 'q',
|
||||
+ '-', '-', '-', '-', '-', '-', 'f', 'd'
|
||||
+};
|
||||
+
|
||||
static inline mp_obj_t get_unaligned(uint val_type, byte *p, int big_endian) {
|
||||
char struct_type = big_endian ? '>' : '<';
|
||||
- static const char type2char[16] = "BbHhIiQq------fd";
|
||||
return mp_binary_get_val(struct_type, type2char[val_type], p, &p);
|
||||
}
|
||||
|
||||
static inline void set_unaligned(uint val_type, byte *p, int big_endian, mp_obj_t val) {
|
||||
char struct_type = big_endian ? '>' : '<';
|
||||
- static const char type2char[16] = "BbHhIiQq------fd";
|
||||
mp_binary_set_val(struct_type, type2char[val_type], val, p, &p);
|
||||
}
|
||||
|
||||
|
||||
From 0398873d8c8096d2054db130efd1fcecba2a426d Mon Sep 17 00:00:00 2001
|
||||
From: Angus Gratton <angus@redyak.com.au>
|
||||
Date: Fri, 9 May 2025 13:36:05 +1000
|
||||
Subject: [PATCH 2/3] py/emitinlinethumb: Refactor string literal as array
|
||||
initializer.
|
||||
|
||||
Avoids the new Wunterminated-string-literal when compiled with gcc 15.1.
|
||||
|
||||
This work was funded through GitHub Sponsors.
|
||||
|
||||
Signed-off-by: Angus Gratton <angus@redyak.com.au>
|
||||
---
|
||||
py/emitinlinethumb.c | 108 +++++++++++++++++++++----------------------
|
||||
1 file changed, 54 insertions(+), 54 deletions(-)
|
||||
|
||||
diff --git a/py/emitinlinethumb.c b/py/emitinlinethumb.c
|
||||
index 7818bb4f46da8..d6596337ae5a6 100644
|
||||
--- a/py/emitinlinethumb.c
|
||||
+++ b/py/emitinlinethumb.c
|
||||
@@ -150,27 +150,27 @@ typedef struct _reg_name_t { byte reg;
|
||||
byte name[3];
|
||||
} reg_name_t;
|
||||
static const reg_name_t reg_name_table[] = {
|
||||
- {0, "r0\0"},
|
||||
- {1, "r1\0"},
|
||||
- {2, "r2\0"},
|
||||
- {3, "r3\0"},
|
||||
- {4, "r4\0"},
|
||||
- {5, "r5\0"},
|
||||
- {6, "r6\0"},
|
||||
- {7, "r7\0"},
|
||||
- {8, "r8\0"},
|
||||
- {9, "r9\0"},
|
||||
- {10, "r10"},
|
||||
- {11, "r11"},
|
||||
- {12, "r12"},
|
||||
- {13, "r13"},
|
||||
- {14, "r14"},
|
||||
- {15, "r15"},
|
||||
- {10, "sl\0"},
|
||||
- {11, "fp\0"},
|
||||
- {13, "sp\0"},
|
||||
- {14, "lr\0"},
|
||||
- {15, "pc\0"},
|
||||
+ {0, {'r', '0' }},
|
||||
+ {1, {'r', '1' }},
|
||||
+ {2, {'r', '2' }},
|
||||
+ {3, {'r', '3' }},
|
||||
+ {4, {'r', '4' }},
|
||||
+ {5, {'r', '5' }},
|
||||
+ {6, {'r', '6' }},
|
||||
+ {7, {'r', '7' }},
|
||||
+ {8, {'r', '8' }},
|
||||
+ {9, {'r', '9' }},
|
||||
+ {10, {'r', '1', '0' }},
|
||||
+ {11, {'r', '1', '1' }},
|
||||
+ {12, {'r', '1', '2' }},
|
||||
+ {13, {'r', '1', '3' }},
|
||||
+ {14, {'r', '1', '4' }},
|
||||
+ {15, {'r', '1', '5' }},
|
||||
+ {10, {'s', 'l' }},
|
||||
+ {11, {'f', 'p' }},
|
||||
+ {13, {'s', 'p' }},
|
||||
+ {14, {'l', 'r' }},
|
||||
+ {15, {'p', 'c' }},
|
||||
};
|
||||
|
||||
#define MAX_SPECIAL_REGISTER_NAME_LENGTH 7
|
||||
@@ -368,20 +368,20 @@ typedef struct _cc_name_t { byte cc;
|
||||
byte name[2];
|
||||
} cc_name_t;
|
||||
static const cc_name_t cc_name_table[] = {
|
||||
- { ASM_THUMB_CC_EQ, "eq" },
|
||||
- { ASM_THUMB_CC_NE, "ne" },
|
||||
- { ASM_THUMB_CC_CS, "cs" },
|
||||
- { ASM_THUMB_CC_CC, "cc" },
|
||||
- { ASM_THUMB_CC_MI, "mi" },
|
||||
- { ASM_THUMB_CC_PL, "pl" },
|
||||
- { ASM_THUMB_CC_VS, "vs" },
|
||||
- { ASM_THUMB_CC_VC, "vc" },
|
||||
- { ASM_THUMB_CC_HI, "hi" },
|
||||
- { ASM_THUMB_CC_LS, "ls" },
|
||||
- { ASM_THUMB_CC_GE, "ge" },
|
||||
- { ASM_THUMB_CC_LT, "lt" },
|
||||
- { ASM_THUMB_CC_GT, "gt" },
|
||||
- { ASM_THUMB_CC_LE, "le" },
|
||||
+ { ASM_THUMB_CC_EQ, { 'e', 'q' }},
|
||||
+ { ASM_THUMB_CC_NE, { 'n', 'e' }},
|
||||
+ { ASM_THUMB_CC_CS, { 'c', 's' }},
|
||||
+ { ASM_THUMB_CC_CC, { 'c', 'c' }},
|
||||
+ { ASM_THUMB_CC_MI, { 'm', 'i' }},
|
||||
+ { ASM_THUMB_CC_PL, { 'p', 'l' }},
|
||||
+ { ASM_THUMB_CC_VS, { 'v', 's' }},
|
||||
+ { ASM_THUMB_CC_VC, { 'v', 'c' }},
|
||||
+ { ASM_THUMB_CC_HI, { 'h', 'i' }},
|
||||
+ { ASM_THUMB_CC_LS, { 'l', 's' }},
|
||||
+ { ASM_THUMB_CC_GE, { 'g', 'e' }},
|
||||
+ { ASM_THUMB_CC_LT, { 'l', 't' }},
|
||||
+ { ASM_THUMB_CC_GT, { 'g', 't' }},
|
||||
+ { ASM_THUMB_CC_LE, { 'l', 'e' }},
|
||||
};
|
||||
|
||||
typedef struct _format_4_op_t { byte op;
|
||||
@@ -389,21 +389,21 @@ typedef struct _format_4_op_t { byte op;
|
||||
} format_4_op_t;
|
||||
#define X(x) (((x) >> 4) & 0xff) // only need 1 byte to distinguish these ops
|
||||
static const format_4_op_t format_4_op_table[] = {
|
||||
- { X(ASM_THUMB_FORMAT_4_EOR), "eor" },
|
||||
- { X(ASM_THUMB_FORMAT_4_LSL), "lsl" },
|
||||
- { X(ASM_THUMB_FORMAT_4_LSR), "lsr" },
|
||||
- { X(ASM_THUMB_FORMAT_4_ASR), "asr" },
|
||||
- { X(ASM_THUMB_FORMAT_4_ADC), "adc" },
|
||||
- { X(ASM_THUMB_FORMAT_4_SBC), "sbc" },
|
||||
- { X(ASM_THUMB_FORMAT_4_ROR), "ror" },
|
||||
- { X(ASM_THUMB_FORMAT_4_TST), "tst" },
|
||||
- { X(ASM_THUMB_FORMAT_4_NEG), "neg" },
|
||||
- { X(ASM_THUMB_FORMAT_4_CMP), "cmp" },
|
||||
- { X(ASM_THUMB_FORMAT_4_CMN), "cmn" },
|
||||
- { X(ASM_THUMB_FORMAT_4_ORR), "orr" },
|
||||
- { X(ASM_THUMB_FORMAT_4_MUL), "mul" },
|
||||
- { X(ASM_THUMB_FORMAT_4_BIC), "bic" },
|
||||
- { X(ASM_THUMB_FORMAT_4_MVN), "mvn" },
|
||||
+ { X(ASM_THUMB_FORMAT_4_EOR), {'e', 'o', 'r' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_LSL), {'l', 's', 'l' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_LSR), {'l', 's', 'r' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_ASR), {'a', 's', 'r' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_ADC), {'a', 'd', 'c' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_SBC), {'s', 'b', 'c' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_ROR), {'r', 'o', 'r' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_TST), {'t', 's', 't' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_NEG), {'n', 'e', 'g' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_CMP), {'c', 'm', 'p' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_CMN), {'c', 'm', 'n' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_ORR), {'o', 'r', 'r' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_MUL), {'m', 'u', 'l' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_BIC), {'b', 'i', 'c' }},
|
||||
+ { X(ASM_THUMB_FORMAT_4_MVN), {'m', 'v', 'n' }},
|
||||
};
|
||||
#undef X
|
||||
|
||||
@@ -428,10 +428,10 @@ typedef struct _format_vfp_op_t {
|
||||
char name[3];
|
||||
} format_vfp_op_t;
|
||||
static const format_vfp_op_t format_vfp_op_table[] = {
|
||||
- { 0x30, "add" },
|
||||
- { 0x34, "sub" },
|
||||
- { 0x20, "mul" },
|
||||
- { 0x80, "div" },
|
||||
+ { 0x30, {'a', 'd', 'd' }},
|
||||
+ { 0x34, {'s', 'u', 'b' }},
|
||||
+ { 0x20, {'m', 'u', 'l' }},
|
||||
+ { 0x80, {'d', 'i', 'v' }},
|
||||
};
|
||||
|
||||
// shorthand alias for whether we allow ARMv7-M instructions
|
||||
|
||||
From bfd5a0350a0d53f52695d373dae6ee367971b145 Mon Sep 17 00:00:00 2001
|
||||
From: Angus Gratton <angus@redyak.com.au>
|
||||
Date: Fri, 9 May 2025 14:34:09 +1000
|
||||
Subject: [PATCH 3/3] lib/littlefs: Fix string initializer in lfs1.c.
|
||||
|
||||
Avoids the new Wunterminated-string-literal when compiled with gcc 15.1.
|
||||
|
||||
It would be preferable to just disable this warning, but Clang
|
||||
-Wunknown-warning-option kicks in even when disabling warnings so this
|
||||
becomes fiddly to apply.
|
||||
|
||||
This work was funded through GitHub Sponsors.
|
||||
|
||||
Signed-off-by: Angus Gratton <angus@redyak.com.au>
|
||||
---
|
||||
lib/littlefs/lfs1.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/littlefs/lfs1.c b/lib/littlefs/lfs1.c
|
||||
index 6a3fd670012cc..ec18dc470258c 100644
|
||||
--- a/lib/littlefs/lfs1.c
|
||||
+++ b/lib/littlefs/lfs1.c
|
||||
@@ -2141,7 +2141,7 @@ int lfs1_format(lfs1_t *lfs1, const struct lfs1_config *cfg) {
|
||||
.d.elen = sizeof(superblock.d) - sizeof(superblock.d.magic) - 4,
|
||||
.d.nlen = sizeof(superblock.d.magic),
|
||||
.d.version = LFS1_DISK_VERSION,
|
||||
- .d.magic = {"littlefs"},
|
||||
+ .d.magic = {'l', 'i', 't', 't', 'l', 'e', 'f', 's'},
|
||||
.d.block_size = lfs1->cfg->block_size,
|
||||
.d.block_count = lfs1->cfg->block_count,
|
||||
.d.root = {lfs1->root[0], lfs1->root[1]},
|
||||
289
micropython.changes
Normal file
289
micropython.changes
Normal file
@@ -0,0 +1,289 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 15 08:13:39 UTC 2025 - Dominik Heidler <dheidler@suse.de>
|
||||
|
||||
- Version 1.26.0
|
||||
* Added machine.I2CTarget for creating I2C target devices on multiple ports.
|
||||
* New MCU support: STM32N6xx (800 MHz, ML accel) & ESP32-C2 (WiFi + BLE).
|
||||
* Major float accuracy boost (~28% → ~98%), constant folding in compiler.
|
||||
* Optimized native/Viper emitters; reduced heap use for slices.
|
||||
* Time functions standardized (1970–2099); new boards across ESP32, SAMD, STM32, Zephyr.
|
||||
* ESP32: ESP-IDF 5.4.2, flash auto-detect, PCNT class, LAN8670 PHY.
|
||||
* RP2: compressed errors, better lightsleep, hard IRQ timers.
|
||||
* Zephyr v4.0.0: PWM, SoftI2C/SPI, BLE runtime services, boot.py/main.py support.
|
||||
* mpremote adds fs tree, improved df, portable config paths.
|
||||
* Updated lwIP, LittleFS, libhydrogen, stm32lib; expanded hardware/CI tests.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 10 20:22:14 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Add micropython-gcc15-string-initialization.patch: Refactor
|
||||
string literal as array initializer
|
||||
(gh#micropython/micropython#17269).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 26 11:53:07 UTC 2025 - Dominik Heidler <dheidler@suse.de>
|
||||
|
||||
- Add script to delete some 3rd party libraries from the src tar
|
||||
that are not needed to build the unix port in order to
|
||||
make the legal review easier
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 16 11:59:42 UTC 2025 - Dominik Heidler <dheidler@suse.de>
|
||||
|
||||
- Update to 1.25.0
|
||||
* Add ROMFS support (see also "mpremote romfs" cmd with "query", "build", and "deploy" sub-commands)
|
||||
ROMFS defines a read-only, memory-mappable, extensible filesystem that can contain arbitrary resources,
|
||||
including precompiled mpy files, and allows executing bytecode directly from the filesystem.
|
||||
This makes importing significantly faster and use a lot less memory.
|
||||
* Inline assembler now supports 32-bit RISC-V assembly code via the newly implemented @micropython.asm_rv32 decorator.
|
||||
* Datagram TLS (DTLS) is now supported by the tls module and enabled on the alif, mimxrt, renesas-ra, rp2, stm32 and unix ports.
|
||||
* mpremote command-line tool now supports recursive remove via the new "rm -r"
|
||||
* mpremote now supports relative URLs in the package.json for installing from the local filesystem
|
||||
* "mpremote mount" has optimised readline support
|
||||
* full support for tuples and start/end arguments in str.startswith() and str.endswith() methods
|
||||
* vfs.mount() with no arguments now returns a list of mounted filesystems
|
||||
* marshal module has been added with dumps() and loads() functions
|
||||
* MicroPython native linker mpy_ld.py now includes support for linking in static libraries automatically
|
||||
* native modules now support 32-bit RISC-V code
|
||||
* force _FILE_OFFSET_BITS=64 to fix 32-bit file ABI
|
||||
* enable VfsRom on standard and coverage variants
|
||||
* use the bare metal mbedTLS config in the coverage buiid
|
||||
* add recursive mutex support
|
||||
* main: add coverage test for mounting ROMFS filesystem at startup
|
||||
- Drop fix_re_sub_test_on_python3.13.patch as not needed anymore
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 17 12:24:36 UTC 2025 - Dominik Heidler <dheidler@suse.de>
|
||||
|
||||
- Add fix_re_sub_test_on_python3.13.patch to fix re_sub test
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 18 11:48:17 UTC 2025 - Dominik Heidler <dheidler@suse.de>
|
||||
|
||||
- Add subpackage mpy-tools which contains mpy-cross and mpy-tool
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 7 10:33:24 UTC 2025 - Dominik Heidler <dheidler@suse.de>
|
||||
|
||||
- Fix build for 15.6
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 5 23:17:33 UTC 2025 - Dominik Heidler <dheidler@suse.de>
|
||||
|
||||
- Build mpremote tool
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 30 19:36:52 UTC 2024 - Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
|
||||
|
||||
- Update to 1.24.1:
|
||||
* https://github.com/micropython/micropython/releases/tag/v1.24.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 29 18:46:03 UTC 2024 - Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
|
||||
|
||||
- Update to 1.24.0:
|
||||
* https://github.com/micropython/micropython/releases/tag/v1.24.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 18 11:48:47 UTC 2024 - Yunus Acar <yunus.acar@suse.com>
|
||||
|
||||
- Update to 1.23.0:
|
||||
* https://github.com/micropython/micropython/releases/tag/v1.23.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 21 09:06:25 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
|
||||
|
||||
- Update to 1.22.2:
|
||||
This is a patch release containing the following commits:
|
||||
- py/compile: fix potential Py-stack overflow in try-finally
|
||||
with return
|
||||
- extmod/asyncio: support gather of tasks that finish early
|
||||
- extmod/modssl_mbedtls: fix cipher iteration in
|
||||
SSLContext.get_ciphers
|
||||
- extmod/btstack: reset pending_value_handle before calling
|
||||
write-done cb
|
||||
- extmod/btstack: reset pending_value_handle before calling
|
||||
read-done cb
|
||||
- esp32/mpnimbleport: release the GIL while doing NimBLE port
|
||||
deinit
|
||||
- esp32: increase NimBLE task stack size and overflow detection
|
||||
headroom
|
||||
- mimxrt/modmachine: fix deepsleep wakeup pin ifdef
|
||||
- renesas-ra/ra: fix SysTick clock source
|
||||
- renesas-ra/boards/ARDUINO_PORTENTA_C33: fix the RTC clock
|
||||
source
|
||||
- renesas-ra/ra/ra_i2c: fix 1 byte and 2 bytes read issue
|
||||
- rp2/rp2_dma: fix fetching 'write' buffers for writing not
|
||||
reading
|
||||
- rp2/machine_uart: fix event wait in uart.flush() and
|
||||
uart.read()
|
||||
- rp2: change machine.I2S and rp2.DMA to use shared DMA IRQ
|
||||
handlers
|
||||
- Update to 1.22.1:
|
||||
- This is a patch release to fix a race condition and potential
|
||||
deadlock in the rp2 port's mp_thread_begin_atomic_section()
|
||||
function, when the second core is in use.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 15 14:54:02 UTC 2024 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
- Build with %optflags
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 8 02:06:11 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 1.22.0:
|
||||
* https://github.com/micropython/micropython/releases/tag/v1.22.0
|
||||
* objslice: validate that the argument to indices() is an integer
|
||||
(CVE-2023-7158, bsc#1218446)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 28 07:09:08 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 1.20.0:
|
||||
* https://github.com/micropython/micropython/releases/tag/v1.20.0
|
||||
- Remove 32572439984e5640c6af46fbe7c27400c30112ce.patch, included.
|
||||
- Disable warning, since it is treated as an error.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 28 14:42:22 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add 32572439984e5640c6af46fbe7c27400c30112ce.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 11 15:17:23 UTC 2022 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
- Suppress stripping of binary
|
||||
- Run tests everywhere with just the problematic ones suppressed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jul 2 06:18:04 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
||||
|
||||
- Update to 1.19.1:
|
||||
* https://github.com/micropython/micropython/releases/tag/v1.19
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 2 20:54:39 UTC 2022 - Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
|
||||
|
||||
- Update to 1.18: full changelog available at
|
||||
https://github.com/micropython/micropython/releases/tag/v1.18
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 16 13:34:06 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- avoid spec-cleaner messing it up
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 24 23:42:55 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Update to 1.17:
|
||||
The release notes are REALLY long, so please go to
|
||||
https://github.com/micropython/micropython/releases/tag/v1.17
|
||||
to read them.
|
||||
- Remove already upstreamed patch fix-uasyncio_heaplock-test.patch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 2 15:11:39 UTC 2021 - Danilo Spinella <danilo.spinella@suse.com>
|
||||
|
||||
- Add fix-uasyncio_heaplock-test.patchto fix uasyncio_heaplock
|
||||
test (originally from gh#micropython/micropython#7449)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 27 14:51:40 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Remove unnecessary dependency on python2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 23 13:42:44 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Update to v1.16:
|
||||
* Full release notes: https://github.com/micropython/micropython/releases/tag/v1.16
|
||||
* New command-line tool called "mpremote"
|
||||
* Unix port updates:
|
||||
- modffi: use a union for passing/returning FFI values
|
||||
- main: increase stack limit on ARM architectures
|
||||
- modffi: fix conversion between Python integers and ffi types
|
||||
- fix build on arm64-darwin due to integer cast
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 7 09:50:45 UTC 2021 - Mustafa Çalışkan <musfay@protonmail.com>
|
||||
|
||||
- Update to version 1.15:
|
||||
* Full release notes: https://github.com/micropython/micropython/releases/tag/v1.15
|
||||
* Unix port updates:
|
||||
- mpbtstackport_common: implement mp_bluetooth_hci_active
|
||||
- moduselect: don't allow both posix and non-posix configurations
|
||||
- improve command line argument processing
|
||||
- main: make static variable that's potentially clobbered by longjm
|
||||
- Remove patch fix-aarch64-builds.patch
|
||||
- Exclude ppc64 and ppc64le as build fails for those architectures
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 17 03:06:16 UTC 2021 - Mustafa Çalışkan <musfay@protonmail.com>
|
||||
|
||||
- Add patch fix-aarch64-builds.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 5 10:11:08 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Update to v1.14:
|
||||
* Full release notes: https://github.com/micropython/micropython/releases/tag/v1.14
|
||||
* Unix port updates:
|
||||
- Makefile: always enable -f*-sections regardless of DEBUG setting
|
||||
- implement BLE H4 HCI UART for btstack/nimble
|
||||
- implement mp_hal_time_ns using gettimeofday
|
||||
- variants: enable MICROPY_DEBUG_PARSE_RULE_NAME on coverage build
|
||||
- mpconfigport.h: enable MICROPY_PY_DELATTR_SETATTR
|
||||
- enable more warnings
|
||||
- support building C++ code
|
||||
- Makefile: move coverage.c and coveragecpp.cpp to coverage variant
|
||||
- handle pending events/scheduler in MICROPY_EVENT_POLL_HOOK
|
||||
- make mp_hal_delay_ms run MICROPY_EVENT_POLL_HOOK
|
||||
- modtime: fix time() precision on unix ports with non-double floats
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 29 10:59:00 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Drop _service file
|
||||
- Exclude %{arm} as lots of tests fail
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 27 10:36:36 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Cleanup package and enable tests
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 6 13:30:02 UTC 2020 - Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
|
||||
|
||||
- Update to 1.13: full changelog available at https://github.com/micropython/micropython/releases/tag/v1.13
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 26 15:28:38 UTC 2019 - Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
|
||||
|
||||
- Update to 1.12: full changelog available at https://github.com/micropython/micropython/releases/tag/v1.12
|
||||
- Build mpy-cross
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 23 12:41:06 UTC 2019 - Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
|
||||
|
||||
- Update to 1.11: full changelog at https://github.com/micropython/micropython/releases/tag/v1.11
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 26 12:54:53 UTC 2019 - Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
|
||||
|
||||
- Update to 1.10: full changelog at https://github.com/micropython/micropython/releases/tag/v1.10
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 6 10:16:28 UTC 2018 - Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
|
||||
|
||||
- Use _service
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 11 21:36:23 UTC 2018 - jaime.marquinez.ferrandiz@fastmail.net
|
||||
|
||||
- Update to 1.9.4: full changelog at https://github.com/micropython/micropython/releases/tag/v1.9.4
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 12 16:03:26 UTC 2018 - jaime.marquinez.ferrandiz@fastmail.net
|
||||
|
||||
- Update to 1.9.3: full changelog at https://github.com/micropython/micropython/releases/tag/v1.9.3
|
||||
134
micropython.spec
Normal file
134
micropython.spec
Normal file
@@ -0,0 +1,134 @@
|
||||
#
|
||||
# spec file for package micropython
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define pythons python3
|
||||
%{?sle15_python_module_pythons}
|
||||
|
||||
Name: micropython
|
||||
Version: 1.26.0
|
||||
Release: 0
|
||||
Summary: Implementation of Python 3 with very low memory footprint
|
||||
License: MIT
|
||||
URL: https://micropython.org/
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
Source1: prepare.sh
|
||||
BuildRequires: openssl
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python3
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: pkgconfig(libffi)
|
||||
|
||||
Recommends: micropython-lib
|
||||
ExcludeArch: %{ix86} %{arm} ppc64 ppc64le
|
||||
|
||||
%package -n mpremote
|
||||
Summary: MicroPython remote control
|
||||
BuildArch: noarch
|
||||
BuildRequires: %{python_module hatch-requirements-txt}
|
||||
BuildRequires: %{python_module hatchling}
|
||||
Requires: python3-pyserial >= 3.3
|
||||
BuildRequires: %{python_module base >= 3.6}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
|
||||
%package -n mpy-tools
|
||||
Summary: Tools for creating and handling precompiled .mpy files for MicroPython
|
||||
Provides: mpy-cross
|
||||
Provides: mpy-tool
|
||||
|
||||
%description
|
||||
A lean and efficient Python implementation for microcontrollers and constrained systems
|
||||
|
||||
%description -n mpremote
|
||||
This CLI tool provides an integrated set of utilities to remotely interact with
|
||||
and automate a MicroPython device over a serial connection.
|
||||
|
||||
%description -n mpy-tools
|
||||
MicroPython tools like the mpy-cross compiler for compiling.py files to .mpy files.
|
||||
Also mpy-tool for inspecting .mpy files.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
sed -i -e "s:/usr/lib/micropython:%{_prefix}/lib/micropython:g" "ports/unix/main.c"
|
||||
|
||||
%define make_flags V=1 MICROPY_PY_BTREE=0 MICROPY_PY_USSL=0
|
||||
|
||||
%build
|
||||
# micropython
|
||||
export CFLAGS="%optflags -Wno-dangling-pointer"
|
||||
%make_build -C mpy-cross
|
||||
%make_build -C ports/unix STRIP=true
|
||||
pushd tools/mpremote
|
||||
# inject version info as there is no git checkout to get tags from
|
||||
echo "VERSION = '%{version}'" > version.py
|
||||
sed -i -e 's/source = "vcs"/path = "version.py"/' pyproject.toml
|
||||
# remove useless shebang lines
|
||||
sed -i -e 's_#!/usr/bin/env python3__' mpremote/{__main__,transport,transport_serial}.py
|
||||
%pyproject_wheel
|
||||
popd
|
||||
|
||||
%install
|
||||
# micropython
|
||||
install -d %{buildroot}%{_bindir}
|
||||
install -t %{buildroot}%{_bindir} ports/unix/build-standard/micropython
|
||||
|
||||
# mpremote
|
||||
pushd tools/mpremote
|
||||
%pyproject_install
|
||||
popd
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
# remove pycache to get rid of rpmlint "W: python-bytecode-inconsistent-mtime" warnings
|
||||
%python_expand rm -rf %{buildroot}%{$python_sitelib}/mpremote/__pycache__
|
||||
|
||||
# mpy-tools
|
||||
install -m755 -D -v mpy-cross/build/mpy-cross %{buildroot}%{_bindir}/mpy-cross
|
||||
install -m755 -D -v tools/mpy-tool.py %{buildroot}%{_bindir}/mpy-tool
|
||||
%python3_fix_shebang
|
||||
|
||||
%check
|
||||
%ifnarch x86_64
|
||||
# 2 tests fail: float_parse float_parse_doubleprec
|
||||
# https://github.com/micropython/micropython/pull/6024
|
||||
rm -f tests/float/float_parse.py
|
||||
rm -f tests/float/float_parse_doubleprec.py
|
||||
%endif
|
||||
export MICROPY_CPYTHON3=python%python_version
|
||||
make -C ports/unix PYTHON=%{_bindir}/python%python_version V=1 test
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc docs/unix/*
|
||||
%{_bindir}/micropython
|
||||
|
||||
%files -n mpremote
|
||||
%license tools/mpremote/LICENSE
|
||||
%doc tools/mpremote/README.md
|
||||
%{_prefix}/lib/python%{python_version}/site-packages/mpremote
|
||||
%{_prefix}/lib/python%{python_version}/site-packages/mpremote-%{version}.dist-info
|
||||
%{_bindir}/mpremote
|
||||
|
||||
%files -n mpy-tools
|
||||
%doc mpy-cross/README.md
|
||||
%license LICENSE
|
||||
%{_bindir}/mpy-cross
|
||||
%{_bindir}/mpy-tool
|
||||
|
||||
%changelog
|
||||
36
prepare.sh
Normal file
36
prepare.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
# this removes some 3rd party libraries from the src tar that are not needed to build the unix port
|
||||
# in order to make the legal review easier
|
||||
|
||||
set -e
|
||||
|
||||
version=$(rpmspec --query micropython.spec | head -1 | cut -d- -f2)
|
||||
|
||||
rm -fv micropython-*.tar.xz
|
||||
wget "https://micropython.org/resources/source/micropython-${version}.tar.xz" -O "micropython-${version}.tar.xz"
|
||||
tar xf "micropython-${version}.tar.xz"
|
||||
pushd "micropython-${version}"
|
||||
rm -rv "lib/fsp"
|
||||
rm -rv "lib/alif-security-toolkit"
|
||||
rm -rv "lib/alif_ensemble-cmsis-dfp"
|
||||
rm -rv "lib/asf4"
|
||||
rm -rv "lib/cyw43-driver"
|
||||
rm -rv "lib/axtls"
|
||||
rm -rv "lib/tinyusb"
|
||||
rm -rv "lib/stm32lib"
|
||||
rm -rv "lib/btstack"
|
||||
rm -rv "lib/pico-sdk"
|
||||
rm -rv "lib/nrfx"
|
||||
rm -rv "lib/lwip"
|
||||
rm -rv "lib/libffi"
|
||||
rm -rv "lib/protobuf-c"
|
||||
rm -rv "lib/nxp_driver"
|
||||
rm -rv "lib/arduino-lib"
|
||||
rm -rv "lib/mynewt-nimble"
|
||||
pushd "ports"
|
||||
find . -maxdepth 1 -type d | grep -v unix | grep -v esp | grep -v rp2 | grep -v minimal | grep -v qemu | grep -v webassembly | xargs rm -rv || :
|
||||
popd
|
||||
popd
|
||||
tar caf "micropython-${version}.tar.xz" "micropython-${version}"
|
||||
rm -r "micropython-${version}"
|
||||
Reference in New Issue
Block a user