-
Notifications
You must be signed in to change notification settings - Fork 90
Description
I came across #30 while investigating the prospect of swift-nio-extras using a vendored copy of zlib. It's been 6 years and Swift is starting to get used for more than just server-side software on Linux so I figured it might be worth revisiting with this new context.
I maintain SwiftCrossUI which depends indirectly on a vendored copy of zlib (via libpng). This vendored copy of zlib is handy because it means that apps created with SwiftCrossUI don't have a system dependency on zlib.
I realise that when #30 was discussed, swift-nio would've only been used in server-side code where system dependencies aren't all that important. In contrast, when developing GUI applications, you often want to minimise the number of system dependencies, because every system dependency makes cross-platform deployment that much harder and opens up another way for compatibility to fail.
For those reasons I request that the possibility of depending on a vendored copy of be revisited.
The reasons against #30 weren't really elaborated upon in the original discussion; are they still known and do they still hold?
If depending on a vended copy of swift-nio-extras is a no-go for server-side code, could it be included as an opt-in option via some environment variable based solution in Package.swift (given that package traits aren't available in 5.10)?