Make ldd symlink happy when cross compiling. Bug #544128.
authorAnthony G. Basile <blueness@gentoo.org>
Thu, 26 Mar 2015 13:42:56 +0000 (13:42 +0000)
committerAnthony G. Basile <blueness@gentoo.org>
Thu, 26 Mar 2015 13:42:56 +0000 (13:42 +0000)
Package-Manager: portage-2.2.14/cvs/Linux x86_64
Manifest-Sign-Key: 0xF52D4BBA

sys-libs/musl/ChangeLog
sys-libs/musl/Manifest
sys-libs/musl/musl-1.1.7-r1.ebuild [new file with mode: 0644]
sys-libs/musl/musl-9999.ebuild

index ba5401384d2d0b13ab6859c49b0f20449c0a6f44..394727168e787fe53406631c36e5225ff531a5fc 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sys-libs/musl
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/ChangeLog,v 1.45 2015/03/24 00:14:05 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/ChangeLog,v 1.46 2015/03/26 13:42:41 blueness Exp $
+
+*musl-1.1.7-r1 (26 Mar 2015)
+
+  26 Mar 2015; Anthony G. Basile <blueness@gentoo.org> +musl-1.1.7-r1.ebuild,
+  musl-9999.ebuild:
+  Make ldd symlink happy when cross compiling.  Bug #544128.
 
   24 Mar 2015; Anthony G. Basile <blueness@gentoo.org> musl-1.1.7.ebuild:
   Stable on amd64, arm, ppc and x86.
index 18ff4ec74f48dc00d4ce601bd564a813fcf103ea..e55b6b52602efc31df972514a85daf658e679458 100644 (file)
@@ -6,24 +6,25 @@ DIST musl-1.1.6.tar.gz 876821 SHA256 5a0160c55c540d5b90158617a57647f1b03209f58d9
 DIST musl-1.1.7.tar.gz 904546 SHA256 d8e0aae287ecf8aa6500d3ed4131f33d216a7857dc7649a89125ffca6bf91599 SHA512 7fe002ed5f7fd96c8759f3f85ee382809043e1829e093b88eaaddc197f7d558473ad66b33be41dbb1afe750ccdd62e6dfcc3a591c122e84435142fab890e8edc WHIRLPOOL c9261b4887df25316f7b179cfdf6b25277f69aa512c29ebe53b6fa4742712007d393144cbbf825be4cb63aa250558efbae2dcb43185a4937b99c0e9bd6efc861
 EBUILD musl-1.1.5.ebuild 2259 SHA256 edf0f660eb7980df0b4c1548b699ba7b7c4ab42429ca07b46383c76dd912c679 SHA512 9c98edf2e4a49a4fcf1d7bace18f372c89bd56b7fca645cc3855926c9711d936f335ab90b306f59bb858ab63710eee06b4f857f17651bca7312c68e38e6769fd WHIRLPOOL 47b67a5ba0b5ffab81e7ec26afdcb17475af76326046c17c2b0b2d2d71ac90bbedefc1111c932f55012ecc9a03f25429190d7d0f20e521eaf3d5d93f0146c2e7
 EBUILD musl-1.1.6.ebuild 2259 SHA256 a7ec621a99226c0b442fed142355457e3a29724da00fa276f5f7e020416a910b SHA512 7c5d52defba4ab9fe562eb6fc80143082f9826570ea736e59a3779e80a5a4db50f3db6dfb0b6f86431c629e4bb2ee411c75ea04c2bc4d0f65de430f7e7a806a0 WHIRLPOOL 5e6d858783774dd8629fdc46ff166798bb0afb77910fcde05c926164a49bb16411740598bd5b052e41a64d4df6ed7348b1d194f60cef6db9e342415cfd08550b
