Rebuild with tcl 9.0.2

This commit is contained in:
2026-02-26 13:28:48 +02:00
parent 0c631214c1
commit 6c045801c2
14 changed files with 3391 additions and 15 deletions
+21 -13
View File
@@ -2,22 +2,29 @@
# 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://prdownloads.sourceforge.net/expect/expect${BPM_PKG_VERSION}.tar.gz"
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
# This function is used for putting downloaded files to the correct location or applying patches
prepare() {
wget "$DOWNLOAD"
tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE"
cd "$BPM_SOURCE"
# Apply patches from Arch Linux
patch -Np1 < "$BPM_WORKDIR"/expect-5.45.4-covscan-fixes.patch
patch -Np0 < "$BPM_WORKDIR"/expect-5.45-format-security.patch
# Apply patches from https://sourceforge.net/p/expect/patches/24/
patch -Np1 < "$BPM_WORKDIR"/expect-c99.patch
patch -Np1 < "$BPM_WORKDIR"/expect-configure-c99.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-c99.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-configure-c99.patch
# Apply patches from Fedora
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45.4-covscan-fixes.patch
patch -Np0 -i "$BPM_WORKDIR"/expect-5.45-format-security.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45-exp-log-buf-overflow.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45-segfault-with-stubs.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45-mkpasswd-dash.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.32.2-random.patch
# Apply tcl 9 patches from Fedora
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45.4-tcl9-const.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45.4-tcl9-ansi-args.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45.4-tcl9-varargs.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45.4-tcl9-panic.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45.4-tcl9-eval-tokens.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45.4-tcl9-alloc.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45.4-tcl9-size.patch
patch -Np1 -i "$BPM_WORKDIR"/expect-5.45.4-tcl9-mkpasswd.patch
autoreconf -i
}
@@ -25,6 +32,7 @@ prepare() {
# The build function is executed in the source directory
# This function is used to compile the source code
build() {
export CFLAGS="$CFLAGS -std=gnu17"
./configure --prefix=/usr \
--mandir=/usr/share/man \
--with-tcl=/usr/lib \
@@ -50,7 +58,7 @@ package() {
make DESTDIR="$BPM_OUTPUT" install
# Create libexpect link
ln -sf expect"${BPM_PKG_VERSION}"/libexpect"${BPM_PKG_VERSION}".so "$BPM_OUTPUT"/usr/lib
ln -sf expect"${BPM_PKG_VERSION}"/libexpect"${BPM_PKG_VERSION}".so "$BPM_OUTPUT"/usr/lib/
# Install package license
install -Dm644 license.terms "$BPM_OUTPUT"/usr/share/licenses/expect/license.terms