File mingw-python3_make-sysconfigdata.py-relocatable.patch of Package mingw-python3

diff -rupN --no-dereference Python-3.11.8/Lib/sysconfig.py Python-3.11.8-new/Lib/sysconfig.py
--- Python-3.11.8/Lib/sysconfig.py	2024-02-16 22:21:27.413344952 +0100
+++ Python-3.11.8-new/Lib/sysconfig.py	2024-02-16 22:21:29.351346824 +0100
@@ -2,6 +2,7 @@
 
 import os
 import sys
+import textwrap
 from os.path import pardir, realpath
 
 __all__ = [
@@ -514,11 +515,29 @@ def _generate_posix_vars():
     os.makedirs(pybuilddir, exist_ok=True)
     destfile = os.path.join(pybuilddir, name + '.py')
 
+    replacement = """
+        keys_to_replace = [
+            'BINDIR', 'BINLIBDEST', 'CONFINCLUDEDIR',
+            'CONFINCLUDEPY', 'DESTDIRS', 'DESTLIB', 'DESTSHARED',
+            'INCLDIRSTOMAKE', 'INCLUDEDIR', 'INCLUDEPY',
+            'LIBDEST', 'LIBDIR', 'LIBPC', 'LIBPL', 'MACHDESTLIB',
+            'MANDIR', 'SCRIPTDIR', 'datarootdir', 'exec_prefix',
+        ]
+
+        prefix = build_time_vars['BINDIR'][:-4]
+
+        for key in keys_to_replace:
+            value = build_time_vars[key]
+            build_time_vars[key] = value.replace(prefix, sys.prefix)
+    """
+
     with open(destfile, 'w', encoding='utf8') as f:
+        f.write('import sys\n')
         f.write('# system configuration generated and used by'
                 ' the sysconfig module\n')
         f.write('build_time_vars = ')
         pprint.pprint(vars, stream=f)
+        f.write('\n%s' % textwrap.dedent(replacement))
 
     # Create file used for sys.path fixup -- see Modules/getpath.c
     with open('pybuilddir.txt', 'w', encoding='utf8') as f:
openSUSE Build Service is sponsored by