The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Ligature, reference 0.1.1 (677abb), with Swift 6.4 for Wasm on 25 Sep 2026 00:46:19 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.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ChimeHQ/Ligature.git
Reference: 0.1.1
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/ChimeHQ/Ligature
 * tag               0.1.1      -> FETCH_HEAD
HEAD is now at 677abb3 Support for forward/backward by word and a bunch of testing improvements
Cloned https://github.com/ChimeHQ/Ligature.git
Revision (git rev-parse @):
677abb3ad29e0979248f062dc969c16160951217
SUCCESS checkout https://github.com/ChimeHQ/Ligature.git at 0.1.1
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/ChimeHQ/Ligature.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.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Fetching https://github.com/ChimeHQ/Glyph
Fetching https://github.com/ChimeHQ/Rearrange
[1/294] Fetching glyph
[210/903] Fetching glyph, rearrange
Fetched https://github.com/ChimeHQ/Glyph (0.53s)
Fetched https://github.com/ChimeHQ/Rearrange (0.53s)
Computing version for https://github.com/ChimeHQ/Rearrange
Computed https://github.com/ChimeHQ/Rearrange at 2.1.1 (0.73s)
Computing version for https://github.com/ChimeHQ/Glyph
Computed https://github.com/ChimeHQ/Glyph at 0.1.1 (0.15s)
Creating working copy for https://github.com/ChimeHQ/Glyph
Working copy of https://github.com/ChimeHQ/Glyph resolved at 0.1.1
Creating working copy for https://github.com/ChimeHQ/Rearrange
Working copy of https://github.com/ChimeHQ/Rearrange resolved at 2.1.1
Building for debugging...
[Pre-planning 1 / 126]
[38 / 67] Rearrange
[49 / 67] Glyph
[55 / 67] Glyph
[58 / 78] Rearrange
[64 / 78] Ligature
error: SwiftCompile normal wasm32 /host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift failed with a nonzero exit code. Command line:     cd /host
    builtin-SwiftPerFileCompile SourceTokenizer.swift
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:14:72: error: cannot find type 'TextGranularity' in scope
12 |
13 | extension SourceTokenizer: TextTokenizer {
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
16 | 	}
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:14:112: error: cannot find type 'TextDirection' in scope
12 |
13 | extension SourceTokenizer: TextTokenizer {
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
16 | 	}
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:18:77: error: cannot find type 'TextGranularity' in scope
16 | 	}
17 |
18 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> FallbackTokenzier.TextRange? {
   |                                                                             `- error: cannot find type 'TextGranularity' in scope
19 | 		return fallbackTokenzier.rangeEnclosingPosition(position, with: granularity, inDirection: direction)
20 | 	}
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:18:117: error: cannot find type 'TextDirection' in scope
16 | 	}
17 |
18 | 	public func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> FallbackTokenzier.TextRange? {
   |                                                                                                                     `- error: cannot find type 'TextDirection' in scope
19 | 		return fallbackTokenzier.rangeEnclosingPosition(position, with: granularity, inDirection: direction)
20 | 	}
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:22:71: error: cannot find type 'TextGranularity' in scope
20 | 	}
21 |
22 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                       `- error: cannot find type 'TextGranularity' in scope
23 | 		return fallbackTokenzier.isPosition(position, atBoundary: granularity, inDirection: direction)
24 | 	}
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:22:111: error: cannot find type 'TextDirection' in scope
20 | 	}
21 |
22 | 	public func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                               `- error: cannot find type 'TextDirection' in scope
23 | 		return fallbackTokenzier.isPosition(position, atBoundary: granularity, inDirection: direction)
24 | 	}
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:26:75: error: cannot find type 'TextGranularity' in scope
24 | 	}
25 |
26 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                           `- error: cannot find type 'TextGranularity' in scope
27 | 		return fallbackTokenzier.isPosition(position, withinTextUnit: granularity, inDirection: direction)
28 | 	}
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:26:115: error: cannot find type 'TextDirection' in scope
24 | 	}
25 |
26 | 	public func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool {
   |                                                                                                                   `- error: cannot find type 'TextDirection' in scope
