2025-07-27 16:01:12 +02:00

75 lines
2.4 KiB
Bash

# Maintainer: Alexey Pavlov <alexpux@gmail.com>
pkgname=binutils
pkgver=2.45
pkgrel=1
pkgdesc="A set of programs to assemble and manipulate binary and object files"
arch=('i686' 'x86_64')
url="https://www.gnu.org/software/binutils/"
msys2_references=(
"cpe: cpe:/a:gnu:binutils"
)
license=('GPL')
depends=('libiconv' 'libintl' 'zlib')
checkdepends=('dejagnu' 'bc')
makedepends=('libiconv-devel' 'gettext-devel' 'zlib-devel' 'autotools' 'gcc')
options=('staticlibs' '!distcc' '!ccache')
source=(https://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.xz{,.sig}
0050-bfd-Increase-_bfd_coff_max_nscns-to-65279.patch
0100-binutils-2.37-msys2.patch
2002-Allow-spaces-in-the-name-of-the-external-preprocesso.patch)
sha256sums=('c50c0e7f9cb188980e2cc97e4537626b1672441815587f1eab69d2a1bfbef5d2'
'SKIP'
'4e8ac055df61b1b5d6ae29dc87e1154737c2e87c7b244b44866702cabf1a5d18'
'4a457d6ec33c5040a4d6a897c32e0a1743aa5052f24a989c86609de508d53bdf'
'699be1b01abec4bbb5a6fc649bee4da33048899c58e28d53ee9c97ba6b741114')
validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93'
'3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F')
prepare() {
cd "${srcdir}"/binutils-${pkgver}
patch -p1 -i "${srcdir}"/0050-bfd-Increase-_bfd_coff_max_nscns-to-65279.patch
patch -p1 -i "${srcdir}"/0100-binutils-2.37-msys2.patch
# https://github.com/msys2/MSYS2-packages/issues/2379
patch -R -p1 -i "${srcdir}"/2002-Allow-spaces-in-the-name-of-the-external-preprocesso.patch
# hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
mkdir "${srcdir}"/binutils-${CARCH}
}
build() {
export MSYSTEM=CYGWIN
cd "${srcdir}"/binutils-${CARCH}
../binutils-${pkgver}/configure \
--prefix=/usr \
--{build,host,target}=${CHOST} \
--disable-werror \
--disable-sim \
--enable-64-bit-bfd \
--enable-install-libiberty \
--without-libiconv-prefix \
--without-libintl-prefix \
--with-system-zlib
make
}
check() {
# cd "${srcdir}"/binutils-${CARCH}
# 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
return 0
}
package() {
cd "${srcdir}"/binutils-${CARCH}
make DESTDIR=${pkgdir} install
cp libiberty/libiberty.a ${pkgdir}/usr/lib
}