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 name: binutils
description: The GNU Binutils are a collection of binary tools 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/ url: https://www.gnu.org/software/binutils/
license: GPL license: GPL3-or-later
architecture: any architecture: any
depends: ["glibc","libelf","zlib","zstd"]
make_depends: ["bc","dejagnu"]
type: source 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
+40 -22
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 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 # 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 # The build function is executed in the source directory
# This function is used to compile the source code # This function is used to compile the source code
build() { build() {
mkdir -v build mkdir build
cd build cd build
../configure --prefix=/usr \ ../configure --prefix=/usr \
--sysconfdir=/etc \ --with-lib-path=/usr/lib:/usr/local/lib \
--enable-cet \
--enable-colored-disassembly \
--enable-default-execstack=no \
--enable-deterministic-archives \
--enable-gold \ --enable-gold \
--enable-install-libiberty \
--enable-jansson \
--enable-ld=default \ --enable-ld=default \
--enable-new-dtags \
--enable-pgo-build=lto \
--enable-plugins \ --enable-plugins \
--enable-relro \
--enable-shared \ --enable-shared \
--enable-targets=x86_64-pep,bpf-unknown-none \
--enable-threads \
--disable-gdb \
--disable-gdbserver \
--disable-libdecnumber \
--disable-readline \
--disable-sim \
--disable-werror \ --disable-werror \
--enable-64-bit-bfd \ --with-pic \
--with-system-zlib \ --with-system-zlib
--enable-default-hash-style=gnu
make tooldir=/usr make tooldir=/usr
} }
# The check function is executed in the source directory # The check function is executed in the source directory
# This function is used to run tests to verify the package has been compiled correctly # This function is used to run tests to verify the package has been compiled correctly
check() { check() {
# Testsuite currently broken cd build
return 0
#cd build make -O CFLAGS_FOR_TARGET="-O2 -g" \
#make check CXXFLAGS="-O2 -no-pie -fno-PIC" \
CFLAGS="-O2 -no-pie" \
LDFLAGS="" \
check || true
} }
# The package function is executed in the source directory # The package function is executed in the source directory
# This function is used to move the compiled files into the output directory # This function is used to move the compiled files into the output directory
package() { package() {
cd build cd build
make DESTDIR="$BPM_OUTPUT" tooldir=/usr install 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/ # Install PIC version of libiberty
cp ../COPYING "$BPM_OUTPUT"/usr/share/licenses/binutils/COPYING 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
} }