4eb7098a1a
As reported by Antoine Coutant on the Buildroot mailing list [1]:
rpds depends on the crate pyo3. This crate uses
"std::sync::atomic::AtomicI64"
which doesn't exist for 32 bits targets.
That leads to an error as reported by Buildroot Gitlab-ci.
An issue have been opened on pyo3's github [2].
A fix have been accepted by pyo3 [3] and merged in pyo3 0.20.3 release
[4]. This pyo3 0.20.3 uses crate portable-atomic [5] to provide atomic
types and compare and swap operations for all targets that can use std.
python-rpds-py 0.18.1 is the first release that use pyo3 0.20.3.
Before python-rpds-py 0.18.1 release fixing this issue would require
that we be able to patch a package during the Cargo vendoring step [6].
[1] http://lists.busybox.net/pipermail/buildroot/2024-February/684867.html
[2]: https://github.com/PyO3/pyo3/issues/3614
[3]: https://github.com/PyO3/pyo3/pull/3619
[4]: https://github.com/PyO3/pyo3/blob/v0.20.3/CHANGELOG.md
[5]: https://github.com/taiki-e/portable-atomic
[6]: http://lists.busybox.net/pipermail/buildroot/2024-February/684886.html
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/6783811842 (TestPythonPy3Dtschema)
https://gitlab.com/buildroot.org/buildroot/-/jobs/6783811860 (TestPythonPy3FlaskExpectsJson)
Reported-by: Antoine Coutant <antoine.coutant@smile.fr>
Cc: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 26b054083d
)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
15 lines
541 B
Makefile
15 lines
541 B
Makefile
################################################################################
|
|
#
|
|
# python-rpds-py
|
|
#
|
|
################################################################################
|
|
|
|
PYTHON_RPDS_PY_VERSION = 0.18.1
|
|
PYTHON_RPDS_PY_SOURCE = rpds_py-$(PYTHON_RPDS_PY_VERSION).tar.gz
|
|
PYTHON_RPDS_PY_SITE = https://files.pythonhosted.org/packages/2d/aa/e7c404bdee1db7be09860dff423d022ffdce9269ec8e6532cce09ee7beea
|
|
PYTHON_RPDS_PY_SETUP_TYPE = maturin
|
|
PYTHON_RPDS_PY_LICENSE = MIT
|
|
PYTHON_RPDS_PY_LICENSE_FILES = LICENSE
|
|
|
|
$(eval $(python-package))
|