mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-24 22:25:18 +00:00
Vendored arti.xcframework rebuilt from source (Rust 1.96.0, normalized archive metadata for reproducible hashes). New ARTI-BINARY-PROVENANCE.md records toolchain, rebuild steps, and a SHA256 manifest for every file in the xcframework. A new CI workflow turns that policy into a gate: PRs must keep the binary matching the manifest, and binary changes must ship with source/lockfile/build-script evidence. Also raises TorManager.awaitReady's default timeout from 25s to 75s to match the bootstrap monitor deadline - a shorter wait reported "not ready" while Arti was still legitimately bootstrapping, silently stranding queued relay work. Privacy policy, Tor integration doc, and privacy assessment updated to match the current implementation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
48 lines
1.2 KiB
Swift
48 lines
1.2 KiB
Swift
// swift-tools-version:5.9
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "Tor", // Keep name "Tor" for drop-in compatibility
|
|
platforms: [
|
|
.iOS(.v16),
|
|
.macOS(.v13),
|
|
],
|
|
products: [
|
|
.library(
|
|
name: "Tor",
|
|
targets: ["Tor"]
|
|
),
|
|
],
|
|
dependencies: [
|
|
.package(path: "../BitLogger"),
|
|
],
|
|
targets: [
|
|
// Main Swift target
|
|
.target(
|
|
name: "Tor",
|
|
dependencies: [
|
|
"arti",
|
|
.product(name: "BitLogger", package: "BitLogger"),
|
|
],
|
|
path: "Sources",
|
|
exclude: ["C"],
|
|
sources: [
|
|
"TorManager.swift",
|
|
"TorURLSession.swift",
|
|
"TorNotifications.swift",
|
|
],
|
|
linkerSettings: [
|
|
.linkedLibrary("resolv"),
|
|
.linkedLibrary("z"),
|
|
.linkedLibrary("sqlite3"),
|
|
]
|
|
),
|
|
// Binary framework containing the Rust static library.
|
|
// Provenance and rebuild steps: repo-root docs/ARTI-BINARY-PROVENANCE.md
|
|
.binaryTarget(
|
|
name: "arti",
|
|
path: "Frameworks/arti.xcframework"
|
|
),
|
|
]
|
|
)
|