commit:     104d649f2bfeac0c17db8fdd46653efeb6eab7d2
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 20 09:46:33 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 21 12:24:01 2023 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=104d649f

Allow building of pure Python wheel by setting "pure" appropriately

It will only build a pure wheel when pure is true in all cases.

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Closes: https://github.com/gentoo/portage/pull/1082
Signed-off-by: Sam James <sam <AT> gentoo.org>

 DEVELOPING                                                   | 3 ++-
 lib/_emerge/meson.build                                      | 2 +-
 lib/_emerge/resolver/meson.build                             | 2 +-
 lib/portage/_compat_upgrade/meson.build                      | 2 +-
 lib/portage/_emirrordist/meson.build                         | 2 +-
 lib/portage/_sets/meson.build                                | 2 +-
 lib/portage/binrepo/meson.build                              | 2 +-
 lib/portage/cache/index/meson.build                          | 2 +-
 lib/portage/cache/meson.build                                | 2 +-
 lib/portage/dbapi/meson.build                                | 2 +-
 lib/portage/dep/meson.build                                  | 2 +-
 lib/portage/dep/soname/meson.build                           | 2 +-
 lib/portage/elog/meson.build                                 | 2 +-
 lib/portage/emaint/meson.build                               | 2 +-
 lib/portage/emaint/modules/binhost/meson.build               | 2 +-
 lib/portage/emaint/modules/config/meson.build                | 2 +-
 lib/portage/emaint/modules/logs/meson.build                  | 2 +-
 lib/portage/emaint/modules/merges/meson.build                | 2 +-
 lib/portage/emaint/modules/meson.build                       | 2 +-
 lib/portage/emaint/modules/move/meson.build                  | 2 +-
 lib/portage/emaint/modules/resume/meson.build                | 2 +-
 lib/portage/emaint/modules/sync/meson.build                  | 2 +-
 lib/portage/emaint/modules/world/meson.build                 | 2 +-
 lib/portage/env/meson.build                                  | 2 +-
 lib/portage/meson.build                                      | 2 +-
 lib/portage/package/ebuild/_config/meson.build               | 2 +-
 lib/portage/package/ebuild/_ipc/meson.build                  | 2 +-
 lib/portage/package/ebuild/_parallel_manifest/meson.build    | 2 +-
 lib/portage/package/ebuild/meson.build                       | 2 +-
 lib/portage/package/meson.build                              | 2 +-
 lib/portage/proxy/meson.build                                | 2 +-
 lib/portage/repository/meson.build                           | 2 +-
 lib/portage/repository/storage/meson.build                   | 2 +-
 lib/portage/sync/meson.build                                 | 2 +-
 lib/portage/sync/modules/cvs/meson.build                     | 2 +-
 lib/portage/sync/modules/git/meson.build                     | 2 +-
 lib/portage/sync/modules/mercurial/meson.build               | 2 +-
 lib/portage/sync/modules/meson.build                         | 2 +-
 lib/portage/sync/modules/rsync/meson.build                   | 2 +-
 lib/portage/sync/modules/svn/meson.build                     | 2 +-
 lib/portage/sync/modules/webrsync/meson.build                | 2 +-
 lib/portage/tests/bin/meson.build                            | 2 +-
 lib/portage/tests/dbapi/meson.build                          | 2 +-
 lib/portage/tests/dep/meson.build                            | 2 +-
 lib/portage/tests/ebuild/meson.build                         | 2 +-
 lib/portage/tests/emerge/meson.build                         | 2 +-
 lib/portage/tests/env/config/meson.build                     | 2 +-
 lib/portage/tests/env/meson.build                            | 2 +-
 lib/portage/tests/glsa/meson.build                           | 2 +-
 lib/portage/tests/gpkg/meson.build                           | 2 +-
 lib/portage/tests/lafilefixer/meson.build                    | 2 +-
 lib/portage/tests/lazyimport/meson.build                     | 2 +-
 lib/portage/tests/lint/meson.build                           | 2 +-
 lib/portage/tests/locks/meson.build                          | 2 +-
 lib/portage/tests/meson.build                                | 2 +-
 lib/portage/tests/news/meson.build                           | 2 +-
 lib/portage/tests/process/meson.build                        | 2 +-
 lib/portage/tests/resolver/binpkg_multi_instance/meson.build | 2 +-
 lib/portage/tests/resolver/meson.build                       | 2 +-
 lib/portage/tests/resolver/soname/meson.build                | 2 +-
 lib/portage/tests/sets/base/meson.build                      | 2 +-
 lib/portage/tests/sets/files/meson.build                     | 2 +-
 lib/portage/tests/sets/meson.build                           | 2 +-
 lib/portage/tests/sets/shell/meson.build                     | 2 +-
 lib/portage/tests/sync/meson.build                           | 2 +-
 lib/portage/tests/unicode/meson.build                        | 2 +-
 lib/portage/tests/update/meson.build                         | 2 +-
 lib/portage/tests/util/dyn_libs/meson.build                  | 2 +-
 lib/portage/tests/util/eventloop/meson.build                 | 2 +-
 lib/portage/tests/util/file_copy/meson.build                 | 2 +-
 lib/portage/tests/util/futures/asyncio/meson.build           | 2 +-
 lib/portage/tests/util/futures/meson.build                   | 2 +-
 lib/portage/tests/util/meson.build                           | 2 +-
 lib/portage/tests/versions/meson.build                       | 2 +-
 lib/portage/tests/xpak/meson.build                           | 2 +-
 lib/portage/util/_async/meson.build                          | 2 +-
 lib/portage/util/_dyn_libs/meson.build                       | 2 +-
 lib/portage/util/_eventloop/meson.build                      | 2 +-
 lib/portage/util/elf/meson.build                             | 2 +-
 lib/portage/util/endian/meson.build                          | 2 +-
 lib/portage/util/file_copy/meson.build                       | 2 +-
 lib/portage/util/futures/_asyncio/meson.build                | 2 +-
 lib/portage/util/futures/executor/meson.build                | 2 +-
 lib/portage/util/futures/meson.build                         | 2 +-
 lib/portage/util/iterators/meson.build                       | 2 +-
 lib/portage/util/meson.build                                 | 2 +-
 lib/portage/xml/meson.build                                  | 2 +-
 meson.build                                                  | 7 +++++--
 pyproject.toml                                               | 2 ++
 89 files changed, 95 insertions(+), 89 deletions(-)

