Update package version to 2.45.1

This commit is contained in:
2025-11-15 11:36:00 +02:00
parent d9a4532e5b
commit 66e600b37a
2 changed files with 65 additions and 34 deletions
+17 -4
View File
@@ -1,9 +1,22 @@
name: binutils
description: The GNU Binutils are a collection of binary tools
version: 2.45
version: 2.45.1
revision: 1
url: https://www.gnu.org/software/binutils/
license: GPL
license: GPL3-or-later
architecture: any
depends: ["glibc","libelf","zlib","zstd"]
make_depends: ["bc","dejagnu"]
type: source
depends:
- glibc
- jansson
- libelf
- zlib
- zstd
make_depends:
- bc
- dejagnu
downloads:
- url: https://sourceware.org/pub/binutils/releases/binutils-${BPM_PKG_VERSION}.tar.xz
extract_to: ${BPM_SOURCE}
extract_strip_components: 1
checksum: 5fe101e6fe9d18fdec95962d81ed670fdee5f37e3f48f0bef87bddf862513aa5
+48 -30
View File
@@ -2,50 +2,68 @@
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE
# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
DOWNLOAD="https://sourceware.org/pub/binutils/releases/binutils-${BPM_PKG_VERSION}.tar.xz"
FILENAME="${DOWNLOAD##*/}"
# The prepare function is executed in the root of the temp directory
# This function is used for downloading files and putting them into the correct location
prepare() {
wget "$DOWNLOAD"
tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE"
}
# The build function is executed in the source directory
# This function is used to compile the source code
build() {
mkdir -v build
cd build
../configure --prefix=/usr \
--sysconfdir=/etc \
--enable-gold \
--enable-ld=default \
--enable-plugins \
--enable-shared \
--disable-werror \
--enable-64-bit-bfd \
--with-system-zlib \
--enable-default-hash-style=gnu
mkdir build
cd build
../configure --prefix=/usr \
--with-lib-path=/usr/lib:/usr/local/lib \
--enable-cet \
--enable-colored-disassembly \
--enable-default-execstack=no \
--enable-deterministic-archives \
--enable-gold \
--enable-install-libiberty \
--enable-jansson \
--enable-ld=default \
--enable-new-dtags \
--enable-pgo-build=lto \
--enable-plugins \
--enable-relro \
--enable-shared \
--enable-targets=x86_64-pep,bpf-unknown-none \
--enable-threads \
--disable-gdb \
--disable-gdbserver \
--disable-libdecnumber \
--disable-readline \
--disable-sim \
--disable-werror \
--with-pic \
--with-system-zlib
make tooldir=/usr
}
# The check function is executed in the source directory
# This function is used to run tests to verify the package has been compiled correctly
check() {
# Testsuite currently broken
return 0
#cd build
#make check
cd build
make -O CFLAGS_FOR_TARGET="-O2 -g" \
CXXFLAGS="-O2 -no-pie -fno-PIC" \
CFLAGS="-O2 -no-pie" \
LDFLAGS="" \
check || true
}
# The package function is executed in the source directory
# This function is used to move the compiled files into the output directory
package() {
cd build
make DESTDIR="$BPM_OUTPUT" tooldir=/usr install
rm -fv "$BPM_OUTPUT"/usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a
mkdir -p "$BPM_OUTPUT"/usr/share/licenses/binutils/
cp ../COPYING "$BPM_OUTPUT"/usr/share/licenses/binutils/COPYING
# Install PIC version of libiberty
install -m644 libiberty/pic/libiberty.a "$BPM_OUTPUT"/usr/lib
# Remove unwanted files
rm -f "$BPM_OUTPUT"/usr/share/man/man1/{dlltool,windres,windmc}*
# Remove static libraries
rm -f "$BPM_OUTPUT"/usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a
# Install package license
install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/binutils/COPYING
}