14
0
forked from pool/micropython

Accepting request 886258 from home:musfay:branches:devel:languages:python

- Add patch fix-aarch64-builds.patch
- 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

OBS-URL: https://build.opensuse.org/request/show/886258
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/micropython?expand=0&rev=2
This commit is contained in:
2021-04-17 13:27:37 +00:00
committed by Git OBS Bridge
parent f8ec2702f5
commit 714d193d7c
5 changed files with 73 additions and 20 deletions

33
fix-aarch64-builds.patch Normal file
View File

@@ -0,0 +1,33 @@
From: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
Date: Tue, 30 Mar 2021 20:08:11 +0200
Subject: [PATCH] unix/main: Make static variable that's potentially clobbered
by longjmp.
This fixes `error: variable 'subpkg_tried' might be clobbered by 'longjmp'
or 'vfork' [-Werror=clobbered]` when compiling on ppc64le and aarch64 (and
possibly other architectures/toolchains).
---
ports/unix/main.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/ports/unix/main.c b/ports/unix/main.c
index 129c6d3bb..e33c1742d 100644
--- a/ports/unix/main.c
+++ b/ports/unix/main.c
@@ -596,7 +596,12 @@ MP_NOINLINE int main_(int argc, char **argv) {
mp_obj_t mod;
nlr_buf_t nlr;
- bool subpkg_tried = false;
+
+ // Allocating subpkg_tried on the stack can lead to compiler warnings about this
+ // variable being clobbered when nlr is implemented using setjmp/longjmp. Its
+ // value must be preserved across calls to setjmp/longjmp.
+ static bool subpkg_tried;
+ subpkg_tried = false;
reimport:
if (nlr_push(&nlr) == 0) {
--
2.31.1

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fb5434ec1fd2f7d06733696b020a992e69005532bcb97a9b4158ec1fffbc9c1e
size 56099500

3
micropython-1.14.tar.xz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:97306156fdeab120a1244626c75a929bb820722afdfc1317dbd5dadef388d94c
size 56801160

View File

@@ -1,3 +1,26 @@
-------------------------------------------------------------------
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>

View File

@@ -15,19 +15,21 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: micropython
Version: 1.13
Version: 1.14
Release: 0
Summary: Implementation of Python 3 with very low memory footprint
License: MIT
Group: Development/Languages/Python
Url: https://micropython.org/
URL: https://micropython.org/
Source: https://micropython.org/resources/source/%{name}-%{version}.tar.xz
Patch: fix-aarch64-builds.patch
BuildRequires: openssl
BuildRequires: python
BuildRequires: python3
BuildRequires: readline-devel
BuildRequires: pkgconfig(libffi)
BuildRequires: python3
BuildRequires: python
BuildRequires: openssl
Recommends: micropython-lib
ExcludeArch: %{ix86} %{arm}
@@ -36,36 +38,31 @@ A lean and efficient Python implementation for microcontrollers and constrained
%prep
%setup -q
%patch -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
pushd mpy-cross
%make_build
popd
pushd ports/unix
%make_build micropython
popd
%make_build -C mpy-cross
%make_build -C ports/unix micropython
%install
install -d %{buildroot}%{_bindir}
install -t %{buildroot}%{_bindir} ports/unix/micropython
install -t %{buildroot}%{_bindir} ports/unix/micropython
%ifnarch aarch64
# aarch64: 2 tests failed: float_parse float_parse_doubleprec
# https://github.com/micropython/micropython/issues/4176
%check
pushd ports/unix
export MICROPY_CPYTHON3=python3
make PYTHON=%{__python3} V=1 test
popd
make -C ports/unix PYTHON=%{__python3} V=1 test
%endif
%files
%defattr(-,root,root)
%doc LICENSE
%license LICENSE
%doc docs/unix/*
%{_bindir}/micropython
%changelog