diff --git a/DEVELOPING b/DEVELOPING
index 8302f9aa14..857872bd05 100644
--- a/DEVELOPING
+++ b/DEVELOPING
@@ -238,7 +238,8 @@ and commit.
        - python -m venv .venv
        - . .venv/bin/activate
        - pip install build twine
-       - python -m build
+       - python -m build # build the sdist and arch/Python-specific wheel
+       - python -m build --wheel -Csetup-args="-Dnative-extensions=false" # 
build the pure wheel
        - twine upload dist/<filenames>
 
 7. Bugzilla wrangling:

diff --git a/lib/_emerge/meson.build b/lib/_emerge/meson.build
index 672a9cbdbd..fd463e5c27 100644
--- a/lib/_emerge/meson.build
+++ b/lib/_emerge/meson.build
@@ -95,7 +95,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : '_emerge',
-    pure : false
+    pure : true
 )
 
 subdir('resolver')

diff --git a/lib/_emerge/resolver/meson.build b/lib/_emerge/resolver/meson.build
index 65b5194336..b1263ab94c 100644
--- a/lib/_emerge/resolver/meson.build
+++ b/lib/_emerge/resolver/meson.build
@@ -10,5 +10,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : '_emerge/resolver',
-    pure : false
+    pure : true
 )

