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.17.ebuild116
2 files changed, 118 insertions, 0 deletions
diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest
index d88796c94fe7..cd32a76644f7 100644
--- a/sys-libs/musl/Manifest
+++ b/sys-libs/musl/Manifest
@@ -7,8 +7,10 @@ DIST getent.c 9438 SHA256 68373a55e89ce85c562d941ccf588337d6cc6c9c17689d695f65cd
DIST iconv.c 2577 SHA256 f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7 SHA512 9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf WHIRLPOOL 8b067d7f3e5b8c9862cf78cf727fa748d9b6b23be518df382251d1e3e0a6eb386b1fd7788ba3b36dadba03aa5b43e25eb25528efcadc74fa543c38a61650c5bc
DIST musl-1.1.15.tar.gz 911600 SHA256 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa SHA512 9e923572c0d6bad3dc2d2646d4b0699c10b477ce6300ac6c6224895192a90667f581ddf6eda2ab8c4c16f47bde4bccb03bb90478638d136d9df721430f4d0163 WHIRLPOOL 68c510cf7d4216ccc5775466fa23f76ebecf1658552d613dee523bb7cc3a9f824959fe76355d1ce47326b276bf2657c9b4f3f557d81bf9c1a873f18405ad8ebf
DIST musl-1.1.16.tar.gz 927178 SHA256 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011 SHA512 47c00e50b7605102fb4aebe1f9ba9db94d26fac64805f6d744c9c557a05b8a58dff7f9558ff7c8d66b5d7c43740cdc2dd79448bacac47f1414e6ada99c210140 WHIRLPOOL d4e84ef591a1cee0a64d4abf258b7cb2eeacfa7b11695b1bfa89bafde0404e8310a02ab04814df2d4a9ac812a640bbcf8695bab10807f8b8d64c5bdb9d468ca4
+DIST musl-1.1.17.tar.gz 936290 SHA256 c8aa51c747a600704bed169340bf3e03742ceee027ea0051dd4b6cc3c5f51464 SHA512 bc99c7d58d64116c03e68fe77141a1f2938e0c01ba027937587a060d435b4b00b8b1f18c63fb8ed445ef36f377974e02a7b4821c793e4292041e31e66f145428 WHIRLPOOL 28cf246578c0a70d29a015a37136c9dda0b891b17048b35e84b2f4bebc47a417cd4dc3e6f7f7b5889393117e00b3f7469355338e44b063f79269824fdda4ffbd
EBUILD musl-1.1.15-r2.ebuild 3112 SHA256 d5cb6b8240cb48671c54c0c906cc5223ab8bdc01c6b295005c551d1837ad3252 SHA512 cd2729c1c59507222057f5a2c437717bbffe1ed7b1020e499db5bb70984dbaecb582aa05a17366cd99e43924a516b9846cedc5e942e756238870dabfac0e6f9b WHIRLPOOL a1f3204fae061481daa2419114b230c66d9a032df040150c65f3f001b29aced8affaa0e144b42824dbc8d660cab79405b4f823c08576cdd816177f8273cff1a2
EBUILD musl-1.1.16.ebuild 3035 SHA256 bb5f2d4ad83a43b117974b653f4541624991d9ab717455397287517d9ee8188d SHA512 ee3070225a21e9190b4decc0e941ee459dc0e1c63e8a6b8eb3e2fe188489f3773a7495cc3df97c4f677004a256f8b4e9340496fd317ae321965656fe406af80d WHIRLPOOL 393abd3f6e99bb1b068ef5dea174bc841450fe52bdd2e01034161f6a0b95c6ec2594fec8fe51a4951c485aabdcc94ac4486e0d42cc32f3cd496fa947d5854b3a
+EBUILD musl-1.1.17.ebuild 3039 SHA256 2385034fd93004b9d1aa0de1096c5970550de8b8efd02164d072acee3722f80f SHA512 ab442afb391fdff836903fd3e4c992ed8e7dcd08f1dc0215b9d736a0ac31ce8de050aae0310a0e2936a3bf63ceb39bb6ad8cb3c8f039f0e51e3cb03c621f1627 WHIRLPOOL e78dd737b434115a01f93da36ae8c0c7debc10697eab6303f82eeef333cff68c88308f21155bee9489528799dc9ce98f6f1b510e6c0f57fbe8dbc422120291b6
EBUILD musl-9999.ebuild 3039 SHA256 2385034fd93004b9d1aa0de1096c5970550de8b8efd02164d072acee3722f80f SHA512 ab442afb391fdff836903fd3e4c992ed8e7dcd08f1dc0215b9d736a0ac31ce8de050aae0310a0e2936a3bf63ceb39bb6ad8cb3c8f039f0e51e3cb03c621f1627 WHIRLPOOL e78dd737b434115a01f93da36ae8c0c7debc10697eab6303f82eeef333cff68c88308f21155bee9489528799dc9ce98f6f1b510e6c0f57fbe8dbc422120291b6
MISC ChangeLog 8991 SHA256 71210d4c919758cfbf25b3fbc793333491064e5bce9b9129000db56987d2a463 SHA512 50bd06fa95a6983bbfce3772504a1d153551af1b6a07fc578330ab8064c951bce9b310aac41ba7ca63fd7ccd365be84076843a4f062c3c2fbe07f9d9e2447cf3 WHIRLPOOL ebbf5bcddeb3a2b012d86b601bc4c207eb9b7f340ffceb13822d5c9007f7a2c14ba0d5747722ad73d3b3bcc9307635fe40a53bd7a8c2c662e1f6ba2aaca6e780
MISC ChangeLog-2015 9169 SHA256 e19f60cbf940f7b138a478c51370443f09f0eddb00ab04cf8cf9977f67aec7ef SHA512 2c1a8f01d3e939fcf7d1e1c6781b4d09b0ab4c60c4911366d892333f62d62abdb2c8d5a7178dcb5ac3eae5a971e34a2d1c801ed44066dc2c68f0896732954dba WHIRLPOOL 137f3308e2edee1a1d836d04cc46bb00b4d2022eb3c7d882f5b54d47e91edf250a559aa9cf922fe0a3d874bf880f619230a53cdf24ac89822f358b8cd50f40d8
diff --git a/sys-libs/musl/musl-1.1.17.ebuild b/sys-libs/musl/musl-1.1.17.ebuild
new file mode 100644
index 000000000000..4b53b12d810a
--- /dev/null
+++ b/sys-libs/musl/musl-1.1.17.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2017 Gentoo Foundation
+# 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 ~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="crosscompile_opts_headers-only"
+
+QA_SONAME="/usr/lib/libc.so"
+QA_DT_NEEDED="/usr/lib/libc.so"
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+just_headers() {
+ use crosscompile_opts_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
+}
+
+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
+ $(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
+}
+
+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
+}