meson-python 0.19.0__tar.gz → 0.20.0__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.19.0 → meson_python-0.20.0}/CHANGELOG.rst +8 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/PKG-INFO +1 -1
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/changelog.rst +8 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/mesonpy/__init__.py +59 -27
- {meson_python-0.19.0 → meson_python-0.20.0}/pyproject.toml +1 -1
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_project.py +47 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_tags.py +2 -1
- {meson_python-0.19.0 → meson_python-0.20.0}/.cirrus.yml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/.gitattributes +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/.github/workflows/docs.yml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/.github/workflows/release.yml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/.github/workflows/tests.yml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/.gitignore +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/.mailmap +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/.pre-commit-config.yaml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/.readthedocs.yaml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/.vscode/settings.json +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/LICENSE +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/LICENSES/MIT.txt +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/README.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/RELEASE.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/ci/alpine-3.docker +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/ci/archlinux.docker +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/ci/debian-11.docker +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/ci/debian-12.docker +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/ci/debian-unstable.docker +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/ci/fedora-41.docker +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/ci/manylinux.docker +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/ci/miniconda.docker +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/ci/opensuse-15.docker +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/codecov.yml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/about.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/conf.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/explanations/default-options.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/explanations/design-old.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/how-to-guides/config-settings.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/how-to-guides/contributing.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/how-to-guides/debug-builds.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/how-to-guides/editable-installs.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/how-to-guides/meson-args.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/how-to-guides/sdist.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/how-to-guides/shared-libraries.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/index.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/projects-using-meson-python.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/reference/config-settings.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/reference/environment-variables.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/reference/limitations.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/reference/meson-compatibility.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/reference/pyproject-settings.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/spelling_wordlist.txt +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/spelling_wordlist.txt.license +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/docs/tutorials/introduction.rst +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/mesonpy/_compat.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/mesonpy/_editable.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/mesonpy/_rpath.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/mesonpy/_tags.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/mesonpy/_util.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/mesonpy/_wheelfile.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/conftest.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/cmake-subproject/cmakesubproject.pyx +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/cmake-subproject/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/cmake-subproject/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/cmake-subproject/subprojects/cmaketest/CMakeLists.txt +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/cmake-subproject/subprojects/cmaketest/cmaketest.cpp +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/cmake-subproject/subprojects/cmaketest/cmaketest.hpp +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/cmake-subproject/subprojects/cmaketest.wrap +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/complex/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/complex/more/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/complex/more/baz.pyx +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/complex/more/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/complex/namespace/bar.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/complex/namespace/foo.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/extension.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/foo.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/move.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/complex/test.pyx +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/configure-data/configure_data.py.in +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/configure-data/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/configure-data/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/custom-target-dir/codegen.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/custom-target-dir/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/custom-target-dir/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/detect-compiler/detect_compiler.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/detect-compiler/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/detect-compiler/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/dist-script/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/dist-script/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/dynamic-version/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/dynamic-version/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/encoding/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/encoding/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/encoding//343/203/206/343/202/271/343/203/210.py" +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/executable/example.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/executable/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/executable/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/executable-bit/example-script.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/executable-bit/example.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/executable-bit/executable_module.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/executable-bit/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/executable-bit/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/full-metadata/LICENSE +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/full-metadata/README.md +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/full-metadata/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/full-metadata/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/generated-files/example-script.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/generated-files/example.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/generated-files/executable_module.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/generated-files/generate_version.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/generated-files/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/generated-files/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/imports-itself-during-build/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/imports-itself-during-build/plat.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/imports-itself-during-build/pure.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/imports-itself-during-build/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-data/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-data/data.txt +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-data/data.txt.license +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-data/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-data/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/nested/deep/deep.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/nested/deep/excluded.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/nested/nested.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/strip/excluded.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/strip/module.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/subdir/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/subdir/excluded/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/subdir/excluded.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/subdir/test.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/library/example.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/library/examplelib.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/library/examplelib.h +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/library/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/library/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/license-file/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/license-file/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/license-file/something/LICENSE.custom +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/license-pep639/LICENSES/BSD-3-Clause.txt +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/license-pep639/LICENSES/MIT.txt +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/license-pep639/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/license-pep639/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/limited-api/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/limited-api/meson.options +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/limited-api/module.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/limited-api/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/examplemod.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/lib/examplelib.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/lib/examplelib.h +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/lib/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/foo/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/foo/_examplemod.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/foo/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/subprojects/bar/bar_dll.h +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/subprojects/bar/examplelib.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/subprojects/bar/examplelib.h +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/subprojects/bar/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/long-path/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/long-path/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/missing-dynamic-version/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/missing-dynamic-version/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/missing-meson-version/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/missing-meson-version/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/module-types/file.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/module-types/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/module-types/namespace/data.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/module-types/native.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/module-types/package/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/module-types/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/pure/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/pure/pure.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/pure/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/purelib-and-platlib/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/purelib-and-platlib/plat.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/purelib-and-platlib/pure.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/purelib-and-platlib/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/purelib-platlib-split/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/purelib-platlib-split/plat.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/purelib-platlib-split/pure.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/purelib-platlib-split/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/scipy-like/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/cy_extmod.pyx +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/extmod.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/submod/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/submod/unknown_filetype.npq +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/scipy-like/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/scipy-like/tools/generate_config.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/_examplemod.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/examplelib.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/examplelib.h +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/sub/examplelib2.c +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/sub/examplelib2.h +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/sub/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/sub/mypkg_dll.h +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/simple/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/simple/data.txt +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/simple/data.txt.license +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/simple/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/simple/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/simple/test.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subdirs/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subdirs/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subdirs/subdirs/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subdirs/subdirs/a/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subdirs/subdirs/a/b/c.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subdirs/subdirs/b/c.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subproject/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subproject/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subproject/subproject.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subproject/subprojects/dep/data.txt +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subproject/subprojects/dep/dep.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/subproject/subprojects/dep/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/symlinks/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/symlinks/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/symlinks/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/symlinks/submodule/__init__.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/symlinks/submodule/aaa.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/symlinks/submodule/bbb.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/unknown-user-args-meson-args/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/unknown-user-args-top-level/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/unsupported-python-version/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/unsupported-python-version/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/user-args/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/user-args/pure.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/user-args/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/vendored-meson/meson.build +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/vendored-meson/meson_options.txt +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/vendored-meson/pyproject.toml +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/vendored-meson/third-party/meson.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_consistency.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_editable.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_metadata.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_options.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_output.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_pep517.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_sdist.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_wheel.py +0 -0
- {meson_python-0.19.0 → meson_python-0.20.0}/tests/test_wheelfile.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meson-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.20.0
|
|
4
4
|
Summary: Meson Python build backend (PEP 517)
|
|
5
5
|
Keywords: meson,build,backend,pep517,package
|
|
6
6
|
Maintainer-Email: Ralf Gommers <ralf.gommers@gmail.com>, Daniele Nicolodi <daniele@grinta.net>, Henry Schreiner <HenrySchreinerIII@gmail.com>
|
|
@@ -15,6 +15,7 @@ import argparse
|
|
|
15
15
|
import collections
|
|
16
16
|
import contextlib
|
|
17
17
|
import copy
|
|
18
|
+
import dataclasses
|
|
18
19
|
import difflib
|
|
19
20
|
import fnmatch
|
|
20
21
|
import functools
|
|
@@ -83,7 +84,7 @@ if typing.TYPE_CHECKING: # pragma: no cover
|
|
|
83
84
|
MesonArgs = Mapping[MesonArgsKeys, List[str]]
|
|
84
85
|
|
|
85
86
|
|
|
86
|
-
__version__ = '0.
|
|
87
|
+
__version__ = '0.20.0'
|
|
87
88
|
|
|
88
89
|
|
|
89
90
|
_PYPROJECT_METADATA_VERSION = tuple(map(int, pyproject_metadata.__version__.split('.')[:2]))
|
|
@@ -120,13 +121,17 @@ def _compile_patterns(patterns: List[str]) -> Callable[[str], bool]:
|
|
|
120
121
|
return typing.cast('Callable[[str], bool]', func)
|
|
121
122
|
|
|
122
123
|
|
|
124
|
+
class _Entry(typing.NamedTuple):
|
|
125
|
+
dst: pathlib.Path
|
|
126
|
+
src: str
|
|
127
|
+
|
|
128
|
+
|
|
123
129
|
def _map_to_wheel(
|
|
124
130
|
sources: Dict[str, Dict[str, Any]],
|
|
125
|
-
exclude: List[str],
|
|
126
|
-
|
|
127
|
-
) -> DefaultDict[str, List[Tuple[pathlib.Path, str]]]:
|
|
131
|
+
exclude: List[str], include: List[str]
|
|
132
|
+
) -> DefaultDict[str, List[_Entry]]:
|
|
128
133
|
"""Map files to the wheel, organized by wheel installation directory."""
|
|
129
|
-
wheel_files: DefaultDict[str, List[
|
|
134
|
+
wheel_files: DefaultDict[str, List[_Entry]] = collections.defaultdict(list)
|
|
130
135
|
packages: Dict[str, str] = {}
|
|
131
136
|
excluded = _compile_patterns(exclude)
|
|
132
137
|
included = _compile_patterns(include)
|
|
@@ -151,7 +156,8 @@ def _map_to_wheel(
|
|
|
151
156
|
other = packages.setdefault(package, path)
|
|
152
157
|
if other != path:
|
|
153
158
|
this = os.fspath(pathlib.Path(path, *destination.parts[1:]))
|
|
154
|
-
|
|
159
|
+
module = next(entry.dst for entry in wheel_files[other] if entry.dst.parts[0] == destination.parts[1])
|
|
160
|
+
that = os.fspath(other / module)
|
|
155
161
|
raise BuildError(
|
|
156
162
|
f'The {package} package is split between {path} and {other}: '
|
|
157
163
|
f'{this!r} and {that!r}, a "pure: false" argument may be missing in meson.build. '
|
|
@@ -174,9 +180,9 @@ def _map_to_wheel(
|
|
|
174
180
|
if relpath in exclude_files:
|
|
175
181
|
continue
|
|
176
182
|
filedst = dst / relpath
|
|
177
|
-
wheel_files[path].append((filedst, filesrc))
|
|
183
|
+
wheel_files[path].append(_Entry(filedst, filesrc))
|
|
178
184
|
else:
|
|
179
|
-
wheel_files[path].append((dst, src))
|
|
185
|
+
wheel_files[path].append(_Entry(dst, src))
|
|
180
186
|
|
|
181
187
|
return wheel_files
|
|
182
188
|
|
|
@@ -323,20 +329,14 @@ def _is_native(file: Path) -> bool:
|
|
|
323
329
|
return f.read(4) == b'\x7fELF' # ELF
|
|
324
330
|
|
|
325
331
|
|
|
332
|
+
@dataclasses.dataclass
|
|
326
333
|
class _WheelBuilder():
|
|
327
334
|
"""Helper class to build wheels from projects."""
|
|
328
335
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
limited_api: bool,
|
|
334
|
-
allow_windows_shared_libs: bool,
|
|
335
|
-
) -> None:
|
|
336
|
-
self._metadata = metadata
|
|
337
|
-
self._manifest = manifest
|
|
338
|
-
self._limited_api = limited_api
|
|
339
|
-
self._allow_windows_shared_libs = allow_windows_shared_libs
|
|
336
|
+
_metadata: Metadata
|
|
337
|
+
_manifest: Dict[str, List[_Entry]]
|
|
338
|
+
_limited_api: bool
|
|
339
|
+
_allow_windows_shared_libs: bool
|
|
340
340
|
|
|
341
341
|
@property
|
|
342
342
|
def _has_internal_libs(self) -> bool:
|
|
@@ -352,8 +352,8 @@ class _WheelBuilder():
|
|
|
352
352
|
"""Whether the wheel is architecture independent"""
|
|
353
353
|
if self._manifest['platlib'] or self._manifest['mesonpy-libs']:
|
|
354
354
|
return False
|
|
355
|
-
for
|
|
356
|
-
if _is_native(
|
|
355
|
+
for entry in self._manifest['scripts']:
|
|
356
|
+
if _is_native(entry.src):
|
|
357
357
|
return False
|
|
358
358
|
return True
|
|
359
359
|
|
|
@@ -430,14 +430,14 @@ class _WheelBuilder():
|
|
|
430
430
|
# in {platlib} that look like extension modules, and raise
|
|
431
431
|
# an exception if any of them has a Python version
|
|
432
432
|
# specific extension filename suffix ABI tag.
|
|
433
|
-
for
|
|
434
|
-
match = _EXTENSION_SUFFIX_REGEX.match(
|
|
433
|
+
for entry in self._manifest['platlib']:
|
|
434
|
+
match = _EXTENSION_SUFFIX_REGEX.match(entry.dst.name)
|
|
435
435
|
if match:
|
|
436
436
|
abi = match.group('abi')
|
|
437
437
|
if abi is not None and abi != 'abi3':
|
|
438
438
|
raise BuildError(
|
|
439
439
|
f'The package declares compatibility with Python limited API but extension '
|
|
440
|
-
f'module {os.fspath(
|
|
440
|
+
f'module {os.fspath(entry.dst)!r} is tagged for a specific Python version.')
|
|
441
441
|
return 'abi3'
|
|
442
442
|
return None
|
|
443
443
|
|
|
@@ -519,8 +519,8 @@ class _EditableWheelBuilder(_WheelBuilder):
|
|
|
519
519
|
def _top_level_modules(self) -> Collection[str]:
|
|
520
520
|
modules = set()
|
|
521
521
|
for type_ in self._manifest:
|
|
522
|
-
for
|
|
523
|
-
name, dot, ext =
|
|
522
|
+
for entry in self._manifest[type_]:
|
|
523
|
+
name, dot, ext = entry.dst.parts[0].partition('.')
|
|
524
524
|
if dot:
|
|
525
525
|
# module
|
|
526
526
|
suffix = dot + ext
|
|
@@ -744,6 +744,38 @@ class Project():
|
|
|
744
744
|
self._meson_cross_file.write_text(cross_file_data, encoding='utf-8')
|
|
745
745
|
self._meson_args['setup'].extend(('--cross-file', os.fspath(self._meson_cross_file)))
|
|
746
746
|
|
|
747
|
+
# Simplify cross-compilation for Android with cibuildwheel: detect the
|
|
748
|
+
# cross-compilation environment set up by cibuildwheel and synthesize an
|
|
749
|
+
# appropriate cross file.
|
|
750
|
+
elif sysconfig.get_platform().startswith('android-') and 'CIBUILDWHEEL' in os.environ:
|
|
751
|
+
cpu = platform.machine()
|
|
752
|
+
cpu_family = 'x86' if cpu == 'i686' else 'arm' if cpu.startswith('arm') else cpu
|
|
753
|
+
|
|
754
|
+
# cibuildwheel uses environment variables to point to the cross
|
|
755
|
+
# compilation toolchain binaries thus the [binaries] section of
|
|
756
|
+
# the cross file is not needed.
|
|
757
|
+
cross_file_data = textwrap.dedent(f'''
|
|
758
|
+
[host_machine]
|
|
759
|
+
system = 'android'
|
|
760
|
+
subsystem = 'android'
|
|
761
|
+
kernel = 'linux'
|
|
762
|
+
cpu_family = {cpu_family!r}
|
|
763
|
+
cpu = {cpu!r}
|
|
764
|
+
endian = {sys.byteorder!r}
|
|
765
|
+
|
|
766
|
+
[properties]
|
|
767
|
+
# To obtain the correct wheel tags when cross-compiling
|
|
768
|
+
# cibuildwheel monkey-patches platform.system() and
|
|
769
|
+
# platform.machine() to simulate running on Android.
|
|
770
|
+
# This makes Meson believe that host and build machines
|
|
771
|
+
# match, and thus that host binaries can be run on the
|
|
772
|
+
# build machine when this is not actually the case.
|
|
773
|
+
# Override the auto-detection.
|
|
774
|
+
needs_exe_wrapper = true
|
|
775
|
+
''')
|
|
776
|
+
self._meson_cross_file.write_text(cross_file_data, encoding='utf-8')
|
|
777
|
+
self._meson_args['setup'].extend(('--cross-file', os.fspath(self._meson_cross_file)))
|
|
778
|
+
|
|
747
779
|
# Support iOS targets. iOS does not have native build tools and always
|
|
748
780
|
# requires cross compilation: synthesize the appropriate cross file.
|
|
749
781
|
elif sysconfig.get_platform().startswith('ios-'):
|
|
@@ -912,7 +944,7 @@ class Project():
|
|
|
912
944
|
return json.loads(info.read_text(encoding='utf-8'))
|
|
913
945
|
|
|
914
946
|
@property
|
|
915
|
-
def _manifest(self) -> DefaultDict[str, List[
|
|
947
|
+
def _manifest(self) -> DefaultDict[str, List[_Entry]]:
|
|
916
948
|
"""The files to be added to the wheel, organized by wheel path."""
|
|
917
949
|
|
|
918
950
|
# Obtain the list of files Meson would install.
|
|
@@ -378,6 +378,53 @@ def test_archflags_envvar_parsing_invalid(package_purelib_and_platlib, monkeypat
|
|
|
378
378
|
os.environ.pop('_PYTHON_HOST_PLATFORM', None)
|
|
379
379
|
|
|
380
380
|
|
|
381
|
+
@pytest.mark.parametrize(
|
|
382
|
+
('cpu', 'cpu_family'),
|
|
383
|
+
[
|
|
384
|
+
('aarch64', 'aarch64'),
|
|
385
|
+
('armv7l', 'arm'),
|
|
386
|
+
('armv8l', 'arm'),
|
|
387
|
+
('i686', 'x86'),
|
|
388
|
+
('x86_64', 'x86_64'),
|
|
389
|
+
],
|
|
390
|
+
)
|
|
391
|
+
@pytest.mark.parametrize('cross', [True, False])
|
|
392
|
+
def test_android_project(package_simple, monkeypatch, tmp_path, cpu, cpu_family, cross):
|
|
393
|
+
# Mock being on Android
|
|
394
|
+
monkeypatch.setattr(sys, 'platform', 'android')
|
|
395
|
+
monkeypatch.setattr(sys, 'byteorder', 'little')
|
|
396
|
+
monkeypatch.setattr(platform, 'system', Mock(return_value='Android'))
|
|
397
|
+
monkeypatch.setattr(platform, 'machine', Mock(return_value=cpu))
|
|
398
|
+
monkeypatch.setattr(sysconfig, 'get_platform', Mock(return_value='android-24'))
|
|
399
|
+
if cross:
|
|
400
|
+
monkeypatch.setenv('CIBUILDWHEEL', '1')
|
|
401
|
+
|
|
402
|
+
# Meson may require some tools to be configured when fatal warnings are enabled.
|
|
403
|
+
# Set the same set of variables as cibuildwheel.
|
|
404
|
+
for name in ['ar', 'as', 'cc', 'cxx', 'ld', 'nm', 'ranlib', 'readelf', 'strip']:
|
|
405
|
+
monkeypatch.setenv(name.upper(), f'/path/to/{name}')
|
|
406
|
+
|
|
407
|
+
# Create a project.
|
|
408
|
+
project = mesonpy.Project(source_dir=package_simple, build_dir=tmp_path)
|
|
409
|
+
|
|
410
|
+
# When cross-compiling, a cross file should be generated and used.
|
|
411
|
+
setup_args = project._meson_args['setup']
|
|
412
|
+
cross_path = tmp_path / 'meson-python-cross-file.ini'
|
|
413
|
+
if cross:
|
|
414
|
+
assert setup_args[-2:] == ['--cross-file', str(cross_path)]
|
|
415
|
+
cross_config = cross_path.read_text().splitlines()
|
|
416
|
+
assert "system = 'android'" in cross_config
|
|
417
|
+
assert "subsystem = 'android'" in cross_config
|
|
418
|
+
assert "kernel = 'linux'" in cross_config
|
|
419
|
+
assert f"cpu_family = '{cpu_family}'" in cross_config
|
|
420
|
+
assert f"cpu = '{cpu}'" in cross_config
|
|
421
|
+
assert "endian = 'little'" in cross_config
|
|
422
|
+
assert 'needs_exe_wrapper = true' in cross_config
|
|
423
|
+
else:
|
|
424
|
+
assert '--cross-file' not in setup_args
|
|
425
|
+
assert not cross_path.exists()
|
|
426
|
+
|
|
427
|
+
|
|
381
428
|
@pytest.mark.skipif(sys.version_info < (3, 13), reason='requires Python 3.13 or higher')
|
|
382
429
|
@pytest.mark.parametrize('multiarch', [
|
|
383
430
|
'arm64-iphoneos',
|
|
@@ -101,7 +101,8 @@ def test_ios_platform_tag(monkeypatch):
|
|
|
101
101
|
|
|
102
102
|
def wheel_builder_test_factory(content, pure=True, limited_api=False):
|
|
103
103
|
manifest = defaultdict(list)
|
|
104
|
-
|
|
104
|
+
for key, value in content.items():
|
|
105
|
+
manifest[key] = [mesonpy._Entry(pathlib.Path(x), os.path.join('build', x)) for x in value]
|
|
105
106
|
return mesonpy._WheelBuilder(None, manifest, limited_api, False)
|
|
106
107
|
|
|
107
108
|
|
|
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.19.0 → meson_python-0.20.0}/tests/packages/cmake-subproject/cmakesubproject.pyx
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/configure-data/configure_data.py.in
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/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.19.0 → meson_python-0.20.0}/tests/packages/generated-files/example-script.py
RENAMED
|
File without changes
|
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/generated-files/executable_module.py
RENAMED
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/generated-files/generate_version.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/imports-itself-during-build/meson.build
RENAMED
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/imports-itself-during-build/plat.c
RENAMED
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/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
|
{meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/nested/deep/deep.py
RENAMED
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/nested/deep/excluded.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/subdir/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{meson_python-0.19.0 → meson_python-0.20.0}/tests/packages/install-subdir/subdir/excluded.py
RENAMED
|
File without changes
|