From 86e8a7fd5fc0a627ca501128f277c3bacd7d933a Mon Sep 17 00:00:00 2001 From: Joshua Blum Date: Wed, 25 Mar 2026 12:35:16 -0400 Subject: [PATCH 1/2] fix fmt pod for new xcode --- shared/ios/Podfile | 18 ++++++++++++++++++ shared/ios/Podfile.lock | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/shared/ios/Podfile b/shared/ios/Podfile index 8dd9516bcbb4..c87101d6e22c 100644 --- a/shared/ios/Podfile +++ b/shared/ios/Podfile @@ -32,6 +32,24 @@ target 'Keybase' do :mac_catalyst_enabled => false, # :ccache_enabled => true ) + + # fmt 11.0.2 bug: Apple clang 16+ (Xcode 16+) enforces consteval more strictly, + # breaking several FMT_STRING call sites in format-inl.h. Disable consteval for + # all Apple clang by removing the version guard in base.h. + fmt_base_h = "#{installer.sandbox.pod_dir('fmt')}/include/fmt/base.h" + if File.exist?(fmt_base_h) + content = File.read(fmt_base_h) + patched = content.gsub( + "#elif defined(__apple_build_version__) && __apple_build_version__ < 14000029L\n" \ + "# define FMT_USE_CONSTEVAL 0 // consteval is broken in Apple clang < 14.", + "#elif defined(__apple_build_version__)\n" \ + "# define FMT_USE_CONSTEVAL 0 // consteval is broken in Apple clang." + ) + if patched != content + FileUtils.chmod('u+w', fmt_base_h) + File.write(fmt_base_h, patched) + end + end end end diff --git a/shared/ios/Podfile.lock b/shared/ios/Podfile.lock index 6c16b2c5df90..5162cea2136b 100644 --- a/shared/ios/Podfile.lock +++ b/shared/ios/Podfile.lock @@ -3434,6 +3434,6 @@ SPEC CHECKSUMS: Yoga: cc4a6600d61e4e9276e860d4d68eebb834a050ba ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 -PODFILE CHECKSUM: 3afa944c1a159bdd57b3aa134ffed0193619be93 +PODFILE CHECKSUM: 283260ce18c610a3fbfeca70efe4a2d385f1a110 COCOAPODS: 1.16.2 From 2c3f407fe5d6e3f21dd60f9644ed229b05ef5e77 Mon Sep 17 00:00:00 2001 From: Joshua Blum Date: Wed, 25 Mar 2026 13:24:34 -0400 Subject: [PATCH 2/2] update fmt dep to 12.1.0 --- shared/ios/Keybase.xcodeproj/project.pbxproj | 4 ++-- shared/ios/Podfile | 17 ----------------- shared/ios/Podfile.lock | 14 +++++++------- 3 files changed, 9 insertions(+), 26 deletions(-) diff --git a/shared/ios/Keybase.xcodeproj/project.pbxproj b/shared/ios/Keybase.xcodeproj/project.pbxproj index f36a7d56797f..ee9d8d2255fb 100644 --- a/shared/ios/Keybase.xcodeproj/project.pbxproj +++ b/shared/ios/Keybase.xcodeproj/project.pbxproj @@ -36,12 +36,12 @@ DB33CB6B2DFB02E9000472AA /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB33CB6A2DFB02E9000472AA /* ShareViewController.swift */; }; DB59F9B72238A27E00E271C1 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB59F97B2238A27E00E271C1 /* JavaScriptCore.framework */; }; DBB8CC212DF336C200D43215 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBB8CC202DF336C200D43215 /* AppDelegate.swift */; }; - DBMT00012DF336C200D43215 /* MainThreadWatchdog.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBMT00002DF336C200D43215 /* MainThreadWatchdog.swift */; }; DBBE59452DF394F700A74A2D /* keybasego.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = DBBE59442DF394F700A74A2D /* keybasego.xcframework */; }; DBD252982DF32D5C008A43FF /* Fs.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBD252972DF32D5C008A43FF /* Fs.swift */; }; DBDCF30E1B8D03DD00BA95D8 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DBDCF3081B8D03DD00BA95D8 /* Images.xcassets */; }; DBDF89F62DF7779900EA18C2 /* Pusher.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBDF89F52DF7779900EA18C2 /* Pusher.swift */; }; DBF123462DF1234500A12345 /* ShareIntentDonatorImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBF123452DF1234500A12345 /* ShareIntentDonatorImpl.swift */; }; + DBMT00012DF336C200D43215 /* MainThreadWatchdog.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBMT00002DF336C200D43215 /* MainThreadWatchdog.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -112,7 +112,6 @@ DB33CB6A2DFB02E9000472AA /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = ""; }; DB59F97B2238A27E00E271C1 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; DBB8CC202DF336C200D43215 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - DBMT00002DF336C200D43215 /* MainThreadWatchdog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainThreadWatchdog.swift; sourceTree = ""; }; DBBE59442DF394F700A74A2D /* keybasego.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = keybasego.xcframework; sourceTree = ""; }; DBD252972DF32D5C008A43FF /* Fs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fs.swift; sourceTree = ""; }; DBDCF3081B8D03DD00BA95D8 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; @@ -120,6 +119,7 @@ DBDCF3441B8D04FC00BA95D8 /* Keybase-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Keybase-Bridging-Header.h"; sourceTree = ""; }; DBDF89F52DF7779900EA18C2 /* Pusher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Pusher.swift; sourceTree = ""; }; DBF123452DF1234500A12345 /* ShareIntentDonatorImpl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareIntentDonatorImpl.swift; sourceTree = ""; }; + DBMT00002DF336C200D43215 /* MainThreadWatchdog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainThreadWatchdog.swift; sourceTree = ""; }; F68DC40B579A1F9AC0F34950 /* Pods_KeybaseShare.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_KeybaseShare.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ diff --git a/shared/ios/Podfile b/shared/ios/Podfile index c87101d6e22c..73cd024161b1 100644 --- a/shared/ios/Podfile +++ b/shared/ios/Podfile @@ -33,23 +33,6 @@ target 'Keybase' do # :ccache_enabled => true ) - # fmt 11.0.2 bug: Apple clang 16+ (Xcode 16+) enforces consteval more strictly, - # breaking several FMT_STRING call sites in format-inl.h. Disable consteval for - # all Apple clang by removing the version guard in base.h. - fmt_base_h = "#{installer.sandbox.pod_dir('fmt')}/include/fmt/base.h" - if File.exist?(fmt_base_h) - content = File.read(fmt_base_h) - patched = content.gsub( - "#elif defined(__apple_build_version__) && __apple_build_version__ < 14000029L\n" \ - "# define FMT_USE_CONSTEVAL 0 // consteval is broken in Apple clang < 14.", - "#elif defined(__apple_build_version__)\n" \ - "# define FMT_USE_CONSTEVAL 0 // consteval is broken in Apple clang." - ) - if patched != content - FileUtils.chmod('u+w', fmt_base_h) - File.write(fmt_base_h, patched) - end - end end end diff --git a/shared/ios/Podfile.lock b/shared/ios/Podfile.lock index 5162cea2136b..53abe593feee 100644 --- a/shared/ios/Podfile.lock +++ b/shared/ios/Podfile.lock @@ -110,7 +110,7 @@ PODS: - UMAppLoader - fast_float (8.0.0) - FBLazyVector (0.81.5) - - fmt (11.0.2) + - fmt (12.1.0) - glog (0.3.5) - hermes-engine (0.81.5): - hermes-engine/Pre-built (= 0.81.5) @@ -167,20 +167,20 @@ PODS: - boost - DoubleConversion - fast_float (= 8.0.0) - - fmt (= 11.0.2) + - fmt (= 12.1.0) - glog - RCT-Folly/Default (= 2024.11.18.00) - RCT-Folly/Default (2024.11.18.00): - boost - DoubleConversion - fast_float (= 8.0.0) - - fmt (= 11.0.2) + - fmt (= 12.1.0) - glog - RCT-Folly/Fabric (2024.11.18.00): - boost - DoubleConversion - fast_float (= 8.0.0) - - fmt (= 11.0.2) + - fmt (= 12.1.0) - glog - RCTDeprecation (0.81.5) - RCTRequired (0.81.5) @@ -3342,7 +3342,7 @@ SPEC CHECKSUMS: EXTaskManager: 6f1a66e4c8cc6df6e24c3d90928704bc3013eae5 fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6 FBLazyVector: 5beb8028d5a2e75dd9634917f23e23d3a061d2aa - fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd + fmt: 530618a01105dae0fa3a2f27c81ae11fa8f67eac glog: 5683914934d5b6e4240e497e0f4a3b42d1854183 hermes-engine: 9f4dfe93326146a1c99eb535b1cb0b857a3cd172 KBCommon: bd1f35bb07924f4cc57417b00dab6734747b6423 @@ -3351,7 +3351,7 @@ SPEC CHECKSUMS: libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 lottie-ios: a881093fab623c467d3bce374367755c272bdd59 lottie-react-native: b01c4b468aed88931afefbde03d790fc4f8b010a - RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669 + RCT-Folly: b29feb752b08042c62badaef7d453f3bb5e6ae23 RCTDeprecation: 5eb1d2eeff5fb91151e8a8eef45b6c7658b6c897 RCTRequired: cebcf9442fc296c9b89ac791dfd463021d9f6f23 RCTTypeSafety: b99aa872829ee18f6e777e0ef55852521c5a6788 @@ -3434,6 +3434,6 @@ SPEC CHECKSUMS: Yoga: cc4a6600d61e4e9276e860d4d68eebb834a050ba ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 -PODFILE CHECKSUM: 283260ce18c610a3fbfeca70efe4a2d385f1a110 +PODFILE CHECKSUM: 1230fa854271c97af86d67b7424a7496e5f328a8 COCOAPODS: 1.16.2