diff options
Diffstat (limited to 'internal/rosa/package/musl/package.az')
| -rw-r--r-- | internal/rosa/package/musl/package.az | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/internal/rosa/package/musl/package.az b/internal/rosa/package/musl/package.az index 3207ecde..fac7c781 100644 --- a/internal/rosa/package/musl/package.az +++ b/internal/rosa/package/musl/package.az @@ -8,6 +8,7 @@ package musl-source { checksum = "WtWb_OV_XxLDAB5NerOL9loLlHVadV00MmGk65PPBU1evaolagoMHfvpZp_vxEzS"; compress = gzip; }; + patches = [ "ldso-rosa.patch" ]; } package musl-headers { @@ -15,9 +16,7 @@ package musl-headers { source = musl-source; - // expected to be writable in copies - chmod = true; - + libc = false; env = [ "LDFLAGS=" + earlyLDFLAGS, ]; @@ -29,7 +28,7 @@ package musl-headers { install = "# headers installed during make"; }; - inputs = [ coreutils ]; + tools = [ coreutils ]; } package musl { @@ -38,21 +37,27 @@ package musl { anitya = 11688; source = musl-source; - patches = [ "ldso-rosa.patch" ]; - - // expected to be writable in copies - chmod = true; + libc = false; env = [ "LDFLAGS=" + earlyLDFLAGS, ]; + early = ` +[ -e '/system/`+arch+`' ] && \ + ln -s ../../../../`+arch+`/system/lib/`+triple+` /system/lib/clang/*/lib || true +`; exec = make { defaults = false; + configure = { + "AR": "ar"; + "RANLIB": "ranlib"; + "CC": "'clang --target="+triple+" -rtlib=compiler-rt'"; + }; check = nil; postInstall = ` mkdir -p /work/system/bin -COMPAT_LINKER_NAME="ld-musl-` + linuxArch + `.so.1" +COMPAT_LINKER_NAME="ld-musl-`+llvmArch+`.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}" @@ -61,5 +66,6 @@ rmdir -v /work/lib `; }; - inputs = [ coreutils ]; + cross = [ early-compiler-rt ]; + tools = [ coreutils ]; } |
