blueness 15/03/26 13:42:41 Modified: musl-9999.ebuild ChangeLog Added: musl-1.1.7-r1.ebuild Log: Make ldd symlink happy when cross compiling. Bug #544128. (Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 0xF52D4BBA)
Revision Changes Path 1.15 sys-libs/musl/musl-9999.ebuild file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/musl/musl-9999.ebuild?rev=1.15&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/musl/musl-9999.ebuild?rev=1.15&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/musl/musl-9999.ebuild?r1=1.14&r2=1.15 Index: musl-9999.ebuild =================================================================== RCS file: /var/cvsroot/gentoo-x86/sys-libs/musl/musl-9999.ebuild,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- musl-9999.ebuild 7 Mar 2015 21:08:24 -0000 1.14 +++ musl-9999.ebuild 26 Mar 2015 13:42:41 -0000 1.15 @@ -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 @@ 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_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() { 1.46 sys-libs/musl/ChangeLog file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/musl/ChangeLog?rev=1.46&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/musl/ChangeLog?rev=1.46&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/musl/ChangeLog?r1=1.45&r2=1.46 Index: ChangeLog =================================================================== RCS file: /var/cvsroot/gentoo-x86/sys-libs/musl/ChangeLog,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- ChangeLog 24 Mar 2015 00:14:05 -0000 1.45 +++ ChangeLog 26 Mar 2015 13:42:41 -0000 1.46 @@ -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 <bluen...@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 <bluen...@gentoo.org> musl-1.1.7.ebuild: Stable on amd64, arm, ppc and x86. 1.1 sys-libs/musl/musl-1.1.7-r1.ebuild file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/musl/musl-1.1.7-r1.ebuild?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-libs/musl/musl-1.1.7-r1.ebuild?rev=1.1&content-type=text/plain Index: musl-1.1.7-r1.ebuild =================================================================== # 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 }