libghosttydeps

package
v0.70.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2026 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LockFilename    = "libghostty-native.lock.json"
	SPDXFilename    = "libghostty-native.spdx.json"
	NoticesFilename = "THIRD_PARTY_NOTICES.libghostty.md"
)
View Source
const (
	NoticesBeginMarker = "<!-- BEGIN GENERATED LIBGHOSTTY DEPENDENCY INVENTORY -->"
	NoticesEndMarker   = "<!-- END GENERATED LIBGHOSTTY DEPENDENCY INVENTORY -->"
)

Variables

This section is empty.

Functions

func AcceptLicenseReviews

func AcceptLicenseReviews(lock *Lock)

AcceptLicenseReviews binds the current license conclusions to the exact license and embedded-notice hashes in the lock. It is deliberately separate from generation: a dependency update that changes legal evidence stays red until a reviewer inspects the new material and explicitly accepts it.

func Generate

func Generate(ctx context.Context, root string) error

func RenderNoticesInventory

func RenderNoticesInventory(lock Lock) string

func RenderSPDX

func RenderSPDX(lock Lock) ([]byte, error)

func ReplaceNoticesInventory

func ReplaceNoticesInventory(document string, lock Lock) (string, error)

func TreeSHA256

func TreeSHA256(root string) (string, error)

TreeSHA256 binds a generated header tree to both relative paths and bytes. Paths are sorted and separated with NUL bytes to make the digest independent of filesystem enumeration and impossible to confuse by concatenation.

func Verify

func Verify(root string) error

func VerifyGenerated

func VerifyGenerated(root string) error

VerifyGenerated checks every mechanical projection without accepting new license evidence. Generation uses this mode so it can produce a reviewable, deliberately red PR when a license or required notice changed; the normal Verify path remains the merge gate and requires explicit review bindings.

func VerifyLicenseReviews

func VerifyLicenseReviews(lock Lock) error

func WriteLock

func WriteLock(path string, lock Lock) error

Types

type AppleArtifact

type AppleArtifact struct {
	URL    string `json:"url"`
	SHA256 string `json:"sha256"`
}

type Ghostty

type Ghostty struct {
	Repository        string        `json:"repository"`
	RenovateRef       string        `json:"renovateRef"`
	Commit            string        `json:"commit"`
	Version           string        `json:"version"`
	HeadersSHA256     string        `json:"headersSHA256"`
	LicenseSHA256     string        `json:"licenseSHA256"`
	LicenseConclusion string        `json:"licenseConclusion"`
	LicenseReview     string        `json:"licenseReview"`
	AppleArtifact     AppleArtifact `json:"appleArtifact"`
}

type GoDependency

type GoDependency struct {
	Repository          string `json:"repository"`
	RenovateRef         string `json:"renovateRef"`
	Commit              string `json:"commit"`
	Version             string `json:"version"`
	ModuleSum           string `json:"moduleSum"`
	TestedGhosttyCommit string `json:"testedGhosttyCommit"`
	LicenseSHA256       string `json:"licenseSHA256"`
	LicenseConclusion   string `json:"licenseConclusion"`
	LicenseReview       string `json:"licenseReview"`
}

type Highway

type Highway struct {
	Repository        string `json:"repository"`
	Version           string `json:"version"`
	Commit            string `json:"commit"`
	SourceURL         string `json:"sourceURL"`
	ZigHash           string `json:"zigHash"`
	ArchiveSHA256     string `json:"archiveSHA256"`
	LicenseSHA256     string `json:"licenseSHA256"`
	LicenseConclusion string `json:"licenseConclusion"`
	LicenseDeclared   string `json:"licenseDeclared"`
	LicenseReview     string `json:"licenseReview"`
}

type Lock

type Lock struct {
	SchemaVersion int          `json:"schemaVersion"`
	GoLibghostty  GoDependency `json:"goLibghostty"`
	Ghostty       Ghostty      `json:"ghostty"`
	Zig           Zig          `json:"zig"`
	Uucode        Uucode       `json:"uucode"`
	Highway       Highway      `json:"highway"`
	Simdutf       Simdutf      `json:"simdutf"`
	SPDXTools     SPDXTools    `json:"spdxTools"`
}

func DecodeLock

func DecodeLock(data []byte) (Lock, error)

func LoadLock

func LoadLock(path string) (Lock, error)

func (Lock) Validate

func (lock Lock) Validate() error

type SPDXTools

type SPDXTools struct {
	Repository string `json:"repository"`
	Version    string `json:"version"`
	URL        string `json:"url"`
	SHA256     string `json:"sha256"`
}

type Simdutf

type Simdutf struct {
	Repository        string `json:"repository"`
	Version           string `json:"version"`
	ManifestVersion   string `json:"manifestVersion"`
	Commit            string `json:"commit"`
	CppSHA256         string `json:"cppSHA256"`
	HeaderSHA256      string `json:"headerSHA256"`
	LicenseSHA256     string `json:"licenseSHA256"`
	LicenseConclusion string `json:"licenseConclusion"`
	LicenseDeclared   string `json:"licenseDeclared"`
	LicenseReview     string `json:"licenseReview"`
}

type Uucode

type Uucode struct {
	Repository          string `json:"repository"`
	Version             string `json:"version"`
	SourceURL           string `json:"sourceURL"`
	ZigHash             string `json:"zigHash"`
	ArchiveSHA256       string `json:"archiveSHA256"`
	LicenseSHA256       string `json:"licenseSHA256"`
	DecoderNoticeSHA256 string `json:"decoderNoticeSHA256"`
	UnicodeNoticeSHA256 string `json:"unicodeNoticeSHA256"`
	LicenseConclusion   string `json:"licenseConclusion"`
	LicenseReview       string `json:"licenseReview"`
}

type Zig

type Zig struct {
	Repository        string `json:"repository"`
	Version           string `json:"version"`
	SourceURL         string `json:"sourceURL"`
	SourceSHA256      string `json:"sourceSHA256"`
	LinuxX8664URL     string `json:"linuxX8664URL"`
	LinuxX8664SHA256  string `json:"linuxX8664SHA256"`
	LicenseSHA256     string `json:"licenseSHA256"`
	LicenseConclusion string `json:"licenseConclusion"`
	LicenseReview     string `json:"licenseReview"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL