-
Notifications
You must be signed in to change notification settings - Fork 81
Conversation
It's also worth mentioning I didn't really want to add this feature to milli directly, since it is not exactly a milli feature. However; based on what I read, cargo does not support adding/setting features of transitive dependencies (in this case heed & lmdb-rs), which means it should be promoted to a milli feature (unless someone else has a better idea). I.e., I can't depend on milli but also specify that I want to use heed with |
This PR is ready to go as soon as a new version of heed is released. |
@Kerollmops I noticed I removed the modification on the |
Hey @GregoryConrad,
Don't worry, I merged your commit on main too! Just so you know, we will not use v0.20.0 of heed on milli for now.
I just did a release of v0.12.5. Sorry for the time I took. I was indeed working on the new v0.20.0 release. |
Ok; I will revert my commit 4c4f9a6 to make this PR point to |
This reverts commit 4c4f9a6.
Pull latest main
Hello @GregoryConrad thanks a lot for your work and your involvement. For your information, we are closing this repo soon. We don't accept any contribution. However, the code base of this repo is moved to the meilisearch repository, under the Thanks again for your involvement in the project, it's nice to have you around! 👋 |
@curquiza Sure, I'll move the changes over there right now! |
3407: Add Cargo feature for LMDB's POSIX semaphores r=dureuill a=GregoryConrad See meilisearch/milli#757 Co-authored-by: Gregory Conrad <[email protected]>
3407: Add Cargo feature for LMDB's POSIX semaphores r=dureuill a=GregoryConrad See meilisearch/milli#757 Co-authored-by: Gregory Conrad <[email protected]>
3407: Add Cargo feature for LMDB's POSIX semaphores r=dureuill a=GregoryConrad See meilisearch/milli#757 Co-authored-by: Gregory Conrad <[email protected]>
Hi! Please take a look at this PR first. It will need to be merged before this PR can be merged.
In summary, this PR adds support for running milli on iOS and macOS when using App Sandbox, which is required when submitting to the App Store (and required for all iOS apps; macOS apps can get away without needing the App Sandbox but it's recommended).
Under the hood, this is done by adding a cargo feature to use LMDB's POSIX semaphores instead of SysV semaphores (which is LMDB's default). POSIX semaphores comply with Apple's App Sandbox and actually might bring slight performance improvements on *nix platforms.