Build Information
Successful build of kubrick, reference master (41b1ab), with Swift 6.4 for macOS (SPM) on 16 Sep 2026 10:15:16 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/krad/kubrick.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/krad/kubrick
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 41b1abc Not really happy with this compromise but it will do for pre-processing on macOS. Super frustrated with CMSampleBuffer behavior
Cloned https://github.com/krad/kubrick.git
Revision (git rev-parse @):
41b1abcb79d58c9e70379bb314187c20ebabcf0f
SUCCESS checkout https://github.com/krad/kubrick.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/krad/kubrick.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 96]
[Planning deferred tasks]
[25 / 42]
[37 / 54] grip
[38 / 54] grip
[48 / 66] kubrick
[49 / 66] kubrick
[55 / 66] kubrick
[59 / 66] kubrick
[63 / 66] kubrick
Build complete! (8.99 sec)
Fetching https://github.com/krad/grip.git
[1/176] Fetching grip
Fetched https://github.com/krad/grip.git (1.15s)
Computing version for https://github.com/krad/grip.git
Computed https://github.com/krad/grip.git at 1.3.5 (1.85s)
Creating working copy for https://github.com/krad/grip.git
Working copy of https://github.com/krad/grip.git resolved at 1.3.5
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m5 |[0;0m
[0;36m6 |[0;0m extension Rational: Hashable {
[0;36m7 |[0;0m public var hashValue: Int {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m8 |[0;0m return Int(self.numerator ^ Int64(self.denominator))
[0;36m9 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: [1;33mwarning: [1;39m'let' properties are implicitly 'final'; use 'public' instead of 'open'[0;0m
[0;36m45 |[0;0m
[0;36m46 |[0;0m public class CaptureSession: Session {
[0;36m47 |[0;0m open let base = Base()
[0;36m|[0;0m `- [1;33mwarning: [1;39m'let' properties are implicitly 'final'; use 'public' instead of 'open'[0;0m
[0;36m48 |[0;0m
[0;36m49 |[0;0m public private(set) var inputs: [MediaDeviceInput] = []
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m5 |[0;0m
[0;36m6 |[0;0m extension Rational: Hashable {
[0;36m7 |[0;0m public var hashValue: Int {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m8 |[0;0m return Int(self.numerator ^ Int64(self.denominator))
[0;36m9 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Display.swift:46:55: [1;33mwarning: [1;39m'kIOMasterPortDefault' was deprecated in macOS 12.0: renamed to 'kIOMainPortDefault'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m44 |[0;0m let matching = IOServiceMatching("IODisplayConnect")
[0;36m45 |[0;0m
[0;36m46 |[0;0m let kernResult = IOServiceGetMatchingServices(kIOMasterPortDefault,
[0;36m|[0;0m |- [1;33mwarning: [1;39m'kIOMasterPortDefault' was deprecated in macOS 12.0: renamed to 'kIOMainPortDefault'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39muse 'kIOMainPortDefault' instead[0;0m
[0;36m47 |[0;0m matching,
[0;36m48 |[0;0m &serialPortIterator)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: [1;33mwarning: [1;39m'let' properties are implicitly 'final'; use 'public' instead of 'open'[0;0m
[0;36m45 |[0;0m
[0;36m46 |[0;0m public class CaptureSession: Session {
[0;36m47 |[0;0m open let base = Base()
[0;36m|[0;0m `- [1;33mwarning: [1;39m'let' properties are implicitly 'final'; use 'public' instead of 'open'[0;0m
[0;36m48 |[0;0m
[0;36m49 |[0;0m public private(set) var inputs: [MediaDeviceInput] = []
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:75:36: [1;33mwarning: [1;39m'devices()' was deprecated in macOS 10.15: Use AVCaptureDeviceDiscoverySession instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m73 |[0;0m
[0;36m74 |[0;0m public func sources() -> [Source] {
[0;36m75 |[0;0m return AVCaptureDevice.devices()
[0;36m|[0;0m `- [1;33mwarning: [1;39m'devices()' was deprecated in macOS 10.15: Use AVCaptureDeviceDiscoverySession instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m76 |[0;0m }
[0;36m77 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: [1;33mwarning: [1;39m'let' properties are implicitly 'final'; use 'public' instead of 'open'[0;0m
[0;36m45 |[0;0m
[0;36m46 |[0;0m public class CaptureSession: Session {
[0;36m47 |[0;0m open let base = Base()
[0;36m|[0;0m `- [1;33mwarning: [1;39m'let' properties are implicitly 'final'; use 'public' instead of 'open'[0;0m
[0;36m48 |[0;0m
[0;36m49 |[0;0m public private(set) var inputs: [MediaDeviceInput] = []
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
"dependencies" : [
{
"identity" : "grip",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.5",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/krad/grip.git"
}
],
"manifest_display_name" : "kubrick",
"name" : "kubrick",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "kubrick",
"targets" : [
"kubrick"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "kubrickTests",
"module_type" : "SwiftTarget",
"name" : "kubrickTests",
"path" : "Tests/kubrickTests",
"sources" : [
"AudioSinkTests.swift",
"BasicCaptureTests.swift",
"CameraTests.swift",
"DisplayStreamTests.swift",
"Mocks.swift",
"MuxerSinkTests.swift",
"SessionTests.swift",
"SinkTests.swift",
"SourceDiscovererTests.swift",
"SourceTests.swift",
"StreamTests.swift",
"TestHelpers.swift",
"VideoSinkTests.swift"
],
"target_dependencies" : [
"kubrick"
],
"type" : "test"
},
{
"c99name" : "kubrick",
"module_type" : "SwiftTarget",
"name" : "kubrick",
"path" : "Sources/kubrick",
"product_dependencies" : [
"grip"
],
"product_memberships" : [
"kubrick"
],
"sources" : [
"Encoders/AACEncoder.swift",
"Encoders/AudioEncoder.swift",
"Encoders/H264Encoder.swift",
"Encoders/H264Settings.swift",
"Encoders/VideoEncoder.swift",
"Helpers/Bytes.swift",
"Helpers/Rational.swift",
"Helpers/ThreadSafeArray.swift",
"MediaDevices/Camera.swift",
"MediaDevices/Clock.swift",
"MediaDevices/Display.swift",
"MediaDevices/MediaDevice.swift",
"MediaDevices/MediaDeviceInput.swift",
"MediaDevices/MediaDeviceOutput.swift",
"MediaDevices/MediaDeviceReader.swift",
"MediaDevices/Microphone.swift",
"MediaDevices/Readers/AudioReader.swift",
"MediaDevices/Readers/VideoReader.swift",
"Samples/MediaFormat.swift",
"Samples/Sample.swift",
"Samples/SampleTransport.swift",
"Samples/Session.swift",
"Sinks/AACEncoderSink.swift",
"Sinks/EndpointSink.swift",
"Sinks/FileEndpoint.swift",
"Sinks/H264EncoderSink.swift",
"Sinks/MuxerSink.swift",
"Sinks/PrettyPortraitSink.swift",
"Sinks/Sink.swift",
"Sources/AVStream.swift",
"Sources/Source.swift",
"Sources/SourceDiscoverer.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Done.