From ed10819401721922f7556be8ef2054239d4e9fc4 Mon Sep 17 00:00:00 2001 From: "Anthony G. Basile" Date: Thu, 26 Mar 2015 13:42:56 +0000 Subject: [PATCH] Make ldd symlink happy when cross compiling. Bug #544128. Package-Manager: portage-2.2.14/cvs/Linux x86_64 Manifest-Sign-Key: 0xF52D4BBA --- sys-libs/musl/ChangeLog | 8 ++- sys-libs/musl/Manifest | 31 +++++----- sys-libs/musl/musl-1.1.7-r1.ebuild | 99 ++++++++++++++++++++++++++++++ sys-libs/musl/musl-9999.ebuild | 28 ++++----- 4 files changed, 134 insertions(+), 32 deletions(-) create mode 100644 sys-libs/musl/musl-1.1.7-r1.ebuild diff --git a/sys-libs/musl/ChangeLog b/sys-libs/musl/ChangeLog index ba5401384d2d..394727168e78 100644 --- a/sys-libs/musl/ChangeLog +++ b/sys-libs/musl/ChangeLog @@ -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 +musl-1.1.7-r1.ebuild, + musl-9999.ebuild: + Make ldd symlink happy when cross compiling. Bug #544128. 24 Mar 2015; Anthony G. Basile musl-1.1.7.ebuild: Stable on amd64, arm, ppc and x86. diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest index 18ff4ec74f48..e55b6b52602e 100644 --- a/sys-libs/musl/Manifest +++ b/sys-libs/musl/Manifest @@ -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 index 000000000000..974b75b23950 --- /dev/null +++ b/sys-libs/musl/musl-1.1.7-r1.ebuild @@ -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 +} diff --git a/sys-libs/musl/musl-9999.ebuild b/sys-libs/musl/musl-9999.ebuild index acd75a1356fd..31b8dabd4fe0 100644 --- a/sys-libs/musl/musl-9999.ebuild +++ b/sys-libs/musl/musl-9999.ebuild @@ -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() { -- 2.26.2