Build Information
Successful build of WebMIDIKit, reference master (6f3506
), with Swift 6.2 (beta) for macOS (SPM) on 17 Jun 2025 12:17:48 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/adamnemecek/webmidikit.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/adamnemecek/webmidikit
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 6f35069 Improve Xcode 12+ compatibility (#35)
Cloned https://github.com/adamnemecek/webmidikit.git
Revision (git rev-parse @):
6f3506937c141f04edaaa182502984d7baaa2e26
SUCCESS checkout https://github.com/adamnemecek/webmidikit.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/adamnemecek/webmidikit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-1EA4D86E10B52AF.txt
[3/18] Compiling WebMIDIKit Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/Extensions.swift:10:1: warning: extension declares a conformance of imported type 'MIDIObjectType' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
8 | }
9 |
10 | extension MIDIObjectType: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'MIDIObjectType' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
11 | public var description: String {
12 | switch self {
[4/18] Compiling WebMIDIKit MIDIClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/Extensions.swift:10:1: warning: extension declares a conformance of imported type 'MIDIObjectType' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
8 | }
9 |
10 | extension MIDIObjectType: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'MIDIObjectType' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
11 | public var description: String {
12 | switch self {
[5/18] Compiling WebMIDIKit MIDIPort.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPort.swift:186:27: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
184 | type = "MIDIOutput"
185 | }
186 | return "\(type) \(name) by \(manufacturer), connection: \(connection) (id: \(id))"
| |- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
| |- note: use 'String(describing:)' to silence this warning
| `- note: provide a default value to avoid this warning
187 | }
188 | }
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPort.swift:186:38: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
184 | type = "MIDIOutput"
185 | }
186 | return "\(type) \(name) by \(manufacturer), connection: \(connection) (id: \(id))"
| |- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
| |- note: use 'String(describing:)' to silence this warning
| `- note: provide a default value to avoid this warning
187 | }
188 | }
[6/18] Compiling WebMIDIKit MIDIPortMap.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPort.swift:186:27: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
184 | type = "MIDIOutput"
185 | }
186 | return "\(type) \(name) by \(manufacturer), connection: \(connection) (id: \(id))"
| |- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
| |- note: use 'String(describing:)' to silence this warning
| `- note: provide a default value to avoid this warning
187 | }
188 | }
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPort.swift:186:38: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
184 | type = "MIDIOutput"
185 | }
186 | return "\(type) \(name) by \(manufacturer), connection: \(connection) (id: \(id))"
| |- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
| |- note: use 'String(describing:)' to silence this warning
| `- note: provide a default value to avoid this warning
187 | }
188 | }
[7/18] Emitting module WebMIDIKit
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/CoreMIDI.swift:3:1: warning: extension declares a conformance of imported type 'MIDIObjectAddRemoveNotification' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
1 | import CoreMIDI
2 |
3 | extension MIDIObjectAddRemoveNotification: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'MIDIObjectAddRemoveNotification' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
4 |
5 | public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/Extensions.swift:10:1: warning: extension declares a conformance of imported type 'MIDIObjectType' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
8 | }
9 |
10 | extension MIDIObjectType: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'MIDIObjectType' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
11 | public var description: String {
12 | switch self {
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketList.swift:133:1: warning: extension declares a conformance of imported type 'MIDIPacketList' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
131 | // }
132 |
133 | extension MIDIPacketList: Sequence {
| |- warning: extension declares a conformance of imported type 'MIDIPacketList' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
134 | public typealias Element = UnsafeMutablePointer<MIDIPacket>
135 |
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketList.swift:220:1: warning: extension declares a conformance of imported type 'UnsafePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
218 | // }
219 |
220 | extension UnsafePointer: Sequence where Pointee == MIDIPacketList {
| |- warning: extension declares a conformance of imported type 'UnsafePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
221 | public typealias Element = UnsafeMutablePointer<MIDIPacket>
222 |
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketListBuilder.swift:194:1: warning: extension declares a conformance of imported type 'UnsafeMutablePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
192 |
193 |
194 | extension UnsafeMutablePointer: Sequence where Pointee == MIDIPacketList {
| |- warning: extension declares a conformance of imported type 'UnsafeMutablePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
195 | public typealias Element = UnsafePointer<MIDIPacket>
196 |
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketListBuilder.swift:216:1: warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
214 | }
215 |
216 | extension UnsafeRawBufferPointer : Equatable {
| |- warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
217 | @inline(__always)
218 | public static func ==(lhs: Self, rhs: Self) -> Bool {
[8/18] Compiling WebMIDIKit MIDIInput.swift
[9/18] Compiling WebMIDIKit MIDIOutput.swift
[10/19] Compiling WebMIDIKit WebMIDIKit.swift
[11/19] Compiling WebMIDIKit VirtualMIDIOutput.swift
[12/19] Compiling WebMIDIKit MIDIStatus.swift
[13/19] Compiling WebMIDIKit VirtualMIDIInput.swift
[14/19] Compiling WebMIDIKit CoreMIDI.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/CoreMIDI.swift:3:1: warning: extension declares a conformance of imported type 'MIDIObjectAddRemoveNotification' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
1 | import CoreMIDI
2 |
3 | extension MIDIObjectAddRemoveNotification: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'MIDIObjectAddRemoveNotification' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
4 |
5 | public var description: String {
[15/19] Compiling WebMIDIKit Enums.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/CoreMIDI.swift:3:1: warning: extension declares a conformance of imported type 'MIDIObjectAddRemoveNotification' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
1 | import CoreMIDI
2 |
3 | extension MIDIObjectAddRemoveNotification: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'MIDIObjectAddRemoveNotification' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
4 |
5 | public var description: String {
[16/19] Compiling WebMIDIKit MIDIEndpoint.swift
[17/19] Compiling WebMIDIKit MIDIEvent.swift
[18/19] Compiling WebMIDIKit MIDIPacketList.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketList.swift:133:1: warning: extension declares a conformance of imported type 'MIDIPacketList' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
131 | // }
132 |
133 | extension MIDIPacketList: Sequence {
| |- warning: extension declares a conformance of imported type 'MIDIPacketList' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
134 | public typealias Element = UnsafeMutablePointer<MIDIPacket>
135 |
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketList.swift:220:1: warning: extension declares a conformance of imported type 'UnsafePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
218 | // }
219 |
220 | extension UnsafePointer: Sequence where Pointee == MIDIPacketList {
| |- warning: extension declares a conformance of imported type 'UnsafePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
221 | public typealias Element = UnsafeMutablePointer<MIDIPacket>
222 |
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketListBuilder.swift:194:1: warning: extension declares a conformance of imported type 'UnsafeMutablePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
192 |
193 |
194 | extension UnsafeMutablePointer: Sequence where Pointee == MIDIPacketList {
| |- warning: extension declares a conformance of imported type 'UnsafeMutablePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
195 | public typealias Element = UnsafePointer<MIDIPacket>
196 |
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketListBuilder.swift:216:1: warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
214 | }
215 |
216 | extension UnsafeRawBufferPointer : Equatable {
| |- warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
217 | @inline(__always)
218 | public static func ==(lhs: Self, rhs: Self) -> Bool {
[19/19] Compiling WebMIDIKit MIDIPacketListBuilder.swift
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketList.swift:133:1: warning: extension declares a conformance of imported type 'MIDIPacketList' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
131 | // }
132 |
133 | extension MIDIPacketList: Sequence {
| |- warning: extension declares a conformance of imported type 'MIDIPacketList' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'CoreMIDI' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
134 | public typealias Element = UnsafeMutablePointer<MIDIPacket>
135 |
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketList.swift:220:1: warning: extension declares a conformance of imported type 'UnsafePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
218 | // }
219 |
220 | extension UnsafePointer: Sequence where Pointee == MIDIPacketList {
| |- warning: extension declares a conformance of imported type 'UnsafePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
221 | public typealias Element = UnsafeMutablePointer<MIDIPacket>
222 |
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketListBuilder.swift:194:1: warning: extension declares a conformance of imported type 'UnsafeMutablePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
192 |
193 |
194 | extension UnsafeMutablePointer: Sequence where Pointee == MIDIPacketList {
| |- warning: extension declares a conformance of imported type 'UnsafeMutablePointer' to imported protocol 'Sequence'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
195 | public typealias Element = UnsafePointer<MIDIPacket>
196 |
/Users/admin/builder/spi-builder-workspace/Sources/WebMIDIKit/MIDIPacketListBuilder.swift:216:1: warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
214 | }
215 |
216 | extension UnsafeRawBufferPointer : Equatable {
| |- warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
217 | @inline(__always)
218 | public static func ==(lhs: Self, rhs: Self) -> Bool {
Build complete! (6.72s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "WebMIDIKit",
"name" : "WebMIDIKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "WebMIDIKit",
"targets" : [
"WebMIDIKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "WebMIDIKitTests",
"module_type" : "SwiftTarget",
"name" : "WebMIDIKitTests",
"path" : "Tests/WebMIDIKitTests",
"sources" : [
"MIDIPacketListBuilderTests.swift",
"WebMIDIKitTests.swift"
],
"target_dependencies" : [
"WebMIDIKit"
],
"type" : "test"
},
{
"c99name" : "WebMIDIKit",
"module_type" : "SwiftTarget",
"name" : "WebMIDIKit",
"path" : "Sources/WebMIDIKit",
"product_memberships" : [
"WebMIDIKit"
],
"sources" : [
"CoreMIDI.swift",
"Enums.swift",
"Extensions.swift",
"MIDIClient.swift",
"MIDIEndpoint.swift",
"MIDIEvent.swift",
"MIDIInput.swift",
"MIDIOutput.swift",
"MIDIPacketList.swift",
"MIDIPacketListBuilder.swift",
"MIDIPort.swift",
"MIDIPortMap.swift",
"MIDIStatus.swift",
"VirtualMIDIInput.swift",
"VirtualMIDIOutput.swift",
"WebMIDIKit.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.