From 70cbab85a49ef511a4d7ef2d1d4d955d23d29d97 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Mon, 6 Aug 2012 17:30:24 -0500
Subject: binutils: 2.22

---
 abs/core/binutils/PKGBUILD | 51 +++++++++++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 19 deletions(-)

diff --git a/abs/core/binutils/PKGBUILD b/abs/core/binutils/PKGBUILD
index 4c6e5a9..fefc124 100644
--- a/abs/core/binutils/PKGBUILD
+++ b/abs/core/binutils/PKGBUILD
@@ -1,28 +1,28 @@
-# $Id$
+# $Id: PKGBUILD 163511 2012-07-14 13:06:56Z allan $
 # Maintainer: Allan McRae <allan@archlinux.org>
 
 # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
 
 pkgname=binutils
-pkgver=2.21.1
-pkgrel=1
-_date=20110627
+pkgver=2.22
+pkgrel=9
+_date=20120323
 pkgdesc="A set of programs to assemble and manipulate binary and object files"
 arch=('i686' 'x86_64')
 url="http://www.gnu.org/software/binutils/"
 license=('GPL')
-groups=('base')
-depends=('glibc>=2.14' 'zlib')
+groups=('base-devel')
+depends=('glibc>=2.16' 'zlib')
 checkdepends=('dejagnu')
 options=('!libtool' '!distcc' '!ccache')
 install=binutils.install
 source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
-md5sums=('2face559e80d649ba148e42bb2d1fb0f')
+md5sums=('de2ac4298732827f8af706fc24020330')
 
 mksource() {
   mkdir ${pkgname}-${_date}
   cd ${pkgname}-${_date}
-  export _TAG=binutils-2_21-branch
+  export _TAG=binutils-2_22-branch
   export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src'
   cvs -z9 co -r $_TAG binutils || return 1
   mv src binutils
@@ -36,6 +36,7 @@ build() {
   [[ $CARCH == "x86_64" ]] && CONFIGFLAG="--enable-64-bit-bfd --disable-multilib"
 
   ${srcdir}/binutils/configure --prefix=/usr \
+    --with-lib-path=/usr/lib:/usr/local/lib \
     --enable-ld=default --enable-gold \
     --enable-plugins --enable-threads \
     --enable-shared $CONFIGFLAG
@@ -44,13 +45,31 @@ build() {
   make configure-host
 
   make tooldir=${pkgdir}/usr
+
+  # Rebuild libiberty.a with -fPIC
+  cp -a libiberty libiberty-pic
+  make -C libiberty-pic clean
+  make CFLAGS="$CFLAGS -fPIC" -C libiberty-pic
+
+  # Rebuild libbfd.a with -fPIC
+  # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
+  cp -a bfd bfd-pic
+  make -C bfd-pic clean
+  make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd-pic
+
+  # Rebuild libopcodes.a with -fPIC
+  cp -a opcodes opcodes-pic
+  make -C opcodes-pic clean 
+  make CFLAGS="$CFLAGS -fPIC" -C opcodes-pic
 }
 
 check() {
   cd ${srcdir}/binutils-build
 
   # do not abort on errors - manually check log files
-  make -k -j1 check || true
+  # gold testsuite does not build with _FORTIFY_SOURCE (due to -O0 -Werror)
+  make CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}" \
+       CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}" -k check || true
 }
 
 package() {
@@ -61,16 +80,10 @@ package() {
   install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include
   install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include
 
-  # Rebuild libiberty.a with -fPIC
-  make -C libiberty clean
-  make CFLAGS="$CFLAGS -fPIC" -C libiberty
-  install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib
-
-  # Rebuild libbfd.a with -fPIC
-  make -C bfd clean
-  # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
-  make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd
-  install -m644 bfd/libbfd.a ${pkgdir}/usr/lib
+  # install libraries rebuilt with -fPIC
+  install -m644 libiberty-pic/libiberty.a ${pkgdir}/usr/lib
+  install -m644 bfd-pic/libbfd.a ${pkgdir}/usr/lib
+  install -m644 opcodes/libopcodes.a ${pkgdir}/usr/lib
 
   # Remove Windows/Novell specific man pages
   rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
-- 
cgit v0.12

