The Swift Package Index logo.Swift Package Index

Build Information

Successful build of PerfectHTTPServer, reference 3.0.23 (4843cd), with Swift 6.4 for macOS (SPM) on 15 Sep 2026 18:33:38 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-httpserver.git
Reference: 3.0.23
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/perfectlysoft/perfect-httpserver
 * tag               3.0.23     -> FETCH_HEAD
HEAD is now at 4843cd5 Merge pull request #49 from 123FLO321/hasher
Cloned https://github.com/perfectlysoft/perfect-httpserver.git
Revision (git rev-parse @):
4843cd54762d59b7e70841663ae561b279b80946
SUCCESS checkout https://github.com/perfectlysoft/perfect-httpserver.git at 3.0.23
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/perfectlysoft/perfect-httpserver.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 308]
[Planning deferred tasks]
[55 / 605]
[65 / 607] PerfectCZlib
[86 / 634] PerfectLib
[88 / 634] PerfectThread
[91 / 634]
[100 / 634] PerfectCZlib
[103 / 634] PerfectLib
[111 / 634] PerfectCZlib
[114 / 634] PerfectCZlib
[126 / 634] COpenSSL
[136 / 644] COpenSSL
[147 / 644] COpenSSL
[159 / 644] COpenSSL
[174 / 644] COpenSSL
[191 / 644] COpenSSL
[210 / 644] COpenSSL
[230 / 644] COpenSSL
[253 / 644] COpenSSL
[276 / 644] COpenSSL
[296 / 644] COpenSSL
[322 / 644] COpenSSL
[350 / 644] COpenSSL
[380 / 644] COpenSSL
[409 / 644] COpenSSL
[436 / 644] COpenSSL
[461 / 644] COpenSSL
[485 / 644] COpenSSL
[511 / 644] COpenSSL
[537 / 644] COpenSSL
[560 / 644] COpenSSL
[586 / 644] COpenSSL
[605 / 644]
[620 / 654] PerfectCrypto
[621 / 654] PerfectCZlib
[621 / 654] PerfectCrypto
[632 / 663] PerfectNet
[634 / 663] PerfectNet
[646 / 675] PerfectHTTP
[649 / 675] PerfectHTTP
[653 / 675] PerfectHTTP
[663 / 675] PerfectNet
[672 / 687] PerfectHTTPServer
[674 / 687] PerfectHTTPServer
[675 / 687] PerfectHTTPServer
[682 / 687] PerfectHTTP
[684 / 687] PerfectHTTPServer
Build complete! (10.79 sec)
Fetching https://github.com/PerfectlySoft/Perfect-HTTP.git
Fetching https://github.com/PerfectlySoft/Perfect-CZlib-src.git
Fetching https://github.com/PerfectlySoft/Perfect-Net.git
[1/808] Fetching perfect-http
[2/1378] Fetching perfect-http, perfect-net
[233/1715] Fetching perfect-http, perfect-net, perfect-czlib-src
Fetched https://github.com/PerfectlySoft/Perfect-CZlib-src.git (1.23s)
Fetched https://github.com/PerfectlySoft/Perfect-Net.git (1.23s)
Fetched https://github.com/PerfectlySoft/Perfect-HTTP.git (1.23s)
Computing version for https://github.com/PerfectlySoft/Perfect-CZlib-src.git
Computed https://github.com/PerfectlySoft/Perfect-CZlib-src.git at 0.0.4 (1.90s)
Computing version for https://github.com/PerfectlySoft/Perfect-Net.git
Computed https://github.com/PerfectlySoft/Perfect-Net.git at 3.3.0 (0.62s)
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
[1/612] Fetching perfect-crypto
[307/991] Fetching perfect-crypto, perfect-thread
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git (1.30s)
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git (1.30s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 3.3.0 (1.98s)
Fetching https://github.com/PerfectlySoft/PerfectLib.git
Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL.git
[1/10784] Fetching perfectlib
[2/14745] Fetching perfectlib, perfect-copenssl
Fetched https://github.com/PerfectlySoft/PerfectLib.git (4.12s)
Fetched https://github.com/PerfectlySoft/Perfect-COpenSSL.git (4.12s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL.git at 4.0.2 (4.79s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.62s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 3.1.4 (0.64s)
Computing version for https://github.com/PerfectlySoft/Perfect-HTTP.git
Computed https://github.com/PerfectlySoft/Perfect-HTTP.git at 3.3.0 (0.65s)
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 3.1.4
Creating working copy for https://github.com/PerfectlySoft/Perfect-CZlib-src.git
Working copy of https://github.com/PerfectlySoft/Perfect-CZlib-src.git resolved at 0.0.4
Creating working copy for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Working copy of https://github.com/PerfectlySoft/Perfect-COpenSSL.git resolved at 4.0.2
Creating working copy for https://github.com/PerfectlySoft/Perfect-Crypto.git
Working copy of https://github.com/PerfectlySoft/Perfect-Crypto.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-Thread.git
Working copy of https://github.com/PerfectlySoft/Perfect-Thread.git resolved at 3.0.7
Creating working copy for https://github.com/PerfectlySoft/Perfect-Net.git
Working copy of https://github.com/PerfectlySoft/Perfect-Net.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-HTTP.git
Working copy of https://github.com/PerfectlySoft/Perfect-HTTP.git resolved at 3.3.0
<module-includes>:1:9: note: in file included from <module-includes>:1:
1 | #import "czlib.h"
  |         `- note: in file included from <module-includes>:1:
2 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/czlib.h:4:10: note: in file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/czlib.h:4:
2 | #include "../zconf.h"
3 | #include "../zlib.h"
4 | #include "../zutil.h"
  |          `- note: in file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/czlib.h:4:
5 | #include "../inftrees.h"
6 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/../zutil.h:163:11: warning: 'OS_CODE' macro redefined
132 |
133 | #if defined(MACOS) || defined(TARGET_OS_MAC)
134 | #  define OS_CODE  7
    |           `- note: previous definition is here
135 | #  ifndef Z_SOLO
136 | #    if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
    :
161 |
162 | #ifdef __APPLE__
163 | #  define OS_CODE 19
    |           `- warning: 'OS_CODE' macro redefined
164 | #endif
165 |
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 71 | 		}
 72 | 	#else
 73 | 		var hashValue: Int { return Int(net.fd.fd) }
    |       `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 74 | 	#endif
 75 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTPContentCompression.swift:52:21: warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
 50 | 		}
 51 | 		if !bytes.isEmpty {
 52 | 			stream.next_in = UnsafeMutablePointer(mutating: bytes)
    |                     |                              |- note: implicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'
    |                     |                              `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |                     `- warning: initialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
 53 | 			stream.avail_in = uInt(bytes.count)
 54 | 		} else {
[#TemporaryPointers]: <https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 71 | 		}
 72 | 	#else
 73 | 		var hashValue: Int { return Int(net.fd.fd) }
    |       `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 74 | 	#endif
 75 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Client.swift:143:45: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
