Files
haikuports/app-shells/bash/bash-5.1.recipe
waddlesplash 4f180bdb94 Utilize the new "all" ARCHITECTURES keyword in most recipes. (#6189)
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has,
is transformed into "all", and then the other entries in ARCHITECTURES
either dropped or rearranged appropriately.
2021-09-15 15:40:18 -04:00

88 lines
1.7 KiB
Bash

SUMMARY="The GNU Bourne Again Shell"
DESCRIPTION="Bash is an sh-compatible command language interpreter that \
executes commands read from the standard input or from a file. Bash also \
incorporates useful features from the Korn and C shells (ksh and csh)."
HOMEPAGE="https://www.gnu.org/software/bash/"
COPYRIGHT="1987-2020 Free Software Foundation, Inc."
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://ftpmirror.gnu.org/bash/bash-5.1.tar.gz"
CHECKSUM_SHA256="cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa"
SOURCE_DIR="bash-5.1"
PATCHES="
bash-kill_by_name.patch
bash-5.0.patchset
"
ARCHITECTURES="all"
PROVIDES="
bash = $portVersion
cmd:bash = $portVersion
cmd:bashbug = $portVersion
cmd:sh
"
REQUIRES="
haiku
lib:libhistory
lib:libreadline
lib:libncursesw
lib:libintl
lib:libiconv
"
BUILD_REQUIRES="
haiku_devel
devel:libhistory >= 8
devel:libreadline >= 8
devel:libncursesw
devel:libintl
"
BUILD_PREREQUIRES="
cmd:autoconf
cmd:awk
cmd:bison
cmd:cmp
cmd:gcc
cmd:make
cmd:patch
cmd:sed
"
GLOBAL_WRITABLE_FILES="settings/bashrc keep-old"
PATCH()
{
cd $sourceDir
# store bash settings under ~/config/settings
find -type f -name "*.c" -o -name "*.def" -o -name "*.h" -o -name "*.1" \
| xargs sed -i -e 's,~/\.,~/config/settings/,g'
}
BUILD()
{
CPPFLAGS="-DUSE_MKTEMP=1 -DUSE_MKSTEMP=1" runConfigure ./configure \
--without-bash-malloc --with-installed-readline
make $jobArgs
}
INSTALL()
{
make install-strip
ln -s bash $binDir/sh
# Use bash-completion, if available
cat <<'EOF' > $settingsDir/bashrc
#!/bin/bash
[[ $PS1 && -f /system/data/bash-completion/bash_completion ]] && \
. /system/data/bash-completion/bash_completion
EOF
}
TEST()
{
make check
}