The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

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.