From 763d2572feffeb6515d1b24852715b171ae33557 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Mon, 26 Jan 2026 01:26:03 +0900 Subject: [PATCH] internal/rosa: pkg-config artifact Used by hakurei and many other programs. Signed-off-by: Ophestra --- cmd/mbf/main.go | 6 ++++-- internal/rosa/all.go | 3 ++- internal/rosa/pkg-config.go | 29 +++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 internal/rosa/pkg-config.go diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 5b1194e..3f6da1f 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -176,10 +176,12 @@ func main() { p = rosa.Make case "ninja": p = rosa.Ninja - case "perl": - p = rosa.Perl case "patch": p = rosa.Patch + case "perl": + p = rosa.Perl + case "pkg-config": + p = rosa.PkgConfig case "python": p = rosa.Python case "rsync": diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 68ae8e9..4bc45a7 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -24,8 +24,9 @@ const ( M4 Make Ninja - Perl Patch + Perl + PkgConfig Python Rsync Zlib diff --git a/internal/rosa/pkg-config.go b/internal/rosa/pkg-config.go new file mode 100644 index 0000000..d6ae9c8 --- /dev/null +++ b/internal/rosa/pkg-config.go @@ -0,0 +1,29 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newPkgConfig() pkg.Artifact { + const ( + version = "0.29.2" + checksum = "gi7yAvkwo20Inys1tHbeYZ3Wjdm5VPkrnO0Q6_QZPCAwa1zrA8F4a63cdZDd-717" + ) + return t.New("pkg-config-"+version, []pkg.Artifact{ + t.Load(Make), + }, nil, nil, ` +cd "$(mktemp -d)" +/usr/src/pkg-config/configure \ + --prefix=/system \ + --build="${ROSA_TRIPLE}" \ + CFLAGS='-Wno-int-conversion' \ + --with-internal-glib +make "-j$(nproc)" check +make DESTDIR=/work install +`, pkg.Path(AbsUsrSrc.Append("pkg-config"), true, pkg.NewHTTPGetTar( + nil, + "https://pkgconfig.freedesktop.org/releases/"+ + "pkg-config-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ))) +} +func init() { artifactsF[PkgConfig] = Toolchain.newPkgConfig }