diff options
Diffstat (limited to 'sys-libs/musl')
-rw-r--r-- | sys-libs/musl/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/musl/musl-1.1.24.ebuild | 124 |
2 files changed, 126 insertions, 0 deletions
diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest index efc0ce06e987..b7bd5be5f545 100644 --- a/sys-libs/musl/Manifest +++ b/sys-libs/musl/Manifest @@ -5,7 +5,9 @@ DIST getent.c 9438 BLAKE2B dc20353583c10a001bd8fe8474f32b70254dc56da186d1cdbaf40 DIST iconv.c 2577 BLAKE2B 070ca87b30c90ab98c27d5faf7a2fcb64ff7c67ca212ee6072165b2146979c551f714954dbd465462a171837c59b6ea027e0206458a2df0f977e45f01be3ce48 SHA512 9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf DIST musl-1.1.22.tar.gz 987296 BLAKE2B 0326751e1d1bd5b909938159e709daa1ca0b2e51a3f3dc1fc80caa3e7fc0e9fe0fa64d6dfe7d870057fa8e97100a3a89bfe4449fd4c04fe3af17d0f105dfb9cd SHA512 08a40d722672504427238e71c9e52a723c6a14735abe9581d6d4bb3f86662d5d51a3f32a6aed6420c1f9680e22a3a554a9b87ae342635be971e2db49cc9fdb87 DIST musl-1.1.23.tar.gz 1013779 BLAKE2B 0251604697f6e243d173c6a72d0a24ddbbce298f8e3a53d9d3a18d7f5ebf19f4e85584a494639c2470530b61c3189150bfaed3376e31acf4e1b2daa1c30860dc SHA512 a2278de9903852b08352d3e734a39d4616caa602496997ba843e8fea0e1c481761776745faf04536a149d1c4af416b68df681b6fbc9ae2de8794e18c2e853b09 +DIST musl-1.1.24.tar.gz 1024988 BLAKE2B 5fa26746eed0f2334b740adf94a8400568d56d9b2276bf1fbac828f9b707b4e215d3c16af9ea048b9d771f1d0a58ada3bc6e1bf0ba8f5fa693f5042fc6af30df SHA512 8987f1e194ea616f34f4f21fe9def28fb7f81d7060e38619206c6349f79db3bbb76bae8b711f5f9b8ed038799c9aea1a4cbec69e0bc4131e246203e133149e77 EBUILD musl-1.1.22.ebuild 3240 BLAKE2B 756ce888342f6b9f7501873af701bad4e4b429fcd11a9713e168da63da641d0fbef39a25d002a88f6d988a6a1b0e79e24cf042acd56a1903b95905cd811ecda6 SHA512 c7b779730e7c5b56618d0a53cd70e02e4f3e9f443c91bb59237fbf72dea1f6d7fa2e480312114b98db012ab4e716d0ef1481019788389edfc21b56c1245e28ac EBUILD musl-1.1.23.ebuild 3242 BLAKE2B 2d7c121e43f3f3dcc39daa3a27049ffadce81db16b055c5807c7a7ea7e62cae844145d2f4a737b92ce5c5601a3b494726a842105b983a050a2dfa09763885a76 SHA512 a0b7e420307c6350a7ffc1f026bf41de5c8692c7791b7c7941902ebb6f4427a2b0ce039acb983ffd8b0c8ae7df76ea2d224ead0b8f931fea41f566a3204d6750 +EBUILD musl-1.1.24.ebuild 3245 BLAKE2B 96b025385b2f8cdbc66a91bbe4bcabdb6daab5fc6dff29f4f78b10f0d02daa2c4f4ff9546f55b67fba4552c3fdfd3ee6deaa21dd2b4f52b95a114070cee587aa SHA512 8a789f0d2988be8567647258a45989b708c9d50f0fdae020160931af140c6566f68551ff4ec423beaf9a9043490888c2a99b80cfd826a98d46553609b7994de8 EBUILD musl-9999.ebuild 3245 BLAKE2B 96b025385b2f8cdbc66a91bbe4bcabdb6daab5fc6dff29f4f78b10f0d02daa2c4f4ff9546f55b67fba4552c3fdfd3ee6deaa21dd2b4f52b95a114070cee587aa SHA512 8a789f0d2988be8567647258a45989b708c9d50f0fdae020160931af140c6566f68551ff4ec423beaf9a9043490888c2a99b80cfd826a98d46553609b7994de8 MISC metadata.xml 453 BLAKE2B d7b2840a6b0bb2ede2124f22bde34a9f77ac258792a9fbf9d9e3f552a85d6ee539a98c8704729efb75dec627db62b33759fc0cfdfd01614abbc4960a163c5019 SHA512 5d8bebce119ed34a6a6b8cb07b3ce056db5efc91db80709fc8031c955b16e29965f3741f75e9afbe9f428bbac1e39e7c30278cd63f04479e3a1493b006195e0a diff --git a/sys-libs/musl/musl-1.1.24.ebuild b/sys-libs/musl/musl-1.1.24.ebuild new file mode 100644 index 000000000000..0827b9d412bf --- /dev/null +++ b/sys-libs/musl/musl-1.1.24.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +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" + KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~x86" +fi + +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_configure() { + tc-getCC ${CTARGET} + just_headers && export CC=true + + local sysroot + is_crosscompile && sysroot=/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 + $(tc-getCC) ${CFLAGS} "${DISTDIR}"/getconf.c -o "${T}"/getconf || die + $(tc-getCC) ${CFLAGS} "${DISTDIR}"/getent.c -o "${T}"/getent || die + $(tc-getCC) ${CFLAGS} "${DISTDIR}"/iconv.c -o "${T}"/iconv || die + 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 + local arch=$("${D}"usr/lib/libc.so 2>&1 | sed -n '1s/^musl libc (\(.*\))$/\1/p') + [[ -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 || die + fi +} + +pkg_postinst() { + is_crosscompile && return 0 + + [ "${ROOT}" != "/" ] && return 0 + + ldconfig || die + # reload init ... + /sbin/telinit U 2>/dev/null +} |