140 |
141 | 	func readOneFrame() {
142 | 		Threading.dispatch {
    |                      |- note: 'self' implicitly strongly captured here
    |                      `- note: add 'self' as a capture list item to silence
143 | 			self.readHTTP2Frame(timeout: -1) { [weak self]
    |                                             |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
    |                                             `- note: explicitly assign the capture list item to silence
144 | 				f in
145 | 				if let frame = f {
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 71 | 		}
 72 | 	#else
 73 | 		var hashValue: Int { return Int(net.fd.fd) }
    |       `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 74 | 	#endif
 75 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP11/HTTP11Request.swift:386:44: warning: initialization of 'UnsafeMutableRawPointer' results in a dangling pointer [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
384 | 		case .headerField:
385 | 			workingBuffer.append(0)
386 | 			lastHeaderName = String(validatingUTF8: UnsafeMutableRawPointer(mutating: workingBuffer).assumingMemoryBound(to: Int8.self))
    |                                            |                                 |- note: implicit argument conversion from '[UInt8]' to 'UnsafeRawPointer' produces a pointer valid only for the duration of the call to 'init(mutating:)'
    |                                            |                                 `- note: use the 'withUnsafeBytes' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |                                            `- warning: initialization of 'UnsafeMutableRawPointer' results in a dangling pointer [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
387 | 			workingBuffer.removeAll()
388 | 		case .headerValue:
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP11/HTTP11Request.swift:467:7: warning: initialization of 'UnsafePointer<UInt8>' results in a dangling pointer [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
465 | 	//	either way no further action should be taken
466 | 	func didReadSomeBytes(_ b: [UInt8], callback: @escaping StatusCallback) -> Bool {
467 | 		_ = UnsafePointer(b).withMemoryRebound(to: Int8.self, capacity: b.count) {
    |       |             |- note: implicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(_:)'
    |       |             `- note: use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
    |       `- warning: initialization of 'UnsafePointer<UInt8>' results in a dangling pointer [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
468 | 			http_parser_execute(&parser, &parserSettings, $0, b.count)
469 | 		}
[#TemporaryPointers]: <https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers>
Build complete.
{
  "dependencies" : [
    {
      "identity" : "perfect-net",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.1.2",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/PerfectlySoft/Perfect-Net.git"
    },
    {
      "identity" : "perfect-http",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.0.12",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/PerfectlySoft/Perfect-HTTP.git"
    },
    {
      "identity" : "perfect-czlib-src",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/PerfectlySoft/Perfect-CZlib-src.git"
    }
  ],
  "manifest_display_name" : "PerfectHTTPServer",
  "name" : "PerfectHTTPServer",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "PerfectHTTPServer",
      "targets" : [
        "PerfectHTTPServer"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PerfectHTTPServerTests",
      "module_type" : "SwiftTarget",
      "name" : "PerfectHTTPServerTests",
      "path" : "Tests/PerfectHTTPServerTests",
      "sources" : [
        "PerfectHTTPServerTests.swift"
      ],
      "target_dependencies" : [
        "PerfectHTTPServer"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PerfectHTTPServer",
      "module_type" : "SwiftTarget",
      "name" : "PerfectHTTPServer",
      "path" : "Sources/PerfectHTTPServer",
      "product_dependencies" : [
        "PerfectNet",
        "PerfectHTTP",
        "PerfectCZlib"
      ],
      "product_memberships" : [
        "PerfectHTTPServer"
      ],
      "sources" : [
        "HTTP11/HTTP11Request.swift",
        "HTTP11/HTTP11Response.swift",
        "HTTP2/HPACK.swift",
        "HTTP2/HTTP2.swift",
        "HTTP2/HTTP2Client.swift",
        "HTTP2/HTTP2Frame.swift",
        "HTTP2/HTTP2FrameReader.swift",
        "HTTP2/HTTP2FrameWriter.swift",
        "HTTP2/HTTP2PrefaceValidator.swift",
        "HTTP2/HTTP2Request.swift",
        "HTTP2/HTTP2Response.swift",
        "HTTP2/HTTP2Session.swift",
        "HTTP2/HTTP2SessionSettings.swift",
        "HTTPContentCompression.swift",
        "HTTPMultiplexer.swift",
        "HTTPServer.swift",
        "HTTPServerEx.swift",
        "HTTPServerExConfig.swift"
      ],
      "target_dependencies" : [
        "PerfectCHTTPParser"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PerfectCHTTPParser",
      "module_type" : "ClangTarget",
      "name" : "PerfectCHTTPParser",
      "path" : "Sources/PerfectCHTTPParser",
      "product_memberships" : [
        "PerfectHTTPServer"
      ],
      "sources" : [
        "http_parser.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.1"
}
Done.