-
Notifications
You must be signed in to change notification settings - Fork 187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pod fails validation with Xcode 12 toolchain #213
Comments
Update. I was able to get the Pod build and validation to work on watchOS against I can't open a PR for it though, because you can only open PRs against branches and I'll be looking at the @jedisct1, if I don't get anywhere with it or if you don't think the changes currently in |
Because of the build system changes in Xcode 12 due to the support of Apple Silicon, we now need to explicitly exclude the arm64 architecture from the build, otherwise xcodebuild will fail to build. I opened an issue in the Sodium repo, see jedisct1/swift-sodium#213, but I haven't received feedback yet. In order to unblock our progress, I created a fork of Sodium, Sodium-Fork, which incorporate the necessary changes to pass the validation. I published the fork on CocoaPods, but unfortunately CI seems to fail to find it. See this build: https://app.circleci.com/pipelines/github/Automattic/Automattic-Tracks-iOS/380/workflows/c0206d34-0f8a-4913-8b5d-b05e6dcb7c5b/jobs/936 I tried to set the `update-specs-sources` parameter to true, but it didn't make any difference. Interestingly, CI shows that the command runs, but there is no output and the execution time is 1s, too little to fetch the CocoaPods specs repo. This makes me think there might be something wrong in the setup or in how CI runs it. To address this issue, I published the pod on my private specs repo, and added its URL to the sources for the validation. Funny enough, while the spec validation fails to find the new pod, the `pod install` command in a different job has no problems with it.
While waiting for feedback from the maintainers on this issue, I published a fork of this repo with the fix to make it work with CocoaPods 1.9.3 and the Xcode 12.0 toolchain, on top of the 0.8.0 tag. # Podfile
pod 'Sodium-Fork' # YourPod.podspec
spec.dependency 'Sodium-Fork' You might need to run I also opened #214 against the main branch of the repo. Unfortunately, it doesn't get to the bottom of the issue –the validation still fails– but I think it's a step in the right direction so I thought I'd put it out there. |
Because of the build system changes in Xcode 12 due to the support of Apple Silicon, we now need to explicitly exclude the arm64 architecture from the build, otherwise xcodebuild will fail to build. I opened an issue in the Sodium repo, see jedisct1/swift-sodium#213, but I haven't received feedback yet. In order to unblock our progress, I created a fork of Sodium, Sodium-Fork, which incorporate the necessary changes to pass the validation. I published the fork on CocoaPods, but unfortunately CI seems to fail to find it. See this build: https://app.circleci.com/pipelines/github/Automattic/Automattic-Tracks-iOS/380/workflows/c0206d34-0f8a-4913-8b5d-b05e6dcb7c5b/jobs/936 I tried to set the `update-specs-sources` parameter to true, but it didn't make any difference. Interestingly, CI shows that the command runs, but there is no output and the execution time is 1s, too little to fetch the CocoaPods specs repo. This makes me think there might be something wrong in the setup or in how CI runs it. To address this issue, I published the pod on my private specs repo, and added its URL to the sources for the validation. Funny enough, while the spec validation fails to find the new pod, the `pod install` command in a different job has no problems with it.
Because of the build system changes in Xcode 12 due to the support of Apple Silicon, we now need to explicitly exclude the arm64 architecture from the build, otherwise xcodebuild will fail to build. I opened an issue in the Sodium repo, see jedisct1/swift-sodium#213, but I haven't received feedback yet. In order to unblock our progress, I created a fork of Sodium, Sodium-Fork, which incorporate the necessary changes to pass the validation. I published the fork on CocoaPods, but unfortunately CI seems to fail to find it. See this build: https://app.circleci.com/pipelines/github/Automattic/Automattic-Tracks-iOS/380/workflows/c0206d34-0f8a-4913-8b5d-b05e6dcb7c5b/jobs/936 I tried to set the `update-specs-sources` parameter to true, but it didn't make any difference. Interestingly, CI shows that the command runs, but there is no output and the execution time is 1s, too little to fetch the CocoaPods specs repo. This makes me think there might be something wrong in the setup or in how CI runs it. To address this issue, I published the pod on my private specs repo, and added its URL to the sources for the validation. Funny enough, while the spec validation fails to find the new pod, the `pod install` command in a different job has no problems with it.
Bumping to follow. Same issue. Kind of in a hole waiting for cocoapods to release v1.10.0 if that's the solution. |
Same here. ☝️ |
Now that CocoaPods 1.10.0 is out, we can go back to the original Sodium library and decommission the fork we've been recently to work around some Apple Silicon related limitations. You can verify this works by running ``` bundle exec pod lib lint --allow-warnings ``` For extra context see: - jedisct1/swift-sodium#213 - jedisct1/swift-sodium#214 - #148
Now that CocoaPods 1.10.0 is out, we can go back to the original Sodium library and decommission the fork we've been recently to work around some Apple Silicon related limitations. You can verify this works by running ``` bundle exec pod lib lint --allow-warnings ``` For extra context see: - jedisct1/swift-sodium#213 - jedisct1/swift-sodium#214 - #148
Now that CocoaPods 1.10.0 is out, we can go back to the original Sodium library and decommission the fork we've been recently to work around some Apple Silicon related limitations. You can verify this works by running ``` bundle exec pod lib lint --allow-warnings ``` For extra context see: - jedisct1/swift-sodium#213 - jedisct1/swift-sodium#214 - #148
Now that CocoaPods 1.10.0 is out, we can go back to the original Sodium library and decommission the fork we've been recently to work around some Apple Silicon related limitations. You can verify this works by running ``` bundle exec pod lib lint --allow-warnings ``` For extra context see: - jedisct1/swift-sodium#213 - jedisct1/swift-sodium#214 - #148
Hi all 👋 Thank you for the great work building and maintaining this library. We use it in one of our libraries at Automattic.
I'm experiencing an issue with the Xcode 12 toolchain and CocoaPods: the
.podspec
validation fails with this error:You can reproduce this on
0.8.0
by running:I been able to get the validation to pass for version
0.8.0
for iOS and macOS, but not for watchOS. Here's the branch on my fork if you want to check it out.But,
master
has changed the waylibsodium
is imported with the.xcframework
(which is pretty neat) and unfortunately the pod validation fails there, too 😞 .I tried with CocoaPods 1.9.3 and also 1.10.0.rc.1. Here's the validation output from the latter:
Click here for the full output
This looks similar to #212, too.
Something that might be useful for debugging is running
pod spec lint --no-clean
to get access to the workspace that CocoaPods generates to do the linting. Something else is to use--platforms=ios
(ormacos
, orwatchos
) to run the linting only on one platform.Let me know what I can do to help solving this. I'll be poking around this more tomorrow.
The text was updated successfully, but these errors were encountered: