Files
marcus.hinz c8f5714b1e libghostty als zweite Terminal-Engine integriert (Default ghostty, SwiftTerm Fallback)
- vendor/libghostty: vorgebaute macOS-libghostty.a (arm64) + Header + Build-Patches + README
- Sources/CGhostty: C-Modul der libghostty-C-API
- Sources/MiniTerm/Ghostty.swift: GhosttyApp + GhosttySurfaceView (Surface, Input, Größe, Fokus)
- main.swift: Engine-Wahl per Info.plist MTEngine
- Package.swift: CGhostty-Target + Link gegen libghostty + Frameworks
- STATUS.md: Stand, Build-Weg (macOS-15-VM), offene Punkte
2026-06-21 21:40:00 +02:00

40 lines
1.5 KiB
Swift

// swift-tools-version:5.9
import PackageDescription
let package = Package(
name: "MiniTerm",
platforms: [
.macOS(.v13)
],
dependencies: [
// Pin to a tag instead of `branch` if you prefer reproducible builds,
// e.g. .package(url: "...", from: "1.2.0")
.package(url: "https://github.com/migueldeicaza/SwiftTerm.git", branch: "main")
],
targets: [
// C-Modul für die libghostty-C-API (Header in Sources/CGhostty/include).
.target(name: "CGhostty"),
.executableTarget(
name: "MiniTerm",
dependencies: ["SwiftTerm", "CGhostty"],
linkerSettings: [
// Vorgebaute statische libghostty (siehe vendor/libghostty/README.md).
// Pfad relativ zum Paketwurzelverzeichnis (so ruft make-app.sh `swift build`).
.unsafeFlags(["-L", "vendor/libghostty/lib", "-lghostty"]),
// Frameworks, die libghostty (Metal-Renderer, Fonts, Surface) braucht.
.linkedFramework("AppKit"),
.linkedFramework("Metal"),
.linkedFramework("MetalKit"),
.linkedFramework("QuartzCore"),
.linkedFramework("CoreText"),
.linkedFramework("CoreGraphics"),
.linkedFramework("CoreVideo"),
.linkedFramework("IOSurface"),
.linkedFramework("Carbon"),
.linkedLibrary("c++"),
]
)
]
)