meson-python 0.13.0__tar.gz → 0.13.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {meson_python-0.13.0 → meson_python-0.13.1}/CHANGELOG.rst +19 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/PKG-INFO +1 -1
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/changelog.rst +19 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/security.rst +4 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/meson.build +1 -1
- {meson_python-0.13.0 → meson_python-0.13.1}/mesonpy/__init__.py +16 -14
- {meson_python-0.13.0 → meson_python-0.13.1}/mesonpy/_util.py +6 -9
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/conftest.py +5 -23
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_editable.py +3 -3
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_project.py +4 -3
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_wheel.py +9 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/.cirrus.yml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/.github/workflows/docs.yml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/.github/workflows/tests.yml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/.gitignore +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/.pre-commit-config.yaml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/.readthedocs.yml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/LICENSE +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/LICENSES/MIT.txt +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/README.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/ci/alpine-3.docker +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/ci/archlinux.docker +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/ci/debian-11.docker +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/ci/debian-unstable.docker +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/ci/fedora-37.docker +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/ci/manylinux.docker +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/ci/miniconda.docker +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/ci/opensuse-15.docker +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/codecov.yml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/conf.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/contributing/commit-format.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/contributing/documentation.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/contributing/getting-started.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/contributing/release-process.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/contributing/test-suite.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/examples/spam/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/examples/spam/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/examples/spam/src/__init__.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/examples/spam/src/spammodule.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/explanations/default-options.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/explanations/design-old.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/explanations/design.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/explanations/editable-installs.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/explanations/internal-dependencies.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/how-to-guides/add-dependencies.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/how-to-guides/build-directory.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/how-to-guides/config-settings.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/how-to-guides/editable-installs.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/how-to-guides/executable-with-internal-dependencies.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/how-to-guides/first-project.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/how-to-guides/meson-args.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/index.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/projects-using-meson-python.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/reference/config-settings.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/reference/environment-variables.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/reference/limitations.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/reference/pyproject-settings.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/reference/quirks.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/spelling_wordlist.txt +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/spelling_wordlist.txt.license +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/static/css/contributors.css +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/tutorials/data.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/tutorials/entrypoints.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/tutorials/executable.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/docs/tutorials/introduction.rst +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/mesonpy/_compat.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/mesonpy/_dylib.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/mesonpy/_editable.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/mesonpy/_elf.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/mesonpy/_tags.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/mesonpy/_wheelfile.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/noxfile.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/__init__.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/complex/complex/__init__.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/complex/complex/more/__init__.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/complex/complex/namespace/bar.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/complex/complex/namespace/foo.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/complex/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/complex/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/complex/test.pyx +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/configure-data/configure_data.py.in +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/configure-data/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/configure-data/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/detect-compiler/detect_compiler.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/detect-compiler/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/detect-compiler/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/dist-script/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/dist-script/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/dynamic-version/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/dynamic-version/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/executable/example.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/executable/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/executable/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/executable-bit/example-script.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/executable-bit/example.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/executable-bit/executable_module.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/executable-bit/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/executable-bit/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/full-metadata/LICENSE +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/full-metadata/README.md +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/full-metadata/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/full-metadata/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/generated-files/example-script.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/generated-files/example.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/generated-files/executable_module.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/generated-files/generate_version.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/generated-files/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/generated-files/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/imports-itself-during-build/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/imports-itself-during-build/plat.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/imports-itself-during-build/pure.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/imports-itself-during-build/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/library/example.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/library/examplelib.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/library/examplelib.h +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/library/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/library/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/library-pep621/example.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/library-pep621/examplelib.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/library-pep621/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/library-pep621/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/license-file/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/license-file/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/license-file/something/LICENSE.custom +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/link-against-local-lib/examplelib.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/link-against-local-lib/examplelib.h +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/link-against-local-lib/examplemod.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/link-against-local-lib/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/link-against-local-lib/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/module-types/file.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/module-types/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/module-types/namespace/data.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/module-types/native.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/module-types/package/__init__.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/module-types/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/pure/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/pure/pure.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/pure/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-and-platlib/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-and-platlib/plat.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-and-platlib/pure.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-and-platlib/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-platlib-split/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-platlib-split/plat.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-platlib-split/pure.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-platlib-split/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/mypkg/__init__.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/mypkg/cy_extmod.pyx +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/mypkg/extmod.c +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/mypkg/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/mypkg/submod/__init__.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/mypkg/submod/unknown_filetype.npq +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/tools/generate_config.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/simple/__init__.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/simple/data.txt +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/simple/data.txt.license +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/simple/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/simple/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/simple/test.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/subdirs/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/subdirs/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/subdirs/subdirs/__init__.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/subdirs/subdirs/a/__init__.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/subdirs/subdirs/a/b/c.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/subdirs/subdirs/b/c.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/unknown-user-args-meson-args/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/unknown-user-args-top-level/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/unsupported-dynamic/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/unsupported-dynamic/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/unsupported-python-version/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/unsupported-python-version/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/user-args/meson.build +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/user-args/pure.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/user-args/pyproject.toml +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_consistency.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_examples.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_metadata.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_output.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_pep517.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_pep518.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_sdist.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_tags.py +0 -0
- {meson_python-0.13.0 → meson_python-0.13.1}/tests/test_wheelfile.py +0 -0
|
@@ -12,6 +12,25 @@ Change-log
|
|
|
12
12
|
++++++++++
|
|
13
13
|
|
|
14
14
|
|
|
15
|
+
0.13.1
|
|
16
|
+
======
|
|
17
|
+
|
|
18
|
+
- Fix regression in cross-compilation via ``$ARCHFLAGS`` on macOS where the
|
|
19
|
+
cross file was written in the build directory before it was created,
|
|
20
|
+
resulting in an error.
|
|
21
|
+
- Do not require setting ``$_PYTHON_HOST_PLATFORM`` when cross-compiling via
|
|
22
|
+
``$ARCHFLAGS`` on macOS.
|
|
23
|
+
- Add the ``--quiet`` option when invoking ``meson install``. The installation
|
|
24
|
+
paths are a detail of the ``meson-python`` implementation and are generally
|
|
25
|
+
not interesting for the user.
|
|
26
|
+
- Fix terminal logging when overriding the current line when listing files
|
|
27
|
+
added to the wheel.
|
|
28
|
+
- Improve the error message emitted when a package split between the
|
|
29
|
+
``purelib`` and ``platlib`` wheel locations is detected.
|
|
30
|
+
|
|
31
|
+
Daniele Nicolodi, Ralf Gommers --- 28-04-2023.
|
|
32
|
+
|
|
33
|
+
|
|
15
34
|
0.13.0
|
|
16
35
|
======
|
|
17
36
|
|
|
@@ -12,6 +12,25 @@ Change-log
|
|
|
12
12
|
++++++++++
|
|
13
13
|
|
|
14
14
|
|
|
15
|
+
0.13.1
|
|
16
|
+
======
|
|
17
|
+
|
|
18
|
+
- Fix regression in cross-compilation via ``$ARCHFLAGS`` on macOS where the
|
|
19
|
+
cross file was written in the build directory before it was created,
|
|
20
|
+
resulting in an error.
|
|
21
|
+
- Do not require setting ``$_PYTHON_HOST_PLATFORM`` when cross-compiling via
|
|
22
|
+
``$ARCHFLAGS`` on macOS.
|
|
23
|
+
- Add the ``--quiet`` option when invoking ``meson install``. The installation
|
|
24
|
+
paths are a detail of the ``meson-python`` implementation and are generally
|
|
25
|
+
not interesting for the user.
|
|
26
|
+
- Fix terminal logging when overriding the current line when listing files
|
|
27
|
+
added to the wheel.
|
|
28
|
+
- Improve the error message emitted when a package split between the
|
|
29
|
+
``purelib`` and ``platlib`` wheel locations is detected.
|
|
30
|
+
|
|
31
|
+
Daniele Nicolodi, Ralf Gommers --- 28-04-2023.
|
|
32
|
+
|
|
33
|
+
|
|
15
34
|
0.13.0
|
|
16
35
|
======
|
|
17
36
|
|
|
@@ -14,6 +14,7 @@ repository_, or the source distributions on the `meson-python PyPI page`_, both
|
|
|
14
14
|
are PGP-signed with one of the following keys:
|
|
15
15
|
|
|
16
16
|
- |3DCE51D60930EBA47858BA4146F633CBB0EB4BF2|_ *(Filipe Laíns)*
|
|
17
|
+
- |52BDC33FD1FBAB569D47FFA923D9E5499A08BDC5|_ *(Ralf Gommers)*
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
.. admonition:: Fetching artifact signatures from PyPI_
|
|
@@ -30,3 +31,6 @@ are PGP-signed with one of the following keys:
|
|
|
30
31
|
|
|
31
32
|
.. |3DCE51D60930EBA47858BA4146F633CBB0EB4BF2| replace:: ``3DCE51D60930EBA47858BA4146F633CBB0EB4BF2``
|
|
32
33
|
.. _3DCE51D60930EBA47858BA4146F633CBB0EB4BF2: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3dce51d60930eba47858ba4146f633cbb0eb4bf2
|
|
34
|
+
|
|
35
|
+
.. |52BDC33FD1FBAB569D47FFA923D9E5499A08BDC5| replace:: ``52BDC33FD1FBAB569D47FFA923D9E5499A08BDC5``
|
|
36
|
+
.. _52BDC33FD1FBAB569D47FFA923D9E5499A08BDC5: https://github.com/rgommers.gpg
|
|
@@ -66,7 +66,7 @@ if typing.TYPE_CHECKING: # pragma: no cover
|
|
|
66
66
|
T = TypeVar('T')
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
__version__ = '0.13.
|
|
69
|
+
__version__ = '0.13.1'
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
# XXX: Once Python 3.8 is our minimum supported version, get rid of
|
|
@@ -170,7 +170,8 @@ def _map_to_wheel(sources: Dict[str, Dict[str, Any]]) -> DefaultDict[str, List[T
|
|
|
170
170
|
that = os.fspath(other / next(d for d, s in wheel_files[other] if d.parts[0] == destination.parts[1]))
|
|
171
171
|
raise BuildError(
|
|
172
172
|
f'The {package} package is split between {path} and {other}: '
|
|
173
|
-
f'{this!r} and {that!r}, a "pure: false" argument may be missing in meson.build'
|
|
173
|
+
f'{this!r} and {that!r}, a "pure: false" argument may be missing in meson.build. '
|
|
174
|
+
f'It is recommended to set it in "import(\'python\').find_installation()"')
|
|
174
175
|
|
|
175
176
|
wheel_files[path].append((pathlib.Path(*destination.parts[1:]), src))
|
|
176
177
|
return wheel_files
|
|
@@ -499,7 +500,6 @@ class _WheelBuilder():
|
|
|
499
500
|
with mesonpy._wheelfile.WheelFile(wheel_file, 'w') as whl:
|
|
500
501
|
self._wheel_write_metadata(whl)
|
|
501
502
|
|
|
502
|
-
print('{light_blue}{bold}Copying files to wheel...{reset}'.format(**_STYLES))
|
|
503
503
|
with mesonpy._util.cli_counter(
|
|
504
504
|
len(list(itertools.chain.from_iterable(self._wheel_files.values()))),
|
|
505
505
|
) as counter:
|
|
@@ -648,25 +648,28 @@ class Project():
|
|
|
648
648
|
self._meson_native_file = self._build_dir / 'meson-python-native-file.ini'
|
|
649
649
|
self._meson_cross_file = self._build_dir / 'meson-python-cross-file.ini'
|
|
650
650
|
self._meson_args: MesonArgs = collections.defaultdict(list)
|
|
651
|
-
self._env = os.environ.copy()
|
|
652
651
|
|
|
653
652
|
_check_meson_version()
|
|
654
653
|
|
|
655
654
|
self._ninja = _env_ninja_command()
|
|
656
655
|
if self._ninja is None:
|
|
657
656
|
raise ConfigError(f'Could not find ninja version {_NINJA_REQUIRED_VERSION} or newer.')
|
|
658
|
-
|
|
657
|
+
os.environ.setdefault('NINJA', self._ninja)
|
|
658
|
+
|
|
659
|
+
# make sure the build dir exists
|
|
660
|
+
self._build_dir.mkdir(exist_ok=True, parents=True)
|
|
661
|
+
self._install_dir.mkdir(exist_ok=True, parents=True)
|
|
659
662
|
|
|
660
663
|
# setuptools-like ARCHFLAGS environment variable support
|
|
661
664
|
if sysconfig.get_platform().startswith('macosx-'):
|
|
662
|
-
archflags =
|
|
665
|
+
archflags = os.environ.get('ARCHFLAGS', '').strip()
|
|
663
666
|
if archflags:
|
|
664
667
|
arch, *other = filter(None, (x.strip() for x in archflags.split('-arch')))
|
|
665
668
|
if other:
|
|
666
669
|
raise ConfigError(f'Multi-architecture builds are not supported but $ARCHFLAGS={archflags!r}')
|
|
667
670
|
macver, _, nativearch = platform.mac_ver()
|
|
668
671
|
if arch != nativearch:
|
|
669
|
-
x =
|
|
672
|
+
x = os.environ.setdefault('_PYTHON_HOST_PLATFORM', f'macosx-{macver}-{arch}')
|
|
670
673
|
if not x.endswith(arch):
|
|
671
674
|
raise ConfigError(f'$ARCHFLAGS={archflags!r} and $_PYTHON_HOST_PLATFORM={x!r} do not agree')
|
|
672
675
|
family = 'aarch64' if arch == 'arm64' else arch
|
|
@@ -697,10 +700,6 @@ class Project():
|
|
|
697
700
|
for key, value in meson_args.items():
|
|
698
701
|
self._meson_args[key].extend(value)
|
|
699
702
|
|
|
700
|
-
# make sure the build dir exists
|
|
701
|
-
self._build_dir.mkdir(exist_ok=True, parents=True)
|
|
702
|
-
self._install_dir.mkdir(exist_ok=True, parents=True)
|
|
703
|
-
|
|
704
703
|
# write the native file
|
|
705
704
|
native_file_data = textwrap.dedent(f'''
|
|
706
705
|
[binaries]
|
|
@@ -733,8 +732,11 @@ class Project():
|
|
|
733
732
|
|
|
734
733
|
def _run(self, cmd: Sequence[str]) -> None:
|
|
735
734
|
"""Invoke a subprocess."""
|
|
736
|
-
|
|
737
|
-
|
|
735
|
+
# Flush the line to ensure that the log line with the executed
|
|
736
|
+
# command line appears before the command output. Without it,
|
|
737
|
+
# the lines appear in the wrong order in pip output.
|
|
738
|
+
print('{cyan}{bold}+ {}{reset}'.format(' '.join(cmd), **_STYLES), flush=True)
|
|
739
|
+
r = subprocess.run(cmd, cwd=self._build_dir)
|
|
738
740
|
if r.returncode != 0:
|
|
739
741
|
raise SystemExit(r.returncode)
|
|
740
742
|
|
|
@@ -813,7 +815,7 @@ class Project():
|
|
|
813
815
|
def install(self) -> None:
|
|
814
816
|
"""Install the Meson project."""
|
|
815
817
|
destdir = os.fspath(self._install_dir)
|
|
816
|
-
self._run(['meson', 'install', '--no-rebuild', '--destdir', destdir, *self._meson_args['install']])
|
|
818
|
+
self._run(['meson', 'install', '--quiet', '--no-rebuild', '--destdir', destdir, *self._meson_args['install']])
|
|
817
819
|
|
|
818
820
|
@classmethod
|
|
819
821
|
@contextlib.contextmanager
|
|
@@ -8,6 +8,7 @@ from __future__ import annotations
|
|
|
8
8
|
|
|
9
9
|
import contextlib
|
|
10
10
|
import gzip
|
|
11
|
+
import itertools
|
|
11
12
|
import os
|
|
12
13
|
import sys
|
|
13
14
|
import tarfile
|
|
@@ -73,22 +74,18 @@ def create_targz(path: Path) -> Iterator[Tuple[tarfile.TarFile, Optional[int]]]:
|
|
|
73
74
|
class CLICounter:
|
|
74
75
|
def __init__(self, total: int) -> None:
|
|
75
76
|
self._total = total - 1
|
|
76
|
-
self._count =
|
|
77
|
-
self._current_line = ''
|
|
77
|
+
self._count = itertools.count()
|
|
78
78
|
|
|
79
79
|
def update(self, description: str) -> None:
|
|
80
|
-
self._count
|
|
81
|
-
new_line = f'[{self._count}/{self._total}] {description}'
|
|
80
|
+
line = f'[{next(self._count)}/{self._total}] {description}'
|
|
82
81
|
if sys.stdout.isatty():
|
|
83
|
-
|
|
84
|
-
print(' ' + new_line + ' ' * pad_size, end='\r', flush=True)
|
|
82
|
+
print('\r', line, sep='', end='\33[0K', flush=True)
|
|
85
83
|
else:
|
|
86
|
-
print(
|
|
87
|
-
self._current_line = new_line
|
|
84
|
+
print(line)
|
|
88
85
|
|
|
89
86
|
def finish(self) -> None:
|
|
90
87
|
if sys.stdout.isatty():
|
|
91
|
-
print(
|
|
88
|
+
print()
|
|
92
89
|
|
|
93
90
|
|
|
94
91
|
@contextlib.contextmanager
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MIT
|
|
4
4
|
|
|
5
|
-
import atexit
|
|
6
5
|
import contextlib
|
|
7
6
|
import os
|
|
8
7
|
import os.path
|
|
@@ -75,24 +74,6 @@ def tmp_path_session(tmp_path_factory):
|
|
|
75
74
|
))
|
|
76
75
|
|
|
77
76
|
|
|
78
|
-
@pytest.fixture
|
|
79
|
-
def tmp_build_path():
|
|
80
|
-
# Similar to the tmp_path fixture but ensures that the temporary
|
|
81
|
-
# directory is on the same Windows drive as the test packages
|
|
82
|
-
# source directory. This is required to work around a Cython bug
|
|
83
|
-
# exposed in our test packages. See https://github.com/cython/cython/pull/5279
|
|
84
|
-
tmpdir = tempfile.mkdtemp(prefix='.build-', dir=package_dir)
|
|
85
|
-
# The clenup is implemented with an atexit hook rather than with a
|
|
86
|
-
# regular context manager because we import extension modules from
|
|
87
|
-
# the build directory in the tests and these need to stay around
|
|
88
|
-
# till the Python interpreter is being teared down. Orherwise
|
|
89
|
-
# PermissionError removing the folder are obtained on Windows, but
|
|
90
|
-
# more importantly, the removal succeeds on Cygwin but memory
|
|
91
|
-
# mapping errors are obtained when Python tries to fork().
|
|
92
|
-
atexit.register(shutil.rmtree, tmpdir, ignore_errors=True)
|
|
93
|
-
yield pathlib.Path(tmpdir)
|
|
94
|
-
|
|
95
|
-
|
|
96
77
|
class VEnv(EnvBuilder):
|
|
97
78
|
def __init__(self, env_dir):
|
|
98
79
|
super().__init__(with_pip=True)
|
|
@@ -175,8 +156,8 @@ def disable_pip_version_check():
|
|
|
175
156
|
|
|
176
157
|
@pytest.fixture(scope='session')
|
|
177
158
|
def pep518_wheelhouse(tmp_path_factory):
|
|
178
|
-
wheelhouse = tmp_path_factory.mktemp('wheelhouse')
|
|
179
|
-
meson_python =
|
|
159
|
+
wheelhouse = os.fspath(tmp_path_factory.mktemp('wheelhouse'))
|
|
160
|
+
meson_python = os.fspath(package_dir.parent.parent)
|
|
180
161
|
# Populate wheelhouse with wheel for the following packages and
|
|
181
162
|
# their dependencies. Wheels are downloaded from PyPI or built
|
|
182
163
|
# from the source distribution as needed. Sources or wheels in
|
|
@@ -184,8 +165,9 @@ def pep518_wheelhouse(tmp_path_factory):
|
|
|
184
165
|
packages = [
|
|
185
166
|
meson_python,
|
|
186
167
|
]
|
|
187
|
-
|
|
188
|
-
|
|
168
|
+
cmd = [sys.executable, '-m', 'pip', 'wheel', '--no-build-isolation', '--wheel-dir', wheelhouse, *packages]
|
|
169
|
+
subprocess.run(cmd, check=True)
|
|
170
|
+
return wheelhouse
|
|
189
171
|
|
|
190
172
|
|
|
191
173
|
@pytest.fixture
|
|
@@ -58,10 +58,10 @@ def test_collect(package_complex):
|
|
|
58
58
|
assert tree['complex']['more']['__init__.py'] == os.path.join(root, 'complex', 'more', '__init__.py')
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
def test_mesonpy_meta_finder(package_complex,
|
|
61
|
+
def test_mesonpy_meta_finder(package_complex, tmp_path):
|
|
62
62
|
# build a package in a temporary directory
|
|
63
|
-
mesonpy.Project(package_complex,
|
|
64
|
-
build_path =
|
|
63
|
+
mesonpy.Project(package_complex, tmp_path)
|
|
64
|
+
build_path = tmp_path / 'build'
|
|
65
65
|
|
|
66
66
|
# point the meta finder to the build directory
|
|
67
67
|
finder = _editable.MesonpyMetaFinder({'complex'}, os.fspath(build_path), ['ninja'])
|
|
@@ -19,7 +19,7 @@ import pytest
|
|
|
19
19
|
|
|
20
20
|
import mesonpy
|
|
21
21
|
|
|
22
|
-
from .conftest import chdir, package_dir
|
|
22
|
+
from .conftest import chdir, in_git_repo_context, package_dir
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
@pytest.mark.parametrize(
|
|
@@ -92,8 +92,9 @@ def test_user_args(package_user_args, tmp_path, monkeypatch):
|
|
|
92
92
|
'install-args': ('cli-install',),
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
with in_git_repo_context():
|
|
96
|
+
mesonpy.build_sdist(tmp_path, config_settings)
|
|
97
|
+
mesonpy.build_wheel(tmp_path, config_settings)
|
|
97
98
|
|
|
98
99
|
# check that the right commands are executed, namely that 'meson
|
|
99
100
|
# compile' is used on Windows rather than a 'ninja' direct
|
|
@@ -240,3 +240,12 @@ def test_purelib_platlib_split(package_purelib_platlib_split, tmp_path):
|
|
|
240
240
|
with pytest.raises(mesonpy.BuildError, match='The purelib-platlib-split package is split'):
|
|
241
241
|
with mesonpy.Project.with_temp_working_dir() as project:
|
|
242
242
|
project.wheel(tmp_path)
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
@pytest.mark.skipif(platform.system() != 'Darwin', reason='macOS specific test')
|
|
246
|
+
@pytest.mark.parametrize(('arch'), ['x86_64', 'arm64'])
|
|
247
|
+
def test_archflags_envvar(package_purelib_and_platlib, monkeypatch, tmp_path, arch):
|
|
248
|
+
monkeypatch.setenv('ARCHFLAGS', f'-arch {arch}')
|
|
249
|
+
filename = mesonpy.build_wheel(tmp_path)
|
|
250
|
+
name = wheel.wheelfile.WheelFile(tmp_path / filename).parsed_filename
|
|
251
|
+
assert name.group('plat').endswith(arch)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/configure-data/configure_data.py.in
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/detect-compiler/detect_compiler.c
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/executable-bit/executable_module.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/generated-files/example-script.py
RENAMED
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/generated-files/executable_module.py
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/generated-files/generate_version.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/imports-itself-during-build/meson.build
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/imports-itself-during-build/plat.c
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/imports-itself-during-build/pure.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/license-file/something/LICENSE.custom
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/link-against-local-lib/examplelib.c
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/link-against-local-lib/examplelib.h
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/link-against-local-lib/examplemod.c
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/link-against-local-lib/meson.build
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/link-against-local-lib/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-and-platlib/pyproject.toml
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-platlib-split/meson.build
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/purelib-platlib-split/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/mypkg/submod/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/scipy-like/tools/generate_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/unsupported-dynamic/pyproject.toml
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/unsupported-python-version/meson.build
RENAMED
|
File without changes
|
{meson_python-0.13.0 → meson_python-0.13.1}/tests/packages/unsupported-python-version/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|