Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/musl/
Date: Sun, 01 Jan 2017 16:57:24
Message-Id: 1483289836.10f1632f704cfed429b2ff539daed6136cb4f793.blueness@gentoo
1 commit: 10f1632f704cfed429b2ff539daed6136cb4f793
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jan 1 16:57:01 2017 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Sun Jan 1 16:57:16 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10f1632f
7
8 sys-libs/musl: version bump to 1.1.16
9
10 Package-Manager: portage-2.3.0
11
12 sys-libs/musl/Manifest | 1 +
13 sys-libs/musl/musl-1.1.16.ebuild | 117 +++++++++++++++++++++++++++++++++++++++
14 2 files changed, 118 insertions(+)
15
16 diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest
17 index 67f8d04..a441c61 100644
18 --- a/sys-libs/musl/Manifest
19 +++ b/sys-libs/musl/Manifest
20 @@ -2,3 +2,4 @@ DIST getconf.c 11614 SHA256 d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae5
21 DIST getent.c 9438 SHA256 68373a55e89ce85c562d941ccf588337d6cc6c9c17689d695f65cd7607134bbe SHA512 b35de9847353b273516162ed4828a810c6130fc5b7de44ee4433003b3f99647b25792d9b1c40dfc67069add11f3fb850e5c35d4f1912dccac108059bbbdfd5a2 WHIRLPOOL 473e54a9158e70c411f4c84e590bcfd245051212a3346a3c6dd45df9f09a5fbccbc8900ad7f8691eb5ebb8cd1002caf9519abaffb1753175d4f8acb1d32236b4
22 DIST iconv.c 2577 SHA256 f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7 SHA512 9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf WHIRLPOOL 8b067d7f3e5b8c9862cf78cf727fa748d9b6b23be518df382251d1e3e0a6eb386b1fd7788ba3b36dadba03aa5b43e25eb25528efcadc74fa543c38a61650c5bc
23 DIST musl-1.1.15.tar.gz 911600 SHA256 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa SHA512 9e923572c0d6bad3dc2d2646d4b0699c10b477ce6300ac6c6224895192a90667f581ddf6eda2ab8c4c16f47bde4bccb03bb90478638d136d9df721430f4d0163 WHIRLPOOL 68c510cf7d4216ccc5775466fa23f76ebecf1658552d613dee523bb7cc3a9f824959fe76355d1ce47326b276bf2657c9b4f3f557d81bf9c1a873f18405ad8ebf
24 +DIST musl-1.1.16.tar.gz 927178 SHA256 937185a5e5d721050306cf106507a006c3f1f86d86cd550024ea7be909071011 SHA512 47c00e50b7605102fb4aebe1f9ba9db94d26fac64805f6d744c9c557a05b8a58dff7f9558ff7c8d66b5d7c43740cdc2dd79448bacac47f1414e6ada99c210140 WHIRLPOOL d4e84ef591a1cee0a64d4abf258b7cb2eeacfa7b11695b1bfa89bafde0404e8310a02ab04814df2d4a9ac812a640bbcf8695bab10807f8b8d64c5bdb9d468ca4
25
26 diff --git a/sys-libs/musl/musl-1.1.16.ebuild b/sys-libs/musl/musl-1.1.16.ebuild
27 new file mode 100644
28 index 00000000..fc64c20
29 --- /dev/null
30 +++ b/sys-libs/musl/musl-1.1.16.ebuild
31 @@ -0,0 +1,117 @@
32 +# Copyright 1999-2017 Gentoo Foundation
33 +# Distributed under the terms of the GNU General Public License v2
34 +# $Id$
35 +
36 +EAPI=6
37 +
38 +inherit eutils flag-o-matic multilib toolchain-funcs
39 +if [[ ${PV} == "9999" ]] ; then
40 + EGIT_REPO_URI="git://git.musl-libc.org/musl"
41 + inherit git-r3
42 + SRC_URI="
43 + http://dev.gentoo.org/~blueness/musl-misc/getconf.c
44 + http://dev.gentoo.org/~blueness/musl-misc/getent.c
45 + http://dev.gentoo.org/~blueness/musl-misc/iconv.c"
46 + KEYWORDS=""
47 +else
48 + SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz
49 + http://dev.gentoo.org/~blueness/musl-misc/getconf.c
50 + http://dev.gentoo.org/~blueness/musl-misc/getent.c
51 + http://dev.gentoo.org/~blueness/musl-misc/iconv.c"
52 + KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
53 +fi
54 +
55 +export CBUILD=${CBUILD:-${CHOST}}
56 +export CTARGET=${CTARGET:-${CHOST}}
57 +if [[ ${CTARGET} == ${CHOST} ]] ; then
58 + if [[ ${CATEGORY} == cross-* ]] ; then
59 + export CTARGET=${CATEGORY#cross-}
60 + fi
61 +fi
62 +
63 +DESCRIPTION="Light, fast and simple C library focused on standards-conformance and safety"
64 +HOMEPAGE="http://www.musl-libc.org/"
65 +LICENSE="MIT LGPL-2 GPL-2"
66 +SLOT="0"
67 +IUSE="crosscompile_opts_headers-only"
68 +
69 +QA_SONAME="/usr/lib/libc.so"
70 +QA_DT_NEEDED="/usr/lib/libc.so"
71 +
72 +is_crosscompile() {
73 + [[ ${CHOST} != ${CTARGET} ]]
74 +}
75 +
76 +just_headers() {
77 + use crosscompile_opts_headers-only && is_crosscompile
78 +}
79 +
80 +pkg_setup() {
81 + if [ ${CTARGET} == ${CHOST} ] ; then
82 + case ${CHOST} in
83 + *-musl*) ;;
84 + *) die "Use sys-devel/crossdev to build a musl toolchain" ;;
85 + esac
86 + fi
87 +}
88 +
89 +src_configure() {
90 + tc-getCC ${CTARGET}
91 + just_headers && export CC=true
92 +
93 + local sysroot
94 + is_crosscompile && sysroot=/usr/${CTARGET}
95 + ./configure \
96 + --target=${CTARGET} \
97 + --prefix=${sysroot}/usr \
98 + --syslibdir=${sysroot}/lib \
99 + --disable-gcc-wrapper || die
100 +}
101 +
102 +src_compile() {
103 + emake obj/include/bits/alltypes.h
104 + just_headers && return 0
105 +
106 + emake
107 + $(tc-getCC) ${CFLAGS} "${DISTDIR}"/getconf.c -o "${T}"/getconf || die
108 + $(tc-getCC) ${CFLAGS} "${DISTDIR}"/getent.c -o "${T}"/getent || die
109 + $(tc-getCC) ${CFLAGS} "${DISTDIR}"/iconv.c -o "${T}"/iconv || die
110 +}
111 +
112 +src_install() {
113 + local target="install"
114 + just_headers && target="install-headers"
115 + emake DESTDIR="${D}" ${target}
116 + just_headers && return 0
117 +
118 + # musl provides ldd via a sym link to its ld.so
119 + local sysroot
120 + is_crosscompile && sysroot=/usr/${CTARGET}
121 + local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*)
122 + dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd
123 +
124 + if [[ ${CATEGORY} != cross-* ]] ; then
125 + local arch=$("${D}"usr/lib/libc.so 2>&1 | sed -n '1s/^musl libc (\(.*\))$/\1/p')
126 + [[ -e "${D}"/lib/ld-musl-${arch}.so.1 ]] || die
127 + cp "${FILESDIR}"/ldconfig.in "${T}" || die
128 + sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die
129 + into /
130 + dosbin "${T}"/ldconfig
131 + into /usr
132 + dobin "${T}"/getconf
133 + dobin "${T}"/getent
134 + dobin "${T}"/iconv
135 + echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl || die
136 + doenvd "${T}"/00musl || die
137 + fi
138 +}
139 +
140 +pkg_postinst() {
141 + is_crosscompile && return 0
142 +
143 + [ "${ROOT}" != "/" ] && return 0
144 +
145 + ldconfig || die
146 + # reload init ...
147 + /sbin/telinit U 2>/dev/null
148 +}