commit:     b79b29a2dc1c0b0c038ebedaca7c6b96b5b842f8
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 20 23:37:36 2017 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Oct 20 23:38:20 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b79b29a2

sys-libs/musl: version bump to 1.1.17

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 sys-libs/musl/Manifest           |   1 +
 sys-libs/musl/musl-1.1.17.ebuild | 116 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 117 insertions(+)

diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest
index a441c617ba4..336a4e0f877 100644
--- a/sys-libs/musl/Manifest
+++ b/sys-libs/musl/Manifest
@@ -3,3 +3,4 @@ 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

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 00000000000..4b53b12d810
--- /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
+}

Reply via email to