13 |
13 |
|
14 |
14 |
SRC_URI="https://musl.libc.org/releases/${P}.tar.gz"
|
15 |
15 |
SRC_URI+=" verify-sig? ( https://musl.libc.org/releases/${P}.tar.gz.asc )"
|
16 |
|
KEYWORDS="-* amd64 arm arm64 ~mips ppc ppc64 ~riscv x86"
|
|
16 |
KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86"
|
17 |
17 |
|
18 |
18 |
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-musl )"
|
19 |
19 |
fi
|
... | ... | |
38 |
38 |
|
39 |
39 |
LICENSE="MIT LGPL-2 GPL-2"
|
40 |
40 |
SLOT="0"
|
41 |
|
IUSE="crypt headers-only"
|
|
41 |
IUSE="crypt headers-only split-usr"
|
42 |
42 |
|
43 |
43 |
QA_SONAME="usr/lib/libc.so"
|
44 |
44 |
QA_DT_NEEDED="usr/lib/libc.so"
|
... | ... | |
111 |
111 |
is_crosscompile && sysroot=/usr/${CTARGET}
|
112 |
112 |
./configure \
|
113 |
113 |
--target=${CTARGET} \
|
114 |
|
--prefix=${EPREFIX}${sysroot}/usr \
|
115 |
|
--syslibdir=${EPREFIX}${sysroot}/lib \
|
|
114 |
--prefix="${EPREFIX}${sysroot}/usr" \
|
|
115 |
--syslibdir="${EPREFIX}${sysroot}/lib" \
|
116 |
116 |
--disable-gcc-wrapper || die
|
117 |
117 |
}
|
118 |
118 |
|
... | ... | |
141 |
141 |
just_headers && return 0
|
142 |
142 |
|
143 |
143 |
# musl provides ldd via a sym link to its ld.so
|
144 |
|
local sysroot
|
|
144 |
local sysroot=
|
145 |
145 |
is_crosscompile && sysroot=/usr/${CTARGET}
|
146 |
|
local ldso=$(basename "${ED}"${sysroot}/lib/ld-musl-*)
|
147 |
|
dosym ${EPREFIX}${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd
|
|
146 |
local ldso=$(basename "${ED}${sysroot}"/lib/ld-musl-*)
|
|
147 |
dosym8 -r "${sysroot}/lib/${ldso}" "${sysroot}/usr/bin/ldd"
|
148 |
148 |
|
149 |
149 |
if ! use crypt ; then
|
150 |
150 |
# Allow sys-libs/libxcrypt[system] to provide it instead
|
... | ... | |
164 |
164 |
# During cross or within prefix, there's no guarantee that the host is
|
165 |
165 |
# using musl so that file may not exist. Use a relative symlink within
|
166 |
166 |
# ${D} instead.
|
167 |
|
rm -f "${ED}"/lib/ld-musl-${arch}.so.1 || die
|
168 |
|
dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1
|
169 |
|
|
170 |
|
# If it's still a dead symlnk, OK, we really do need to abort.
|
171 |
|
[[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die
|
|
167 |
rm "${ED}"/lib/ld-musl-${arch}.so.1 || die
|
|
168 |
if use split-usr; then
|
|
169 |
dosym ../usr/lib/libc.so /lib/ld-musl-${arch}.so.1
|
|
170 |
# If it's still a dead symlnk, OK, we really do need to abort.
|
|
171 |
[[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die
|
|
172 |
else
|
|
173 |
dosym libc.so /usr/lib/ld-musl-${arch}.so.1
|
|
174 |
[[ -e "${ED}"/usr/lib/ld-musl-${arch}.so.1 ]] || die
|
|
175 |
fi
|
172 |
176 |
|
173 |
177 |
cp "${FILESDIR}"/ldconfig.in-r3 "${T}"/ldconfig.in || die
|
174 |
178 |
sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die
|