32 lines
936 B
Markdown
32 lines
936 B
Markdown
Linux
|
|
=====
|
|
|
|
We've made a proof of concept for Linux.
|
|
|
|
To test it, create `Package.swift` in your test directory with the following content:
|
|
|
|
```
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "MyShinyUnicornCat",
|
|
dependencies: [
|
|
.Package(url: "https://github.com/ReactiveX/RxSwift.git", Version(2, 0, 0))
|
|
]
|
|
)
|
|
```
|
|
|
|
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 `Swift.Error` on `Linux`, so don't use errors, otherwise you can get weird crashes.
|