The Swift Package Index logo.Swift Package Index

Build Information

Failed to build unbreak, reference main (997dcb), with Swift 6.3 for Wasm on 29 Sep 2026 01:18:49 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-53886770-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bart-turczynski/unbreak.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/bart-turczynski/unbreak
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 997dcb7 Merge branch 'docs/agents-mirror-note' into 'main'
Cloned https://github.com/bart-turczynski/unbreak.git
Revision (git rev-parse @):
997dcb7c28f985a8362190cf0446096584ed8ba5
SUCCESS checkout https://github.com/bart-turczynski/unbreak.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/bart-turczynski/unbreak.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886770-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:253aad7f5b11d25cf9eaef34120b94cd8a325782929c57fb304a7711494a3f9a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.3-latest
Building for debugging...
[0/17] Write sources
[7/17] Write swift-version-24593BA9C3E375BF.txt
[9/30] Emitting module UnbreakCore
[10/31] Compiling UnbreakCore Unshatter.swift
[11/31] Emitting module Clipboard
[12/31] Compiling Clipboard Pasteboard.swift
[13/32] Compiling UnbreakCore WatchGate.swift
[15/32] Compiling UnbreakCore WrapProfile.swift
[16/32] Compiling UnbreakCore DisplayWidth.swift
[17/32] Compiling UnbreakCore Heredoc.swift
[18/32] Compiling UnbreakCore MergeSplit.swift
[19/32] Compiling UnbreakCore Repair+QuoteBar.swift
[20/32] Compiling UnbreakCore RepairReport.swift
[21/32] Compiling UnbreakCore Signals.swift
[22/32] Compiling UnbreakCore Repair+QuotedScript.swift
[23/32] Compiling UnbreakCore Repair.swift
[23/33] Wrapping AST for Clipboard for debugging
[25/33] Wrapping AST for UnbreakCore for debugging
[27/45] Compiling Watch WatchLog.swift
/host/spi-builder-workspace/Sources/Watch/WatchLog.swift:66:48: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
64 |         } else {
65 |             // File does not exist yet — create it with this first line.
66 |             try? data.write(to: url, options: .atomic)
   |                                                `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
67 |         }
68 |     }
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
[28/46] Emitting module Config
[29/46] Compiling Watch WatchSession.swift
[30/46] Compiling Watch WatchLock.swift
[31/46] Compiling Watch UndoSocket.swift
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:133:25: error: cannot find type 'DispatchSourceRead' in scope
131 |     private let server: UndoServer
132 |     private var listenFD: Int32 = -1
133 |     private var source: DispatchSourceRead?
    |                         `- error: cannot find type 'DispatchSourceRead' in scope
134 |
135 |     public init(socketURL: URL, server: UndoServer) {
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:48:52: error: value of type 'sockaddr_un' has no member 'sun_path'
 46 |     addr.sun_family = sa_family_t(AF_UNIX)
 47 |     let bytes = Array(path.utf8)
 48 |     let capacity = MemoryLayout.size(ofValue: addr.sun_path)
    |                                                    `- error: value of type 'sockaddr_un' has no member 'sun_path'
 49 |     withUnsafeMutablePointer(to: &addr.sun_path) { rawPtr in
 50 |         rawPtr.withMemoryRebound(to: UInt8.self, capacity: capacity) { dst in
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:49:40: error: value of type 'sockaddr_un' has no member 'sun_path'
 47 |     let bytes = Array(path.utf8)
 48 |     let capacity = MemoryLayout.size(ofValue: addr.sun_path)
 49 |     withUnsafeMutablePointer(to: &addr.sun_path) { rawPtr in
    |                                        `- error: value of type 'sockaddr_un' has no member 'sun_path'
 50 |         rawPtr.withMemoryRebound(to: UInt8.self, capacity: capacity) { dst in
 51 |             for index in 0..<bytes.count { dst[index] = bytes[index] }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:66:51: error: cannot find 'Darwin' in scope
 64 |     while buffer.count < maxBytes {
 65 |         let want = min(chunk.count, maxBytes - buffer.count)
 66 |         let read = chunk.withUnsafeMutableBytes { Darwin.read(fd, $0.baseAddress, want) }
    |                                                   `- error: cannot find 'Darwin' in scope
 67 |         guard read > 0 else { break }
 68 |         buffer.append(contentsOf: chunk[0..<read])
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:84:21: error: cannot find 'Darwin' in scope
 82 |         var written = 0
 83 |         while written < count {
 84 |             let n = Darwin.write(fd, base + written, count - written)
    |                     `- error: cannot find 'Darwin' in scope
 85 |             guard n > 0 else { return false }
 86 |             written += n
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:111:9: error: cannot find 'Darwin' in scope
109 |     func close() {
110 |         guard !isClosed else { return }
111 |         Darwin.close(fd)
    |         `- error: cannot find 'Darwin' in scope
112 |         isClosed = true
113 |     }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:148:26: error: cannot find 'DispatchSource' in scope
146 |         listenFD = fd
147 |
148 |         let readSource = DispatchSource.makeReadSource(fileDescriptor: fd, queue: .main)
    |                          `- error: cannot find 'DispatchSource' in scope
149 |         readSource.setEventHandler { [weak self] in
150 |             self?.acceptOne()
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:148:84: error: cannot infer contextual base in reference to member 'main'
146 |         listenFD = fd
147 |
148 |         let readSource = DispatchSource.makeReadSource(fileDescriptor: fd, queue: .main)
    |                                                                                    `- error: cannot infer contextual base in reference to member 'main'
149 |         readSource.setEventHandler { [weak self] in
150 |             self?.acceptOne()
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:153:13: error: cannot find 'Darwin' in scope
151 |         }
152 |         readSource.setCancelHandler {
153 |             Darwin.close(fd)
    |             `- error: cannot find 'Darwin' in scope
154 |         }
155 |         source = readSource
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:180:18: error: cannot find 'socket' in scope
178 |             throw UndoSocketError.pathTooLong(path.utf8.count)
179 |         }
180 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
    |                  `- error: cannot find 'socket' in scope
181 |         guard fd >= 0 else { throw UndoSocketError.socketFailed(errno) }
182 |
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:180:34: error: cannot find 'SOCK_STREAM' in scope
178 |             throw UndoSocketError.pathTooLong(path.utf8.count)
179 |         }
180 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
    |                                  `- error: cannot find 'SOCK_STREAM' in scope
181 |         guard fd >= 0 else { throw UndoSocketError.socketFailed(errno) }
182 |
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:189:68: error: cannot find 'bind' in scope
187 |         let length = socklen_t(MemoryLayout<sockaddr_un>.size)
188 |         let bound = withUnsafePointer(to: &addr) {
189 |             $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { bind(fd, $0, length) }
    |                                                                    `- error: cannot find 'bind' in scope
190 |         }
191 |         guard bound == 0 else {
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:193:13: error: cannot find 'Darwin' in scope
191 |         guard bound == 0 else {
192 |             let code = errno
193 |             Darwin.close(fd)
    |             `- error: cannot find 'Darwin' in scope
194 |             throw UndoSocketError.bindFailed(code)
195 |         }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:196:15: error: cannot find 'listen' in scope
194 |             throw UndoSocketError.bindFailed(code)
195 |         }
196 |         guard listen(fd, 4) == 0 else {
    |               `- error: cannot find 'listen' in scope
197 |             let code = errno
198 |             Darwin.close(fd)
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:198:13: error: cannot find 'Darwin' in scope
196 |         guard listen(fd, 4) == 0 else {
197 |             let code = errno
198 |             Darwin.close(fd)
    |             `- error: cannot find 'Darwin' in scope
199 |             throw UndoSocketError.listenFailed(code)
200 |         }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:234:18: error: cannot find 'socket' in scope
232 |             return .error("socket path too long")
233 |         }
234 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
    |                  `- error: cannot find 'socket' in scope
235 |         guard fd >= 0 else { return .error("socket() failed") }
236 |         defer { Darwin.close(fd) }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:234:34: error: cannot find 'SOCK_STREAM' in scope
232 |             return .error("socket path too long")
233 |         }
234 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
    |                                  `- error: cannot find 'SOCK_STREAM' in scope
235 |         guard fd >= 0 else { return .error("socket() failed") }
236 |         defer { Darwin.close(fd) }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:236:17: error: cannot find 'Darwin' in scope
234 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
235 |         guard fd >= 0 else { return .error("socket() failed") }
236 |         defer { Darwin.close(fd) }
    |                 `- error: cannot find 'Darwin' in scope
237 |
238 |         var addr = makeUndoSockaddr(path: path)
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:241:68: error: cannot find 'connect' in scope
239 |         let length = socklen_t(MemoryLayout<sockaddr_un>.size)
240 |         let connected = withUnsafePointer(to: &addr) {
241 |             $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { connect(fd, $0, length) }
    |                                                                    `- error: cannot find 'connect' in scope
242 |         }
243 |         // ENOENT / ECONNREFUSED both mean "no daemon listening here" — an ordinary
[32/46] Compiling Watch UndoServer.swift
[33/46] Compiling Watch Watcher.swift
[34/46] Compiling Config TOML.swift
[35/46] Compiling Watch Rollback.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[36/46] Emitting module Watch
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:133:25: error: cannot find type 'DispatchSourceRead' in scope
131 |     private let server: UndoServer
132 |     private var listenFD: Int32 = -1
133 |     private var source: DispatchSourceRead?
    |                         `- error: cannot find type 'DispatchSourceRead' in scope
134 |
135 |     public init(socketURL: URL, server: UndoServer) {
[37/46] Compiling Watch UndoProtocol.swift
BUILD FAILURE 6.3 wasm