Skip to content

Tags: mesonbuild/meson-python

Tags

0.17.1

Verified

This tag was signed with the committer’s verified signature.
rgommers Ralf Gommers
meson-python 0.17.1

- Update tests to work with newly released ``pyproject-metadata`` 0.9.0.
- Fix tests to work when not executed in a git work tree.

0.17.0

Verified

This tag was signed with the committer’s verified signature.
rgommers Ralf Gommers
meson-python 0.17.0

- Refuse to build wheels targeting the limited API and free-threaded CPython:
  the free-threaded CPython build does not support the limited API yet.
- Always use UTF-8 encoding for writing Meson native and cross files. Always
  use UTF-8 encoding for reading read Meson introspection data and
  ``pyproject.toml``.
- Do not include uncommitted changes when creating source distributions.
  Previously, uncommitted changes to files under version control were
  included, but not untracked files. There was no strong use case for this
  behavior and it was too surprising to keep it.
- Make source distribution reproducible: use the modification time of
  ``pyproject.toml`` for the generated files in the source distribution
  archives.
- Disable the ``abi3`` wheel tag for PyPy when building wheels targeting the
  limited API: PyPy supports the limited API but not the stable ABI.
- Raise ``ImportError`` when the package rebuild fails when importing an
  editable install.
- Fix the wheel platform tag for GraalPy.
- Add ``.gitignore`` and ``.hgignore`` files to build directory if it is empty.
- Allow ``install_subdir()`` of missing directories.

0.16.0

Verified

This tag was signed with the committer’s verified signature.
rgommers Ralf Gommers
meson-python 0.16.0

- Correctly detect a wheel shipping shared libraries as being platform
  dependent also when it does not ship compiled executables or Python
  extension modules.
- Use 11.0 as minimum macOS platform ABI tag on arm64: lower versions
  do not exist on arm64.
- Improve parsing of the ``$ARCHFLAGS`` environment
  variable. Correctly handle repeated ``-arch`` flags.
- Do not break when trying to log filename containing Unicode
  characters that cannot be encoded in the encoding used by the
  standard output stream.
- Drop dependency on ``colorama`` on Windows.
- Suppress all uses of ANSI terminal escapes when logging to a stream
  that does not support them.
- Fix ANSI escape coloring of error messages.
- Respect the ``exclude_dirs`` and ``exclude_files`` arguments passed
  to the ``install_subdir()`` Meson function in editable installs too.
- Make ``pkgutil.iter_packages()`` work properly for modules loaded
  from editable installs.
- Add support for the ``custom_target()`` Meson function installing a
  directory.
- In editable installs, when a rebuild is triggered on module import,
  emit a message indicating that the package is being rebuilt but
  suppress any output when there is no work to do.

0.15.0

Verified

This tag was signed with the committer’s verified signature.
rgommers Ralf Gommers
meson-python 0.15.0

- Enable compression for wheel files. The may result in several times
  smaller wheels.
- Require Meson 1.2.3 or later on Python 3.12 or later. Meson 1.2.3
  does not require anymore ``distutils``, allowing to remove the
  dependency on ``setuptools`` on Python 3.12 or later.
- Unconditionally require ``patchelf`` on Linux.  The ``patchelf``
  package is added to the build dependencies if a suitable
  ``patchelf`` executable is not find on the ``$PATH``. This avoids
  cases where ``meson setup`` was run twice during the build process
  to determine whether ``patchelf`` is required.
- Allow to configure the ``meson`` executable to use for the build
  process through the ``$MESON`` environment variable or the ``meson``
  key under ``[tool.meson-python]`` in ``pyproject.toml``.
- Fix wheel platform tag generation on FreeBSD.
- Extend support to other UNIX-like systems and make the tests pass on
  FreeBSD.
- Fix package name normalization in package metadata and improve
  package name validation.
- Fix ``RPATH`` handling when the build ``RPATH`` points to
  subdirectories of the build directory.
- Fix support for the Python limited C API when compiling for PyPy.
- Rename the ``builddir`` config-setting to ``build-dir``. For
  backwards compatibility, the ``buildir`` config-setting remains
  supported as an alias.

0.14.0

Verified

This tag was signed with the committer’s verified signature.
rgommers Ralf Gommers
meson-python 0.14.0

- Do not run ``meson install`` to build a wheel. This was unnecessary
  as files are added to the wheel from the build and source
  directories. This does not affect the handling of ``meson install``
  options, which are interpreted by ``meson-python`` itself.
- Obey the ``--skip-subprojects`` when specified for the ``meson
  install`` command.
