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
}




Reply via email to