prisma-engines icon indicating copy to clipboard operation
prisma-engines copied to clipboard

feat(query-engine-c-abi): add Mac Catalyst support

Open hassankhan opened this issue 1 year ago • 2 comments

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

hassankhan avatar Jun 08 '24 20:06 hassankhan

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Jun 08 '24 20:06 CLAassistant

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

codspeed-hq[bot] avatar Jun 08 '24 20:06 codspeed-hq[bot]