Many changes are included with this release, including support for
freethreading builds of CPython 3.13, cleanup of legacy code, and many
other features and bug fixes.
Changelog: https://github.com/cython/cython/blob/master/CHANGES.rst
Patch '0001-Output-import-relative-paths-in-generated-C-code.-GH.patch'
is included in 3.1.0, so we no longer need the backport:
|tgamblin@megalith ~/workspace/git/pythonsrc/cython (master)$ git tag --contains 20bceea6b19ffc2f65b9fba2e4f737f09e5a2b20
|3.1.0
|3.1.0-1
|3.1.0a1
|3.1.0b1
|3.1.0rc1
|3.1.0rc2
Reproducibility looks OK.
(From OE-Core rev: 26a73392524f648015d55bf421a9b1bf5ac0d955)
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
=============
- Rule comments: tell how many spaces are expected
- Rule quoted-strings: Fix only-when-needed on multiline with backslash
- Config: Report if rules is not a dict
- Fix test_codec_built_in_equivalent() test when run with pytest
- CI: Fix TestPyPI "dev0" versions for master commits on tags
- Docs: Add links to GitHub repository and releases
- Docs: Fix GitLab integration example
- Docs: Fix GitLab integration link
- Fix the tests badge link on the README
(From OE-Core rev: b49426b3577546e197c42aa28b5af4a0f3ea1c53)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
=============
- Fix TypeError when taking the union of typing_extensions.TypeAliasType and a
typing.TypeAliasType on Python 3.12 and 3.13.
- Backport from CPython PR #132160 to avoid having user arguments shadowed in
generated __new__ by @typing_extensions.deprecated.
(From OE-Core rev: f01c7ece71f4d9887763ee5062c56d454f88ae3d)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changed
----------
- Update list of supported licenses
Fixed
--------
- Fix an issue where the union of specific inverse or partially inverse markers
was not simplified
- Fix an issue where optional dependencies defined in the project section were
treated as non-optional when a source was defined for them in the tool.poetry
section
- Fix an issue where markers with === were not parsed correctly
- Fix an issue where local versions with upper case letters caused an error
- Fix an issue where extra markers with a value starting with "in" were not
validated correctly
- Fix an issue where inheriting from WheelBuilder was unnecessarily difficult
(From OE-Core rev: ca51448b82abd9333ad2763d52c473cbe876d5c5)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Features & Improvements
------------------------
- New command pdm new that behaves like pdm init but creates a new project.
- Support use --name as project name for command pdm new e.g. pdm new hello --name world
- Support exporting to pylock.toml format as described by PEP 751.
Bug Fixes
---------
- Pass the --quiet option to pdm sync command.
- If a .python-version file is found and it contains multiple lines, the file
will be ignored. The usage of the .python-version file can be disabled, if
configuration value python.use_python_version (or environment variable PDM_USE_PYTHON_VERSION) is False.
- fix pdm config -e command to open read-only file under linux
- Replace project names and import names in both README.md and pyproject.toml when running pdm init <template>.
- Fix a bug that URL dependency hashes are not updated if running pdm lock --update-reuse.
- Install the project when using the BaseSynchronizer with install_self set
to True. This fixes the bug that when calling pdm sync --quiet, it skips
installing the project itself.
- Mark one additional test as requiring network, and fix another one
not to require it anymore.
(From OE-Core rev: 01cacd208c7a3e1fa2923ef346d7a1c65a4005c0)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
============
- Re-add a test for Unicode file name parsing
- Upgrade to ruff 0.9.1
- Add support for PEP 738 Android tags
- feat(markers): support 'extras' and 'dependency_groups' markers
(From OE-Core rev: 1f6a72bf37297a362119375523750544a11a23ea)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
===========
Changed
-------
- DRY fix in abbr extension by introducing method create_element
- Clean up test directory by removing some redundant tests and port non-redundant cases to the newer test framework.
- Improved performance of the raw HTML post-processor
Fixed
---------
- Backslash Unescape IDs set via attr_list on toc
- Ensure md_in_html processes content inside "markdown" blocks as they are parsed outside of "markdown" blocks to keep things more consistent for third-party extensions
- md_in_html handle tags within inline code blocks better
- md_in_html fix handling of one-liner block HTML handling
- Ensure <center> is treated like a block-level element
- Ensure that abbr extension respects AtomicString and does not process perceived abbreviations in these strings
- Ensure smarty extension correctly renders nested closing quotes
(From OE-Core rev: 662d586edb3afed8273ec4910ea1a4c090f8b757)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
- Fix undefined variable errors when strict_undefined=True when using a
nested list comprehension.
(From OE-Core rev: 40a60f0ca45116604430f8b0d1ee4f70e1f9843e)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bugfix:
-Binary wheels use libxml2 2.13.8 and libxslt 1.1.43 to resolve several CVEs.
(Binary wheels for Windows continue to use a patched libxml2 2.11.9 and libxslt 1.1.39.)
(From OE-Core rev: 4e15eededc4c67665c48c0fcdcfa41cfd0d3bf40)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
==========
- $HFPR_PACKAGE_NAME is now replaced by the package name in the PyPI readme.
- Support for Python 3.7.
(From OE-Core rev: 5d3f3f8f9770e81bd7c2d53a1512577792ba4fa2)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since 3.51.0, python3-pygobject depends on libgirepository 2.0 provided
by glib-2.0 instead of libgirepository 1.0 provided by
gobject-introspection[1]. It still needs the typelib files from
libgirepository-1.0 package. Add gobject-introspection as a runtime
dependency.
Fixes:
$ python3
Python 3.13.2 (main, Feb 4 2025, 14:51:09) [GCC 14.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>> from gi.repository import Gtk
Traceback (most recent call last):
File "/usr/lib64/python3.13/site-packages/gi/importer.py", line 139, in create_module
introspection_module = get_introspection_module(namespace)
File "/usr/lib64/python3.13/site-packages/gi/module.py", line 243, in get_introspection_module
module = IntrospectionModule(namespace, version)
File "/usr/lib64/python3.13/site-packages/gi/module.py", line 111, in __init__
repository.require(namespace, version)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
gi.RepositoryError: Typelib file for namespace 'xlib', version '2.0' not found
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<python-input-1>", line 1, in <module>
from gi.repository import Gtk
File "/usr/lib64/python3.13/site-packages/gi/importer.py", line 141, in create_module
raise ImportError(e) from e
ImportError: Typelib file for namespace 'xlib', version '2.0' not found
[1] https://gitlab.gnome.org/GNOME/pygobject/-/merge_requests/320
(From OE-Core rev: 6f9e02292c9305e795f2651c3bb6ef5b671e1c74)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have long since obsoleted md5sum in favour of sha256sum. Drop the remaining
56 entries (which were showing many recipes hadn't been touched in a long time).
They all do have the corresponding sha256sum entries as is clear from the diff.
(From OE-Core rev: 7e4bfcc9706fa8a09f6a0004174a2c3b21c90df3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix the numpy ptests by doing the following:
- Add meson to ptest RDEPENDS in the recipe;
- Add python3-unittest-automake-output as a ptest RDEPENDS;
- Convert run-ptest to a shell script that sets PYTEST_DEBUG_TEMPROOT to
a directory inside the same path that contains the script, create that
directory, and then invoke the tests with `pytest --automake` pointed
at the numpy path in site-packages (copying the tests into the normal
PTEST_DIRECTORY seems to cause module import breakages in some tests).
This also includes skipping two problematic tests which require a C
compiler and use up a lot of space, respectively;
- Set 'IMAGE_ROOTFS_EXTRA_SPACE = "3048576"' for python3-numpy in
core-image-ptest.bb;
- Also set 'QB_MEM:virtclass-mcextend-python3-numpy = "-m 4096"' in
core-image-ptest.bb;
- Move python3-numpy from the PTESTS_PROBLEMS list to the PTESTS_SLOW
one.
Results on qemux86-64:
Testsuite summary
DURATION: 87
END: /usr/lib/python3-numpy/ptest
2025-04-29T17:35
STOP: ptest-runner
TOTAL: 1 FAIL: 0
Note that many of the skipped tests are due to the absence of
python3-mypy (which is currently in meta-python) and of a Fortran
compiler.
(From OE-Core rev: 7f0b5e8faa1b246531ac425c99a629eb344b21e2)
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Even with our fixes in deterministic_imports.patch the
importlib.metadata package scan was still returning Distribution objects
for empty directories. This interacts badly with rebuilds when recipes
are changing as when a recipe is removed from the sysroot directories
are not removed[1].
In particular this breaks python3-meson-python-native rebuilds when
Meson upgrades from 1.7 to 1.8: the site-packages directory has an empty
meson-1.7.dist-info/ and populated meson-1.8.dist-info/. Whilst it's
deterministic to return the empty 1.7 first, this breaks pypa/build as
it looks through the distributions in order.
We had discussed this with upstream previously and there's a more
comprehensive fix upstream (actually in importlib_metadata, not cpython)
which ensures that valid distribution objects are listed first. So we
can drop our patch and replace it with a backport to fix these rebuilds.
[1] oe-core 4f94d929639 ("sstate/staging: Handle directory creation race issue")
(From OE-Core rev: 73de8daa6293403f5b92d313af32882c47bce396)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To adapt user network enviroment, buildtools should first try to use
the user configured envs like SSL_CERT_FILE/CURL_CA_BUNDLE/..., if these
envs is not set, then use the auto-detected ca file and ca path, and
finally use the CA certificates in buildtools.
nativesdk-openssl set OPENSSLDIR as "/not/builtin", need set SSL_CERT_FILE/SSL_CERT_DIR to work
nativesdk-curl don't set default ca file, need
SSL_CERT_FILE/SSL_CERT_DIR or CURL_CA_BUNDLE/CURL_CA_PATH to work
nativesdk-git actually use libcurl, and GIT_SSL_CAPATH/GIT_SSL_CAINFO
also works
nativesdk-python3-requests will use cacert.pem under python module certifi by
default, need to set REQUESTS_CA_BUNDLE
(From OE-Core rev: 8a7ec52e9b35654bee48cd948c6c34c63db3e265)
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-ffile-prefix map is more comprehensive when it comes to reproducible
builds and its superset of all prefix-mapping options in compilers
This makes is cleaner and workable across gcc and clang, clang does not
support -fcanon-prefix-map and it has to be explicitly omitted when using
clang.
There are lambdas generated in templates by clang which still get the
absolute paths despite -fdebug-prefix-map, this helps with that as well.
nasm is an outlier and we have fixed it by adding -fdebug-prefix-map option
luckily we do not pass DEBUG_PREFIX_MAP to nasm, in all recipes which use
nasm either pass -fdebug-prefix-map explicitly to nasm or they rewrite it
to use nasm flags syntax.
We have discussed this in past [1]
[1] https://patchwork.yoctoproject.org/project/oe-core/patch/20230428032030.2047920-1-raj.khem@gmail.com/#10281
(From OE-Core rev: ff73fa7ef7666a6dbe34f15515bc3ab6e574c5b0)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Jacob Kroon <jacob.kroon@gmail.com>
Cc: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Backport patch to update __version__ to 0.2 to match current version.
(From OE-Core rev: 67332a80391cb341c57f95e8c7b6bab306e25b1c)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is a libc patch needed to fix rustix 0.38.x build
It is already fixed in latest libc upstream, backport it
here
(From OE-Core rev: 7fd3871f21ed9039e0b3b27840109b460b6991ac)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Here is one testcase:
For recipe tensorflow-lite-host-tools_2.18.0.bb, refer [1],
do_configure[network] = "1"
and it will git clone some repos in CMakeLists.txt
When buildtools is used and nativesdk-git is installed into sdk,
do_configure failed with error:
[1/9] Performing download step (git clone) for 'protobuf-populate'
Cloning into 'protobuf'...
fatal: unable to access 'https://github.com/protocolbuffers/protobuf/': error setting certificate file: /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-wrlinuxsdk-linux/etc/ssl/certs/ca-certificates.crt
Fix by adding GIT_SSL_CAINFO in BB_ENV_PASSTHROUGH_ADDITIONS, so that
user can export GIT_SSL_CAINFO=${GIT_SSL_CAINFO} in their
do_configure:prepend() to fix above do_configure failure
CURL_CA_BUNDLE and REQUESTS_CA_BUNDLE is similar envvars, so all add
into BB_ENV_PASSTHROUGH_ADDITIONS
[1] https://github.com/nxp-imx/meta-imx/blob/styhead-6.12.3-1.0.0/meta-imx-ml/recipes-libraries/tensorflow-lite/tensorflow-lite-host-tools_2.18.0.bb
(From OE-Core rev: 183e043de423fd3f7833366ca524a6f7d17e6d14)
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* make git,curl,python3-requests align with openssl, move the setting of
envvars into respective envfile
* for environment.d-openssl.sh, also check if ca-certificates.crt exist
before export envvars
(From OE-Core rev: 9d8ebfcd55ad274e79cb81f162397c8f39f4287b)
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
============
- Fix regression in 4.13.0 on Python 3.10.2 causing a TypeError when using Concatenate.
- Fix TypeError when using evaluate_forward_ref on Python 3.10.1-2 and 3.9.8-10.
(From OE-Core rev: c8f1d63a786702e9dfba70f3c070f4a74356c4be)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
* Binary wheels use libxml2 2.12.10 and libxslt 1.1.42.
* Binary wheels for Windows use a patched libxml2 2.11.9 and libxslt 1.1.39.
(From OE-Core rev: 9b10654668dc372fa0e57afe113fd82a89ebce15)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python3-pdm and python3-pdm-backend are dependencies of python3-webcolors
python3-pdm itself depends on python3-pdm-build-locked
(From OE-Core rev: 6d064f60275b294dc6fc0e6480a0e5b0e7820934)
Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add tag to SRC_URI to verify SRCREV.
Upstream improved their project.toml and removed much of setup.py meaning
the patch was no longer needed.
(From OE-Core rev: f6f7c4c14f16beead8a8adb649eb1b1da524a860)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>