meson-python 0.18.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.18.0 → meson_python-0.20.0}/.cirrus.yml +6 -5
- meson_python-0.20.0/.gitattributes +8 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/.github/workflows/docs.yml +1 -1
- meson_python-0.20.0/.github/workflows/release.yml +46 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/.github/workflows/tests.yml +35 -28
- {meson_python-0.18.0 → meson_python-0.20.0}/.pre-commit-config.yaml +0 -1
- meson_python-0.20.0/.vscode/settings.json +7 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/CHANGELOG.rst +24 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/PKG-INFO +5 -18
- {meson_python-0.18.0 → meson_python-0.20.0}/ci/alpine-3.docker +2 -2
- {meson_python-0.18.0 → meson_python-0.20.0}/ci/archlinux.docker +2 -2
- {meson_python-0.18.0 → meson_python-0.20.0}/ci/debian-11.docker +2 -2
- {meson_python-0.18.0 → meson_python-0.20.0}/ci/debian-12.docker +2 -2
- meson_python-0.20.0/ci/debian-unstable.docker +7 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/ci/fedora-41.docker +2 -2
- meson_python-0.20.0/ci/miniconda.docker +7 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/ci/opensuse-15.docker +2 -2
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/changelog.rst +24 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/how-to-guides/config-settings.rst +29 -28
- meson_python-0.20.0/docs/how-to-guides/contributing.rst +86 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/how-to-guides/editable-installs.rst +56 -1
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/how-to-guides/meson-args.rst +40 -32
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/how-to-guides/shared-libraries.rst +47 -41
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/index.rst +1 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/reference/environment-variables.rst +25 -9
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/reference/meson-compatibility.rst +4 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/reference/pyproject-settings.rst +33 -5
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/tutorials/introduction.rst +12 -7
- {meson_python-0.18.0 → meson_python-0.20.0}/mesonpy/__init__.py +126 -35
- {meson_python-0.18.0 → meson_python-0.20.0}/mesonpy/_compat.py +0 -8
- {meson_python-0.18.0 → meson_python-0.20.0}/mesonpy/_editable.py +1 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/mesonpy/_tags.py +21 -1
- {meson_python-0.18.0 → meson_python-0.20.0}/pyproject.toml +32 -16
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/conftest.py +41 -2
- meson_python-0.20.0/tests/packages/cmake-subproject/cmakesubproject.pyx +13 -0
- meson_python-0.20.0/tests/packages/cmake-subproject/meson.build +25 -0
- meson_python-0.20.0/tests/packages/cmake-subproject/subprojects/cmaketest/CMakeLists.txt +17 -0
- meson_python-0.20.0/tests/packages/cmake-subproject/subprojects/cmaketest/cmaketest.cpp +13 -0
- meson_python-0.20.0/tests/packages/cmake-subproject/subprojects/cmaketest/cmaketest.hpp +14 -0
- meson_python-0.20.0/tests/packages/cmake-subproject/subprojects/cmaketest.wrap +9 -0
- meson_python-0.20.0/tests/packages/install-data/__init__.py +8 -0
- meson_python-0.20.0/tests/packages/install-data/data.txt +1 -0
- meson_python-0.20.0/tests/packages/install-data/meson.build +25 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/limited-api/meson.build +1 -1
- meson_python-0.20.0/tests/packages/simple/pyproject.toml +7 -0
- meson_python-0.20.0/tests/packages/subproject/pyproject.toml +16 -0
- meson_python-0.20.0/tests/packages/subproject/subprojects/dep/data.txt +1 -0
- meson_python-0.20.0/tests/packages/subproject/subprojects/dep/meson.build +20 -0
- meson_python-0.20.0/tests/packages/symlinks/submodule/__init__.py +3 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/user-args/pyproject.toml +1 -1
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_editable.py +6 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_project.py +92 -8
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_sdist.py +10 -1
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_tags.py +27 -1
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_wheel.py +18 -5
- meson_python-0.18.0/ci/debian-unstable.docker +0 -7
- meson_python-0.18.0/ci/miniconda.docker +0 -7
- meson_python-0.18.0/docs/examples/spam/meson.build +0 -32
- meson_python-0.18.0/docs/examples/spam/pyproject.toml +0 -15
- meson_python-0.18.0/docs/examples/spam/src/__init__.py +0 -5
- meson_python-0.18.0/docs/examples/spam/src/spammodule.c +0 -32
- meson_python-0.18.0/tests/packages/subproject/subprojects/dep/meson.build +0 -9
- meson_python-0.18.0/tests/test_examples.py +0 -34
- {meson_python-0.18.0 → meson_python-0.20.0}/.gitignore +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/.mailmap +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/.readthedocs.yaml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/LICENSE +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/LICENSES/MIT.txt +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/README.rst +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/RELEASE.rst +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/ci/manylinux.docker +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/codecov.yml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/about.rst +1 -1
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/conf.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/explanations/default-options.rst +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/explanations/design-old.rst +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/how-to-guides/debug-builds.rst +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/how-to-guides/sdist.rst +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/projects-using-meson-python.rst +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/reference/config-settings.rst +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/reference/limitations.rst +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/spelling_wordlist.txt +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/docs/spelling_wordlist.txt.license +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/mesonpy/_rpath.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/mesonpy/_util.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/mesonpy/_wheelfile.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/__init__.py +0 -0
- {meson_python-0.18.0/tests/packages/complex → meson_python-0.20.0/tests/packages/cmake-subproject}/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/complex/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/complex/more/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/complex/more/baz.pyx +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/complex/more/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/complex/namespace/bar.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/complex/namespace/foo.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/extension.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/foo.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/move.py +0 -0
- {meson_python-0.18.0/tests/packages/configure-data → meson_python-0.20.0/tests/packages/complex}/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/complex/test.pyx +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/configure-data/configure_data.py.in +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/configure-data/meson.build +0 -0
- {meson_python-0.18.0/tests/packages/install-subdir → meson_python-0.20.0/tests/packages/configure-data}/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/custom-target-dir/codegen.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/custom-target-dir/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/custom-target-dir/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/detect-compiler/detect_compiler.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/detect-compiler/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/detect-compiler/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/dist-script/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/dist-script/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/dynamic-version/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/dynamic-version/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/encoding/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/encoding/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/encoding//343/203/206/343/202/271/343/203/210.py" +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/executable/example.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/executable/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/executable/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/executable-bit/example-script.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/executable-bit/example.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/executable-bit/executable_module.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/executable-bit/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/executable-bit/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/full-metadata/LICENSE +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/full-metadata/README.md +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/full-metadata/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/full-metadata/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/generated-files/example-script.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/generated-files/example.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/generated-files/executable_module.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/generated-files/generate_version.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/generated-files/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/generated-files/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/imports-itself-during-build/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/imports-itself-during-build/plat.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/imports-itself-during-build/pure.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/imports-itself-during-build/pyproject.toml +0 -0
- /meson_python-0.18.0/tests/packages/symlinks/__init__.py → /meson_python-0.20.0/tests/packages/install-data/data.txt.license +0 -0
- {meson_python-0.18.0/tests/packages/missing-meson-version → meson_python-0.20.0/tests/packages/install-data}/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/install-subdir/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/install-subdir/nested/deep/deep.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/install-subdir/nested/deep/excluded.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/install-subdir/nested/nested.py +0 -0
- {meson_python-0.18.0/tests/packages/library → meson_python-0.20.0/tests/packages/install-subdir}/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/install-subdir/strip/excluded.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/install-subdir/strip/module.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/install-subdir/subdir/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/install-subdir/subdir/excluded/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/install-subdir/subdir/excluded.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/install-subdir/subdir/test.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/library/example.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/library/examplelib.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/library/examplelib.h +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/library/meson.build +0 -0
- {meson_python-0.18.0/tests/packages/pure → meson_python-0.20.0/tests/packages/library}/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/license-file/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/license-file/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/license-file/something/LICENSE.custom +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/license-pep639/LICENSES/BSD-3-Clause.txt +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/license-pep639/LICENSES/MIT.txt +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/license-pep639/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/license-pep639/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/limited-api/meson.options +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/limited-api/module.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/limited-api/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/examplemod.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/lib/examplelib.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/lib/examplelib.h +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/lib/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-against-local-lib/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/foo/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/foo/_examplemod.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/foo/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/subprojects/bar/bar_dll.h +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/subprojects/bar/examplelib.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/subprojects/bar/examplelib.h +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/link-library-in-subproject/subprojects/bar/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/long-path/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/long-path/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/missing-dynamic-version/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/missing-dynamic-version/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/missing-meson-version/meson.build +0 -0
- {meson_python-0.18.0/tests/packages/subproject → meson_python-0.20.0/tests/packages/missing-meson-version}/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/module-types/file.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/module-types/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/module-types/namespace/data.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/module-types/native.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/module-types/package/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/module-types/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/pure/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/pure/pure.py +0 -0
- {meson_python-0.18.0/tests/packages/purelib-and-platlib → meson_python-0.20.0/tests/packages/pure}/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/purelib-and-platlib/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/purelib-and-platlib/plat.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/purelib-and-platlib/pure.py +0 -0
- {meson_python-0.18.0/tests/packages/purelib-platlib-split → meson_python-0.20.0/tests/packages/purelib-and-platlib}/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/purelib-platlib-split/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/purelib-platlib-split/plat.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/purelib-platlib-split/pure.py +0 -0
- {meson_python-0.18.0/tests/packages/simple → meson_python-0.20.0/tests/packages/purelib-platlib-split}/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/scipy-like/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/cy_extmod.pyx +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/extmod.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/submod/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/scipy-like/mypkg/submod/unknown_filetype.npq +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/scipy-like/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/scipy-like/tools/generate_config.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/_examplemod.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/examplelib.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/examplelib.h +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/sub/examplelib2.c +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/sub/examplelib2.h +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/sub/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/mypkg/sub/mypkg_dll.h +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/sharedlib-in-package/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/simple/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/simple/data.txt +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/simple/data.txt.license +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/simple/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/simple/test.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/subdirs/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/subdirs/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/subdirs/subdirs/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/subdirs/subdirs/a/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/subdirs/subdirs/a/b/c.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/subdirs/subdirs/b/c.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/subproject/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/subproject/subproject.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/subproject/subprojects/dep/dep.py +0 -0
- {meson_python-0.18.0/tests/packages/symlinks/submodule → meson_python-0.20.0/tests/packages/symlinks}/__init__.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/symlinks/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/symlinks/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/symlinks/submodule/aaa.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/symlinks/submodule/bbb.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/unknown-user-args-meson-args/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/unknown-user-args-top-level/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/unsupported-python-version/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/unsupported-python-version/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/user-args/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/user-args/pure.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/vendored-meson/meson.build +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/vendored-meson/meson_options.txt +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/vendored-meson/pyproject.toml +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/packages/vendored-meson/third-party/meson.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_consistency.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_metadata.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_options.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_output.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_pep517.py +0 -0
- {meson_python-0.18.0 → meson_python-0.20.0}/tests/test_wheelfile.py +0 -0
|
@@ -8,7 +8,8 @@ test_template: &test
|
|
|
8
8
|
- python3 --version
|
|
9
9
|
- python3 -m venv env
|
|
10
10
|
- . env/bin/activate
|
|
11
|
-
- python3 -m pip install
|
|
11
|
+
- python3 -m pip install -U pip
|
|
12
|
+
- python3 -m pip install . --group test
|
|
12
13
|
- python3 -m pytest
|
|
13
14
|
|
|
14
15
|
alpine-3_task:
|
|
@@ -55,12 +56,12 @@ manylinux-python3.13t_task:
|
|
|
55
56
|
PATH: "/opt/python/cp313-cp313t/bin/:${PATH}"
|
|
56
57
|
<< : *test
|
|
57
58
|
|
|
58
|
-
manylinux-python3.
|
|
59
|
+
manylinux-python3.9_task:
|
|
59
60
|
container:
|
|
60
61
|
dockerfile: ci/manylinux.docker
|
|
61
62
|
cpu: 1
|
|
62
63
|
env:
|
|
63
|
-
PATH: "/opt/python/
|
|
64
|
+
PATH: "/opt/python/cp39-cp39/bin/:${PATH}"
|
|
64
65
|
<< : *test
|
|
65
66
|
|
|
66
67
|
miniconda_task:
|
|
@@ -77,12 +78,12 @@ opensuse-15_task:
|
|
|
77
78
|
|
|
78
79
|
freebsd_task:
|
|
79
80
|
freebsd_instance:
|
|
80
|
-
image_family: freebsd-14-
|
|
81
|
+
image_family: freebsd-14-3
|
|
81
82
|
install_script: pkg install -y git ninja patchelf
|
|
82
83
|
<< : *test
|
|
83
84
|
|
|
84
85
|
macos-arm64_task:
|
|
85
86
|
macos_instance:
|
|
86
|
-
image: ghcr.io/cirruslabs/macos-sonoma
|
|
87
|
+
image: ghcr.io/cirruslabs/macos-runner:sonoma
|
|
87
88
|
install_script: brew install git ninja python@3.11
|
|
88
89
|
<< : *test
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 The meson-python developers
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MIT
|
|
4
|
+
|
|
5
|
+
# These test files contain symlinks to outside the repo (hence invalid - on
|
|
6
|
+
# purpose) so exclude them to prevent warnings. See gh-728 for context.
|
|
7
|
+
tests/packages/symlinks/baz.py export-ignore
|
|
8
|
+
tests/packages/symlinks/qux.py export-ignore
|
|
@@ -32,7 +32,7 @@ jobs:
|
|
|
32
32
|
- uses: actions/checkout@v4
|
|
33
33
|
with:
|
|
34
34
|
ref: ${{ github.event.inputs.tag || github.ref }}
|
|
35
|
-
- run: python -m pip install
|
|
35
|
+
- run: python -m pip install --group docs
|
|
36
36
|
- run: python -m sphinx -W docs/ build/docs/
|
|
37
37
|
- uses: actions/upload-pages-artifact@v3
|
|
38
38
|
with:
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 The meson-python developers
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MIT
|
|
4
|
+
|
|
5
|
+
name: release
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
tags:
|
|
9
|
+
- '[0-9]+.[0-9]+.[0-9]+'
|
|
10
|
+
pull_request:
|
|
11
|
+
branches:
|
|
12
|
+
- main
|
|
13
|
+
- release-*
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
|
|
17
|
+
build:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4
|
|
21
|
+
- uses: actions/setup-python@v5
|
|
22
|
+
with:
|
|
23
|
+
python-version: '3.14'
|
|
24
|
+
- run: python -m pip install build
|
|
25
|
+
- run: python -m build
|
|
26
|
+
- uses: actions/upload-artifact@v4
|
|
27
|
+
with:
|
|
28
|
+
path: dist/*
|
|
29
|
+
|
|
30
|
+
upload:
|
|
31
|
+
needs: build
|
|
32
|
+
runs-on: ubuntu-latest
|
|
33
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
|
|
34
|
+
environment:
|
|
35
|
+
name: pypi
|
|
36
|
+
url: https://pypi.org/p/meson-python
|
|
37
|
+
permissions:
|
|
38
|
+
id-token: write
|
|
39
|
+
steps:
|
|
40
|
+
- uses: actions/download-artifact@v4
|
|
41
|
+
with:
|
|
42
|
+
merge-multiple: true
|
|
43
|
+
path: dist
|
|
44
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
45
|
+
with:
|
|
46
|
+
print-hash: true
|
|
@@ -17,7 +17,6 @@ on:
|
|
|
17
17
|
# This is spelt like this to do not ignore the docs/examples/ folder.
|
|
18
18
|
- '**'
|
|
19
19
|
- '!docs/**'
|
|
20
|
-
- 'docs/examples/**'
|
|
21
20
|
- '!CHANGELOG.rst'
|
|
22
21
|
- '!LICENSE'
|
|
23
22
|
- '!LICENSES/**'
|
|
@@ -42,34 +41,30 @@ jobs:
|
|
|
42
41
|
matrix:
|
|
43
42
|
os:
|
|
44
43
|
- ubuntu-latest
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
#
|
|
48
|
-
|
|
49
|
-
# the Cirrus CI jobs.
|
|
50
|
-
- macos-13
|
|
44
|
+
# macOS 14 on arm64 is covered by the Cirrus CI jobs, stick to macOS
|
|
45
|
+
# on x86-64 here as long as we can: macOS 15 is currently planned as
|
|
46
|
+
# the last supported image based on Intel CPU on GitHub Actions.
|
|
47
|
+
- macos-15-intel
|
|
51
48
|
- windows-latest
|
|
52
49
|
python:
|
|
53
|
-
- '3.
|
|
54
|
-
- '3.
|
|
50
|
+
- '3.9'
|
|
51
|
+
- '3.14'
|
|
55
52
|
meson:
|
|
56
53
|
-
|
|
57
|
-
|
|
54
|
+
dependencies:
|
|
58
55
|
-
|
|
59
56
|
include:
|
|
60
57
|
- os: ubuntu-latest
|
|
61
58
|
python: 'pypy-3.9'
|
|
62
59
|
- os: ubuntu-latest
|
|
63
60
|
python: 'pypy-3.11'
|
|
64
|
-
- os: ubuntu-latest
|
|
65
|
-
python: '3.8'
|
|
66
|
-
- os: ubuntu-latest
|
|
67
|
-
python: '3.9'
|
|
68
61
|
- os: ubuntu-latest
|
|
69
62
|
python: '3.10'
|
|
70
63
|
# Test with older supported Meson version. Meson up to
|
|
71
64
|
# version 1.2.3 requires distutils, which has been removed
|
|
72
65
|
# from the stdlib in Python 3.12, thus test with Pythn 3.11.
|
|
66
|
+
# To avoid having too many CI jobs, combine this with tests
|
|
67
|
+
# with the minimum version of other dependencies.
|
|
73
68
|
- os: ubuntu-latest
|
|
74
69
|
python: '3.11'
|
|
75
70
|
meson: '~=0.64.0'
|
|
@@ -91,12 +86,24 @@ jobs:
|
|
|
91
86
|
- os: ubuntu-latest
|
|
92
87
|
python: '3.12'
|
|
93
88
|
meson: '~=1.5.0'
|
|
94
|
-
|
|
89
|
+
dependencies: 'packaging==23.2 pyproject-metadata==0.9.0'
|
|
95
90
|
- os: ubuntu-latest
|
|
96
91
|
python: '3.12'
|
|
92
|
+
meson: '~=1.6.0'
|
|
93
|
+
dependencies: 'pyproject-metadata==0.9.0'
|
|
94
|
+
- os: ubuntu-latest
|
|
95
|
+
python: '3.12'
|
|
96
|
+
meson: '~=1.7.0'
|
|
97
|
+
dependencies: 'packaging==23.2'
|
|
98
|
+
- os: ubuntu-latest
|
|
99
|
+
python: '3.13'
|
|
100
|
+
meson: '~=1.8.0'
|
|
101
|
+
# Test with Meson master branch.
|
|
102
|
+
- os: ubuntu-latest
|
|
103
|
+
python: '3.14'
|
|
97
104
|
meson: '@git+https://github.com/mesonbuild/meson.git'
|
|
98
105
|
- os: windows-latest
|
|
99
|
-
python: '3.
|
|
106
|
+
python: '3.14'
|
|
100
107
|
meson: '@git+https://github.com/mesonbuild/meson.git'
|
|
101
108
|
|
|
102
109
|
steps:
|
|
@@ -124,12 +131,12 @@ jobs:
|
|
|
124
131
|
run: python -m pip install "meson ${{ matrix.meson }}"
|
|
125
132
|
if: ${{ matrix.meson }}
|
|
126
133
|
|
|
127
|
-
- name: Install
|
|
128
|
-
run: python -m pip install
|
|
129
|
-
if: ${{ matrix.
|
|
134
|
+
- name: Install dependencies
|
|
135
|
+
run: python -m pip install ${{ matrix.dependencies }}
|
|
136
|
+
if: ${{ matrix.dependencies }}
|
|
130
137
|
|
|
131
138
|
- name: Install
|
|
132
|
-
run: python -m pip install .
|
|
139
|
+
run: python -m pip install . --group test
|
|
133
140
|
|
|
134
141
|
- name: Run tests
|
|
135
142
|
run: python -m pytest --showlocals -vv --cov --cov-report=xml
|
|
@@ -172,7 +179,7 @@ jobs:
|
|
|
172
179
|
if: ${{ matrix.meson }}
|
|
173
180
|
|
|
174
181
|
- name: Install
|
|
175
|
-
run: python -m pip install .
|
|
182
|
+
run: python -m pip install . --group test
|
|
176
183
|
|
|
177
184
|
- name: Run tests
|
|
178
185
|
run: python -m pytest --showlocals -vv
|
|
@@ -245,7 +252,7 @@ jobs:
|
|
|
245
252
|
pushd /usr/share/python-wheels/
|
|
246
253
|
python -m pip download setuptools pip
|
|
247
254
|
popd
|
|
248
|
-
python -m pip install .
|
|
255
|
+
python -m pip install . --group test
|
|
249
256
|
shell: C:\cygwin\bin\env.exe CYGWIN_NOWINPATH=1 CHERE_INVOKING=1 C:\cygwin\bin\bash.exe -leo pipefail -o igncr {0}
|
|
250
257
|
|
|
251
258
|
- name: Run tests
|
|
@@ -270,21 +277,21 @@ jobs:
|
|
|
270
277
|
- name: Install Homebrew Python
|
|
271
278
|
run: |
|
|
272
279
|
brew install --overwrite python@${{ matrix.python }}
|
|
273
|
-
echo /
|
|
280
|
+
echo /opt/homebrew/opt/python@${{ matrix.python }}/libexec/bin/ >> $GITHUB_PATH
|
|
281
|
+
python${{ matrix.python }} -m pip config set global.break-system-packages true
|
|
282
|
+
|
|
283
|
+
- name: Check Python version
|
|
284
|
+
run: python --version | grep ${{ matrix.python }}
|
|
274
285
|
|
|
275
286
|
- name: Install Ninja
|
|
276
287
|
run: brew install ninja
|
|
277
288
|
|
|
278
|
-
- name: Update pip
|
|
279
|
-
# pip >= 23.0 fixes https://github.com/pypa/pip/issues/11539
|
|
280
|
-
run: python -m pip install --upgrade "pip >= 23.0"
|
|
281
|
-
|
|
282
289
|
- name: Install Meson
|
|
283
290
|
run: python -m pip install "meson ${{ matrix.meson }}"
|
|
284
291
|
if: ${{ matrix.meson }}
|
|
285
292
|
|
|
286
293
|
- name: Install
|
|
287
|
-
run: python -m pip install .
|
|
294
|
+
run: python -m pip install . --group test
|
|
288
295
|
|
|
289
296
|
- name: Run tests
|
|
290
297
|
run: python -m pytest --showlocals -vv
|
|
@@ -11,6 +11,30 @@
|
|
|
11
11
|
Changelog
|
|
12
12
|
+++++++++
|
|
13
13
|
|
|
14
|
+
0.20.0
|
|
15
|
+
======
|
|
16
|
+
|
|
17
|
+
- Add support for targeting the Android platform.
|
|
18
|
+
|
|
19
|
+
Daniele Nicolodi, Malcolm Smith, Ralf Gommers --- 10-06-2026.
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
0.19.0
|
|
23
|
+
======
|
|
24
|
+
|
|
25
|
+
- Drop Python 3.8 support.
|
|
26
|
+
- Development-related extras were moved to dependency groups.
|
|
27
|
+
- Add support for targeting the iOS platform.
|
|
28
|
+
- The ``strip`` binary is now included in synthesized cross files.
|
|
29
|
+
- Documentation improvements: add more examples for specific use cases, and a
|
|
30
|
+
contributing guide.
|
|
31
|
+
- Use trusted publishing with digital attestations to upload release artifacts
|
|
32
|
+
to PyPI.
|
|
33
|
+
|
|
34
|
+
Andrew Annex, Daniele Nicolodi, Michał Górny, Ralf Gommers, Russell
|
|
35
|
+
Keith-Magee, Tobias Diez --- 14-01-2026.
|
|
36
|
+
|
|
37
|
+
|
|
14
38
|
0.18.0
|
|
15
39
|
======
|
|
16
40
|
|
|
@@ -1,9 +1,9 @@
|
|
|
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
|
-
Maintainer-Email: Ralf Gommers <ralf.gommers@gmail.com>, Daniele Nicolodi <daniele@grinta.net>, Henry Schreiner <HenrySchreinerIII@gmail.com
|
|
6
|
+
Maintainer-Email: Ralf Gommers <ralf.gommers@gmail.com>, Daniele Nicolodi <daniele@grinta.net>, Henry Schreiner <HenrySchreinerIII@gmail.com>
|
|
7
7
|
License-Expression: MIT
|
|
8
8
|
License-File: LICENSES/MIT.txt
|
|
9
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -13,26 +13,13 @@ Project-URL: homepage, https://github.com/mesonbuild/meson-python
|
|
|
13
13
|
Project-URL: repository, https://github.com/mesonbuild/meson-python
|
|
14
14
|
Project-URL: documentation, https://mesonbuild.com/meson-python/
|
|
15
15
|
Project-URL: changelog, https://mesonbuild.com/meson-python/changelog.html
|
|
16
|
-
Requires-Python: >=3.
|
|
16
|
+
Requires-Python: >=3.9
|
|
17
17
|
Requires-Dist: meson>=0.64.0; python_version < "3.12"
|
|
18
18
|
Requires-Dist: meson>=1.2.3; python_version >= "3.12"
|
|
19
|
-
Requires-Dist: packaging>=23.2
|
|
19
|
+
Requires-Dist: packaging>=23.2; sys_platform != "ios"
|
|
20
|
+
Requires-Dist: packaging>=24.2; sys_platform == "ios"
|
|
20
21
|
Requires-Dist: pyproject-metadata>=0.9.0
|
|
21
22
|
Requires-Dist: tomli>=1.0.0; python_version < "3.11"
|
|
22
|
-
Provides-Extra: test
|
|
23
|
-
Requires-Dist: build; extra == "test"
|
|
24
|
-
Requires-Dist: pytest>=6.0; extra == "test"
|
|
25
|
-
Requires-Dist: pytest-cov[toml]; extra == "test"
|
|
26
|
-
Requires-Dist: pytest-mock; extra == "test"
|
|
27
|
-
Requires-Dist: cython>=3.0.3; extra == "test"
|
|
28
|
-
Requires-Dist: wheel; extra == "test"
|
|
29
|
-
Requires-Dist: typing-extensions>=3.7.4; python_version < "3.11" and extra == "test"
|
|
30
|
-
Provides-Extra: docs
|
|
31
|
-
Requires-Dist: furo>=2024.08.06; extra == "docs"
|
|
32
|
-
Requires-Dist: sphinx~=8.1.0; extra == "docs"
|
|
33
|
-
Requires-Dist: sphinx-copybutton>=0.5.0; extra == "docs"
|
|
34
|
-
Requires-Dist: sphinx-design>=0.1.0; extra == "docs"
|
|
35
|
-
Requires-Dist: sphinxext-opengraph>=0.7.0; extra == "docs"
|
|
36
23
|
Description-Content-Type: text/x-rst
|
|
37
24
|
|
|
38
25
|
.. SPDX-FileCopyrightText: 2021 The meson-python developers
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MIT
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# 20260108
|
|
6
6
|
FROM alpine:3
|
|
7
|
-
RUN apk add --no-cache python3-dev py3-pip build-base ninja-is-really-ninja git patchelf
|
|
7
|
+
RUN apk add --no-cache python3-dev py3-pip build-base ninja-is-really-ninja git patchelf cmake
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MIT
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# 20260108
|
|
6
6
|
FROM archlinux:latest
|
|
7
|
-
RUN pacman -Syu --noconfirm && pacman -S --noconfirm python python-pip gcc ninja git patchelf
|
|
7
|
+
RUN pacman -Syu --noconfirm && pacman -S --noconfirm python python-pip gcc ninja git patchelf cmake
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MIT
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# 20260108
|
|
6
6
|
FROM debian:bullseye
|
|
7
|
-
RUN apt-get update && apt-get install -y git ninja-build patchelf python3-pip python3-venv && rm -rf /var/lib/apt/lists/*
|
|
7
|
+
RUN apt-get update && apt-get install -y git ninja-build patchelf python3-pip python3-venv cmake && rm -rf /var/lib/apt/lists/*
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MIT
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# 20260108
|
|
6
6
|
FROM debian:bookworm
|
|
7
|
-
RUN apt-get update && apt-get install -y git ninja-build patchelf python3-pip python3-venv && rm -rf /var/lib/apt/lists/*
|
|
7
|
+
RUN apt-get update && apt-get install -y git ninja-build patchelf python3-pip python3-venv cmake && rm -rf /var/lib/apt/lists/*
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2022 The meson-python developers
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MIT
|
|
4
|
+
|
|
5
|
+
# 20260108
|
|
6
|
+
FROM debian:unstable
|
|
7
|
+
RUN apt-get update && apt-get install -y gcc g++ git ninja-build patchelf python3-pip python3-venv cmake && rm -rf /var/lib/apt/lists/*
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MIT
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# 20260108
|
|
6
6
|
FROM fedora:41
|
|
7
|
-
RUN dnf -y update && dnf -y install python3-devel python3-pip gcc ninja-build git patchelf && dnf clean all
|
|
7
|
+
RUN dnf -y update && dnf -y install python3-devel python3-pip gcc gcc-c++ ninja-build git patchelf cmake && dnf clean all
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: MIT
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# 20260108
|
|
6
6
|
FROM opensuse/leap:latest
|
|
7
|
-
RUN zypper --non-interactive install python311 python311-pip python311-devel gcc ninja git patchelf && zypper clean --all && ln -
|
|
7
|
+
RUN zypper --non-interactive install python311 python311-pip python311-devel gcc gcc-c++ ninja git patchelf cmake && zypper clean --all && ln -sf python3.11 /usr/bin/python3
|
|
@@ -11,6 +11,30 @@
|
|
|
11
11
|
Changelog
|
|
12
12
|
+++++++++
|
|
13
13
|
|
|
14
|
+
0.20.0
|
|
15
|
+
======
|
|
16
|
+
|
|
17
|
+
- Add support for targeting the Android platform.
|
|
18
|
+
|
|
19
|
+
Daniele Nicolodi, Malcolm Smith, Ralf Gommers --- 10-06-2026.
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
0.19.0
|
|
23
|
+
======
|
|
24
|
+
|
|
25
|
+
- Drop Python 3.8 support.
|
|
26
|
+
- Development-related extras were moved to dependency groups.
|
|
27
|
+
- Add support for targeting the iOS platform.
|
|
28
|
+
- The ``strip`` binary is now included in synthesized cross files.
|
|
29
|
+
- Documentation improvements: add more examples for specific use cases, and a
|
|
30
|
+
contributing guide.
|
|
31
|
+
- Use trusted publishing with digital attestations to upload release artifacts
|
|
32
|
+
to PyPI.
|
|
33
|
+
|
|
34
|
+
Andrew Annex, Daniele Nicolodi, Michał Górny, Ralf Gommers, Russell
|
|
35
|
+
Keith-Magee, Tobias Diez --- 14-01-2026.
|
|
36
|
+
|
|
37
|
+
|
|
14
38
|
0.18.0
|
|
15
39
|
======
|
|
16
40
|
|
|
@@ -19,25 +19,25 @@ the ``-C`` short command line option:
|
|
|
19
19
|
|
|
20
20
|
.. tab-set::
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
.. tab-item:: pypa/build
|
|
23
|
+
:sync: key_pypa_build
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
.. code-block:: console
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
$ python -m build --wheel \
|
|
28
28
|
-Csetup-args="-Doption=true" \
|
|
29
29
|
-Csetup-args="-Dvalue=1" \
|
|
30
30
|
-Ccompile-args="-j6"
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
.. code-block:: console
|
|
32
|
+
.. tab-item:: pip
|
|
33
|
+
:sync: key_pip
|
|
36
34
|
|
|
37
|
-
|
|
38
|
-
--config-settings=setup-args="-Doption=disable" \
|
|
39
|
-
--config-settings=compile-args="-j6"
|
|
35
|
+
.. code-block:: console
|
|
40
36
|
|
|
37
|
+
$ python -m pip wheel . \
|
|
38
|
+
-Csetup-args="-Doption=true" \
|
|
39
|
+
-Csetup-args="-Dvalue=1" \
|
|
40
|
+
-Ccompile-args="-j6"
|
|
41
41
|
|
|
42
42
|
Refer to the `build`_ and `pip`_ documentation for details. This
|
|
43
43
|
example uses the ``python -m pip wheel`` command to build a Python wheel
|
|
@@ -46,15 +46,16 @@ immediately install it, replace ``wheel`` with ``install``. See the
|
|
|
46
46
|
:ref:`how-to-guides-meson-args` guide for more examples.
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
.. admonition::
|
|
49
|
+
.. admonition:: Older pip versions
|
|
50
50
|
:class: caution
|
|
51
51
|
|
|
52
|
-
Please note that
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
Please note that prior to version 23.1 ``pip`` did not support the ``-C``
|
|
53
|
+
short command line switch for the ``--config-settings`` options and did not
|
|
54
|
+
offer a way to set a build config setting to a list of strings: later
|
|
55
|
+
values for the same key passed to ``--config-settings`` override earlier
|
|
56
|
+
ones, effectively limiting the number of options that can be passed to each
|
|
57
|
+
command invoked in the build process to one. This limitation has been
|
|
58
|
+
lifted in ``pip`` release 23.1.
|
|
58
59
|
|
|
59
60
|
|
|
60
61
|
.. _build: https://pypa-build.readthedocs.io/en/stable/
|
|
@@ -67,25 +68,25 @@ Using a persistent build directory
|
|
|
67
68
|
By default, ``meson-python`` uses a temporary build directory which is
|
|
68
69
|
deleted when the build terminates. A persistent build directory allows
|
|
69
70
|
faster incremental builds and to access build logs and intermediate
|
|
70
|
-
build artifacts. The
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
build artifacts. The :option:`build-dir` config setting can be used to
|
|
72
|
+
build in a user-specified build directory which will not be deleted.
|
|
73
|
+
For example:
|
|
73
74
|
|
|
74
75
|
.. tab-set::
|
|
75
76
|
|
|
76
77
|
.. tab-item:: pypa/build
|
|
77
|
-
|
|
78
|
+
:sync: key_pypa_build
|
|
78
79
|
|
|
79
|
-
|
|
80
|
+
.. code-block:: console
|
|
80
81
|
|
|
81
|
-
|
|
82
|
+
$ python -m build --wheel -Cbuild-dir=build
|
|
82
83
|
|
|
83
84
|
.. tab-item:: pip
|
|
84
|
-
|
|
85
|
+
:sync: key_pip
|
|
85
86
|
|
|
86
|
-
|
|
87
|
+
.. code-block:: console
|
|
87
88
|
|
|
88
|
-
|
|
89
|
+
$ python -m pip install . -Cbuild-dir=build
|
|
89
90
|
|
|
90
91
|
After running this command, the ``build`` directory will contain all
|
|
91
92
|
the build artifacts and support files created by ``meson``, ``ninja``
|
|
@@ -114,7 +115,7 @@ shows the detailed Meson setup log when the build fails:
|
|
|
114
115
|
- name: Build the package
|
|
115
116
|
run: python -m build --wheel -Cbuild-dir=build
|
|
116
117
|
- name: Show meson-log.txt
|
|
117
|
-
if: failure()
|
|
118
|
+
if: ${{ failure() }}
|
|
118
119
|
run: cat build/meson-logs/meson-log.txt
|
|
119
120
|
|
|
120
121
|
Replacing ``failure()`` with ``always()`` in the code above will
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
.. SPDX-FileCopyrightText: 2021 The meson-python developers
|
|
2
|
+
..
|
|
3
|
+
.. SPDX-License-Identifier: MIT
|
|
4
|
+
|
|
5
|
+
.. _how-to-guides-contributing:
|
|
6
|
+
|
|
7
|
+
Contributing
|
|
8
|
+
============
|
|
9
|
+
|
|
10
|
+
Thank you for your interest in contributing. ``meson-python`` development is
|
|
11
|
+
hosted on GitHub_ and uses the ubiquitous pull-request based workflow. The
|
|
12
|
+
usual Python development practices apply. Python source code should adhere to
|
|
13
|
+
the `PEP 8`_ code style with a maximum line length of 127 characters. Single
|
|
14
|
+
quotes are used as string delimiters. Python code uses type annotations
|
|
15
|
+
verified via Mypy_ and is kept clean linting it with Ruff_.
|
|
16
|
+
|
|
17
|
+
``meson-python`` focus is producing Python wheels containing extension modules
|
|
18
|
+
and thus running its test suite requires C and C++ compilers, and CMake. The
|
|
19
|
+
``patchelf`` utility is required on Linux. These are best installed via the
|
|
20
|
+
system package manager.
|
|
21
|
+
|
|
22
|
+
The documentation is written in reST format and the published version is
|
|
23
|
+
generated with Sphinx_.
|
|
24
|
+
|
|
25
|
+
To work on the code:
|
|
26
|
+
|
|
27
|
+
1. Fork the repository.
|
|
28
|
+
|
|
29
|
+
2. Set up the development environment by creating a virtual environment and
|
|
30
|
+
installing the necessary dependencies for development and testing:
|
|
31
|
+
|
|
32
|
+
.. code-block:: console
|
|
33
|
+
|
|
34
|
+
$ uv venv
|
|
35
|
+
$ source .venv/bin/activate
|
|
36
|
+
$ uv pip install meson ninja pyproject-metadata
|
|
37
|
+
$ uv pip install --no-build-isolation --editable .
|
|
38
|
+
$ uv pip install --group test
|
|
39
|
+
$ uv pip install ruff mypy
|
|
40
|
+
|
|
41
|
+
3. Create your branch from the ``main`` branch.
|
|
42
|
+
|
|
43
|
+
4. Hack away. Add tests as necessary.
|
|
44
|
+
|
|
45
|
+
5. Run the linter, the type checker, and the test suite:
|
|
46
|
+
|
|
47
|
+
.. code-block:: console
|
|
48
|
+
|
|
49
|
+
$ ruff check
|
|
50
|
+
$ mypy
|
|
51
|
+
$ pytest
|
|
52
|
+
|
|
53
|
+
6. Organize your changes in logical commits with clear, concise, and well
|
|
54
|
+
formatted commit messages describing the motivation for the change. Commit
|
|
55
|
+
messages should be organized in a subject line, describing the commit
|
|
56
|
+
briefly, followed by a blank line, and more test if needed. Lines should be
|
|
57
|
+
word wrapped at 72 characters.
|
|
58
|
+
|
|
59
|
+
The subject line should start with a capitalized acronym indicating the
|
|
60
|
+
nature of the commit, followed by a colon. Used acronyms include: "BUG" for
|
|
61
|
+
bug fixes, "ENH" for new features and other enhancements, "TST" for
|
|
62
|
+
addition or modification of tests, "MAINT" for maintenance commits,
|
|
63
|
+
typically refactoring, typo or code style fixes, "DOC" for documentation,
|
|
64
|
+
"CI" for changes to the continuous integration setup.
|
|
65
|
+
|
|
66
|
+
To work on the documentation:
|
|
67
|
+
|
|
68
|
+
1. Install the required tools:
|
|
69
|
+
|
|
70
|
+
.. code-block:: console
|
|
71
|
+
|
|
72
|
+
$ uv pip install --group docs
|
|
73
|
+
|
|
74
|
+
2. Generate and inspect the HTML documentation:
|
|
75
|
+
|
|
76
|
+
.. code-block:: console
|
|
77
|
+
|
|
78
|
+
$ python -m sphinx docs html
|
|
79
|
+
$ open html/index.html
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
.. _GitHub: https://github.com/meson/meson-python/
|
|
83
|
+
.. _Mypy: https://mypy.readthedocs.io
|
|
84
|
+
.. _PEP 8: https://www.python.org/dev/peps/pep-0008/
|
|
85
|
+
.. _Ruff: https://docs.astral.sh/ruff/
|
|
86
|
+
.. _Sphinx: https://www.sphinx-doc.org
|