musl is a new standard library which aims to be small, fast, and conform to standards. It should be of interest to embedded systems development as an alternative to other small libc's like uclibc. It is currently undergoing heavy development. This bug will track issues to including musl the gentoo maintree. Reproducible: Always
Created attachment 321498 [details] initial musl ebuild Here the initial ebuild for musl there are problems in installing it either on /usr or /usr/${chost} (gcc and binutils consider musl a bare-metal libc and expect everything to reside in /usr/${chost} instead of /usr/${chost}/usr/
we work around that by creating a usr->. symlink in /usr/${CTARGET}/
(In reply to comment #1) > Created attachment 321498 [details] > initial musl ebuild > > Here the initial ebuild for musl > > there are problems in installing it either on /usr or /usr/${chost} (gcc and > binutils consider musl a bare-metal libc and expect everything to reside in > /usr/${chost} instead of /usr/${chost}/usr/ Luca, take a look at the ebuild I posted on the dep bug #430838, comment #1. musl does allow you to install it on a glibc system as an alternative standard library which can be used as via musl-gcc, a wrapper which calls gcc with a spec file pointing to the musl install location. I'd like to keep that since I use musl that way. So mine has if [ ${CTARGET} == ${CHOST} ] ; then case ${CHOST} in *-musl*) do_native_config ;; *) do_alternative_config ;; esac while yours has if [[ ${CTARGET} == ${CHOST} ]] ; then case ${CHOST} in *-musl) ;; *) die "Use sys-devel/crossdev to build a musl toolchain" esac
You are right, I'll update the new mine with your change to allow side-install.
(In reply to comment #4) > You are right, I'll update the new mine with your change to allow > side-install. Why did you decide against the side by side?
*** Bug 493876 has been marked as a duplicate of this bug. ***
Note to everyone. The musl overlay has been moved from the musl branch of the hardened-dev overlay to its own overlay at: https://gitweb.gentoo.org/proj/musl.git/ I will be removing all the ebuilds from the hardened-dev::musl in a few days and place a deprecation notice in place. The history in that branch, however, will remain forever. Also note, I did not migrate the history to the new overlay but started fresh. There was way too much cruft in the hardened-dev::musl branch since it pulled in all the history from the uclibc and master branch going all the way back to 2008. The disadvantage is that for patch authorship you have to go back to the old hardened-dev::musl but I will make sure to do so to properly assign credit if I pass any patches upstream.