diff --git a/lib/portage/_compat_upgrade/meson.build 
b/lib/portage/_compat_upgrade/meson.build
index 178de86923..365bd49ff4 100644
--- a/lib/portage/_compat_upgrade/meson.build
+++ b/lib/portage/_compat_upgrade/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/_compat_upgrade',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/_emirrordist/meson.build 
b/lib/portage/_emirrordist/meson.build
index 9e097cee84..4ac3a08422 100644
--- a/lib/portage/_emirrordist/meson.build
+++ b/lib/portage/_emirrordist/meson.build
@@ -11,5 +11,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/_emirrordist',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/_sets/meson.build b/lib/portage/_sets/meson.build
index 8e0a3aa5ff..9f56965050 100644
--- a/lib/portage/_sets/meson.build
+++ b/lib/portage/_sets/meson.build
@@ -11,5 +11,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/_sets',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/binrepo/meson.build b/lib/portage/binrepo/meson.build
index b46c2afa93..4577808b4a 100644
--- a/lib/portage/binrepo/meson.build
+++ b/lib/portage/binrepo/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/binrepo',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/cache/index/meson.build 
b/lib/portage/cache/index/meson.build
index 4f23d7e212..fdc4279539 100644
--- a/lib/portage/cache/index/meson.build
+++ b/lib/portage/cache/index/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/cache/index',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/cache/meson.build b/lib/portage/cache/meson.build
index 1fc73f719f..5ebeda6bb8 100644
--- a/lib/portage/cache/meson.build
+++ b/lib/portage/cache/meson.build
@@ -14,7 +14,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/cache',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('index')

diff --git a/lib/portage/dbapi/meson.build b/lib/portage/dbapi/meson.build
index 781e29f050..6b6a94c475 100644
--- a/lib/portage/dbapi/meson.build
+++ b/lib/portage/dbapi/meson.build
@@ -18,5 +18,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/dbapi',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/dep/meson.build b/lib/portage/dep/meson.build
index 18a605c604..ea1e8cad62 100644
--- a/lib/portage/dep/meson.build
+++ b/lib/portage/dep/meson.build
@@ -6,7 +6,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/dep',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('soname')

diff --git a/lib/portage/dep/soname/meson.build 
b/lib/portage/dep/soname/meson.build
index 8f62d24faf..7db7a547ee 100644
--- a/lib/portage/dep/soname/meson.build
+++ b/lib/portage/dep/soname/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/dep/soname',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/elog/meson.build b/lib/portage/elog/meson.build
index 4f3fd150c3..c76b5f0175 100644
--- a/lib/portage/elog/meson.build
+++ b/lib/portage/elog/meson.build
@@ -12,5 +12,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/elog',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/emaint/meson.build b/lib/portage/emaint/meson.build
index 1700bad49a..caca9861ff 100644
--- a/lib/portage/emaint/meson.build
+++ b/lib/portage/emaint/meson.build
@@ -5,7 +5,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/emaint',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('modules')

diff --git a/lib/portage/emaint/modules/binhost/meson.build 
b/lib/portage/emaint/modules/binhost/meson.build
index 63927d393f..457737014a 100644
--- a/lib/portage/emaint/modules/binhost/meson.build
+++ b/lib/portage/emaint/modules/binhost/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/emaint/modules/binhost',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/emaint/modules/config/meson.build 
b/lib/portage/emaint/modules/config/meson.build
index d1b6ac9500..d346ee7a3f 100644
--- a/lib/portage/emaint/modules/config/meson.build
+++ b/lib/portage/emaint/modules/config/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/emaint/modules/config',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/emaint/modules/logs/meson.build 
b/lib/portage/emaint/modules/logs/meson.build
index 856a5705f1..be1685cf38 100644
--- a/lib/portage/emaint/modules/logs/meson.build
+++ b/lib/portage/emaint/modules/logs/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/emaint/modules/logs',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/emaint/modules/merges/meson.build 
b/lib/portage/emaint/modules/merges/meson.build
index 3223104b29..b20748219f 100644
--- a/lib/portage/emaint/modules/merges/meson.build
+++ b/lib/portage/emaint/modules/merges/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/emaint/modules/merges',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/emaint/modules/meson.build 
b/lib/portage/emaint/modules/meson.build
index d92b4af483..48f4f77d83 100644
--- a/lib/portage/emaint/modules/meson.build
+++ b/lib/portage/emaint/modules/meson.build
@@ -3,7 +3,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/emaint/modules',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('binhost')

