aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--internal/rosa/all.go2
-rw-r--r--internal/rosa/elfutils.go41
2 files changed, 43 insertions, 0 deletions
diff --git a/internal/rosa/all.go b/internal/rosa/all.go
index c3ffb944..f29599f7 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 00000000..ea9dcb67
--- /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 }