Kakehashi: macOS ARM64 ikili dosyalarını Linux aarch64'te çalıştırma
Kakehashi, macOS ARM64 Mach-O ikili dosyalarını JIT'siz Linux aarch64'te çalıştıran deneysel userspace çeviri katmanı; CI maliyetlerini düşürmeyi hedefliyor.
Kakehashi, Darwin Mach-O ikili dosyalarını JIT kullanmadan doğrudan Linux aarch64 üzerinde çalıştırmayı hedefleyen deneysel bir userspace çeviri katmanı. Proje, macOS için derlenmiş libSystem'i freestanding biçimde haritalayıp BSD sistem çağrılarını Linux karşılıklarına çevirerek gerçek Darwin ikili dosyalarını (7-Zip'in 7zz'i, curl, thread kullanan programlar) çalıştırabiliyor. Docker/Colima ve UTM üzerinde doğrulanmış.
Projenin asıl değer önerisi ham hız değil, CI maliyeti: GitHub Actions'ta macOS runner'lar Linux arm64'e göre dakika başına yaklaşık 10-12 kat daha pahalı. Kakehashi altında Darwin ikili dosyaları çok dosyalı ağır işlerde yaklaşık 5 kat yavaş çalışsa da (sıkıştırma ağırlıklı az dosyalı senaryolarda fark 1.1-1.2x'e düşüyor), toplam maliyet macOS runner kullanmaktan yine de daha düşük çıkabiliyor.
Proje henüz GUI, codesign/notarization, tam Apple Security.framework desteği veya eksiksiz curl özellik setini kapsamıyor; kendisini bir 'ürün iddiası' değil CLI odaklı bir CI aracı olarak konumlandırıyor. Rust ile yazılmış, cargo install kakehashi ile kurulabiliyor ve Rust 1.88+ ile Linux aarch64 gerektiriyor.