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:
33
fix-aarch64-builds.patch
Normal file
33
fix-aarch64-builds.patch
Normal 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
|
||||
|
||||
@@ -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
3
micropython-1.14.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:97306156fdeab120a1244626c75a929bb820722afdfc1317dbd5dadef388d94c
|
||||
size 56801160
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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,17 +38,14 @@ 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}
|
||||
@@ -56,16 +55,14 @@ install -t %{buildroot}%{_bindir} ports/unix/micropython
|
||||
# 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user