summaryrefslogtreecommitdiff
path: root/sys-libs/musl/musl-1.2.5.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-08 12:25:04 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-08 12:25:04 +0100
commita5442e2318cb4df55867389654e322dbac82067e (patch)
tree6ee33490658219395df804dbba0ea77f8b0d8c3b /sys-libs/musl/musl-1.2.5.ebuild
parent5d8ffbc273ca664e15618d557ced3e02de1a884b (diff)
gentoo auto-resync : 08:07:2024 - 12:25:03
Diffstat (limited to 'sys-libs/musl/musl-1.2.5.ebuild')
-rw-r--r--sys-libs/musl/musl-1.2.5.ebuild203
1 files changed, 0 insertions, 203 deletions
diff --git a/sys-libs/musl/musl-1.2.5.ebuild b/sys-libs/musl/musl-1.2.5.ebuild
deleted file mode 100644
index 05286d2397c9..000000000000
--- a/sys-libs/musl/musl-1.2.5.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit crossdev flag-o-matic toolchain-funcs prefix
-
-DESCRIPTION="Light, fast and, simple C library focused on standards-conformance and safety"
-HOMEPAGE="https://musl.libc.org"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://git.musl-libc.org/git/musl"
- inherit git-r3
-else
- VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/musl.asc
- inherit verify-sig
-
- SRC_URI="https://musl.libc.org/releases/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( https://musl.libc.org/releases/${P}.tar.gz.asc )"
- KEYWORDS="-* ~riscv"
- #KEYWORDS="-* ~amd64 ~arm ~arm64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~x86"
-
- BDEPEND="verify-sig? ( sec-keys/openpgp-keys-musl )"
-fi
-
-GETENT_COMMIT="93a08815f8598db442d8b766b463d0150ed8e2ab"
-GETENT_FILE="musl-getent-${GETENT_COMMIT}.c"
-SRC_URI+="
- https://dev.gentoo.org/~blueness/musl-misc/getconf.c
- https://gitlab.alpinelinux.org/alpine/aports/-/raw/${GETENT_COMMIT}/main/musl/getent.c -> ${GETENT_FILE}
- https://dev.gentoo.org/~blueness/musl-misc/iconv.c
-"
-
-LICENSE="MIT LGPL-2 GPL-2"
-SLOT="0"
-IUSE="crypt headers-only split-usr"
-
-QA_SONAME="usr/lib/libc.so"
-QA_DT_NEEDED="usr/lib/libc.so"
-# bug #830213
-QA_PRESTRIPPED="usr/lib/crtn.o"
-
-# We want crypt on by default for this as sys-libs/libxcrypt isn't (yet?)
-# built as part as crossdev. Also, elide the blockers when in cross-*,
-# as it doesn't make sense to block the normal CBUILD libxcrypt at all
-# there when we're installing into /usr/${CHOST} anyway.
-if is_crosspkg ; then
- IUSE="${IUSE/crypt/+crypt}"
-else
- RDEPEND="crypt? ( !sys-libs/libxcrypt[system] )"
- PDEPEND="!crypt? ( sys-libs/libxcrypt[system] )"
-fi
-
-just_headers() {
- use headers-only && target_is_not_host
-}
-
-pkg_setup() {
- if [ ${CTARGET} == ${CHOST} ] ; then
- case ${CHOST} in
- *-musl*) ;;
- *) die "Use sys-devel/crossdev to build a musl toolchain" ;;
- esac
- fi
-
- # Fix for bug #667126, copied from glibc ebuild:
- # make sure host make.conf doesn't pollute us
- if target_is_not_host || tc-is-cross-compiler ; then
- CHOST=${CTARGET} strip-unsupported-flags
- fi
-}
-
-src_unpack() {
- if [[ ${PV} == 9999 ]] ; then
- git-r3_src_unpack
- elif use verify-sig ; then
- # We only verify the release; not the additional (fixed, safe) files
- # we download.
- # (Seem to get IPC error on verifying in cross?)
- ! target_is_not_host && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.asc}
- fi
-
- default
-}
-
-src_prepare() {
- default
-
- mkdir "${WORKDIR}"/misc || die
- cp "${DISTDIR}"/getconf.c "${WORKDIR}"/misc/getconf.c || die
- cp "${DISTDIR}/${GETENT_FILE}" "${WORKDIR}"/misc/getent.c || die
- cp "${DISTDIR}"/iconv.c "${WORKDIR}"/misc/iconv.c || die
-}
-
-src_configure() {
- strip-flags && filter-lto # Prevent issues caused by aggressive optimizations & bug #877343
- tc-getCC ${CTARGET}
-
- just_headers && export CC=true
-
- local sysroot
- target_is_not_host && sysroot=/usr/${CTARGET}
- ./configure \
- --target=${CTARGET} \
- --prefix="${EPREFIX}${sysroot}/usr" \
- --syslibdir="${EPREFIX}${sysroot}/lib" \
- --disable-gcc-wrapper || die
-}
-
-src_compile() {
- emake obj/include/bits/alltypes.h
- just_headers && return 0
-
- emake
- if ! is_crosspkg ; then
- emake -C "${T}" getconf getent iconv \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- CPPFLAGS="${CPPFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- VPATH="${WORKDIR}/misc"
- fi
-
- $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -c -o libssp_nonshared.o "${FILESDIR}"/stack_chk_fail_local.c || die
- $(tc-getAR) -rcs libssp_nonshared.a libssp_nonshared.o || die
-}
-
-src_install() {
- local target="install"
- just_headers && target="install-headers"
- emake DESTDIR="${D}" ${target}
- just_headers && return 0
-
- # musl provides ldd via a sym link to its ld.so
- local sysroot=
- target_is_not_host && sysroot=/usr/${CTARGET}
- local ldso=$(basename "${ED}${sysroot}"/lib/ld-musl-*)
- dosym -r "${sysroot}/lib/${ldso}" "${sysroot}/usr/bin/ldd"
-
- if ! use crypt ; then
- # Allow sys-libs/libxcrypt[system] to provide it instead
- rm "${ED}/usr/include/crypt.h" || die
- rm "${ED}/usr/$(get_libdir)/libcrypt.a" || die
- fi
-
- if ! is_crosspkg ; then
- # Fish out of config:
- # ARCH = ...
- # SUBARCH = ...
- # and print $(ARCH)$(SUBARCH).
- local arch=$(awk '{ k[$1] = $3 } END { printf("%s%s", k["ARCH"], k["SUBARCH"]); }' config.mak)
-
- # The musl build system seems to create a symlink:
- # ${D}/lib/ld-musl-${arch}.so.1 -> /usr/lib/libc.so.1 (absolute)
- # During cross or within prefix, there's no guarantee that the host is
- # using musl so that file may not exist. Use a relative symlink within
- # ${D} instead.
- rm "${ED}"/lib/ld-musl-${arch}.so.1 || die
- if use split-usr; then
- dosym ../usr/lib/libc.so /lib/ld-musl-${arch}.so.1
- # If it's still a dead symlink, OK, we really do need to abort.
- [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die
- else
- dosym libc.so /usr/lib/ld-musl-${arch}.so.1
- [[ -e "${ED}"/usr/lib/ld-musl-${arch}.so.1 ]] || die
- fi
-
- cp "${FILESDIR}"/ldconfig.in-r3 "${T}"/ldconfig.in || die
- sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die
- eprefixify "${T}"/ldconfig
- into /
- dosbin "${T}"/ldconfig
- into /usr
- dobin "${T}"/getconf
- dobin "${T}"/getent
- dobin "${T}"/iconv
- echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl || die
- doenvd "${T}"/00musl
- fi
-
- if target_is_not_host ; then
- into /usr/${CTARGET}
- dolib.a libssp_nonshared.a
- else
- dolib.a libssp_nonshared.a
- fi
-}
-
-pkg_preinst() {
- # Nothing to do if just installing headers
- just_headers && return
-
- # Prepare /etc/ld.so.conf.d/ for files
- mkdir -p "${EROOT}"/etc/ld.so.conf.d
-}
-
-pkg_postinst() {
- target_is_not_host && return 0
-
- [[ -n "${ROOT}" ]] && return 0
-
- ldconfig || die
-}