27 | 		return fallbackTokenzier.isPosition(position, withinTextUnit: granularity, inDirection: direction)
28 | 	}
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:15:65: error: cannot find type 'TextGranularity' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                 `- error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:15:105: error: cannot find type 'TextDirection' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                         `- error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:15:131: error: cannot find type 'CGFloat' in scope
13 | 	typealias Position = TextRange.Bound
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
   |                                                                                                                                   `- error: cannot find type 'CGFloat' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:16:70: error: cannot find type 'TextGranularity' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                      `- error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:16:110: error: cannot find type 'TextDirection' in scope
14 |
15 | 	func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position?
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
   |                                                                                                              `- error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:18:64: error: cannot find type 'TextGranularity' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                `- error: cannot find type 'TextGranularity' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:18:104: error: cannot find type 'TextDirection' in scope
16 | 	func rangeEnclosingPosition(_ position: Position, with granularity: TextGranularity, inDirection direction: TextDirection) -> TextRange?
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                        `- error: cannot find type 'TextDirection' in scope
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
20 | }
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:19:68: error: cannot find type 'TextGranularity' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                    `- error: cannot find type 'TextGranularity' in scope
20 | }
21 |
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:19:108: error: cannot find type 'TextDirection' in scope
17 |
18 | 	func isPosition(_ position: Position, atBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
19 | 	func isPosition(_ position: Position, withinTextUnit granularity: TextGranularity, inDirection direction: TextDirection) -> Bool
   |                                                                                                            `- error: cannot find type 'TextDirection' in scope
20 | }
21 |
/host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift:13:1: error: type 'SourceTokenizer<FallbackTokenzier>' does not conform to protocol 'TextTokenizer'
11 | }
12 |
13 | extension SourceTokenizer: TextTokenizer {
   | |- error: type 'SourceTokenizer<FallbackTokenzier>' does not conform to protocol 'TextTokenizer'
   | `- note: add stubs for conformance
14 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection, alignment: CGFloat?) -> Position? {
15 | 		return fallbackTokenzier.position(from: position, toBoundary: granularity, inDirection: direction, alignment: alignment)
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:11:17: note: protocol requires nested type 'TextRange'
 9 | @MainActor
10 | public protocol TextTokenizer<TextRange> {
11 | 	associatedtype TextRange: Bounded
   |                 `- note: protocol requires nested type 'TextRange'
12 |
13 | 	typealias Position = TextRange.Bound
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:23:72: error: cannot find type 'TextGranularity' in scope
21 |
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
   |                                                                        `- error: cannot find type 'TextGranularity' in scope
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
25 | 	}
/host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift:23:112: error: cannot find type 'TextDirection' in scope
21 |
22 | extension TextTokenizer {
23 | 	public func position(from position: Position, toBoundary granularity: TextGranularity, inDirection direction: TextDirection) -> Position? {
   |                                                                                                                `- error: cannot find type 'TextDirection' in scope
24 | 		self.position(from: position, toBoundary: granularity, inDirection: direction, alignment: nil)
25 | 	}
Failed frontend command:
/usr/bin/swift-frontend -frontend -c /host/spi-builder-workspace/Sources/Ligature/MockTextTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/NSTextSelection+Extensions.swift -primary-file /host/spi-builder-workspace/Sources/Ligature/Platform.swift -primary-file /host/spi-builder-workspace/Sources/Ligature/SourceTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/TextDirection+Extensions.swift /host/spi-builder-workspace/Sources/Ligature/TextInputStringTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/TextRange+Bounded.swift /host/spi-builder-workspace/Sources/Ligature/TextTokenizer.swift /host/spi-builder-workspace/Sources/Ligature/TextView+TextRangeCalculating.swift /host/spi-builder-workspace/Sources/Ligature/UTF16CodePointTextViewTextTokenizer.swift -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/Platform.d -emit-const-values-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/Platform.swiftconstvalues -emit-reference-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/Platform.swiftdeps -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/Platform.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/SourceTokenizer.d -emit-const-values-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/SourceTokenizer.swiftconstvalues -emit-reference-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/SourceTokenizer.swiftdeps -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/SourceTokenizer.dia -target wasm32-unknown-wasip1 -disable-objc-interop -sdk /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -sysroot /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -I /host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static -use-static-resource-dir -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/clang -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Ligature -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/Ligature_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/Platform.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/SourceTokenizer.o -index-unit-output-path /Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/Platform.o -index-unit-output-path /Ligature.build/Debug-webassembly-wasm32/Ligature-t.build/Objects-normal/wasm32/SourceTokenizer.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: Build failed
BUILD FAILURE 6.4 wasm