internal/rosa: pkg-config artifact
All checks were successful
Test / Create distribution (push) Successful in 49s
Test / Sandbox (push) Successful in 2m34s
Test / Hakurei (push) Successful in 3m52s
Test / ShareFS (push) Successful in 4m0s
Test / Hpkg (push) Successful in 4m41s
Test / Sandbox (race detector) (push) Successful in 5m1s
Test / Hakurei (race detector) (push) Successful in 5m53s
Test / Flake checks (push) Successful in 1m45s

Used by hakurei and many other programs.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-26 01:26:03 +09:00
parent bb1b6beb87
commit 763d2572fe
3 changed files with 35 additions and 3 deletions

View File

@@ -176,10 +176,12 @@ func main() {
p = rosa.Make p = rosa.Make
case "ninja": case "ninja":
p = rosa.Ninja p = rosa.Ninja
case "perl":
p = rosa.Perl
case "patch": case "patch":
p = rosa.Patch p = rosa.Patch
case "perl":
p = rosa.Perl
case "pkg-config":
p = rosa.PkgConfig
case "python": case "python":
p = rosa.Python p = rosa.Python
case "rsync": case "rsync":

View File

@@ -24,8 +24,9 @@ const (
M4 M4
Make Make
Ninja Ninja
Perl
Patch Patch
Perl
PkgConfig
Python Python
Rsync Rsync
Zlib Zlib

View File

@@ -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 }