[arch-commits] Commit in binutils/repos (3 files)

Allan McRae allan at archlinux.org
Sun Aug 14 10:07:20 UTC 2011


    Date: Sunday, August 14, 2011 @ 06:07:19
  Author: allan
Revision: 135501

archrelease: copy trunk to testing-x86_64

Added:
  binutils/repos/testing-x86_64/
  binutils/repos/testing-x86_64/PKGBUILD
    (from rev 135500, binutils/trunk/PKGBUILD)
  binutils/repos/testing-x86_64/binutils.install
    (from rev 135500, binutils/trunk/binutils.install)

------------------+
 PKGBUILD         |   83 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 binutils.install |   17 ++++++++++
 2 files changed, 100 insertions(+)

Copied: binutils/repos/testing-x86_64/PKGBUILD (from rev 135500, binutils/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2011-08-14 10:07:19 UTC (rev 135501)
@@ -0,0 +1,83 @@
+# $Id$
+# Maintainer: Allan McRae <allan at archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=binutils
+pkgver=2.21.1
+pkgrel=2
+_date=20110627
+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')
+checkdepends=('dejagnu')
+options=('!libtool' '!distcc' '!ccache')
+install=binutils.install
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
+md5sums=('2face559e80d649ba148e42bb2d1fb0f')
+
+mksource() {
+  mkdir ${pkgname}-${_date}
+  cd ${pkgname}-${_date}
+  export _TAG=binutils-2_21-branch
+  export 'CVSROOT=:pserver:anoncvs at 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}
+  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
+
+  # check the host environment and makes sure all the necessary tools are available
+  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
+}

Copied: binutils/repos/testing-x86_64/binutils.install (from rev 135500, binutils/trunk/binutils.install)
===================================================================
--- testing-x86_64/binutils.install	                        (rev 0)
+++ testing-x86_64/binutils.install	2011-08-14 10:07:19 UTC (rev 135501)
@@ -0,0 +1,17 @@
+infodir=usr/share/info
+filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.info)
+
+post_upgrade() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+  done
+}
+
+pre_remove() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+  done
+}
+




More information about the arch-commits mailing list