Compare commits

..

2 Commits

Author SHA1 Message Date
Rémi Verschelde
3504af335e Replace obsoleted Python distutils.spawn.find_executable by shutil.which 2025-10-14 11:55:30 +02:00
Rémi Verschelde
df26bb676c Replace obsoleted Python distutils.dir_util.copy_tree by shutil.copytree 2025-10-14 00:16:11 +02:00
4 changed files with 33 additions and 4 deletions

4
bcl.py
View File

@@ -132,10 +132,10 @@ def make_product(opts: BclOpts, product: str):
run_command('make', args=test_make_args, name='make tests')
# Copy the bcl profiles to the output directory
from distutils.dir_util import copy_tree
from shutil import copytree
for profile in profiles:
profile_dir = get_profile_dir(profile, product)
copy_tree('%s/mcs/class/lib/%s' % (opts.mono_source_root, profile_dir), '%s/%s' % (install_dir, profile_dir))
copytree('%s/mcs/class/lib/%s' % (opts.mono_source_root, profile_dir), '%s/%s' % (install_dir, profile_dir))
# Remove unneeded files
import glob

View File

@@ -231,13 +231,13 @@ def make(opts: DesktopOpts, product: str, target_platform: str, target: str):
strip_libs(opts, product, target_platform, target)
def copy_bcl(opts: DesktopOpts, product: str, target_platform: str, target: str):
from distutils.dir_util import copy_tree
from shutil import copytree
from bcl import get_profile_install_dirs
dest_dir = path_join(opts.install_dir, '%s-%s-%s' % (product, target, opts.configuration), 'lib/mono/4.5')
for src_dir in get_profile_install_dirs(opts, 'desktop-win32' if target_platform == 'windows' else 'desktop'):
if not os.path.isdir(src_dir):
raise BuildError('BCL source directory does not exist: %s. The BCL must be built prior to this.' % src_dir)
copy_tree(src_dir, dest_dir)
copytree(src_dir, dest_dir)
def clean(opts: DesktopOpts, product: str, target_platform: str, target: str):
rm_rf(

View File

@@ -0,0 +1,25 @@
diff -aur a/tools/shared.py b/tools/shared.py
--- a/tools/shared.py 2025-10-14 09:16:13.210070677 +0000
+++ b/tools/shared.py 2025-10-14 09:15:07.106178680 +0000
@@ -5,7 +5,7 @@
from __future__ import print_function
-from distutils.spawn import find_executable
+from shutil import which
from subprocess import PIPE, STDOUT
import atexit
import base64
@@ -212,10 +212,10 @@
config_file = '\n'.join(config_file)
# autodetect some default paths
config_file = config_file.replace('\'{{{ EMSCRIPTEN_ROOT }}}\'', repr(__rootpath__))
- llvm_root = os.path.dirname(find_executable('llvm-dis') or '/usr/bin/llvm-dis')
+ llvm_root = os.path.dirname(which('llvm-dis') or '/usr/bin/llvm-dis')
config_file = config_file.replace('\'{{{ LLVM_ROOT }}}\'', repr(llvm_root))
- node = find_executable('nodejs') or find_executable('node') or 'node'
+ node = which('nodejs') or which('node') or 'node'
config_file = config_file.replace('\'{{{ NODE }}}\'', repr(node))
abspath = os.path.abspath(os.path.expanduser(path))

View File

@@ -18,11 +18,15 @@ def main(raw_args):
args = parser.parse_args(raw_args)
this_script_dir = os.path.dirname(os.path.realpath(__file__))
patches_dir = os.path.join(this_script_dir, 'files', 'patches')
mono_source_root = args.mono_sources
emsdk_root = get_emsdk_root()
patches = [
'%s/sdks/builds/fix-emscripten-8511.diff' % mono_source_root,
'%s/emscripten-python-3.12.diff' % patches_dir,
]
from subprocess import Popen