+EBUILD musl-1.1.7-r1.ebuild 2253 SHA256 a748fafc52dba9a4230c93c5e793427785397bcd1500e8e37108cf1182fd6dfe SHA512 9a3ca22a19d50a05f6bdbb9d327300b30e139b7b1d880118e0f2e8fcdc6108edf7f2aa2c48a41068e1d1050f7256c507de23f92ecf84225ee8409a72b8668a8d WHIRLPOOL b9d7f6665e0ae59d7aedf9c0620822b04d76fa63afbfd2d02bcb468eb2e5a9b073da2de8defe3328bd4e9e7843046cd3062086d17adced3452ba6c3817c2fbed
 EBUILD musl-1.1.7.ebuild 2387 SHA256 61b02e2d18a8569d472a965c3e11056908c76afaf525350b02ee19b52621eb42 SHA512 402e41969d1f7e8904f5b7ae5e7a3ba7a284e49b9ba433a45caa27cf51b2222008787315112adf6d312c35bb03d7976cde4d21e76b38baa4a442944c3ae82918 WHIRLPOOL 56ae3116803f97f3ff4e5ed5c20093b1867519a68530d381022b9047421401f4f0aa41eb2ad4e5db9d5bd9e7e05818a82418c6ce006cf0e2b5d28f6501178d34
