From 178305cb22a04f9c68a0e6fdce03ecede4ef5917 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Fri, 20 Feb 2026 21:50:33 +0900 Subject: [PATCH] internal/rosa: elfutils artifact Required by the kernel. Signed-off-by: Ophestra --- internal/rosa/all.go | 2 ++ internal/rosa/elfutils.go | 41 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 internal/rosa/elfutils.go diff --git a/internal/rosa/all.go b/internal/rosa/all.go index c3ffb94..f29599f 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -24,6 +24,7 @@ const ( Curl DTC Diffutils + Elfutils Findutils Flex Fuse @@ -142,6 +143,7 @@ func ResolveName(name string) (p PArtifact, ok bool) { "curl": Curl, "dtc": DTC, "diffutils": Diffutils, + "elfutils": Elfutils, "findutils": Findutils, "flex": Flex, "fuse": Fuse, diff --git a/internal/rosa/elfutils.go b/internal/rosa/elfutils.go new file mode 100644 index 0000000..ea9dcb6 --- /dev/null +++ b/internal/rosa/elfutils.go @@ -0,0 +1,41 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newElfutils() pkg.Artifact { + const ( + version = "0.194" + checksum = "Q3XUygUPv9vR1TkWucwUsQ8Kb1_F6gzk-KMPELr3cC_4AcTrprhVPMvN0CKkiYRa" + ) + return t.NewViaMake("elfutils", version, pkg.NewHTTPGetTar( + nil, "https://sourceware.org/elfutils/ftp/"+ + version+"/elfutils-"+version+".tar.bz2", + mustDecode(checksum), + pkg.TarBzip2, + ), &MakeAttr{ + Env: []string{ + "CC=cc" + + // nonstandard glibc extension + " -DFNM_EXTMATCH=0", + }, + + // nonstandard glibc extension + SkipCheck: true, + + Configure: [][2]string{ + {"enable-deterministic-archives"}, + }, + }, + t.Load(M4), + t.Load(PkgConfig), + + t.Load(Zlib), + t.Load(Bzip2), + t.Load(Zstd), + t.Load(ArgpStandalone), + t.Load(MuslFts), + t.Load(MuslObstack), + t.Load(KernelHeaders), + ) +} +func init() { artifactsF[Elfutils] = Toolchain.newElfutils }