-
Notifications
You must be signed in to change notification settings - Fork 70
Replace objc with objc2 in other projects #174
Copy link
Copy link
Open
Labels
A-frameworkAffects the framework crates and the translator for themAffects the framework crates and the translator for themA-objc2Affects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` cratesAffects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` crateshelp wantedExtra attention is neededExtra attention is needed
Metadata
Metadata
Assignees
Labels
A-frameworkAffects the framework crates and the translator for themAffects the framework crates and the translator for themA-objc2Affects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` cratesAffects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` crateshelp wantedExtra attention is neededExtra attention is needed
As part of moving towards a (somewhat stable) version, I'd like to submit PRs to other projects to set an ecosystem-wide precedence for using this crate, and to see which patterns people are actually using that
objc2doesn't (or doesn't easily) help with.Popular reverse-dependencies of
objconcrates.io(as of the issue creation date):cocoa/cocoa-foundation: Replaceobjcwithobjc2servo/core-foundation-rs#628 / Deprecatecocoa,cocoa-foundationandio-surfaceand link toobjc2crates instead servo/core-foundation-rs#731winit: Initial transition toobjc2rust-windowing/winit#2452glutin: Move toobjc2rust-windowing/glutin#1461: Remove dependency oncore-video-sysobjcLuoZijun/rust-core-video-sys#23, but unmaintainedmetal: Useobjc2instead ofobjcgfx-rs/metal-rs#241 / Recommendobjc2-metalinstead ofmetalgfx-rs/metal-rs#339: unmaintainedgfxbackendswgpu-hal: [metal] Useobjc2-metalgfx-rs/wgpu#5641: unmaintainedclipboardarboard: Useobjc2and its framework crates 1Password/arboard#148copypasta: Useobjc2and its framework crates alacritty/copypasta#74webbrowser: iOS: Useobjc2amodm/webbrowser-rs#87: Uselocale_configobjc2andobjc2-foundationrust-locale/locale_config#11, seems unmaintained.rfd: macOS: Useobjc2crates PolyMeilex/rfd#188glfw: Useobjc2PistonDevelopers/glfw-rs#566wry: Proposal: Useobjc2and its framework crates tauri-apps/wry#1239tao: Useobjc2tauri-apps/tao#1049: nowoffscreen_gl_contextsurfmantrash: macOS: Useobjc2-foundationByron/trash-rs#107skia: Portmetal-windowexample toobjc2. Add iOS support to example. rust-skia/rust-skia#1249native-dialog: macOS: Useobjc2crates native-dialog-rs/native-dialog-rs#58window_clipboard: Useobjc2and its framework crates hecrj/window_clipboard#27vulkano: macOS/iOS: Useraw-window-metalto get aCAMetalLayerfromraw-window-handlevulkano-rs/vulkano#2561: Probably not compatible with their stated goals.miniquadsurfman: Useobjc2-*family of crates servo/surfman#334: Likely unmaintained.display-link: Discontinued.druid-shelldark-light: Useobjc2-foundationandobjc2-app-kitrust-dark-light/dark-light#37btleplug: chore(corebluetooth): Useobjc2and its framework crates deviceplug/btleplug#381tts: Useobjc2/objc2-avf-audiondarilek/tts-rs#57raw-window-metal: Useobjc2and its framework crates rust-windowing/raw-window-metal#15: archivedmsgboxOthers:
pathfinderwr_glyph_rasterizerblurmac: Unmaintainedalacritty: Useobjc2,objc2-foundationandobjc2-app-kitalacritty/alacritty#8312: Only used for Safari extension, and for dubious reasons, I'm not gonna touch it.ruffleveloren: Needsnative-dialogandwgputo migratecacao: Replaceobjcwithobjc2? ryanmcgrath/cacao#28: Possibly unmaintained.bluster: Seems unmaintained.clipboard-filesmac-notification-sys: Version 2 h4llow3En/mac-notification-sys#51 / Updating to objc2 and adding async support h4llow3En/mac-notification-sys#56 / Migrate to objc2 h4llow3En/mac-notification-sys#67slint(i-slint-renderer-skia): macOS: Replace use of old apple creates with modern objc2 replacements slint-ui/slint#6940fruitbasket: Possibly unmaintained.glazier: Archivedlapce: No longer (?) usingcocoa/objcdirectly.neovide: chore: remove legacy objc and cocoa neovide/neovide#2390enigo: Move objc dependency to icrate enigo-rs/enigo#250nightlight: Possibly unmaintained.current_locale: Fix CI issues i509VCB/current_locale#8sys-localezed: Migrate Zed to objc2 zed-industries/zed#22408: Usescreencapturekitobjc2? doom-fish/screencapturekit-rs#128, they aren't going to.eframe: eframe: Useobjc2and its framework crates emilk/egui#4395softbuffer: Useobjc2rust-windowing/softbuffer#210gpu-allocator: 🤘 metal: Migrate toobjc2architecture withobjc2-metalbindings Traverse-Research/gpu-allocator#225tray-icon: Rewrite to useobjc2tauri-apps/tray-icon#172muda: Migrate fromobjc/cocoatoobjc2tauri-apps/muda#221window-vibrancy: Migrate fromobjc/cocoatoobjc2tauri-apps/window-vibrancy#150global-hotkey: Migrate fromobjctoobjc2tauri-apps/global-hotkey#99tauri: feat: Migrate toobjc2tauri-apps/tauri#10924ash-window: ash-window: Updateraw-window-metalto v1.0 ash-rs/ash#939blade: metal: Migrate from metal-rs to objc2 kvark/blade#229: Seems unmaintained.rafxdioxus: Port dioxus to useobjc2for interacting with macOS/iOS platform apis DioxusLabs/dioxus#5101kanata: Some discussion about it in Collaboration with enigo crate jtroo/kanata#1527rio: Uses a combination ofobjcandobjc2, they're clearly aware ofobjc2crossfont: Useobjc2for determining whether font smoothing is enabled alacritty/crossfont#69candle: [Metal] update to objc2_metal huggingface/candle#3064servo: fonts: Port macOS font code to useobjc2-*crates servo/servo#41711rdev: Update cocoa Narsil/rdev#172: Plans for collaboration withcidreobjc2? yury/cidre#2Using CoreFoundation:
core-foundation: Future of this project and discussion aboutobjc2servo/core-foundation-rs#729coreaudio-rs: Useobjc2crates RustAudio/coreaudio-rs#128cpal: Updatecoreaudio-rsRustAudio/cpal#943sysinfo: Useobjc2-core-foundationGuillaumeGomez/sysinfo#1461iana-time-zone: Useobjc2-core-foundationstrawlab/iana-time-zone#147font-kit: Useobjc2crates servo/font-kit#273crossfont: Use moreobjc2framework crates alacritty/crossfont#74webbrowser: macos: Migrate toobjc2-core-foundationamodm/webbrowser-rs#96accessibility: Migrate to objc2 eiz/accessibility#12, needsCFSTRsupport.Using SystemConfiguration:
system-configuration: Useobjc2-system-configurationinstead ofsystem-configuration-sys? mullvad/system-configuration-rs#69hyper-utilif-watchnetdev: Seems to only use it in dead codedefault-net: Renamed tonetdevUsing Security:
security-framework: Consider usingobjc2-security? kornelski/rust-security-framework#224rustls-platform-verifierrustls-native-certsnative-tlscargo-credential-macos-keychainkeyringapple-codesignUsing IOKit:
serialport: Useobjc2-io-kitserialport/serialport-rs#296gilrs: https://gitlab.com/gilrs-project/gilrs/-/merge_requests/163Using CoreServices:
fsevent-sys: Useobjc2-core-foundationandobjc2-core-servicesoctplane/fsevent-rust#48notify: Useobjc2-core-foundationandobjc2-core-servicesnotify-rs/notify#726Using
dispatch:ctrlc: Usedispatch2Detegr/rust-ctrlc#140