-EBUILD musl-9999.ebuild 2391 SHA256 d54d2bbd9d0238c70fa4d3819e9ea0f0e901b587921c669768718010042912ec SHA512 caf5b2b62e9437195a2ecf597422bed9e062e892d6328c0e057a2ce9430b436702ccb8552cd753f892a612d8fc99aec93123c101b90b2bf0742b2af0162a671c WHIRLPOOL 46efd92b6d8f6220d9f016f1ee76bd4ced3ced36b45ff65a2be398b968c70c1a05bf68b6a8547a348c456c072f32dcd57fb6014982657207c6a0789a93566413
-MISC ChangeLog 6311 SHA256 1a9e16036143f3fa047365acdaa7f2205bd7535c2fbb6eef00d9d915f1b07786 SHA512 64eae1d1876ac5241e3e5f4c53badf2367e5a03ef803d8a58baf4725f59f8ce05cb63b396f40365c31b415984f380a9c1cecbd11f4b9285a78c54398a6d40cdb WHIRLPOOL 8278807f9d62b68070e0b10e0b11ade88f314305c67ca81a0a6a47cba31e03e987f7e72a13e2686622430ff88f8381885f54e5e349f4ed05c5832861fa5c731f
+EBUILD musl-9999.ebuild 2250 SHA256 be95d4a01d223820dbe83ea0d17379c69f23867922b2d908e6786282b7e8951b SHA512 c2dc56b74f21df54877c78b0b2844c190a9ab44db443093fe1a3c81d38f7d4865eb1879c610fa91d6cfef7ef0a8e5d6e74a1a7f7c55651206f8db0e90856e70e WHIRLPOOL 92a70d8b80da91de3cdd70879d115f8dd6b8cc0d0aeb168ad9d901543545af413f2f7a462c531e70ce835ed92562b972264ee53222248e162c1e3344664c758d
+MISC ChangeLog 6501 SHA256 b66f3a3b4afb13800b7c24cd8416ba842dfb21ca335a63f97069d7df2da54f3e SHA512 ef6e502eed13129ba84da5f4e1ea8f8329a82ae076d7c520b62a27df28d1da87c2dd498146a8ca9637c33ed983f71f18d19cd692d1cc873f4a9bceacb054680b WHIRLPOOL b772d945eb1d67fef9f01e39163211c9ed6261c4bc4bd66918daaffdb0bb7518ea560867e71aed16b10aca252d6108431811bedfd28f92a70cc864e6e103ff84
 MISC metadata.xml 327 SHA256 fd917b3ad115fac11699c82ff087e97c323fe2327f77813c9a2b9cfc27e45042 SHA512 b58ed48ee5332d6e91dfb58faad0a0fecd4b8da27b0edf6c1809a7338764e629eb5c12feb09fae80443b486af27af0d0f2e6ceeb4fc605e6d04b31c1041b3127 WHIRLPOOL 4941c5da58f683ff0a83fdc83017a8fd9a1bbb02fa1b5ea47302ebe7f7d324c0820088acb1eb32263fdb9b4120bc93f24997515bc30515b90055b48d167fd56a
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQIcBAEBCAAGBQJVEKykAAoJEJOE+m71LUu6KsEP/0rK9ElqQChy2rGXWvYdBAuw
-FFSruOqmzEh6ovQfkxQpIxnt+Z6hH8f7uvNHxel1I6ApgcgXzhE48g4NUZwVNzwR
-USTuiUvnYw4jp0ai64pL4X5481jGLvk5y9LOH85H7FuJtdwdn/XFh7xOrgMVeEMo
-Wu9CpC6YW76RlwMIryvNOGEOK8CZ3+3IKnZvR/E/7VTBbIzLbjBfD5fICh0icbK3
-9cWPO08Ust3ej9/efEv1jHS87nl3bF4WgfrXyuvQKQYoVkxyJ4VIVV3NK6DSzL80
-cK/mRLl9hyfJ/9mM/X1NP66ZgvCdOLjsrlSjj2RorCVZQy86zUi0F+O4FeCcKeHM
-/wtfKhf+flrVY4RJIXLVDkZluyosOGSchZejL/J+4GpdL1c4mFLOCcClGJJDrRG+
-pDMKChYU84t4+hK/XtwBKhocr/Zfa0IeVAKOX0Id4a9sfdN4KiTqMkmBmXi8hsyZ
-O3T1mZety2PMvRcBApr7MG8NUm7KQpbX2bVyQSRcYAR2eJlkmkFsGcodOHc9d28+
-mzFu/qo1IQgL1lHN7USvsTT7N08ECL45FTh3nE99KYg4fgF3Uv+deV23z14MEiR6
-d0Ua0TR2ShQnCCsrtzkpGIbIpcMSRE97qcrGb7BvHiPfDpudxP6qqaufubLEO1vF
-CS6EI4e+2khr9zpLFQpH
-=cMKQ
+iQIcBAEBCAAGBQJVFA0wAAoJEJOE+m71LUu6qUIP+wSTj+cjDE0BxFsppNCxDpAe
+y/S90EMyogIz4QOfjz/yTKi2fyZkLhXvkrJ9BqLWTzv6PSJVZTFpQ5G8PTsd8Gl9
+klRVaybqO3tXVpCHzrlFyMuKGEhV9zfKqr+FPj80f1/D9hYu254+iUY1iWenQk5p
+UkGkJh2EGYCbWaMuMO6oMK7sLhnhcOacgVSc1HhH9M5kM5hF9G545txpnP4KxN8k
+SWpqOyU+HgIVFWt/u5Pn8707S5uggkSTHawmxlmIAS+ogzxiSl0rAoSnE+DEEMWs
+7DIZ7VmBtUrAFv35dBFO4lEcButvIg4d53rU5fomzIvjiEvRuwPFPUSjemc0KEOF
+TlYDiRGF6geiRd2tSICLu/Dr0JbuPnqKGDdwTsOXzVB1yEzt4xlF9z64KbphIZbf
+XL4LllDKhjMhqfVRcrp+btTITS1CeZxD433g9DE/yGUyncGKvetugAs+kLQKFQtf
+70N7Gqxbu5I+egU5MVEZRnGwu2JoDkuguNeeNX0pcoQSpvCGVYP9XA/L7VbHb3vw
+IaOsc622ZIJSN/X2yU8d7vm8JTkrteNzAqeK3Kw4yId6JAz6sj3IxuBa66TDZv6G
+pl8xthRGfblK0bhPy6gnllVNaItSLM2V0rqrLjiA8nqXiZ9stn00DTXEn1C07fNI
+RiAgNoAJzlN7imKDLdJy
+=9qV9
 -----END PGP SIGNATURE-----
