summaryrefslogtreecommitdiff
path: root/dev-build/meson/files/1.2.2/0004-python-module-stop-using-distutils-link-to-libpython.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-build/meson/files/1.2.2/0004-python-module-stop-using-distutils-link-to-libpython.patch')
-rw-r--r--dev-build/meson/files/1.2.2/0004-python-module-stop-using-distutils-link-to-libpython.patch72
1 files changed, 0 insertions, 72 deletions
diff --git a/dev-build/meson/files/1.2.2/0004-python-module-stop-using-distutils-link-to-libpython.patch b/dev-build/meson/files/1.2.2/0004-python-module-stop-using-distutils-link-to-libpython.patch
deleted file mode 100644
index 2ebdbcc2b30f..000000000000
--- a/dev-build/meson/files/1.2.2/0004-python-module-stop-using-distutils-link-to-libpython.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 3c493dae4bd8410bfb09e8f654605f65e15d8e66 Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz@archlinux.org>
-Date: Tue, 22 Nov 2022 22:56:10 -0500
-Subject: [PATCH 4/7] python module: stop using distutils "link to libpython"
- probe on recent python
-
-On python >=3.8, this information is expected to be encoded in the
-sysconfig vars.
-
-In distutils, it is always necessary to link to libpython on Windows;
-for posix platforms, it depends on the value of LIBPYTHON (which is the
-library to link to, possibly the empty string) as generated by
-configure.ac and embedded into python.pc and python-config.sh, and then
-coded a second time in the distutils python sources.
-
-There are a couple of caveats which have ramifications for Cygwin and
-Android:
-
-- python.pc and python-config.sh disagree with distutils when python is
- not built shared. In that case, the former act the same as a shared
- build, while the latter *never* links to libpython
-
-- python.pc disagrees with python-config.sh and distutils when python is
- built shared. The former never links to libpython, while the latter do
-
-The disagreement is resolved in favor of distutils' behavior in all
-cases, and python.pc is correct for our purposes on python 3.12; see:
-https://github.com/python/cpython/pull/100356
-https://github.com/python/cpython/pull/100967
-
-Although it was not backported to older releases, Cygwin at least has
-always patched in a fix for python.pc, which behavior is now declared
-canonical. We can reliably assume it is always correct.
-
-This is the other half of the fix for #7702
-
-(cherry picked from commit 2d6c10908b3771216e7ce086af1ee4dc77e698c2)
----
- mesonbuild/scripts/python_info.py | 17 +++++++++++++----
- 1 file changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/mesonbuild/scripts/python_info.py b/mesonbuild/scripts/python_info.py
-index d17b3a376..a3f3d3535 100755
---- a/mesonbuild/scripts/python_info.py
-+++ b/mesonbuild/scripts/python_info.py
-@@ -64,10 +64,19 @@ def get_install_paths():
- paths, install_paths = get_install_paths()
-
- def links_against_libpython():
-- from distutils.core import Distribution, Extension
-- cmd = Distribution().get_command_obj('build_ext')
-- cmd.ensure_finalized()
-- return bool(cmd.get_libraries(Extension('dummy', [])))
-+ # on versions supporting python-embed.pc, this is the non-embed lib
-+ #
-+ # PyPy is not yet up to 3.12 and work is still pending to export the
-+ # relevant information (it doesn't automatically provide arbitrary
-+ # Makefile vars)
-+ if sys.version_info >= (3, 8) and not is_pypy:
-+ variables = sysconfig.get_config_vars()
-+ return bool(variables.get('LIBPYTHON', 'yes'))
-+ else:
-+ from distutils.core import Distribution, Extension
-+ cmd = Distribution().get_command_obj('build_ext')
-+ cmd.ensure_finalized()
-+ return bool(cmd.get_libraries(Extension('dummy', [])))
-
- variables = sysconfig.get_config_vars()
- variables.update({'base_prefix': getattr(sys, 'base_prefix', sys.prefix)})
---
-2.42.0
-