Linux
We’ve made a proof of concept for Linux.
To test it, create Package.swift in your test directory with the following content:
1. import PackageDescription
3. let package = Package(
4. name: "MyShinyUnicornCat",
5. dependencies: [
6. .Package(url: "https://github.com/ReactiveX/RxSwift.git", Version(2, 0, 0))
7. ]
8. )
What works:
- Distribution using Swift Package Manager
- Single Threaded mode (CurrentThreadScheduler)
- Half of the unit tests are passing.
- Projects that can be compiled and “used”:
- RxSwift
- RxBlocking
- RxTests
What doesn’t work:
- Schedulers - because they are dependent on <https://github.com/apple/swift-corelibs-libdispatch> and it still hasn’t been released
- Multithreading - still no access to c11 locks
- For some reason it looks like Swift compiler generates wrong code when using
ErrorTypeonLinux, so don’t use errors, otherwise you can get weird crashes.