diff --git a/lib/portage/emaint/modules/move/meson.build 
b/lib/portage/emaint/modules/move/meson.build
index 4f16ddc70e..e3930d0b88 100644
--- a/lib/portage/emaint/modules/move/meson.build
+++ b/lib/portage/emaint/modules/move/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/emaint/modules/move',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/emaint/modules/resume/meson.build 
b/lib/portage/emaint/modules/resume/meson.build
index e6bf8c12b5..71a14fb6ff 100644
--- a/lib/portage/emaint/modules/resume/meson.build
+++ b/lib/portage/emaint/modules/resume/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/emaint/modules/resume',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/emaint/modules/sync/meson.build 
b/lib/portage/emaint/modules/sync/meson.build
index 29617aaef4..03eb818299 100644
--- a/lib/portage/emaint/modules/sync/meson.build
+++ b/lib/portage/emaint/modules/sync/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/emaint/modules/sync',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/emaint/modules/world/meson.build 
b/lib/portage/emaint/modules/world/meson.build
index 383457038d..934276c9c9 100644
--- a/lib/portage/emaint/modules/world/meson.build
+++ b/lib/portage/emaint/modules/world/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/emaint/modules/world',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/env/meson.build b/lib/portage/env/meson.build
index 26c56e34f5..ed3615251f 100644
--- a/lib/portage/env/meson.build
+++ b/lib/portage/env/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/env',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/meson.build b/lib/portage/meson.build
index 31eda13274..06dde8ca71 100644
--- a/lib/portage/meson.build
+++ b/lib/portage/meson.build
@@ -52,7 +52,7 @@ py.install_sources(
         __init__py,
     ],
     subdir : 'portage',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('binrepo')

diff --git a/lib/portage/package/ebuild/_config/meson.build 
b/lib/portage/package/ebuild/_config/meson.build
index 053542917f..e12d82e507 100644
--- a/lib/portage/package/ebuild/_config/meson.build
+++ b/lib/portage/package/ebuild/_config/meson.build
@@ -13,5 +13,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/package/ebuild/_config',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/package/ebuild/_ipc/meson.build 
b/lib/portage/package/ebuild/_ipc/meson.build
index 702130c61b..18c0ac1cf2 100644
--- a/lib/portage/package/ebuild/_ipc/meson.build
+++ b/lib/portage/package/ebuild/_ipc/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/package/ebuild/_ipc',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/package/ebuild/_parallel_manifest/meson.build 
b/lib/portage/package/ebuild/_parallel_manifest/meson.build
index 88aa3b29bf..14b3fa659e 100644
--- a/lib/portage/package/ebuild/_parallel_manifest/meson.build
+++ b/lib/portage/package/ebuild/_parallel_manifest/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/package/ebuild/_parallel_manifest',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/package/ebuild/meson.build 
b/lib/portage/package/ebuild/meson.build
index cf122a9110..69fb4f5885 100644
--- a/lib/portage/package/ebuild/meson.build
+++ b/lib/portage/package/ebuild/meson.build
@@ -15,7 +15,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/package/ebuild',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('_config')

diff --git a/lib/portage/package/meson.build b/lib/portage/package/meson.build
index d3be4f936c..a42019acd6 100644
--- a/lib/portage/package/meson.build
+++ b/lib/portage/package/meson.build
@@ -3,7 +3,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/package',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('ebuild')

diff --git a/lib/portage/proxy/meson.build b/lib/portage/proxy/meson.build
index d23c944c4b..0dae6ed2f2 100644
--- a/lib/portage/proxy/meson.build
+++ b/lib/portage/proxy/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/proxy',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/repository/meson.build 
b/lib/portage/repository/meson.build
index 77b82a526a..ecc71a6fae 100644
--- a/lib/portage/repository/meson.build
+++ b/lib/portage/repository/meson.build
@@ -4,7 +4,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/repository',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('storage')

diff --git a/lib/portage/repository/storage/meson.build 
b/lib/portage/repository/storage/meson.build
index b5a5208f89..1845f9f510 100644
--- a/lib/portage/repository/storage/meson.build
+++ b/lib/portage/repository/storage/meson.build
@@ -7,5 +7,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/repository/storage',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/sync/meson.build b/lib/portage/sync/meson.build
index d2fd9fdc36..a39f1e3cf6 100644
--- a/lib/portage/sync/meson.build
+++ b/lib/portage/sync/meson.build
@@ -8,7 +8,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/sync',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('modules')

diff --git a/lib/portage/sync/modules/cvs/meson.build 
b/lib/portage/sync/modules/cvs/meson.build
index 520d6d8103..cdf54e9bdf 100644
--- a/lib/portage/sync/modules/cvs/meson.build
+++ b/lib/portage/sync/modules/cvs/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/sync/modules/cvs',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/sync/modules/git/meson.build 
b/lib/portage/sync/modules/git/meson.build
index 8a32ad3752..fb683c53e7 100644
--- a/lib/portage/sync/modules/git/meson.build
+++ b/lib/portage/sync/modules/git/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/sync/modules/git',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/sync/modules/mercurial/meson.build 
b/lib/portage/sync/modules/mercurial/meson.build
index c46f26b6ff..4e4897ed3e 100644
--- a/lib/portage/sync/modules/mercurial/meson.build
+++ b/lib/portage/sync/modules/mercurial/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/sync/modules/mercurial',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/sync/modules/meson.build 
b/lib/portage/sync/modules/meson.build
index d38a45c9f3..fab2878e92 100644
--- a/lib/portage/sync/modules/meson.build
+++ b/lib/portage/sync/modules/meson.build
@@ -3,7 +3,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/sync/modules',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('cvs')

diff --git a/lib/portage/sync/modules/rsync/meson.build 
b/lib/portage/sync/modules/rsync/meson.build
index 49df8135b4..ab95e7cfc7 100644
--- a/lib/portage/sync/modules/rsync/meson.build
+++ b/lib/portage/sync/modules/rsync/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/sync/modules/rsync',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/sync/modules/svn/meson.build 
b/lib/portage/sync/modules/svn/meson.build
index 0c5ea2c40f..0b1b86f3e9 100644
--- a/lib/portage/sync/modules/svn/meson.build
+++ b/lib/portage/sync/modules/svn/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/sync/modules/svn',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/sync/modules/webrsync/meson.build 
b/lib/portage/sync/modules/webrsync/meson.build
index 047d82d2e7..d3e42cbf11 100644
--- a/lib/portage/sync/modules/webrsync/meson.build
+++ b/lib/portage/sync/modules/webrsync/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/sync/modules/webrsync',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/bin/meson.build 
b/lib/portage/tests/bin/meson.build
index eb7713049c..519972f0a8 100644
--- a/lib/portage/tests/bin/meson.build
+++ b/lib/portage/tests/bin/meson.build
@@ -10,5 +10,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/bin',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/dbapi/meson.build 
b/lib/portage/tests/dbapi/meson.build
index ddb83ba72c..bbfb7f97ae 100644
--- a/lib/portage/tests/dbapi/meson.build
+++ b/lib/portage/tests/dbapi/meson.build
@@ -8,5 +8,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/dbapi',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/dep/meson.build 
b/lib/portage/tests/dep/meson.build
index 848f5aade6..2097b02f9e 100644
--- a/lib/portage/tests/dep/meson.build
+++ b/lib/portage/tests/dep/meson.build
@@ -24,5 +24,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/dep',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/ebuild/meson.build 
b/lib/portage/tests/ebuild/meson.build
index c19a3181ac..0c4407c70d 100644
--- a/lib/portage/tests/ebuild/meson.build
+++ b/lib/portage/tests/ebuild/meson.build
@@ -13,5 +13,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/ebuild',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/emerge/meson.build 
b/lib/portage/tests/emerge/meson.build
index faf6fbb7a7..3c45cd380b 100644
--- a/lib/portage/tests/emerge/meson.build
+++ b/lib/portage/tests/emerge/meson.build
@@ -10,5 +10,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/emerge',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/env/config/meson.build 
b/lib/portage/tests/env/config/meson.build
index e661f6bacd..1914302168 100644
--- a/lib/portage/tests/env/config/meson.build
+++ b/lib/portage/tests/env/config/meson.build
@@ -8,5 +8,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/env/config',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/env/meson.build 
b/lib/portage/tests/env/meson.build
index c56a6b47c5..e26216199d 100644
--- a/lib/portage/tests/env/meson.build
+++ b/lib/portage/tests/env/meson.build
@@ -4,7 +4,7 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/env',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('config')

