# HG changeset patch # User Matt Harbison # Date 2021-09-17 19:02:01 # Node ID 7bc1beedd71882c86d3236639fcd3220b2bac734 # Parent d8cff8564f5a4768d7bf7d55270adf3982a3affd pyoxidizer: don't use in-memory for resources on macOS When trying to debug something else on macOS, pyoxidized builds were failing with the following message about pywatchman (and then cext.base85 when I commented out pywatchman): "cannot be loaded from memory but memory loading required" I don't have any immediate plans to do more work on macOS, but maybe this will save someone else time debugging this. Differential Revision: https://phab.mercurial-scm.org/D11451 diff --git a/rust/hgcli/pyoxidizer.bzl b/rust/hgcli/pyoxidizer.bzl --- a/rust/hgcli/pyoxidizer.bzl +++ b/rust/hgcli/pyoxidizer.bzl @@ -33,6 +33,7 @@ SIGNING_SUBJECT_NAME = VARS.get("SIGNING TIME_STAMP_SERVER_URL = VARS.get("TIME_STAMP_SERVER_URL", "http://timestamp.digicert.com") IS_WINDOWS = "windows" in BUILD_TARGET_TRIPLE +IS_MACOS = "darwin" in BUILD_TARGET_TRIPLE # Code to run in Python interpreter. RUN_CODE = """ @@ -69,7 +70,7 @@ def make_distribution(): return default_python_distribution(python_version = "3.9") def resource_callback(policy, resource): - if not IS_WINDOWS: + if not (IS_WINDOWS or IS_MACOS): resource.add_location = "in-memory" return @@ -100,7 +101,7 @@ def make_exe(dist): # extensions. packaging_policy.extension_module_filter = "all" packaging_policy.resources_location = "in-memory" - if IS_WINDOWS: + if IS_WINDOWS or IS_MACOS: packaging_policy.resources_location_fallback = "filesystem-relative:lib" packaging_policy.register_resource_callback(resource_callback)