summaryrefslogtreecommitdiff
path: root/libre/x86_64-pc-linux-gnu-binutils
diff options
context:
space:
mode:
Diffstat (limited to 'libre/x86_64-pc-linux-gnu-binutils')
-rw-r--r--libre/x86_64-pc-linux-gnu-binutils/PKGBUILD64
1 files changed, 64 insertions, 0 deletions
diff --git a/libre/x86_64-pc-linux-gnu-binutils/PKGBUILD b/libre/x86_64-pc-linux-gnu-binutils/PKGBUILD
new file mode 100644
index 000000000..cf79e6928
--- /dev/null
+++ b/libre/x86_64-pc-linux-gnu-binutils/PKGBUILD
@@ -0,0 +1,64 @@
+# Contributor: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
+
+_target=x86_64-pc-linux-gnu
+pkgname=$_target-binutils
+pkgver=2.31.1
+pkgrel=1
+pkgdesc='A set of programs to assemble and manipulate binary and object files for the x86_64 target'
+arch=('x86_64' 'i686' 'armv7h')
+url='http://www.gnu.org/software/binutils/'
+license=(GPL)
+depends=(zlib)
+source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.bz2{,.sig})
+sha512sums=('b42954e6f49a0adcd2676bdd77dfb59bfc25cec8184b007521d1e2b1d5d0593b58639e3d9448d5a40fe024c3cea386a37743627d6bb16d502f52a4a32b9573bd'
+ 'SKIP')
+validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93' # Tristan Gingold <gingold@adacore.com>
+ '3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F') # Nick Clifton (Chief Binutils Maintainer) <nickc@redhat.com>
+
+prepare() {
+ cd binutils-$pkgver
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+}
+
+build() {
+ cd binutils-$pkgver
+
+ if [ "${CARCH}" != "i686" ]; then
+ # enabling gold linker at i686 makes the install fail
+ enable_gold='--enable-gold'
+ fi
+
+ ./configure --target=$_target \
+ --with-sysroot=/usr/$_target \
+ --prefix=/usr \
+ --with-gnu-as \
+ --with-gnu-ld \
+ --disable-nls \
+ --enable-ld=default \
+ $enable_gold \
+ --enable-multilib \
+ --enable-plugins \
+ --enable-deterministic-archives
+
+ make
+}
+
+check() {
+ cd binutils-$pkgver
+
+ # unset LDFLAGS as testsuite makes assumptions about which ones are active
+ # do not abort on errors - manually check log files
+ make LDFLAGS="" -k check || true
+}
+
+package() {
+ cd binutils-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ # Remove file conflicting with host binutils and manpages for MS Windows tools
+ rm "$pkgdir"/usr/share/man/man1/$_target-{dlltool,windres,windmc}*
+
+ # Remove info documents that conflict with host version
+ rm -r "$pkgdir"/usr/share/info
+}