diff --git a/lib/portage/tests/glsa/meson.build 
b/lib/portage/tests/glsa/meson.build
index 4bfdc08734..72817041ac 100644
--- a/lib/portage/tests/glsa/meson.build
+++ b/lib/portage/tests/glsa/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/glsa',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/gpkg/meson.build 
b/lib/portage/tests/gpkg/meson.build
index f5d981936a..156319b35e 100644
--- a/lib/portage/tests/gpkg/meson.build
+++ b/lib/portage/tests/gpkg/meson.build
@@ -11,5 +11,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/gpkg',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/lafilefixer/meson.build 
b/lib/portage/tests/lafilefixer/meson.build
index 93969d1c90..7a2f9b8b0b 100644
--- a/lib/portage/tests/lafilefixer/meson.build
+++ b/lib/portage/tests/lafilefixer/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/lafilefixer',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/lazyimport/meson.build 
b/lib/portage/tests/lazyimport/meson.build
index 6d177b9adb..b0377dc9ae 100644
--- a/lib/portage/tests/lazyimport/meson.build
+++ b/lib/portage/tests/lazyimport/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/lazyimport',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/lint/meson.build 
b/lib/portage/tests/lint/meson.build
index 5d7a726752..9a244519d4 100644
--- a/lib/portage/tests/lint/meson.build
+++ b/lib/portage/tests/lint/meson.build
@@ -8,5 +8,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/lint',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/locks/meson.build 
b/lib/portage/tests/locks/meson.build
index 17ec727a68..509f43eaa5 100644
--- a/lib/portage/tests/locks/meson.build
+++ b/lib/portage/tests/locks/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/locks',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/meson.build b/lib/portage/tests/meson.build
index e8f204b51b..7eb65b6bb3 100644
--- a/lib/portage/tests/meson.build
+++ b/lib/portage/tests/meson.build
@@ -4,7 +4,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/tests',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('bin')

diff --git a/lib/portage/tests/news/meson.build 
b/lib/portage/tests/news/meson.build
index 25e4f9ef48..270b8bf13e 100644
--- a/lib/portage/tests/news/meson.build
+++ b/lib/portage/tests/news/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/news',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/process/meson.build 
b/lib/portage/tests/process/meson.build
index 08e51d7705..1b34e57e33 100644
--- a/lib/portage/tests/process/meson.build
+++ b/lib/portage/tests/process/meson.build
@@ -12,5 +12,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/process',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/resolver/binpkg_multi_instance/meson.build 
b/lib/portage/tests/resolver/binpkg_multi_instance/meson.build
index 7c4306e4a0..e4913f9daa 100644
--- a/lib/portage/tests/resolver/binpkg_multi_instance/meson.build
+++ b/lib/portage/tests/resolver/binpkg_multi_instance/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/resolver/binpkg_multi_instance',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/resolver/meson.build 
b/lib/portage/tests/resolver/meson.build
index 5653e50668..0d8c2921e1 100644
--- a/lib/portage/tests/resolver/meson.build
+++ b/lib/portage/tests/resolver/meson.build
@@ -89,7 +89,7 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/resolver',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('binpkg_multi_instance')

diff --git a/lib/portage/tests/resolver/soname/meson.build 
b/lib/portage/tests/resolver/soname/meson.build
index 3c3245bcc5..0c3bac3ff5 100644
--- a/lib/portage/tests/resolver/soname/meson.build
+++ b/lib/portage/tests/resolver/soname/meson.build
@@ -15,5 +15,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/resolver/soname',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/sets/base/meson.build 
b/lib/portage/tests/sets/base/meson.build
index 6c59b11eed..db76ccced5 100644
--- a/lib/portage/tests/sets/base/meson.build
+++ b/lib/portage/tests/sets/base/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/sets/base',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/sets/files/meson.build 
b/lib/portage/tests/sets/files/meson.build
index d4550f4eeb..2405519843 100644
--- a/lib/portage/tests/sets/files/meson.build
+++ b/lib/portage/tests/sets/files/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/sets/files',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/sets/meson.build 
b/lib/portage/tests/sets/meson.build
index a7df0bd828..9037105cea 100644
--- a/lib/portage/tests/sets/meson.build
+++ b/lib/portage/tests/sets/meson.build
@@ -4,7 +4,7 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/sets',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('base')

