summaryrefslogtreecommitdiff
path: root/sys-libs/musl
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/musl')
-rw-r--r--sys-libs/musl/Manifest2
-rw-r--r--sys-libs/musl/musl-1.1.24.ebuild124
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
+}