halo/macosvpn

Failure to build with Xcode 11

fxcoudert opened this issue ยท 8 comments

==> xcodebuild SYMROOT=build
Build settings from command line:
    SYMROOT = build

note: Using new build system
note: Planning build
note: Constructing build description
error: SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target 'macosvpn' from project 'macosvpn')

This is preventing users from installing as part of Homebrew on Mojave and Catalina

halo commented

Hi, thank you for your report. I'm painfully aware of it ๐Ÿ˜…

When this feature request came in, I realized that much had to be done to get this project in shape for Xcode 10 and 11.

The good news is, that I'm 80% along the way to a pure Swift 5 implementation. The new version I'll be releasing within a matter of weeks is going to be compatible with macOS 10.10 and upwards.

I've never really taken the time to dig into how homebrew formulae specify compatibility for different operating system versions. I'd appreciate if someone could tell me what I'd have to do on my end to specify that. Naturally, there will be a changelog and a git tag for every release, but I'm not sure where I would specify which release matches which OS, so that installing with homebrew "simply works".

Actually, I just realize. Supporting 10.10 upwards will be totally sufficient (that's back to Yosemite from 2014, nobody should be on Mavericks any more!). So, everything is fine. I just need to invest some more time.

Supporting 10.10 upwards will be totally sufficient

Indeed.

Hi @halo
A few comments above you wrote that you are finishing a swift 5 version, and are planning to release it soon.
May I ask how close you are to that? ๐Ÿ™‚
I have been reusing and building your older version of the code for a while and it works perfectly, but I wouldn't mind using the new one with Xcode 11.

halo commented

Good timing! Over the past month I could invest an hour or two per week to work on this. I deleted the last Objective-C file yesterday.

The conversion is basically complete, I pushed it to the branch called swift.

However, I need to

  • increase spec coverage
  • and there is a segfault (solved)
  • I'm also planning on renaming some classes
  • and removing the VPN prefix everywhere.
  • And the delete functionality is not finished yet.

So, some more debugging is required, but I'm 99% along the way.

PS: I'm using Xcode 11.2, Swift 5, and compatibility is macOS 10.10 and later

Thank you for the information. And for the good work.
I will keep an eye on the repo for the upcoming changes.

halo commented

Good news. Specs are passing. Now I'll just need to update the documentation, CHANGELOG, and fine-tune the --help output a little bit. I'll merge this in master soon. ๐Ÿฐ

halo commented

I went ahead and released version 1.0.0 officially. I'll close this for now, feel free to open a new issue should you encounter a bug.

Thank you for your patience and Merry Christmas ๐ŸŽ„