diff --git a/lib/portage/tests/sets/shell/meson.build 
b/lib/portage/tests/sets/shell/meson.build
index 55a41a6e0e..41eef9357b 100644
--- a/lib/portage/tests/sets/shell/meson.build
+++ b/lib/portage/tests/sets/shell/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/sets/shell',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/sync/meson.build 
b/lib/portage/tests/sync/meson.build
index 9de7cc551c..b78583021f 100644
--- a/lib/portage/tests/sync/meson.build
+++ b/lib/portage/tests/sync/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/sync',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/unicode/meson.build 
b/lib/portage/tests/unicode/meson.build
index 94303a3760..1443c5fd8d 100644
--- a/lib/portage/tests/unicode/meson.build
+++ b/lib/portage/tests/unicode/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/unicode',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/update/meson.build 
b/lib/portage/tests/update/meson.build
index 0c5fb01a99..741170e770 100644
--- a/lib/portage/tests/update/meson.build
+++ b/lib/portage/tests/update/meson.build
@@ -7,5 +7,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/update',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/util/dyn_libs/meson.build 
b/lib/portage/tests/util/dyn_libs/meson.build
index 51fc7c3814..ddb08f5b1a 100644
--- a/lib/portage/tests/util/dyn_libs/meson.build
+++ b/lib/portage/tests/util/dyn_libs/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/util/dyn_libs',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/util/eventloop/meson.build 
b/lib/portage/tests/util/eventloop/meson.build
index 77ce25afe0..51ab26901b 100644
--- a/lib/portage/tests/util/eventloop/meson.build
+++ b/lib/portage/tests/util/eventloop/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/util/eventloop',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/util/file_copy/meson.build 
b/lib/portage/tests/util/file_copy/meson.build
index 4c46e549d7..91813dddc4 100644
--- a/lib/portage/tests/util/file_copy/meson.build
+++ b/lib/portage/tests/util/file_copy/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/util/file_copy',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/util/futures/asyncio/meson.build 
b/lib/portage/tests/util/futures/asyncio/meson.build
index 347088246d..ba727052fc 100644
--- a/lib/portage/tests/util/futures/asyncio/meson.build
+++ b/lib/portage/tests/util/futures/asyncio/meson.build
@@ -11,5 +11,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/util/futures/asyncio',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/util/futures/meson.build 
b/lib/portage/tests/util/futures/meson.build
index d927acbdd8..877acc27cd 100644
--- a/lib/portage/tests/util/futures/meson.build
+++ b/lib/portage/tests/util/futures/meson.build
@@ -9,7 +9,7 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/util/futures',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('asyncio')

diff --git a/lib/portage/tests/util/meson.build 
b/lib/portage/tests/util/meson.build
index 65ed3ed1ed..010dfa7849 100644
--- a/lib/portage/tests/util/meson.build
+++ b/lib/portage/tests/util/meson.build
@@ -22,7 +22,7 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/util',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('dyn_libs')

diff --git a/lib/portage/tests/versions/meson.build 
b/lib/portage/tests/versions/meson.build
index 4d1ed6e8da..1df4905fd9 100644
--- a/lib/portage/tests/versions/meson.build
+++ b/lib/portage/tests/versions/meson.build
@@ -6,5 +6,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/versions',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/tests/xpak/meson.build 
b/lib/portage/tests/xpak/meson.build
index 6563693d88..7ca8d4e4d3 100644
--- a/lib/portage/tests/xpak/meson.build
+++ b/lib/portage/tests/xpak/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__test__.py',
     ],
     subdir : 'portage/tests/xpak',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/util/_async/meson.build 
