internal/rosa/package: migrate musl

This removes some legacy cruft, causing 2 rebuilds per stage.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-20 04:13:10 +09:00
parent 2e7b52d701
commit 2e710328a4
4 changed files with 85 additions and 95 deletions

View File

@@ -0,0 +1,70 @@
package musl-source {
description = "an implementation of the C standard library - source code";
version* = "1.2.6";
output = remoteTar {
url = "https://musl.libc.org/releases/musl-"+version+".tar.gz";
checksum = "WtWb_OV_XxLDAB5NerOL9loLlHVadV00MmGk65PPBU1evaolagoMHfvpZp_vxEzS";
compress = gzip;
};
}
package musl-headers {
description = "system installation of musl headers";
source = musl-source;
// expected to be writable in copies
chmod = true;
env = [
"LDFLAGS=" + earlyLDFLAGS,
];
exec = make {
omitDefaults = true;
skipCheck = true;
make = [
"DESTDIR=/work",
"install-headers",
];
install = "# headers installed during make";
};
inputs = [ coreutils ];
}
package musl {
description = "an implementation of the C standard library";
website = "https://musl.libc.org";
anitya = 11688;
source = musl-source;
patches = [ "ldso-rosa.patch" ];
// expected to be writable in copies
chmod = true;
env = [
"LDFLAGS=" + earlyLDFLAGS,
];
exec = make {
omitDefaults = true;
skipCheck = true;
postInstall = `
mkdir -p /work/system/bin
COMPAT_LINKER_NAME="ld-musl-` + linuxArch + `.so.1"
ln -vs ../lib/libc.so /work/system/bin/linker
ln -vs ../lib/libc.so /work/system/bin/ldd
ln -vs libc.so "/work/system/lib/${COMPAT_LINKER_NAME}"
rm -v "/work/lib/${COMPAT_LINKER_NAME}"
rmdir -v /work/lib
`;
};
inputs = [ coreutils ];
}