prisma-engines
prisma-engines copied to clipboard
feat(query-engine-c-abi): add Mac Catalyst support
This PR contains two commits.
The first commit adds a Mac Catalyst target to query-engine-c-abi. Because the target is a Tier 3 platform for Rust, we have to compile the std crate ourselves, so we also need the nightly Rust compiler.
In an ideal world, the first commit would've been enough, however I had to make a second commit which does some horrible things to query-engine-common and query-engine-metrics to disable metrics for query-engine-c-abi. The libraries used by query-engine-metrics seem to have multiple versions installed according to the Cargo lockfile, and strangely the issue only manifests itself when building for the Mac Catalyst (aarch64-apple-ios-macabi) target.
I'm not a Rust expert by any means, and I am aware Tier 3 platforms might not be something @prisma is interested in, but if anyone with more knowledge could take a look and offer some advice, I'd be most appreciative 😀
In the meantime, this branch does successfully build an .xcframework file for query-engine-c-abi on the Mac Catalyst platform and I have managed to successfully build and boot my Expo Mac Catalyst application, so I'm leaving this PR as a draft for anyone else that might want to do the same.
/cc @SevInf @sorenbs @ospfranco
CodSpeed Performance Report
Merging #4913 will not alter performance
Comparing twodoorsdev:@hassankhan/react-native/add-mac-catalyst (2ee978a) with main (9ee8c02)
Summary
✅ 11 untouched benchmarks