b/lib/portage/util/_async/meson.build
index 1847cab26f..66daf7fb52 100644
--- a/lib/portage/util/_async/meson.build
+++ b/lib/portage/util/_async/meson.build
@@ -16,5 +16,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util/_async',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/util/_dyn_libs/meson.build 
b/lib/portage/util/_dyn_libs/meson.build
index f9261b41c7..f744d2a087 100644
--- a/lib/portage/util/_dyn_libs/meson.build
+++ b/lib/portage/util/_dyn_libs/meson.build
@@ -10,5 +10,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util/_dyn_libs',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/util/_eventloop/meson.build 
b/lib/portage/util/_eventloop/meson.build
index 8a7f1d71bd..e4474452bc 100644
--- a/lib/portage/util/_eventloop/meson.build
+++ b/lib/portage/util/_eventloop/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util/_eventloop',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/util/elf/meson.build b/lib/portage/util/elf/meson.build
index cc6aa1e380..e12adcfe0a 100644
--- a/lib/portage/util/elf/meson.build
+++ b/lib/portage/util/elf/meson.build
@@ -5,5 +5,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util/elf',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/util/endian/meson.build 
b/lib/portage/util/endian/meson.build
index 8bdda80522..527959f8f4 100644
--- a/lib/portage/util/endian/meson.build
+++ b/lib/portage/util/endian/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util/endian',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/util/file_copy/meson.build 
b/lib/portage/util/file_copy/meson.build
index fcaeee21ff..3e1d98f333 100644
--- a/lib/portage/util/file_copy/meson.build
+++ b/lib/portage/util/file_copy/meson.build
@@ -3,5 +3,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util/file_copy',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/util/futures/_asyncio/meson.build 
b/lib/portage/util/futures/_asyncio/meson.build
index 5eb23c61f6..fa0bc4a86f 100644
--- a/lib/portage/util/futures/_asyncio/meson.build
+++ b/lib/portage/util/futures/_asyncio/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util/futures/_asyncio',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/util/futures/executor/meson.build 
b/lib/portage/util/futures/executor/meson.build
index ab166e9356..fdd7c06f99 100644
--- a/lib/portage/util/futures/executor/meson.build
+++ b/lib/portage/util/futures/executor/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util/futures/executor',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/util/futures/meson.build 
b/lib/portage/util/futures/meson.build
index 3296c25b2a..90bfc86669 100644
--- a/lib/portage/util/futures/meson.build
+++ b/lib/portage/util/futures/meson.build
@@ -10,7 +10,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util/futures',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('executor')

diff --git a/lib/portage/util/iterators/meson.build 
b/lib/portage/util/iterators/meson.build
index 013fe7a589..d9a7d68e7c 100644
--- a/lib/portage/util/iterators/meson.build
+++ b/lib/portage/util/iterators/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util/iterators',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/lib/portage/util/meson.build b/lib/portage/util/meson.build
index c0a4942f15..b1e4a1c807 100644
--- a/lib/portage/util/meson.build
+++ b/lib/portage/util/meson.build
@@ -36,7 +36,7 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/util',
-    pure : false
+    pure : not native_extensions
 )
 
 subdir('elf')

diff --git a/lib/portage/xml/meson.build b/lib/portage/xml/meson.build
index 40c92385fa..a0d113dc29 100644
--- a/lib/portage/xml/meson.build
+++ b/lib/portage/xml/meson.build
@@ -4,5 +4,5 @@ py.install_sources(
         '__init__.py',
     ],
     subdir : 'portage/xml',
-    pure : false
+    pure : not native_extensions
 )

diff --git a/meson.build b/meson.build
index 2b15ca6557..7b54b61bab 100644
--- a/meson.build
+++ b/meson.build
@@ -7,12 +7,15 @@ project(
 )
 
 py_mod = import('python')
-# TODO: Add "pure : false" here instead of py.install_sources() when requiring 
Meson >=0.64.0.
+# TODO: Add "pure : not native_extensions" here instead of py.install_sources()
+# when requiring Meson >=0.64.0.
 py = py_mod.find_installation()
 
 sed = find_program('sed', required : true)
 
 system_wide = get_option('system-wide')
+native_extensions = get_option('native-extensions')
+
 eprefix = get_option('eprefix')
 prefixdir = get_option('prefix')
 datadir = get_option('datadir')
@@ -90,7 +93,7 @@ endif
 subdir('bin')
 subdir('lib')
 
-if get_option('native-extensions')
+if native_extensions
     subdir('src')
 endif
 

diff --git a/pyproject.toml b/pyproject.toml
index 635fca25c7..eb725e1c54 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -14,6 +14,8 @@ build-backend = 'mesonpy'
 requires = ['meson-python']
 
 [tool.meson-python.args]
+# To get a pure wheel:
+# python -m build --wheel -Csetup-args="-Dnative-extensions=false"
 setup = ['-Dsystem-wide=false']
 
 [project.scripts]

Reply via email to