Browse Source

makewheel: Re-sign arm64 macOS binaries after removing signature

Fixes #1123
rdb 4 years ago
parent
commit
576c25b3ea
1 changed files with 7 additions and 2 deletions
  1. 7 2
      makepanda/makewheel.py

+ 7 - 2
makepanda/makewheel.py

@@ -443,9 +443,14 @@ class WheelFile(object):
                     subprocess.call(["install_name_tool", "-change", dep, new_dep, temp.name])
                     remove_signature = True
 
-                # Remove the codesign signature if we modified the library.
+                # Replace the codesign signature if we modified the library.
                 if remove_signature:
-                    subprocess.call(["codesign", "--remove-signature", temp.name])
+                    if self.platform.endswith("_arm64"):
+                        subprocess.call(["codesign", "-f", "-s", "-", temp.name])
+                    else:
+                        subprocess.call(["codesign", "--remove-signature", temp.name])
+                        if self.platform.endswith("_universal2"):
+                            subprocess.call(["codesign", "-a", "arm64", "-s", "-", temp.name])
             else:
                 # On other unixes, we just add dependencies normally.
                 for dep in deps: