Skip to content

Removed dependency on cocoapods#278

Merged
xor-gate merged 1 commit intosyncthing:v2from
NewChromantics:feature/RemovePods
Mar 15, 2026
Merged

Removed dependency on cocoapods#278
xor-gate merged 1 commit intosyncthing:v2from
NewChromantics:feature/RemovePods

Conversation

@SoylentGraham
Copy link
Contributor

The entire use of cocoapods (which is only for one dependency) can be entirely removed by just embedding Sparkle using swift package manager.

I only spent about 30 seconds on this, but looks like it works fine!

I couldn't figure out anywhere in the code/podfiles that specified a version, but 1.27.3 seems to work.

Also updated the gitignore to remove all xcuserdata folders, these shouldn't be commited. (That should have been a seperate PR, but realised too late when my gitclient removed the tracked files)

@SoylentGraham
Copy link
Contributor Author

I think this also means the workspace is redundant?

@xor-gate
Copy link
Member

xor-gate commented Mar 10, 2026

This looks good to me, didn't know there was a new native dependency manager to reference directly. The sparkle dependency was almost never touched and I played with cacoapods for a bit. I would also better see sparkle updated to the latest greatest version then. But not sure if it breaks compatibility or not running on macOS 12. We need at least macOS 12 because of syncthing daemon itself. Not sure about the workspace, i'm not a big XCode guru as I mostly do lowlevel programming.

@SoylentGraham
Copy link
Contributor Author

I don't think the changes to 2.x are much trouble, but that's a problem for another day! :)

@xor-gate xor-gate merged commit f9bea1a into syncthing:v2 Mar 15, 2026
2 of 3 checks passed
@xor-gate
Copy link
Member

Let's goooo 🚀

@xor-gate
Copy link
Member

You broke the build:

Run make release-dmg
xcodebuild -workspace "syncthing.xcworkspace" -derivedDataPath /Users/runner/work/syncthing-macos/syncthing-macos -configuration Release -scheme Pods-syncthing
Command line invocation:
    /Applications/Xcode_16.4.app/Contents/Developer/usr/bin/xcodebuild -workspace syncthing.xcworkspace -derivedDataPath /Users/runner/work/syncthing-macos/syncthing-macos -configuration Release -scheme Pods-syncthing

Resolve Package Graph

Fetching from https://github.com/sparkle-project/Sparkle.git

Creating working copy of package ‘Sparkle’

Checking out 1.27.3 of package ‘Sparkle’


Resolved source packages:
  Sparkle: https://github.com/sparkle-project/Sparkle.git @ 1.27.3

2026-03-15 11:55:35.195 xcodebuild[1829:8488] Writing error result bundle to /var/folders/t5/f77_gwnj6p95qxy9py3fckx00000gn/T/ResultBundle_2026-15-03_11-55-0035.xcresult
xcodebuild: error: The workspace named "syncthing" does not contain a scheme named "Pods-syncthing". The "-list" option can be used to find the names of the schemes in the workspace.
make: *** [release-dmg] Error 65
Error: Process completed with exit code 2.

@xor-gate
Copy link
Member

xor-gate commented Mar 15, 2026

Probably the Makefile must be update to not build the missing XCode target. It's also a little my fault because the v2 default branch pull requests are not checked before merge. It seems the Sparkle dependency is implicit build by the new implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants