diff options
Diffstat (limited to 'sys-libs/musl')
-rw-r--r-- | sys-libs/musl/Manifest | 5 | ||||
-rw-r--r-- | sys-libs/musl/musl-1.2.2-r1.ebuild | 140 | ||||
-rw-r--r-- | sys-libs/musl/musl-9999.ebuild | 33 |
3 files changed, 166 insertions, 12 deletions
diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest index 98311ed15c5e..a4db30ca25f1 100644 --- a/sys-libs/musl/Manifest +++ b/sys-libs/musl/Manifest @@ -6,9 +6,12 @@ DIST iconv.c 2577 BLAKE2B 070ca87b30c90ab98c27d5faf7a2fcb64ff7c67ca212ee6072165b DIST musl-1.1.24.tar.gz 1024988 BLAKE2B 5fa26746eed0f2334b740adf94a8400568d56d9b2276bf1fbac828f9b707b4e215d3c16af9ea048b9d771f1d0a58ada3bc6e1bf0ba8f5fa693f5042fc6af30df SHA512 8987f1e194ea616f34f4f21fe9def28fb7f81d7060e38619206c6349f79db3bbb76bae8b711f5f9b8ed038799c9aea1a4cbec69e0bc4131e246203e133149e77 DIST musl-1.2.0.tar.gz 1035265 BLAKE2B 0a47e0f438cca0f3ce31ae024c19358160214842115b560efc48e66228055c9147d9550957a79425322d510ba773f197d0944bb844bf6addbbf698088a3358a9 SHA512 58bd88189a6002356728cea1c6f6605a893fe54f7687595879add4eab283c8692c3b031eb9457ad00d1edd082cfe62fcc0eb5eb1d3bf4f1d749c0efa2a95fec1 DIST musl-1.2.1.tar.gz 1047481 BLAKE2B 5ccdee248d4caa1b433ab9c56cce3842fb46a269fd6a53d0880ba5eaad208997306e6b56fd345917e5076714fbfac0804ea226e6dc3f0f2e75f8c824a7155535 SHA512 455464ef47108a78457291bda2b1ea574987a1787f6001e9376956f20521593a4816bc215dab41c1a80292ae7ebd315accb4d4fa6a1210ff77d9a4d68239e960 +DIST musl-1.2.2.tar.gz 1055220 BLAKE2B a000357ed52e417d8cebe5537df658dc0f8f02f2da3efcd79125544ad63e11e05fa96136551d0bfeb09a3f6c9a2260bffcfbd329ea92e6a7b62aa690f48968aa SHA512 5344b581bd6463d71af8c13e91792fa51f25a96a1ecbea81e42664b63d90b325aeb421dfbc8c22e187397ca08e84d9296a0c0c299ba04fa2b751d6864914bd82 +DIST musl-getent-93a08815f8598db442d8b766b463d0150ed8e2ab.c 11656 BLAKE2B 1b7bf7102a1eb91a8cb881ed8ca65eb8eed911dd50238e97dc2952d89d4c6ebed6bfd046a2b38776c550b2872ab54ced8cb452fcc2ad56e5616f722debda761f SHA512 7f5b9d934d82deb5f8b23e16169a5d9b99ccab3a4708df06a95d685e1b24a3a3e69b3dcf4942f2f66c12a3d4bf0c5827e2ee2e8c4d7b1997359fccc2ac212dee EBUILD musl-1.1.24.ebuild 3299 BLAKE2B 17a4f78ae35c583480621880845dca6cbe55638519f25470a2bdf0922705caaeeb65a760763244b8890381714fc162487d22f07d15e20f163cb5f6cb7543b870 SHA512 984c0a1542ab23354d6e5dccad8c4ff6bab68ca9b52bba5ec36364ee997798ad0ee6f85b7ca7e66a78eead3e199c8dbe51d3e9df84d5c4df0f887428844f1ac9 EBUILD musl-1.2.0-r1.ebuild 3258 BLAKE2B 7a8edb02b626e2cdc1ae65bfc56973c98fb874990a1ca81d3fcb1b539512efad6e5874a41bd31769965874058f27d657776137a90bdbe5d2c6eefc033c18c447 SHA512 1e7f3ff9da0870b0f42c6ae364df2155d55208ed05e445ed63862600143f01fbad428f9cb6578052f7cd7536f6cec975fc618b2b92839f04e9ba186e988e0806 EBUILD musl-1.2.1-r1.ebuild 3318 BLAKE2B 987177bad990fbcd6383f12cadd2ec5f99c672ce68cff8d4eb4cbcfa8eeb9e7ca0757d5027f6dd6445aee5cd79fcd9228acedd72c9740d0657570f7944ff9358 SHA512 3dc43c9b118ec1801821682e2c1a2a1a08973730d54fb12310bdbc403ba6db4328deedc9fd465b42776b6990c683beb589484f6e7f307a7793f841bc2e301372 EBUILD musl-1.2.1.ebuild 3256 BLAKE2B 29ea386004127256cf45713b1f82e788c557ae9e602bf5623e1523e3ddfe4caeb87ca86d8f7edb770d8805ab046473e70df606e43c89ef45c8a7034d581da20b SHA512 f4bba2bf005d85f4edc133088405ba41ed9c5a38127f7c67796ea31767f65f475c008e06f4a95914bc5e2b8443eb30700c7a630b61778cf3f21864b233303d08 -EBUILD musl-9999.ebuild 3270 BLAKE2B 8164432a73a1770c072df855e96f123ad475016b4830e116b4d54dda32806af364332ca119463d4333380a8c899622775ba21f3721071113cddecaafcbe86830 SHA512 52fffb5841ff3d9dac213e310f5b2141de9b1a9b13b8f378f08f5ed3298c3601d10a0e4ffbe904653fe89cdebb3ce9ae8ddbbf9f999fa75e712bb8edb3273805 +EBUILD musl-1.2.2-r1.ebuild 3526 BLAKE2B 6620672956b5b6f35a1ab2ad46a03922e79c011fc21b2ac2e198466374b048e3218bf31150aed03e1a6280ec43f6080671246a54e02bada31d2cbcb96d36a703 SHA512 8319b194f5270496346d97e08a5a477cbcceaf1a34958734b5ad9100e83dd646e93460df7f1b14c859e9a742e36518da85c43ec29f69f823d8d00772476ddd0d +EBUILD musl-9999.ebuild 3526 BLAKE2B 6620672956b5b6f35a1ab2ad46a03922e79c011fc21b2ac2e198466374b048e3218bf31150aed03e1a6280ec43f6080671246a54e02bada31d2cbcb96d36a703 SHA512 8319b194f5270496346d97e08a5a477cbcceaf1a34958734b5ad9100e83dd646e93460df7f1b14c859e9a742e36518da85c43ec29f69f823d8d00772476ddd0d MISC metadata.xml 453 BLAKE2B d7b2840a6b0bb2ede2124f22bde34a9f77ac258792a9fbf9d9e3f552a85d6ee539a98c8704729efb75dec627db62b33759fc0cfdfd01614abbc4960a163c5019 SHA512 5d8bebce119ed34a6a6b8cb07b3ce056db5efc91db80709fc8031c955b16e29965f3741f75e9afbe9f428bbac1e39e7c30278cd63f04479e3a1493b006195e0a diff --git a/sys-libs/musl/musl-1.2.2-r1.ebuild b/sys-libs/musl/musl-1.2.2-r1.ebuild new file mode 100644 index 000000000000..bbe899d8ce1b --- /dev/null +++ b/sys-libs/musl/musl-1.2.2-r1.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit eutils flag-o-matic multilib toolchain-funcs +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.musl-libc.org/musl" + inherit git-r3 +else + SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz" + KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86" +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 +" + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +DESCRIPTION="Light, fast and simple C library focused on standards-conformance and safety" +HOMEPAGE="http://www.musl-libc.org/" +LICENSE="MIT LGPL-2 GPL-2" +SLOT="0" +IUSE="headers-only" + +QA_SONAME="/usr/lib/libc.so" +QA_DT_NEEDED="/usr/lib/libc.so" + +is_crosscompile() { + [[ ${CHOST} != ${CTARGET} ]] +} + +just_headers() { + use headers-only && is_crosscompile +} + +pkg_setup() { + if [ ${CTARGET} == ${CHOST} ] ; then + case ${CHOST} in + *-musl*) ;; + *) die "Use sys-devel/crossdev to build a musl toolchain" ;; + esac + fi + + # fix for #667126, copied from glibc ebuild + # make sure host make.conf doesn't pollute us + if is_crosscompile || tc-is-cross-compiler ; then + CHOST=${CTARGET} strip-unsupported-flags + fi +} + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + unpack "${P}.tar.gz" + fi + mkdir misc || die + cp "${DISTDIR}"/getconf.c misc/getconf.c || die + cp "${DISTDIR}/${GETENT_FILE}" misc/getent.c || die + cp "${DISTDIR}"/iconv.c misc/iconv.c || die +} + +src_configure() { + tc-getCC ${CTARGET} + just_headers && export CC=true + + local sysroot + is_crosscompile && sysroot="${EPREFIX}"/usr/${CTARGET} + ./configure \ + --target=${CTARGET} \ + --prefix=${sysroot}/usr \ + --syslibdir=${sysroot}/lib \ + --disable-gcc-wrapper || die +} + +src_compile() { + emake obj/include/bits/alltypes.h + just_headers && return 0 + + emake + if [[ ${CATEGORY} != cross-* ]] ; then + emake -C "${T}" getconf getent iconv \ + CC="$(tc-getCC)" \ + CFLAGS="${CFLAGS}" \ + CPPFLAGS="${CPPFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + VPATH="${WORKDIR}/misc" + fi +} + +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 + is_crosscompile && sysroot=/usr/${CTARGET} + local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*) + dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd + + if [[ ${CATEGORY} != cross-* ]] ; 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) + [[ -e "${D}"/lib/ld-musl-${arch}.so.1 ]] || die + cp "${FILESDIR}"/ldconfig.in "${T}" || die + sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die + 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 +} + +pkg_postinst() { + is_crosscompile && return 0 + + [ "${ROOT}" != "/" ] && return 0 + + ldconfig || die +} diff --git a/sys-libs/musl/musl-9999.ebuild b/sys-libs/musl/musl-9999.ebuild index a4f0d0fe5f87..bbe899d8ce1b 100644 --- a/sys-libs/musl/musl-9999.ebuild +++ b/sys-libs/musl/musl-9999.ebuild @@ -1,24 +1,23 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 inherit eutils flag-o-matic multilib toolchain-funcs if [[ ${PV} == "9999" ]] ; then EGIT_REPO_URI="git://git.musl-libc.org/musl" inherit git-r3 - SRC_URI=" - https://dev.gentoo.org/~blueness/musl-misc/getconf.c - https://dev.gentoo.org/~blueness/musl-misc/getent.c - https://dev.gentoo.org/~blueness/musl-misc/iconv.c" - KEYWORDS="" else - SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz - https://dev.gentoo.org/~blueness/musl-misc/getconf.c - https://dev.gentoo.org/~blueness/musl-misc/getent.c - https://dev.gentoo.org/~blueness/musl-misc/iconv.c" + SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz" KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86" 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 +" export CBUILD=${CBUILD:-${CHOST}} export CTARGET=${CTARGET:-${CHOST}} @@ -60,6 +59,18 @@ pkg_setup() { fi } +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + unpack "${P}.tar.gz" + fi + mkdir misc || die + cp "${DISTDIR}"/getconf.c misc/getconf.c || die + cp "${DISTDIR}/${GETENT_FILE}" misc/getent.c || die + cp "${DISTDIR}"/iconv.c misc/iconv.c || die +} + src_configure() { tc-getCC ${CTARGET} just_headers && export CC=true @@ -84,7 +95,7 @@ src_compile() { CFLAGS="${CFLAGS}" \ CPPFLAGS="${CPPFLAGS}" \ LDFLAGS="${LDFLAGS}" \ - VPATH="${DISTDIR}" + VPATH="${WORKDIR}/misc" fi } |