- Implement support for the ``exclude_directories`` and
  ``exclude_files`` arguments to Meson ``install_subdir()`` function
  and similar installation functions. This requires Meson version
  1.1.0 or later.
- Implement support for building wheels targeting the Python limited
  API. Extension modules targeting the Python limited API can be
  easily built starting with the upcoming Meson 1.3.0 release.
- when ``pyproject.toml`` does not contain a ``version`` field and
  ``version`` is not declared dynamic, raise an error instead of
  silently using the version declared in ``meson.build``.
- Fix the mtime of source files in the sdist tarball.
- Add ``objc`` and ``objcpp`` compilers to the cross file generated
  when the ``$ARCHFLAGS`` is set.
- Extensive documentation improvements.

0.13.2

Verified

This tag was signed with the committer’s verified signature.
rgommers Ralf Gommers
meson-python 0.13.2

- Fix system name in cross file generated when using ``$ARCHFLAGS``.
- Fix handling of ``null`` Meson install tags.

0.13.1

Verified

This tag was signed with the committer’s verified signature.
rgommers Ralf Gommers
meson-python 0.13.1

- Fix regression in cross-compilation via ``$ARCHFLAGS`` on macOS where the
  cross file was written in the build directory before it was created,
  resulting in an error.
- Do not require setting ``$_PYTHON_HOST_PLATFORM`` when cross-compiling via
  ``$ARCHFLAGS`` on macOS.
- Add the ``--quiet`` option when invoking ``meson install``. The installation
  paths are a detail of the ``meson-python`` implementation and are generally
  not interesting for the user.
- Fix terminal logging when overriding the current line when listing files
  added to the wheel.
- Improve the error message emitted when a package split between the
  ``purelib`` and ``platlib`` wheel locations is detected.

0.13.0

Verified

This tag was signed with the committer’s verified signature.
rgommers Ralf Gommers
meson-python 0.13.0

- Add support for editable installs.
- Adjust the default build options passed to ``meson setup``.
- Make sure that the directory where the wheel or sdist build artifacts are
  created exists. Fixes building with PDM.
- Fix the specification of the C++ compiler for cross-compilation with
  ``$ARCHFLAGS`` on macOS.
- Pass the ``--reconfigure`` option to ``meson setup`` if and only if the
  specified build directory exists and is a valid Meson build directory.
- Pass the ``--no-rebuild`` option to ``meson install``.
- Allow to select the files to be included in the wheel via Meson install tags
  passing the ``--tags`` option to ``meson install`` via ``pyproject.toml`` or
  config settings.
- Do not use the ``meson compile`` indirection to build the project, except on
  Windows, where it is required to setup the Visual Studio environment.
- Do not add ``ninja`` to the build dependencies if ``$NINJA`` is set but it
  does not point to a ``ninja`` executable with the required minimum version.
- Verify at run time that Meson satisfies the minimum required version.
- Place native and cross files in the build directory instead of in the
  source directory.
- Drop the ``typing-extensions`` package dependency.
- Add dependency on ``setuptools`` on Python 3.12 and later. This fixes build
  error due to Meson depending on the ``distutils`` standard library module
  removed in Python 3.12.
- Bump the required ``pyproject-metadata`` version to 0.7.1.
- Allows some more cross-compilation setups by not checking extension modules
  filename suffixes against the suffixes accepted by the current interpreter.
- Raise an error when a file that would be installed by Meson cannot be mapped
  to a wheel location.
- Raise an error when a package is split between ``platlib`` and ``purelib``.
- Do not generate a warning when ``pyproject.toml`` does not contain a
  ``project`` section and Python package metadata is derived from ``meson.build``.
- Improve reporting of ``pyproject.toml`` validation errors.
- Fix validation of tool specific options in ``pyproject.toml``. In
  particular, allows to specify an incomplete set of options in the
  ``tool.meson-python.args`` table.

0.12.1

Verified

This tag was signed with the committer’s verified signature.
FFY00 Filipe Laíns 🇵🇸
meson-python 0.12.1

- Fix regression where the MACOSX_DEPLOYMENT_TARGET environment variable was accidentally renamed to MACOS_DEPLOYMENT_TARGET

0.13.0.pre0

Verified

This tag was signed with the committer’s verified signature.
FFY00 Filipe Laíns 🇵🇸
meson-python 0.13.0.pre0

- Add support for editable installs
- Fix the creation of artifacts when the output directory does not exist (fixes builds on PDM, etc)
- Fix C++ cross-compilation on macOS
- Fix the deb_system sysconfig install scheme addition in the Debian heuristics
- Don't try to reconfigure the build directory if it doesn't exist
- Remove importlib_resources dependency