Patch from Corran Webster <cwebster@nevada.edu> (tweaked for style by me):
changed 'copy_file()' to use the native Mac file copy routine.
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index 683d167..2f193fb 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -280,6 +280,17 @@
if dry_run:
return 1
+ # On a Mac, use the native file copy routine
+ if os.name == 'mac':
+ import macostools
+ try:
+ macostools.copy (src, dst, 0, preserve_times)
+ except OSError, exc:
+ raise DistutilsFileError, \
+ "could not copy '%s' to '%s': %s" % (src, dst, exc[-1])
+ return 1
+
+ # Otherwise use custom routine
_copy_file_contents (src, dst)
if preserve_mode or preserve_times:
st = os.stat (src)