oficina / meet Public

Clone
git clone https://amadan.net/oficina/meet

Plain git — no account needed to clone.

Download

Download this file

1// swift-tools-version: 5.9
2import PackageDescription
3import Foundation
4
5let sharedNative: Package.Dependency = ProcessInfo.processInfo.environment["OFICINA_NATIVE_PACKAGE_PATH"].map { .package(path: $0) }
6 ?? .package(url: "https://amadan.net/rastrillo/native", revision: "b8098cd09c2641467f4dad71057e4a733b610649")
7
8let package = Package(
9 name: "CallsNative",
10 platforms: [.macOS(.v14), .iOS(.v17)],
11 products: [
12 .library(name: "CallsKit", targets: ["CallsKit"]),
13 // What the iPhone's broadcast extension links, and all it links: no
14 // WebRTC, so the extension stays far inside its memory ceiling.
15 .library(name: "CallsBroadcastKit", targets: ["CallsBroadcastKit"]),
16 .executable(name: "CallsMac", targets: ["CallsMac"]),
17 .executable(name: "CallsInterop", targets: ["CallsInterop"]),
18 ],
19 dependencies: [
20 sharedNative,
21 .package(url: "https://github.com/livekit/webrtc-xcframework.git", exact: "150.7871.02")
22 ],
23 targets: [
24 .binaryTarget(name: "CallsBridge", path: "../build/CallsBridge.xcframework"),
25 // Built by scripts/build-rnnoise.sh, as CallsBridge is by build-bridge.sh.
26 .binaryTarget(name: "RNNoise", path: "../build/RNNoise.xcframework"),
27 // Built by scripts/build-deepfilter.sh. Linked on Mac only: the iPhone
28 // runs RNNoise, and should not carry a model runtime it never uses.
29 .binaryTarget(name: "DeepFilter", path: "../build/DeepFilter.xcframework"),
30 .target(name: "CallsBroadcastKit"),
31 .target(
32 name: "CallsKit",
33 dependencies: [
34 "CallsBridge", "CallsBroadcastKit", "RNNoise",
35 .target(name: "DeepFilter", condition: .when(platforms: [.macOS])),
36 .product(name: "LiveKitWebRTC", package: "webrtc-xcframework"),
37 ]),
38 .executableTarget(name: "CallsMac", dependencies: [.product(name: "RastrilloMacUpdates", package: "native", condition: .when(platforms: [.macOS])), "CallsKit"], resources: [.copy("Resources/AppIcon.png"), .copy("Resources/MacIcon.png")]),
39 .executableTarget(name: "CallsInterop", dependencies: ["CallsKit"]),
40 .testTarget(name: "CallsKitTests", dependencies: ["CallsKit", "CallsBroadcastKit"], resources: [.copy("Fixtures")]),
41 ]
42)
43