# Maintainer: jc_gargma # Maintainer (Parabola): David P. # # I maintain this because: # Required to build linux-libre-firmware # Parabola version uses bz2 source package _target=xtensa-elf pkgname=$_target-binutils pkgver=2.34 pkgrel=2 pkgdesc='A set of programs to assemble and manipulate binary and object files for the Xtensa target' arch=('x86_64' 'i686' 'armv7h') url="https://www.gnu.org/software/binutils/" license=('GPL') depends=('zlib') source=("https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz"{,.sig} "binutils.patch" "binutils-2.34_fixup.patch") b2sums=('07dd23916a7d27f71c3f160c8c16abe2bd4fce294c738c665a012a3be6a87dbe8160d0c38740524f9025e01d438e99b2a94bcf9f9f79ee214f5dd033de8aad3d' 'SKIP' '839127d83d08856cbaa29cc83436f26b0ffc8a2f96d7c4cc49746c37f47d0a5da2f6d0ac78723efaef63807f52643630bd76ff39526167d0d169b5c3bce9f21d' 'b316eb1a25d238d84a303e9a3cbe11a3c46443db2c0db1967284aaf530e0a2dc49f16f5330453e6f9a76449238f30a08ba1d9826efd84a554840de1464a83650') validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93' # Tristan Gingold '3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F') # Nick Clifton (Chief Binutils Maintainer) prepare() { cd binutils-$pkgver patch -Np1 -i ../binutils-2.34_fixup.patch patch -Np1 -i ../binutils.patch 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 \ --disable-multilib \ --with-gnu-as \ --with-gnu-ld \ --disable-nls \ --enable-ld=default \ $enable_gold \ --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 }