new spiffy cross-compiler binutils
authorMike Frysinger <vapier@gentoo.org>
Wed, 20 Oct 2004 17:35:50 +0000 (17:35 +0000)
committerMike Frysinger <vapier@gentoo.org>
Wed, 20 Oct 2004 17:35:50 +0000 (17:35 +0000)
sys-devel/binutils/ChangeLog
sys-devel/binutils/Manifest
sys-devel/binutils/binutils-2.15.92.0.2-r2.ebuild [new file with mode: 0644]
sys-devel/binutils/files/digest-binutils-2.15.92.0.2-r2 [new file with mode: 0644]

index 27c896b26d658cb03d925fecc4dc6b8bd1a98835..fc852efd6a6f61c353b5b4f0ea13d41559eb3948 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for sys-devel/binutils
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/ChangeLog,v 1.163 2004/10/18 14:30:59 gmsoft Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/ChangeLog,v 1.164 2004/10/20 17:35:50 vapier Exp $
+
+*binutils-2.15.92.0.2-r2 (20 Oct 2004)
+
+  20 Oct 2004; Mike Frysinger <vapier@gentoo.org>
+  +binutils-2.15.92.0.2-r2.ebuild:
+  Clean up ebuild. Try to handle $CTARGET/$CHOST correctly. Use symlinks
+  instead of hard links in src_install().
 
   18 Oct 2004; Guy Martin <gmsoft@gentoo.org> binutils-2.15.92.0.2-r1.ebuild:
   Added ~hppa.
index 5e05921cc1f6b01874321bee65a9600f725f457f..e02b299d06fcada2db1de8feee0383625092d96e 100644 (file)
@@ -1,7 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 0c24c62fe28146841136c2e513b733e8 ChangeLog 36330
+MD5 f3472d881eb2f7607e6f0285f96b66d6 ChangeLog 36571
+MD5 734a6694cef96d6cd65fcf1e5689a2cd binutils-2.15.92.0.2-r2.ebuild 4473
 MD5 f88f8dfe3428f94d7d0f159f25be6fce binutils-2.14.90.0.6-r6.ebuild 6574
 MD5 91dd2a38d81c3197b8d9b322c28b5172 binutils-2.14.90.0.6-r7.ebuild 6699
 MD5 bd18572159248b6accc7f931e72c2087 binutils-2.15.90.0.1.1-r1.ebuild 4716
@@ -16,6 +17,7 @@ MD5 50ca49430b20bc9727ceece6289c7dad binutils-2.15.91.0.1-r2.ebuild 4994
 MD5 9d0edfae5f1bbfd6243fb71cdac0dd0a binutils-2.15.91.0.2.ebuild 5121
 MD5 dca4c0b2880c411176ca6cfcd95600db binutils-2.15.92.0.2.ebuild 5149
 MD5 c0454a0de06bf6e9136f49b993463337 binutils-2.15.92.0.2-r1.ebuild 4960
+MD5 1b43962f0560663b6b0f58ffa918a8ff files/digest-binutils-2.15.92.0.2-r2 242
 MD5 e3effee7a8054f5e0344034c596cb6fc files/binutils-2.14.amd64-32bit-path-fix.patch 456
 MD5 3b32997c2ca6b9893839c439e077e82d files/digest-binutils-2.14.90.0.6-r6 75
 MD5 3b32997c2ca6b9893839c439e077e82d files/digest-binutils-2.14.90.0.6-r7 75
@@ -85,7 +87,7 @@ MD5 8f619fc0c409a5ba768f126f172ee6bc files/2.15/05_all_binutils-2.15-elf32-arm-t
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.9.10 (GNU/Linux)
 
