summaryrefslogtreecommitdiff
path: root/testing/binutils/PKGBUILD
diff options
context:
space:
mode:
authorNicolas Reynolds <fauno@kiwwwi.com.ar>2011-05-14 00:07:43 -0300
committerNicolas Reynolds <fauno@kiwwwi.com.ar>2011-05-14 00:07:43 -0300
commit6d90f2496f41209ab84d8b61d20b4d79d632ec7d (patch)
tree91a141bc21b17ccd6187b5c6a8b9f53367d9c93e /testing/binutils/PKGBUILD
parent26841be26f283b971f431eb735f748cef7a5250d (diff)
parent2c4629f613c001fd29740d0f4c0e497c771a2182 (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: community/frogatto/PKGBUILD community/python-psycopg2/PKGBUILD core/libtirpc/PKGBUILD extra/cd-discid/PKGBUILD extra/cups/PKGBUILD extra/cyrus-sasl/PKGBUILD extra/evolution-data-server/PKGBUILD extra/gnome-control-center/PKGBUILD extra/gnugo/PKGBUILD extra/gperf/PKGBUILD extra/gtk2/PKGBUILD extra/kdegames/PKGBUILD extra/kismet/PKGBUILD extra/lzo/PKGBUILD extra/mutt/PKGBUILD extra/obconf/PKGBUILD extra/opensp/PKGBUILD extra/qt3/PKGBUILD extra/re2c/PKGBUILD extra/samba/PKGBUILD extra/sharutils/PKGBUILD extra/wireshark/PKGBUILD
Diffstat (limited to 'testing/binutils/PKGBUILD')
-rw-r--r--testing/binutils/PKGBUILD89
1 files changed, 89 insertions, 0 deletions
diff --git a/testing/binutils/PKGBUILD b/testing/binutils/PKGBUILD
new file mode 100644
index 000000000..0d1d6a0bc
--- /dev/null
+++ b/testing/binutils/PKGBUILD
@@ -0,0 +1,89 @@
+# $Id: PKGBUILD 123424 2011-05-11 10:41:25Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=binutils
+pkgver=2.21
+pkgrel=8
+_date=20110430
+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.13' 'zlib')
+makedepends=('dejagnu')
+options=('!libtool' '!distcc' '!ccache')
+install=binutils.install
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2
+ binutils-2.21-strip-segfault.patch)
+md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec'
+ '98e8dfaf1c0ededa586823ebfb27825a')
+
+mksource() {
+ mkdir ${pkgname}-${_date}
+ cd ${pkgname}-${_date}
+ export _TAG=binutils-2_21-branch
+ export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src'
+ cvs -z9 co -r $_TAG binutils || return 1
+ mv src binutils
+ tar -cvjf ../binutils-${pkgver}_${_date}.tar.bz2 binutils/*
+}
+
+build() {
+ cd ${srcdir}/binutils
+ # http://sourceware.org/bugzilla/show_bug.cgi?id=12632
+ patch -Np1 -i $srcdir/binutils-2.21-strip-segfault.patch
+
+ cd ${srcdir}
+ mkdir binutils-build && cd binutils-build
+
+ [[ $CARCH == "x86_64" ]] && CONFIGFLAG="--enable-64-bit-bfd --disable-multilib"
+
+ ${srcdir}/binutils/configure --prefix=/usr \
+ --enable-ld=default --enable-gold \
+ --enable-plugins --enable-threads \
+ --enable-shared $CONFIGFLAG
+
+ # This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
+ make configure-host
+
+ make tooldir=${pkgdir}/usr
+}
+
+check() {
+ cd ${srcdir}/binutils-build
+
+ # do not abort on errors - manually check log files
+ make -k -j1 check || true
+}
+
+package() {
+ cd ${srcdir}/binutils-build
+ make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
+
+ # Add some useful headers
+ 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
+
+ # Remove Windows/Novell specific man pages
+ rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
+
+ # Remove these symlinks, they are not ABI stable.
+ # Programs should compile static to the .a file.
+ rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so
+ echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so
+ echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so
+}