internal/rosa: libcap artifact
All checks were successful
Test / Create distribution (push) Successful in 1m1s
Test / Sandbox (push) Successful in 2m45s
Test / Hakurei (push) Successful in 4m1s
Test / ShareFS (push) Successful in 4m5s
Test / Hpkg (push) Successful in 4m27s
Test / Sandbox (race detector) (push) Successful in 5m9s
Test / Hakurei (race detector) (push) Successful in 6m17s
Test / Flake checks (push) Successful in 1m44s

Required by fakeroot. Quite refreshing to package a non-autotools project.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-02-24 16:02:54 +09:00
parent 90f915a708
commit 6c2da4c4b2
2 changed files with 42 additions and 0 deletions

View File

@@ -46,6 +46,7 @@ const (
KernelSource KernelSource
Kmod Kmod
LibXau LibXau
Libcap
Libexpat Libexpat
Libiconv Libiconv
Libpsl Libpsl
@@ -171,6 +172,7 @@ func ResolveName(name string) (p PArtifact, ok bool) {
"kernel-source": KernelSource, "kernel-source": KernelSource,
"kmod": Kmod, "kmod": Kmod,
"libXau": LibXau, "libXau": LibXau,
"libcap": Libcap,
"libexpat": Libexpat, "libexpat": Libexpat,
"libiconv": Libiconv, "libiconv": Libiconv,
"libpsl": Libpsl, "libpsl": Libpsl,

40
internal/rosa/libcap.go Normal file
View File

@@ -0,0 +1,40 @@
package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newLibcap() pkg.Artifact {
const (
version = "2.77"
checksum = "2GOTFU4cl2QoS7Dv5wh0c9-hxsQwIzMB9Y_gfAo5xKHqcM13fiHt1RbPkfemzjmB"
)
return t.NewViaMake("libcap", version, t.NewPatchedSource(
"libcap", version, pkg.NewHTTPGetTar(
nil, "https://git.kernel.org/pub/scm/libs/libcap/libcap.git/"+
"snapshot/libcap-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
), false,
), &MakeAttr{
Writable: true,
SkipConfigure: true,
InPlace: true,
Env: []string{
"prefix=/system",
"lib=lib",
},
ScriptEarly: `
ln -s ../system/bin/bash /bin/
cd /usr/src/libcap
`,
Make: []string{
"CC=cc",
"all",
},
CheckName: "test",
},
t.Load(Bash),
t.Load(Diffutils),
)
}
func init() { artifactsF[Libcap] = Toolchain.newLibcap }