-iD8DBQFBdqDZHTu7gpaalycRAi0OAJoDS5nxcvHmUWC5/wDoajSw6oc3uQCg+LM5
-LNmbvuxXcOVOGBXXjHnXtWg=
-=lQA7
+iD8DBQFBdqIOHTu7gpaalycRAt+XAKC3IuYatqzOXu6CCtZ3CAxdjLv98QCgoQef
+1wrr+fBYIe+UlCEsorOpRbA=
+=iRBh
 -----END PGP SIGNATURE-----
diff --git a/sys-devel/binutils/binutils-2.15.92.0.2-r2.ebuild b/sys-devel/binutils/binutils-2.15.92.0.2-r2.ebuild
new file mode 100644 (file)
index 0000000..3ad3cd2
--- /dev/null
@@ -0,0 +1,175 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.15.92.0.2-r2.ebuild,v 1.1 2004/10/20 17:35:50 vapier Exp $
+
+inherit eutils libtool flag-o-matic gnuconfig
+
+PATCHVER="1.2"
+UCLIBC_PATCHVER="1.0"
+DESCRIPTION="Tools necessary to build programs"
+HOMEPAGE="http://sources.redhat.com/binutils/"
+SRC_URI="mirror://kernel/linux/devel/binutils/${P}.tar.bz2
+       mirror://kernel/linux/devel/binutils/test/${P}.tar.bz2
+       mirror://gentoo/${PN}-${PV:0:4}-uclibc-patches-${UCLIBC_PATCHVER}.tar.bz2
+       mirror://gentoo/${P}-patches-${PATCHVER}.tar.bz2"
+
+LICENSE="GPL-2 | LGPL-2"
+SLOT="${CTARGET:-${CHOST}}"
+KEYWORDS="-*"
+IUSE="nls bootstrap build multitarget uclibc"
+
+DEPEND="virtual/libc
+       nls? ( sys-devel/gettext )
+       !build? ( !bootstrap? ( dev-lang/perl ) )"
+
+MY_BUILDDIR="${WORKDIR}/build"
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+       mkdir -p "${MY_BUILDDIR}"
+
+       # Patches
+       cd ${WORKDIR}/patch
+       mkdir skip
+       if use uclibc ; then
+               mv *relro* skip/
+       else
+               mv *no_rel_ro* 20_* skip/
+       fi
+       mv *ldsoconf* skip/
+       cd ${S}
+       epatch ${WORKDIR}/patch
+       epatch ${WORKDIR}/uclibc-patches
+
+       # Run misc portage update scripts
+       gnuconfig_update
+       elibtoolize --portage --no-uclibc
+
+       strip-linguas -i */po
+}
+
+src_compile() {
+       filter-flags -fomit-frame-pointer -fssa #6730
+       strip-flags && replace-flags -O3 -O2 #47581
+
+       cd "${MY_BUILDDIR}"
+       local myconf=""
+       use nls \
+               && myconf="${myconf} --without-included-gettext" \
+               || myconf="${myconf} --disable-nls"
+       use multitarget && myconf="${myconf} --enable-targets=all"
+       ECONF_SOURCE="${S}" \
+       econf \
+               --enable-shared \
+               --enable-64-bit-bfd \
+               ${myconf} || die
+
+       make configure-bfd || die "configure-bfd"
+       make headers -C bfd || die "headers-bfd"
+       emake all || die "emake"
+
+       if ! use build ; then
+               if ! has noinfo ${FEATURES} ; then
+                       # Make the info pages (makeinfo included with gcc is used)
+                       make info || die "info"
+               fi
+               if ! use bootstrap && ! has noman ${FEATURES} ; then
+                       cd "${S}"
+                       # Nuke the manpages to recreate them (only use this if we have perl)
+                       find . -name '*.1' -exec rm -f {} \; || :
+               fi
+       fi
+}
+
+src_test() {
+       emake check
+}
+
+src_install() {
+       local x d
+
+       cd "${MY_BUILDDIR}"
+       make DESTDIR="${D}" install || die
+
+       # Now we move everything out of /usr and into $CTARGET/$SLOT
+       if [ -n "${CTARGET}" ] && [ "${CHOST}" != "${CTARGET}" ] ; then
+               cd "${D}/usr/${CHOST}/${CTARGET}/"
+               for x in * ; do
+                       cp -r ${x} ../../${CTARGET}/
+                       rm -r ${x}
+                       ln -s ../../${CTARGET}/${x}
+               done
+
+               cd "${D}/usr/bin"
+               for x in * ; do
+                       [ "${x/${CTARGET}}" != "${x}" ] && mv "${x}" "${x/${CTARGET}-}"
+               done
+
+               dodir /usr/include
+       else
+               insinto /usr/include
+               doins "${S}/include/libiberty.h"
+       fi
+       cd "${D}/usr"
+       find bin -maxdepth 1 -type l -exec rm {} \;
+       cp -r bin lib include ${SLOT}/
+       rm -r bin lib include
+
+       # Keep all the real files in /usr/${SLOT}/ and symlink 
+       # them into our path for
+       cd "${D}/usr/${SLOT}/bin"
+       dodir /usr/bin
+       for x in * ; do
+               dosym ../${SLOT}/bin/${x} /usr/bin/${SLOT}-${x}
+       done
+       if [ -z "${CTARGET}" ] || [ "${CHOST}" == "${CTARGET}" ] ; then
+               for d in bin lib include ; do
+                       cd "${D}/usr/${SLOT}/${d}"
+                       dodir /usr/${d}
+                       for x in * ; do
+                               [ -d "${x}" ] && continue
+                               dosym ../${SLOT}/${d}/${x} /usr/${d}/${x}
+                       done
+               done
+
+               if [ -n "${PROFILE_ARCH}" ] && [ "${PROFILE_ARCH/64}" != "${PROFILE_ARCH}" ] ; then
+                       dosym ${CHOST} /usr/${CHOST/-/64-}
+                       for x in `ls ${D}/usr/${CHOST}/bin/` ; do
+                               [ ! -e "${D}/usr/bin/${CHOST}-${x}" ] && \
+                                       dosym ../${CHOST}/bin/${x} /usr/bin/${CHOST}-${x}
+                               dosym ../${CHOST}/bin/${x} /usr/bin/${CHOST/-/64-}-${x}
+                       done
+               fi
+       fi
+
+       # Handle documentation
+       if ! use build ; then
+               if ! has noinfo ${FEATURES} ; then
+                       cd "${MY_BUILDDIR}"
+                       make DESTDIR="${D}" install-info || die
+               fi
+
+               if ! has nodoc ${FEATURES} ; then
+                       cd "${S}"
+                       dodoc README
+                       docinto bfd
+                       dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
+                       docinto binutils
+                       dodoc binutils/ChangeLog binutils/NEWS binutils/README
+                       docinto gas
+                       dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
+                       docinto gprof
+                       dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
+                       docinto ld
+                       dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
+                       docinto libiberty
+                       dodoc libiberty/ChangeLog* libiberty/README
+                       docinto opcodes
+                       dodoc opcodes/ChangeLog*
+                       # Install pre-generated manpages .. currently we do not ...
+               fi
+       else
+               rm -rf ${D}/usr/share/man
+       fi
+}
diff --git a/sys-devel/binutils/files/digest-binutils-2.15.92.0.2-r2 b/sys-devel/binutils/files/digest-binutils-2.15.92.0.2-r2
new file mode 100644 (file)
index 0000000..93074c2
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 702bc82d8b10914e112fb5c5d8b66498 binutils-2.15.92.0.2.tar.bz2 11019727
+MD5 d7c24c3391171278d90f1bdb4be2e673 binutils-2.15-uclibc-patches-1.0.tar.bz2 5729
+MD5 61ba79391117a3745e2c3dfdee5d1d8d binutils-2.15.92.0.2-patches-1.2.tar.bz2 58678