Build Information
Successful build of GeoProjector, reference main (21187a), with Swift 6.4 for Linux on 25 Sep 2026 06:04:21 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344847-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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/maparoni/GeoProjector.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/maparoni/GeoProjector
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 21187a5 Build CGPaths during parallel projection, not on every draw call (#43)
Cloned https://github.com/maparoni/GeoProjector.git
Revision (git rev-parse @):
21187a58fa199daad99845e4df7c302b75523ae9
SUCCESS checkout https://github.com/maparoni/GeoProjector.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.4
Building package at path: $PWD
https://github.com/maparoni/GeoProjector.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344847-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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/apple/swift-algorithms.git
Fetching https://github.com/maparoni/geojsonkit.git
Fetching https://github.com/maparoni/geojsonkit-turf
[1/3087] Fetching geojsonkit-turf
[989/9232] Fetching geojsonkit-turf, swift-algorithms
[2683/9594] Fetching geojsonkit-turf, swift-algorithms, geojsonkit
Fetched https://github.com/apple/swift-algorithms.git (0.56s)
Fetched https://github.com/maparoni/geojsonkit-turf (0.59s)
[362/362] Fetching geojsonkit
Fetched https://github.com/maparoni/geojsonkit.git (0.71s)
Computing version for https://github.com/apple/swift-algorithms.git
Computed https://github.com/apple/swift-algorithms.git at 1.2.1 (0.90s)
Fetching https://github.com/apple/swift-numerics.git
[1/6640] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git (0.61s)
Computing version for https://github.com/maparoni/geojsonkit.git
Computed https://github.com/maparoni/geojsonkit.git at 0.6.0 (0.80s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.1.1 (0.16s)
Computing version for https://github.com/maparoni/geojsonkit-turf
Computed https://github.com/maparoni/geojsonkit-turf at 0.4.3 (0.19s)
Fetching https://github.com/apple/swift-argument-parser
[1/18941] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser (0.79s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.99s)
Creating working copy for https://github.com/apple/swift-algorithms.git
Working copy of https://github.com/apple/swift-algorithms.git resolved at 1.2.1
Creating working copy for https://github.com/maparoni/geojsonkit-turf
Working copy of https://github.com/maparoni/geojsonkit-turf resolved at 0.4.3
Creating working copy for https://github.com/apple/swift-numerics.git
Working copy of https://github.com/apple/swift-numerics.git resolved at 1.1.1
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/maparoni/geojsonkit.git
Working copy of https://github.com/maparoni/geojsonkit.git resolved at 0.6.0
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 361]
[Constructing 319 / 761]
[82 / 138] _NumericsShims
[83 / 138] GeoJSONKit
[94 / 138] RealModule-product
[100 / 148] GeoJSONKitTurf
[108 / 148] GeoJSONKitTurf
[110 / 149] RealModule
[121 / 169] GeoProjector
[121 / 169] GeoJSONKitTurf
[124 / 170] GeoProjector
[132 / 171] GeoProjector
[134 / 171] GeoProjector
[142 / 171] GeoProjector
[149 / 179] GeoProjectorDanseiji
[150 / 179] GeoProjectorDanseiji
[152 / 179] Algorithms
[157 / 179] GeoProjectorDanseiji
[161 / 179] GeoProjectorDanseiji
[165 / 180] Algorithms
[165 / 181] Algorithms
[183 / 191] GeoDrawer
/host/spi-builder-workspace/Sources/GeoDrawer/TileCache.swift:21:9: [1;33mwarning: [1;39mstored property 'sourceID' of 'Sendable'-conforming struct 'TileCacheKey' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m19 |[0;0m /// projection/size/zoom/insets/quality changes.
[0;36m20 |[0;0m struct TileCacheKey: Hashable, Sendable {
[0;36m21 |[0;0m let sourceID: AnyHashable
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'sourceID' of 'Sendable'-conforming struct 'TileCacheKey' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m22 |[0;0m let tileKey: TileKey
[0;36m23 |[0;0m }
Swift.AnyHashable:1:23: [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m1 |[0;0m @frozen public struct AnyHashable {
[0;36m|[0;0m `- [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m2 |[0;0m public init<H>(_ base: H) where H : Hashable
[0;36m3 |[0;0m public var base: Any { get }
/host/spi-builder-workspace/Sources/GeoDrawer/TileSources/StaticTileSource.swift:27:14: [1;33mwarning: [1;39mstored property 'tileSourceID' of 'Sendable'-conforming struct 'StaticTileSource' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m25 |[0;0m public struct StaticTileSource: TileSource {
[0;36m26 |[0;0m
[0;36m27 |[0;0m public let tileSourceID: AnyHashable
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'tileSourceID' of 'Sendable'-conforming struct 'StaticTileSource' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m28 |[0;0m public let projection: any Projection
[0;36m29 |[0;0m public let tileSize: Int
Swift.AnyHashable:1:23: [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m1 |[0;0m @frozen public struct AnyHashable {
[0;36m|[0;0m `- [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m2 |[0;0m public init<H>(_ base: H) where H : Hashable
[0;36m3 |[0;0m public var base: Any { get }
/host/spi-builder-workspace/Sources/GeoDrawer/TileCache.swift:21:9: [1;33mwarning: [1;39mstored property 'sourceID' of 'Sendable'-conforming struct 'TileCacheKey' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m19 |[0;0m /// projection/size/zoom/insets/quality changes.
[0;36m20 |[0;0m struct TileCacheKey: Hashable, Sendable {
[0;36m21 |[0;0m let sourceID: AnyHashable
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'sourceID' of 'Sendable'-conforming struct 'TileCacheKey' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m22 |[0;0m let tileKey: TileKey
[0;36m23 |[0;0m }
Swift.AnyHashable:1:23: [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m1 |[0;0m @frozen public struct AnyHashable {
[0;36m|[0;0m `- [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m2 |[0;0m public init<H>(_ base: H) where H : Hashable
[0;36m3 |[0;0m public var base: Any { get }
[188 / 191] GeoDrawer
/host/spi-builder-workspace/Sources/GeoDrawer/TileSources/StaticTileSource.swift:27:14: [1;33mwarning: [1;39mstored property 'tileSourceID' of 'Sendable'-conforming struct 'StaticTileSource' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m25 |[0;0m public struct StaticTileSource: TileSource {
[0;36m26 |[0;0m
[0;36m27 |[0;0m public let tileSourceID: AnyHashable
[0;36m|[0;0m `- [1;33mwarning: [1;39mstored property 'tileSourceID' of 'Sendable'-conforming struct 'StaticTileSource' has non-Sendable type 'AnyHashable'; this is an error in the Swift 6 language mode[0;0m
[0;36m28 |[0;0m public let projection: any Projection
[0;36m29 |[0;0m public let tileSize: Int
Swift.AnyHashable:1:23: [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m1 |[0;0m @frozen public struct AnyHashable {
[0;36m|[0;0m `- [1;39mnote: [1;39mstruct 'AnyHashable' does not conform to the 'Sendable' protocol[0;0m
[0;36m2 |[0;0m public init<H>(_ base: H) where H : Hashable
[0;36m3 |[0;0m public var base: Any { get }
Build complete! (7.95 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "geojsonkit",
"requirement" : {
"range" : [
{
"lower_bound" : "0.5.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/maparoni/geojsonkit.git"
},
{
"identity" : "geojsonkit-turf",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/maparoni/geojsonkit-turf"
},
{
"identity" : "swift-algorithms",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-algorithms.git"
}
],
"manifest_display_name" : "GeoProjector",
"name" : "GeoProjector",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "xros",
"version" : "1.0"
}
],
"products" : [
{
"name" : "GeoProjector",
"targets" : [
"GeoProjector"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GeoProjectorDanseiji",
"targets" : [
"GeoProjectorDanseiji"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GeoDrawer",
"targets" : [
"GeoDrawer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "GeoProjectorTests",
"module_type" : "SwiftTarget",
"name" : "GeoProjectorTests",
"path" : "Tests/GeoProjectorTests",
"sources" : [
"InverseTests.swift",
"MapBoundsTests.swift",
"NaturalEarthTests.swift",
"ProjectionTests.swift",
"TranslationTests.swift"
],
"target_dependencies" : [
"GeoProjector"
],
"type" : "test"
},
{
"c99name" : "GeoProjectorDanseijiTests",
"module_type" : "SwiftTarget",
"name" : "GeoProjectorDanseijiTests",
"path" : "Tests/GeoProjectorDanseijiTests",
"sources" : [
"DanseijiTests.swift"
],
"target_dependencies" : [
"GeoProjectorDanseiji"
],
"type" : "test"
},
{
"c99name" : "GeoProjectorDanseiji",
"module_type" : "SwiftTarget",
"name" : "GeoProjectorDanseiji",
"path" : "Sources/GeoProjectorDanseiji",
"product_dependencies" : [
"GeoJSONKit"
],
"product_memberships" : [
"GeoProjectorDanseiji"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/LICENSE-Danseiji.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiI.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiII.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiIII.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiIV.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiV.csv",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/GeoProjectorDanseiji/Resources/danseijiVI.csv",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"DanseijiCore.swift",
"DanseijiData.swift",
"DanseijiVariant.swift",
"Projections+Danseiji.swift"
],
"target_dependencies" : [
"GeoProjector"
],
"type" : "library"
},
{
"c99name" : "GeoProjector",
"module_type" : "SwiftTarget",
"name" : "GeoProjector",
"path" : "Sources/GeoProjector",
"product_dependencies" : [
"GeoJSONKit",
"GeoJSONKitTurf"
],
"product_memberships" : [
"GeoProjector",
"GeoProjectorDanseiji",
"GeoDrawer"
],
"sources" : [
"Interpolator.swift",
"MapBounds+Contains.swift",
"Projection.swift",
"ProjectionMode.swift",
"Projections+Azimuthal.swift",
"Projections+Cylindrical.swift",
"Projections+Orthographic.swift",
"Projections+Pseudocylindrical.swift",
"Projections.swift",
"Structs.swift"
],
"type" : "library"
},
{
"c99name" : "GeoDrawerTests",
"module_type" : "SwiftTarget",
"name" : "GeoDrawerTests",
"path" : "Tests/GeoDrawerTests",
"sources" : [
"BaseMapTests.swift",
"BoundarySplitTests.swift",
"GeoDrawerSVGTests.swift",
"GeoDrawerSVGZoomTests.swift",
"GraticuleCoverageTests.swift",
"RenderSamples.swift",
"TilePrefetchCoverageTests.swift",
"TileSourceTests.swift"
],
"target_dependencies" : [
"GeoDrawer",
"GeoProjector",
"GeoProjectorDanseiji"
],
"type" : "test"
},
{
"c99name" : "GeoDrawer",
"module_type" : "SwiftTarget",
"name" : "GeoDrawer",
"path" : "Sources/GeoDrawer",
"product_dependencies" : [
"Algorithms"
],
"product_memberships" : [
"GeoDrawer"
],
"sources" : [
"BaseMap.swift",
"GeoDrawer+BoundarySplit.swift",
"GeoDrawer+SVG.swift",
"GeoDrawer+TilePrefetch.swift",
"GeoDrawer.swift",
"GeoJSON+Continents.swift",
"Sampling.swift",
"TileCache.swift",
"TileSource.swift",
"TileSources/StaticTileSource.swift",
"TileSources/URLTemplateTileSource.swift",
"TiledBaseMap.swift",
"apple/BaseMap+CoreGraphics.swift",
"apple/GeoDrawer+CGProjected.swift",
"apple/GeoDrawer+CoreGraphics.swift",
"apple/GeoDrawer+Image.swift",
"apple/GeoDrawer+RasterBaseMap.swift",
"apple/GeoDrawer+TiledBaseMap.swift",
"apple/GeoMap+AppKit.swift",
"apple/GeoMap+UIKit.swift",
"apple/TileImage+CoreGraphics.swift",
"styling/GeoDrawerContent+Style.swift"
],
"target_dependencies" : [
"GeoProjector"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.