diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-04-14 03:01:50 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-04-14 03:03:06 +0900 |
| commit | 78f9676b1f77a38fa265c92c498ee0cf0f70934e (patch) | |
| tree | 7502cfe148201a24aa0c6603d869c0f7c23f019a /internal/rosa/llvm.go | |
| parent | 5b5b676132d8a7201b30c7494d2961ab3094b583 (diff) | |
internal/rosa/llvm: centralise llvm source
This avoids having to sidestep the NewPackage name formatting machinery to take the cache fast path.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/llvm.go')
| -rw-r--r-- | internal/rosa/llvm.go | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/internal/rosa/llvm.go b/internal/rosa/llvm.go index 35b92d80..013e4670 100644 --- a/internal/rosa/llvm.go +++ b/internal/rosa/llvm.go @@ -6,17 +6,26 @@ import ( "hakurei.app/internal/pkg" ) -// llvmSource is the unpatched upstream LLVM monorepo. -var llvmSource = newFromGitHub( - "llvm/llvm-project", - "llvmorg-"+llvmVersion, - llvmChecksum, -) +func init() { + artifactsM[llvmSource] = Metadata{ + f: func(t Toolchain) (pkg.Artifact, string) { + return t.NewPatchedSource("llvm", llvmVersion, newFromGitHub( + "llvm/llvm-project", + "llvmorg-"+llvmVersion, + llvmChecksum, + ), true, llvmPatches...), llvmVersion + }, + + Name: "llvm-project", + Description: "LLVM monorepo with Rosa OS patches", + + ID: 1830, + } +} func (t Toolchain) newCompilerRT() (pkg.Artifact, string) { muslHeaders, _ := t.newMusl(true) - return t.NewPackage("compiler-rt", llvmVersion, llvmSource, &PackageAttr{ - Patches: llvmPatches, + return t.NewPackage("compiler-rt", llvmVersion, t.Load(llvmSource), &PackageAttr{ NonStage0: []pkg.Artifact{ muslHeaders, }, @@ -82,8 +91,7 @@ func init() { } func (t Toolchain) newLLVMRuntimes() (pkg.Artifact, string) { - return t.NewPackage("llvm-runtimes", llvmVersion, llvmSource, &PackageAttr{ - Patches: llvmPatches, + return t.NewPackage("llvm-runtimes", llvmVersion, t.Load(llvmSource), &PackageAttr{ NonStage0: t.AppendPresets(nil, CompilerRT), Env: stage0ExclConcat(t, []string{}, "LDFLAGS="+earlyLDFLAGS(false), @@ -151,8 +159,7 @@ func (t Toolchain) newClang() (pkg.Artifact, string) { } } - return t.NewPackage("clang", llvmVersion, llvmSource, &PackageAttr{ - Patches: llvmPatches, + return t.NewPackage("clang", llvmVersion, t.Load(llvmSource), &PackageAttr{ NonStage0: t.AppendPresets(nil, LLVMRuntimes), Env: stage0ExclConcat(t, []string{}, "CFLAGS="+earlyCFLAGS, @@ -222,13 +229,11 @@ func init() { Dependencies: P{ LLVMRuntimes, }, - - ID: 1830, } } func (t Toolchain) newLibclc() (pkg.Artifact, string) { - return t.NewPackage("libclc", llvmVersion, llvmSource, nil, &CMakeHelper{ + return t.NewPackage("libclc", llvmVersion, t.Load(llvmSource), nil, &CMakeHelper{ Append: []string{"libclc"}, Cache: []KV{ |
