aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/llvm.go
AgeCommit message (Collapse)Author
8 daysinternal/rosa: update packagesOphestra
Kernel compilation is no longer failing on the amd dc dml frame size warning, and the corresponding patch has been removed. Kernel headers have been bumped due to amdgpu, landlock and intel avs changes. Glslang had its stack size increased to 1 MiB to avoid crashing against latest spirv-tools. Muon has been updated to 0.7.0, however the newly added clang-cl support has been completely removed due to it insisting on using clang-cl for everything. It is also now patched to respect CLICOLOR_FORCE. The util-linux package has been updated, and the backport patch has been removed. The long-awaited openssl 4 update, blocked by python for months, is finally added. Python 3.15 broke the test suite of package python-wheel, it has been patched to forcefully disable output colours. LLVM has been updated. A newly-broken test is disabled. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-05internal/rosa: separate native tools from librariesOphestra
This removes most redundant runtime arguments and is useful for cross-compilation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-29pkg: move from internalOphestra
Closes #43. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-28internal/rosa/package/llvm: 22.1.8 to 23.1.0Ophestra
libclc is removed from the LLVM package and will be re-added as a separate package. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-25internal/rosa/llvm: early-runtimes for gentoo stage onlyOphestra
This bootstrap step is not required for a native Rosa OS stage0 distribution. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-25internal/rosa: read-only access to built-insOphestra
This removes potential footguns caused by mutable builtins without requiring unnecessary clones. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30internal/rosa: remove legacy exec helperOphestra
This change also adds a fourth stage to the bootstrap machinery, offering more correct toolchain validation that works around LLVM dynamic linking flaws. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-29internal/rosa/llvm: exclude runtime symbolsOphestra
These leak by default when static linking, which is considered unacceptable for many libraries. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-27internal/rosa/llvm: statically link libc++Ophestra
This avoids unnecessarily depending on the toolchain. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18internal/rosa: migrate early-compiler-rt to azaleaOphestra
Had to do the cmake hack for now due to evaluator limitation with inherited version. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18internal/rosa: migrate early-runtimes to azaleaOphestra
This is fully representable in azalea, so migrate it. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-18internal/rosa: migrate llvm source to azaleaOphestra
Previous change enabled this migration. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-13internal/rosa: remove gawkOphestra
This change fully eliminates gawk. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-11internal/rosa/package/python: early bootstrap variantOphestra
This avoids pulling in python's insane dependency tree into the bootstrap path. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-09internal/rosa: respect preferred loadavg targetOphestra
This generally improves build performance and system responsiveness. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-01internal/rosa: create /bin symlinks via helperOphestra
This centralises the workaround for surprisingly common buggy scripts with nonstandard hardcoded paths. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-17internal/rosa/llvm: 22.1.7 to 22.1.8Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-04internal/rosa/llvm: 22.1.6 to 22.1.7Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21internal/rosa/package: migrate llvm patchesOphestra
LLVM itself is unlikely to ever be migrated due to complexity of the bootstrap, so migrate patches instead. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21internal/rosa/package: migrate nssOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21internal/rosa/llvm: 22.1.5 to 22.1.6Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-20internal/rosa: remove global handlesOphestra
These no longer serve any purpose. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-19internal/rosa: create metadata alongside artifactOphestra
This enables deferring evaluation of azalea-based packages and fixes the longstanding quirk of version being disjoint from other metadata. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-17internal/rosa: pass stage alongside stateOphestra
This cleans up many function signatures. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-17internal/rosa: key metadata by stringOphestra
For upcoming azalea integration. The API is quite ugly right now to ease migration. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-12internal/rosa/llvm: 22.1.4 to 22.1.5Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-12internal/rosa/llvm: set exclusive bitOphestra
This was missed when improving bootstrap. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-07internal/rosa: configurable architectureOphestra
This enables curing via binfmt. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-05internal/rosa/llvm: update configuration for early runtimesOphestra
These were never updated when the bootstrap was moved to stage0-only. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-05internal/rosa/llvm: exclude benchmarksOphestra
These are being built despite LLVM_BUILD_BENCHMARKS defaulting to off. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-03internal/rosa/llvm: enable LLVM_BUILD_TESTSOphestra
This arranges for tests to be built early, and is more efficient towards the end of the build. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-03internal/rosa/llvm: provide runtimes early in stage0Ophestra
The LLVM build system fails to handle a dynamically linked toolchain correctly, and leaks the system installation during builds. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-03internal/rosa/clang: install cpp symlinkOphestra
Required by some buggy autotools scripts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02internal/rosa/llvm: LIT args helperOphestra
This is useful for other projects using LIT. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02internal/rosa/cmake: implicit CMAKE_BUILD_TYPEOphestra
Lack of this behaviour is a holdover from when the helper was first split from the (now removed) LLVM helper. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02internal/rosa/llvm: make source independently availableOphestra
This is unfortunately still required, due to the monorepo nature of LLVM. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02internal/rosa/llvm: skip multiple-compile-threads-basic on arm64Ophestra
This intermittently crashes. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02internal/rosa/llvm: skip unwind_leaffunction on arm64Ophestra
This unexpectedly passes. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01internal/rosa/llvm: enable libclc as a runtimeOphestra
Enabling this as a project is deprecated. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01internal/rosa: global preset flagsOphestra
These changes preset behaviour globally. Useful for ad hoc workarounds for development or bootstrapping on resource-constrained systems. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01internal/rosa/llvm: use llvm build systemOphestra
This removes the multistep bootstrap hack. Stage0 exceptions are also eliminated for a later change to bring the stage0 distribution down to just a bare toolchain, toybox and shell. This change also enables dynamic linking and ThinLTO. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-15internal/rosa: respect preferred job countOphestra
This discontinues use of nproc, and also overrides detection behaviour in ninja. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: autodetect stage0 targetOphestra
This is fine, now that stages beyond stage0 have explicit target. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: centralise llvm sourceOphestra
This avoids having to sidestep the NewPackage name formatting machinery to take the cache fast path. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/cmake: remove variantOphestra
This has no effect outside formatting of name and is a remnant of the old llvm helpers. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: migrate libclcOphestra
This eliminates newLLVMVariant. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: migrate runtimes and clangOphestra
This eliminates most newLLVM family of functions. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: migrate compiler-rt helperOphestra
This also removes unused dependencies. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: migrate muslOphestra
This removes the pointless special treatment given to musl. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-14internal/rosa/llvm: migrate compiler-rtOphestra
The newLLVM family of functions predate the package system. This change migrates compiler-rt without changing any resulting artifacts. Signed-off-by: Ophestra <cat@gensokyo.uk>