diff --git a/sys-libs/musl/musl-1.1.7-r1.ebuild b/sys-libs/musl/musl-1.1.7-r1.ebuild
new file mode 100644 (file)
index 0000000..974b75b
--- /dev/null
@@ -0,0 +1,99 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/musl-1.1.7-r1.ebuild,v 1.1 2015/03/26 13:42:41 blueness Exp $
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+if [[ ${PV} == "9999" ]] ; then
+       EGIT_REPO_URI="git://git.musl-libc.org/musl"
+       inherit git-2
+fi
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+       if [[ ${CATEGORY} == cross-* ]] ; then
+               export CTARGET=${CATEGORY#cross-}
+       fi
+fi
+
+DESCRIPTION="Lightweight, fast and simple C library focused on standards-conformance and safety"
+HOMEPAGE="http://www.musl-libc.org/"
+if [[ ${PV} != "9999" ]] ; then
+       PATCH_VER=""
+       SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz"
+       KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="crosscompile_opts_headers-only"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+       RDEPEND+=" sys-apps/getent"
+fi
+
+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
+
+       epatch_user
+}
+
+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
+}
+
+src_compile() {
+       emake include/bits/alltypes.h || die
+       just_headers && return 0
+
+       emake || die
+}
+
+src_install() {
+       local target="install"
+       just_headers && target="install-headers"
+       emake DESTDIR="${D}" ${target} || die
+       just_headers && return 0
+
+       # musl provides ldd via a sym link to its ld.so
+       local ldso=$(basename "${D}"/lib/ld-musl-*)
+       local sysroot
+       is_crosscompile && sysroot=/usr/${CTARGET}
+       dosym /lib/${ldso} ${sysroot}/usr/bin/ldd
+}
+
+pkg_postinst() {
+       is_crosscompile && return 0
+
+       [ "${ROOT}" != "/" ] && return 0
+
+       # TODO: musl doesn't use ldconfig, instead here we can
+       # create sym links to libraries outside of /lib and /usr/lib
+       ldconfig
+       # reload init ...
+       /sbin/telinit U 2>/dev/null
+}
index acd75a1356fd160114657bf428e161ea0387bc29..31b8dabd4fe0bbc3ac114c7f34b1d08757b2829b 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/musl-9999.ebuild,v 1.14 2015/03/07 21:08:24 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/musl/musl-9999.ebuild,v 1.15 2015/03/26 13:42:41 blueness Exp $
 
 EAPI=5
 
@@ -57,9 +57,12 @@ src_configure() {
        tc-getCC ${CTARGET}
        just_headers && export CC=true
 
+       local sysroot
+       is_crosscompile && sysroot=/usr/${CTARGET}
        ./configure \
-               --target="${CTARGET}" \
-               --prefix="/usr" \
+               --target=${CTARGET} \
+               --prefix=${sysroot}/usr \
+               --syslibdir=${sysroot}/lib \
                --disable-gcc-wrapper
 }
 
@@ -71,23 +74,16 @@ src_compile() {
 }
 
 src_install() {
-       local sysroot=${D}
-       is_crosscompile && sysroot+="/usr/${CTARGET}"
-
        local target="install"
        just_headers && target="install-headers"
-       emake DESTDIR="${sysroot}" ${target} || die
-
-       # Make sure we install the sys-include symlink so that when
-       # we build a 2nd stage cross-compiler, gcc finds the target
-       # system headers correctly.  See gcc/doc/gccinstall.info
-       if is_crosscompile ; then
-               dosym usr/include /usr/${CTARGET}/sys-include
-       fi
+       emake DESTDIR="${D}" ${target} || die
+       just_headers && return 0
 
        # musl provides ldd via a sym link to its ld.so
-       local ldso=$(basename ${D}/lib/ld-musl-*)
-       dosym /lib/${ldso} /usr/bin/ldd
+       local ldso=$(basename "${D}"/lib/ld-musl-*)
+       local sysroot
+       is_crosscompile && sysroot=/usr/${CTARGET}
+       dosym /lib/${ldso} ${sysroot}/usr/bin/ldd
 }
 
 pkg_postinst() {