The Swift Package Index logo.Swift Package Index

Build Information

Successful build of WebMIDIKit, reference master (6f3506), with Swift 6.3 for macOS (SPM) on 20 Apr 2026 16:28:58 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.70.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
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "webmidikit",
      "name": "WebMIDIKit",
      "url": "https://github.com/adamnemecek/webmidikit.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/webmidikit",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/adamnemecek/webmidikit.git
[1/1788] Fetching webmidikit
Fetched https://github.com/adamnemecek/webmidikit.git from cache (0.81s)
Creating working copy for https://github.com/adamnemecek/webmidikit.git
Working copy of https://github.com/adamnemecek/webmidikit.git resolved at master (6f35069)
warning: '.resolve-product-dependencies': dependency 'webmidikit' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/adamnemecek/webmidikit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--6988338F2F200930.txt
[3/18] Compiling WebMIDIKit VirtualMIDIOutput.swift
[4/19] Compiling WebMIDIKit VirtualMIDIInput.swift
[5/19] Compiling WebMIDIKit MIDIStatus.swift
[6/19] Compiling WebMIDIKit WebMIDIKit.swift
[7/19] Compiling WebMIDIKit MIDIInput.swift
[8/19] Compiling WebMIDIKit MIDIOutput.swift
[9/19] Compiling WebMIDIKit MIDIEndpoint.swift
[10/19] Compiling WebMIDIKit MIDIEvent.swift
[11/19] 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: provide a default value to avoid this warning
    |                           `- note: use 'String(describing:)' to silence 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: provide a default value to avoid this warning
    |                                      `- note: use 'String(describing:)' to silence this warning
187 |     }
188 | }
[12/19] 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: provide a default value to avoid this warning
    |                           `- note: use 'String(describing:)' to silence 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: provide a default value to avoid this warning
    |                                      `- note: use 'String(describing:)' to silence this warning
187 |     }
188 | }
[13/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 {
[14/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 {
[15/19] 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 {
[16/19] 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 {
[17/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 {
[18/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 {
[19/19] 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 {
Build complete! (7.85s)
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.