Build Information
Successful build of kubrick, reference master (41b1ab
), with Swift 6.2 (beta) for macOS (SPM) on 18 Jun 2025 00:07:46 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.64.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.2
Building package at path: $PWD
https://github.com/krad/kubrick.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-1EA4D86E10B52AF.txt
[4/16] Compiling grip VideoDimensionsPacket.swift
[5/17] Compiling grip Writeable.swift
[6/17] Compiling grip CompressedSample.swift
[7/17] Compiling grip ByteHelpers.swift
[8/17] Compiling grip BinaryEncodable.swift
[9/17] Compiling grip BinaryEncodableExtensions.swift
[10/17] Emitting module grip
[11/17] Compiling grip NALU.swift
[12/17] Compiling grip AudioSamplePacket.swift
[13/17] Compiling grip StreamTypePacket.swift
[14/17] Compiling grip Packets.swift
[15/17] Compiling grip VideoSamplePacket.swift
[16/17] Compiling grip VideoParamSetPacket.swift
[17/17] Compiling grip StreamType.swift
[18/47] Emitting module kubrick
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
5 |
6 | extension Rational: Hashable {
7 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
8 | return Int(self.numerator ^ Int64(self.denominator))
9 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[19/50] Compiling kubrick MediaDeviceReader.swift
[20/50] Compiling kubrick Microphone.swift
[21/50] Compiling kubrick AudioReader.swift
[22/50] Compiling kubrick MediaDevice.swift
[23/50] Compiling kubrick MediaDeviceInput.swift
[24/50] Compiling kubrick MediaDeviceOutput.swift
[25/50] Compiling kubrick EndpointSink.swift
[26/50] Compiling kubrick FileEndpoint.swift
[27/50] Compiling kubrick H264EncoderSink.swift
[28/50] Compiling kubrick AACEncoder.swift
[29/50] Compiling kubrick AudioEncoder.swift
[30/50] Compiling kubrick H264Encoder.swift
[31/50] Compiling kubrick H264Settings.swift
[32/50] Compiling kubrick Camera.swift
[33/50] Compiling kubrick Clock.swift
[34/50] Compiling kubrick Display.swift
[35/50] Compiling kubrick MuxerSink.swift
[36/50] Compiling kubrick PrettyPortraitSink.swift
[37/50] Compiling kubrick Sink.swift
[38/50] Compiling kubrick SampleTransport.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
[39/50] Compiling kubrick Session.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
[40/50] Compiling kubrick AACEncoderSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
[41/50] Compiling kubrick VideoReader.swift
[42/50] Compiling kubrick MediaFormat.swift
[43/50] Compiling kubrick Sample.swift
[44/50] Compiling kubrick VideoEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
5 |
6 | extension Rational: Hashable {
7 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
8 | return Int(self.numerator ^ Int64(self.denominator))
9 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[45/50] Compiling kubrick Bytes.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
5 |
6 | extension Rational: Hashable {
7 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
8 | return Int(self.numerator ^ Int64(self.denominator))
9 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[46/50] Compiling kubrick Rational.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
5 |
6 | extension Rational: Hashable {
7 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
8 | return Int(self.numerator ^ Int64(self.denominator))
9 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[47/50] Compiling kubrick ThreadSafeArray.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
5 |
6 | extension Rational: Hashable {
7 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
8 | return Int(self.numerator ^ Int64(self.denominator))
9 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[48/50] Compiling kubrick AVStream.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
[49/50] Compiling kubrick Source.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
[50/50] Compiling kubrick SourceDiscoverer.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
Build complete! (9.79s)
Fetching https://github.com/krad/grip.git
[1/176] Fetching grip
Fetched https://github.com/krad/grip.git from cache (0.64s)
Computing version for https://github.com/krad/grip.git
Computed https://github.com/krad/grip.git at 1.3.5 (1.17s)
Creating working copy for https://github.com/krad/grip.git
Working copy of https://github.com/krad/grip.git resolved at 1.3.5
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.