Opened 3 months ago

Closed 3 months ago

#19261 closed enhancement (fixed)

meson_python-0.15.0 (Python Module)

Reported by: Douglas R. Reno Owned by: Bruce Dubbs
Priority: normal Milestone: 12.1
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

Needed for NumPy (#19255)

Must upgrade pyproject-metadata first.

Change History (3)

comment:1 by Xi Ruoyao, 3 months ago

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.

Christoph Reiter, Daniele Nicolodi, Elliott Sales de Andrade, Ralf Gommers, Yue Yang --- 26-10-2023

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.

Charles Brunet, Daniele Nicolodi, Henry Schreiner, Michał Górny, Ralf Gommers --- 05-09-2023

0.13.2

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

Charles Brunet, Daniele Nicolodi --- 22-06-2023.

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.

Daniele Nicolodi, Ralf Gommers --- 28-04-2023.

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.

Daniele Nicolodi, Doron Behar, Eli Schwartz, Filipe Laíns, Lars Pastewka, Luigi Giugliano, Matthias Köppe, Peter Urban, Ralf Gommers, Stefan van der Walt, Thomas Li --- 18-04-2023.

0.12.1

  • Fix regression where the $MACOSX_DEPLOYMENT_TARGET environment variable was accidentally renamed to $MACOS_DEPLOYMENT_TARGET.

Filipe Laíns, Stefan van der Walt --- 17-02-2023.

comment:2 by Bruce Dubbs, 3 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:3 by Bruce Dubbs, 3 months ago

Resolution: fixed
Status: assignedclosed

Fixed at commit 523cb74a.

Note: See TracTickets for help on using tickets.